Beiträge von Jeffry

    Und dabei ist es unerheblich ob da noch n index zwischen ist oder nicht.

    Der Code aus der Frage hat diesen Index, und das führt unweigerlich dazu, dass eine direkte Zuweisung nur dann geht, wenn die deklarierte Länge exakt der zugewiesenen Länge (plus EOS) entspricht, sonst nicht.


    Deine Beispiele sind alle schön, haben nur alle nichts mit der Frage zu tun. Ich habe bei deinen Beispielen auch nie behauptet, dass diese nicht funktionieren. Lediglich die direkte Zuweisung, wie sie im Code von JacLos verwendet wird und auch exakt so in meinem Beispiel wiedergegeben wird, funktioniert nicht. Darum ging es, nicht um sonst irgendwelche Zuweisungen, die du in deinen Beispielen bringst. Dass diese funktionieren tut nichts zur Sache, dass der explizit geforderte Anwendungsfall eben nicht mit einer direkten Zuweisung funktioniert.


    Damit ist diese - mal wieder - völlig sinnfreie Diskussion für mich beendet. Eine direkte Zuweisung ist in diesem expliziten Fall nicht möglich (außer bei exakter Länge). Das kannst du einsehen oder auch nicht. Fakt ist, es geht nicht.


    Ende.

    Das mit dem strcat ist ein richtig schlechter Ratschlag, denn sobald das 2x aufgerufen werden sollte...hat der das 2x da drinnen stehen.

    Natürlich muss man sich den Funktionen bewusst sein.
    In dem Fall, dass man es zweimal setzt, müsste man die Variable vorher leeren. Aber gut, habe es angepasst, damit keine Missverständnisse auftreten.



    und format ist ultra lahm, wieso nicht einfach durch eine direkte Zuweisung lösen.

    Weil es nicht geht, probiere es doch aus.
    Das geht nur, wenn deine direkte Zuweisung exakt die Länge MAX_PLAYER_NAME-1 (wegen EOS) hat.




    Wird das Enum dann auch Global gesetzt im Script also kann ichs dann auch abspeichern und


    in nem anderen public verwenden ?

    Ja.

    Schutzfolien für die FZ1000.


    Ich bin echt begeistert von der Kamera, und ich habe kaum mehr als die Standardfunktionen bisher ausprobieren können.
    Das mit dazu gekaufte Buch arbeite ich jetzt Stück für Stück durch.

    Wie kann man es Scripten, dass wenn ich einen runden Tacho habe sich die Tachonadel zu der Zahl bewegt so schnell wie das Fahrzeug fährt?

    Du musst die Geschwindigkeit in einen Winkel ausgehend vom Startwinkel berechnen. Stelle dir dabei einen Kreis vor.
    Dann ist 0 km/h z.B. bei 40 Grad, wenn man davon ausgeht, dass 0 Grad unten ist. 100 km/h ist dann bei 180 Grad und 200 km/h bei 320 Grad.
    Entsprechend hast du 1,4 Grad pro 1 km/h. Je nach Maximalgeschwindigkeit können das natürlich andere Werte sein.
    Dann rechnest du die Punkte auf deiner Kreisbahn aus, mittels Winkel und Radius des Tachos.
    Siehe dazu hier: https://www-user.tu-chemnitz.d…phics/theorie/dg_ber.html


    In der Regel ist 0 Grad ganz oben, daher müsste bei der Rechnung +/- 180 Grad Modulo 360 gemacht werden, dass das stimmt. Sprich 0 km/h wäre bei 220 Grad und 100 km/h bei 0 Grad, etc.


    Natürlich müsste man mehrere Kreisbahnen mit unterschiedlichen Radien haben, um eine Nadel darzustellen.
    Die Textdraws der Nadel müssen immer wieder gelöscht und an die neue Position auf dem Kreis gesetzt werden.


    Wie bekomme ich auf das Textdraw diese Striche bei den Zahlen, damit die so schräg sind?

    Mit den Zeichen, die dir zur Verfügung stehen in Textdraws.
    Einfallen würden mir da spontan: / \ - | _
    Mit etwas Verzerren über die Schriftgröße kann man das sicher recht gut hinbekommen.

    du versteht es nicht warte ich schicke es komplett

    Jetzt ist es klar. Ich bin davon ausgegangen, dass es sich um ein zusammenhängendes Stück handelt, so ist es klarer.
    Dann liegt die Vermutung nahe, dass du nicht nahe einem der Punkte bist und der Befehl einfach "durchläuft".


    Versuche es so:
    if(strcmp("/ausruesten", cmd, true) == 0) // bei diesem befehl wird nur angezeigt das dies nicht Existiert.
    {
    if(PlayerInfo[playerid][pGunLic] == 0)
    {
    SendClientMessage(playerid,COLOR_ERRORTEXT,"Du hast keinen Waffenschein oder einen Waffenschein entzug.");
    return 1;
    }
    for(new i=0; i<sizeof(GangWaffenInfo); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0, GangWaffenInfo[i][GHWAusgangX], GangWaffenInfo[i][GHWAusgangY], GangWaffenInfo[i][GHWAusgangZ]))
    {
    if(PlayerInfo[playerid][pCash] > 2000)
    {
    GivePlayerWeapons(playerid,24,120);
    GivePlayerWeapons(playerid,25,50);
    GivePlayerWeapons(playerid,29,150);
    GivePlayerWeapons(playerid,31,120);
    I_SetPlayerHealth(playerid,180);
    GivePlayerMoneys(playerid,-2000);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast dir Waffen und 180 HP gekauft! für 2000$");
    return 1;
    }
    }
    }
    return SendClientMessage(playerid, COLOR_ERRORTEXT, "Du bist bei keinem Gang Waffen Info Punkt.");
    }

    Hast du vlt für die Frage meines Scripters brand. auch ne Lösung parat?

    Die Abfrage kannst du so schreiben:
    if(strfind(inputtext, ",") != strlen(inputtext)-3) //Komma nicht an der richtigen Stelle, oder keine zwei Nachkommastellen angegeben


    An die Cents kommst du so hin:
    new cents[3], cent, len=strlen(inputtext);
    strmid(cents, inputtext, len-2), len-1);
    cent = strval(cents);


    Zusätzlich wäre es noch zu empfehlen, vor der ganzen Abfrage noch IsNumeric in Form von IsNumericFloat zu nutzen, sprich Das sin die Funktion noch das Komma aufgenommen wird. Das verhindert, dass jemand Buchstaben eingibt.

    Nimm den root Benutzer ohne Passwort:


    #define MYSQL_HOST "127.0.0.1"
    #define MYSQL_PASS ""
    #define MYSQL_USER "root"
    #define MYSQL_DBSE "samp" //so wie deine DB eben heißt



    Das ist in 99% aller Fälle standardmäßig so eingestellt.
    Dein User wird nicht die richtigen Berechtigungen haben, das ist auf localhost (dein Rechner/Server) so eingestellt, standardmäßig zumindest.
    Deshalb benutze, wie ich oben geschrieben habe, den root-User ohne Passwort, der hat ALLE Berechtigungen. Dem kannst du später auch, je nach Client, ein Passwort geben.