Beiträge von Jeffry

    ^ Post über mir: Facepalm
    Erst lesen, dann posten.


    ------


    Wenn du ihn drüber erstellst, dann solltest du dir auch sicher sein, dass der Spieler in einem Auto ist:
    new vname[50];
    if(IsPlayerInAnyVehicle(playerid)) format(vname, sizeof (vname),"Vehicle: %s",CarName[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
    else format(vname, sizeof (vname),"Vehicle: On Foot");
    TextDrawSetString(Textdraw3, vname);
    TextDrawShowForPlayer(playerid,Textdraw3);

    Schau mal:


    Der Code wird nur funktionieren, wenn dein GM die gleichen Definitionen verwendet, ansonsten musst du die anpassen. Da wir aber nicht wissen können welche Variablen dein GM verwendet, können wir dir hier so nicht weiterhelfen, die Definitionen können ja schlecht erraten werden.

    ovwohl mich das abprüfen des Null-terminators stört via strval


    Was davon meinst du?


    strval wird nur hier benutzt:
    if(strval(copy)>255)


    Das prüft, ob einer der 4 Ziffern größer als 255 ist. (Es gibt ja keine 256.256.256.256'er IP).


    @Music4You:
    if(IsValidIP("123.123.123.123")) return print("Das ist eine richtige IP");
    if(!IsValidIP("12445.455.154523.dfdf")) return print("Das ist keine IP");


    Nützlich für einen /banip command.

    Meiner Ansicht nach hast du diesen Code nicht selbst geschrieben, sondern nur irgendwo raus-kopiert, daher macht es wenig Sinn irgend etwas zu erklären, da du den Code nicht mal verstehst, sondern nur einfügst, fertig.
    Es fehlen in dem Code demnach ALLE Definitionen von Variablen und (höchstwahrscheinlich auch) Funktionen, das kann so niemals gehen.


    Wo hast du den Code her?
    Ohne den gesamten Code gesehen zu haben lässt sich hier gar nichts machen.

    Ist PlayerInfo definiert ("new") ?


    ^ Hm?


    Bevor wir hier lange um den heißen Brei reden:
    Poste doch einfach mal das GANZE OnPlayerCommandText callback, so wie es jetzt ist, und dazu noch dein "PlayerInfo" enum + Definition.

    stock IsValidIP(adress[]) //©Jeffry
    {
    new point, number, points, copy[3];
    for(new i = 0, ip = strlen(adress); i < ip; i++)
    {
    if(adress[i] == '.')
    {
    if(strval(copy)>255) return 0;
    if(point == 0) { number=0; point = 1; points++; copy[0] = 0; copy[1] = 0; copy[2] = 0;}
    else return 0;
    if(points > 3) return 0;
    }


    else if(adress[i] >= '0' && adress[i] <= '9')
    {
    point = 0;
    if(number < 3) { number++; copy[number-1] = adress[i]; }
    else return 0;
    }


    else return 0;
    }
    if(strval(copy)>255) return 0;


    if(points < 3) return 0;
    else return 1;
    }


    Keywords: IstIP, IstEineIP, IstIPAdresse, IsAnIP, IsIP, IsValidIP.

    Das hatte ich dir doch in dem ursprünglichen Thread bereits erklärt.
    TextDraw


    Damals hattest du mir den Code via PN geschickt, den ich dir auch ausgebessert zurückgeschickt habe:


    Eine Antwort darauf kam nie.

    Das kann ja so auch nicht gehen.
    public OnPlayerCommandText(playerid, cmd[])
    Warum steht da cmd[]?


    public OnPlayerCommandText(playerid, cmdtext[])
    Das muss cmdtext[] heißen.


    Zitat

    C:\Users\Lukas\Desktop\Selfmade\gamemodes\som.pwn(16340) : error 017: undefined symbol "PlayerInfo"


    Ist PlayerInfo definiert ("new") ?

    Nein, das geht leider nicht.
    Das liegt wohl auch daran, dass die Textur nicht einheitlich für alle Spieler angezeigt wird. Das selbe Problem haben die Autos, bei denen ab und an ein Dach drauf ist, obwohl es ein Cabrio für einen anderen Spieler ist.


    Da hilft nur noch ein Objekt zu attachen, falls es eins dafür gibt.

    Naja, das kommt ja immer darauf an, wie dein Befehl dazu aussieht.
    Willst du sowas machen?


    Zitat

    /servername ---Neuer Server von mir---


    Und dann heißt der Server so?


    Wenn ja, hast du den Befehl /servername schon?
    Wenn nein, was willst du überhaupt machen?

    es gibt ja verschiedene Trailer (LKW-Anhänger). Die meisten können andere Motive annehmen (1 Trailer = 3Motive; zb: Werbung an den Seiten) und meine Frage dazu ist nun, ob man das Abfragen kann? Damit ich zum Beispiel Ladungen besser zuordnen kann.


    Nein, das geht leider nicht.
    Das liegt wohl auch daran, dass die Texttur nicht einheitlich für alle Spieler angezeigt wird. Das selbe Problem haben die Autos, bei denen ab und an ein Dach drauf ist, obwohl es ein Cabrio für einen anderen Spieler ist.

    Du hast i bereits zuvor definiert. Bennene in dem Abschnitt alle i um, zu j meinetwegen, oder irgendetwas anderem deiner Wahl.

    if(pID == INVALID_PLAYER_ID)
    zu:
    if(pID != INVALID_PLAYER_ID)


    Sonst kannst du nur Spielern ein Wanted geben, die eine ungültige ID haben. Das widerspricht sich. ;)