Intel weis nicht weiter - Befehl

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,


    Ich habe ein kleines Problem mit 3 Commands.
    Undzwar gehen alle anderen Befehle. Nur die nicht. Und sobald ich einen der Befehle eingebe, gehen komischerweise keine Commands mehr ?


    Hier mal die Befehle:


    if(strcmp(cmdtext,"/tod",true)==0)
    {
    SetPVarInt(playerid,"Tod",1);
    SendClientMessage(playerid,COLOR_RED,"Du bist nun tot/verletzt !");
    r1
    }
    if(strcmp(cmdtext,"/ntod",true)==0)
    {
    SetPVarInt(playerid,"Tod",0);
    SendClientMessage(playerid,COLOR_RED,"Du bist nun nichtmehr tot/verletzt !");
    r1
    }
    if(strcmp(cmdtext,"/tote",true)==0)
    {
    new string2[400],name[MAX_PLAYER_NAME],string1[256],atext[17];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    GetPlayerName(i,name,sizeof name);
    if(GetPVarInt(i,"Tod")==1){ atext="VERLETZT"; }
    else if(GetPVarInt(i,"Tod")==0){ atext="NICHT VERLETZT"; }
    format(string1,256,"%s [%s]\n",name,atext);
    //strcat(string2, string1);
    strins(string2,string1, sizeof(string2));
    }
    ShowPlayerDialog(playerid, DIALOG_TOTE, DIALOG_STYLE_LIST, "Spieler Liste - Verletzte", string2, "Suchen", "Beenden");
    r1
    }


    Sieht da jemand einen Großen Fehler ?
    Wäre nett wenn jemand mir helfen könnte :D Auch me braucht mal Hilfe.....


    MfG.
    Me

  • r1?


    Soll das 1 returnen oder was?
    Versuch mal, wenn du einfach nur return 1; nutzt, also den Standart...

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • Ja.


    #define r1 return 1;
    #define r0 return 0;


    MfG.
    Me


    //edit Ok war wohl ein Fail. Jetzt gehen /tod und /ntod.


    Nur bei /tote kommt Unknown Command.
    Weiß jemand warum ?


    //edit²


    Also wenn ich das strcat benutze geht der Command. Muss also an strins liegen....
    Aber wenn ich strcar nutze passiert dashier:


    Einmal editiert, zuletzt von IntelligenT ()

  • format(string1,256,"%s [%s]\n",name,atext);
    strcat(string2, string1);
    //strins(string2,string1, sizeof(string2));
    So sollte es auch eigentlich funktionieren.Vielleicht kommt da etwas durcheinander, weil du nicht prüfst,ob der Spieler verbunden ist.
    Du kannst es auch mal mit format probieren,geht auch.


    format(string2,sizeof(string2),"%s%s [%s]\n",string2,name,atext);
    Auch hier unbedingt prüfen,ob ein Spieler mit der ID verbunden ist.

  • Erstmal danke für die Antwort ^^


    Dann zum Command.
    Ich habe nun auch wieder strcat benutzt.
    Nur soll jeder User nur 1x angezeigt werden. Das passiert irgendwie nicht....

    MfG.
    Me


    //edit Reloadet:
    return 1;
    }
    //Edit²


    Gold: Selbst wenn die Connectabfrage drin ist kommt dasselbe. Liegt sicher an der Länge von String2... Wie mach ich es, das jeder User nur 1x angezeigt wird ?

    Einmal editiert, zuletzt von IntelligenT ()


  • Gold: Selbst wenn die Connectabfrage drin ist kommt dasselbe. Liegt sicher an der Länge von String2... Wie mach ich es, das jeder User nur 1x angezeigt wird ?


    Dann machst du es noch immer falsch.Nimm mal folgendes:
    new string2[512],name[MAX_PLAYER_NAME],atext[17];
    string2[0] = '\0';
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if( !IsPlayerConnected(i) ) continue;
    GetPlayerName(i,name,sizeof name);
    if(GetPVarInt(i,"Tod")==1){ atext="VERLETZT"; }
    else if(GetPVarInt(i,"Tod")==0) { atext="NICHT VERLETZT"; }
    format(string2,sizeof(string2),"%s%s [%s]\n",string2,name,atext);
    print("string2 ='%s'",string);
    }
    Wenn es nicht geht, was wird denn immer bei printf ausgegeben ?