Beiträge von Deadmau5

    So Neues Problem:


    Ich habe einen Adminchat eingebaut, funktioniert soweit auch gut...


    Nur, wenn ich /a TEXT eingebe, kommt "SERVER: Unkown Command" O.o


    Toll....


    hier der A-Chat

    ocmd:a(playerid,params[])
    {
    new Text;
    if(sscanf(params,"s[256]",Text)) SendClientMessage(playerid,0xFF0000FF,"NUTZUNG: /a [Text]");
    else
    {
    format(str,256,"*%d %s: %s",pInfo[playerid][Admin],Name(playerid),Text);
    SendAdminMessage(0xFFFF00FF,str);
    return 1;
    }
    return 1;
    }

    Grüße, "Dead"mau5 :D

    MUSS nicht ^^ Ich hab mich halt nur gewundert, ich steig grad von strtok zu sscanf um, da dachte ich mir "Hää? Wieso kommt da kein "Spieler ist nicht online" wenn ich einen Spieler angebe der nicht online ist und ich keinen Betrag angebe? O.o"


    Naja ;) Danke trotzdem an alle :D


    /closed

    Geht das wirklich nicht anders? :D


    Weil mit strtok ist das ja etwas anderes, verständlich...


    Aber... ich möchte halt, dass AUCH bei /pmoney 1 angezeigt wird: "Dieser Spieler ist nicht online!"

    Also ich möchte es so:


    Ich tippe /pmoney 1 ein, OHNE den Geldbetrag.


    Nun möchte ich, dass das kommt: SendClientMessage(playerid,0xFF0000FF,"Dieser Spieler ist nicht online!");
    Ist ja auch richtig, da ich alleine aufm Server bin und es demnach auch keine ID 1 gibt.


    Wie geht das oben genannte ;D

    Genau dasselbe :)


    Wenn ich /pmoney 1 eintippe, also ohne den Geldbetrag, kommt trotzdem "NUTZUNG: /pmoney [playerid/PartOfName] [Betrag]"


    Bei strtok ist das nicht so ;D und das wollte ich hier erreichen :P

    Das ist mir auch schon aufgefallen, liegt seit heute morgen im Papierkorb :D


    Sry deshalb...


    Aber bei /money ist ja genau dasselbe Problem...

    Guten Abend, liebe Brotfischer.


    Habe ein Problem mit SSCANF ;)


    Hier mal einer meiner Befehle:



    cmd(pmoney,playerid,params[])
    {
    new player,betrag;
    if(!sscanf(params,"ui",player,betrag))
    {
    if(IsPlayerConnected(player))
    {
    if(betrag > 0)
    {
    GivePlayerMoney(playerid,betrag);
    SendClientMessage(playerid,0xFF0000FF,"");
    SendClientMessage(player,0xFF0000FF,"");
    SendFormatText(playerid,0xFF0000FF,"Du hast %s %d$ gegeben.",Name(player),betrag);
    SendFormatText(player,0xFF0000FF,"%s hat dir %d$ gegeben.",Name(playerid),betrag);
    }
    else SendClientMessage(playerid,0xFF0000FF,"Betrag darf nicht unter 0 sein!");
    }
    else SendClientMessage(playerid,0xFF0000FF,"Dieser Spieler ist nicht online!");
    }
    else SendClientMessage(playerid,0xFF0000FF,"NUTZUNG: /pmoney [playerid/PartOfName] [Betrag]");
    return 1;
    }


    Mein Problem ist jetzt, wenn ich /pmoney ohne etwas eingebe, kommt auch "NUTZUNG: /pmoney [playerid/PartOfName] [Betrag]".
    Wenn ich jedoch /pmoney Deadmau5 (Beispiel) eintippe, kommt wieder "NUTZUNG: /pmoney [playerid/PartOfName] [Betrag]".
    Soweit, so gut, wenn ich aber /pmoney Hans (Beispiel) eintippe und diese User NICHT online ist, kommt WIEDER "NUTZUNG: /pmoney [playerid/PartOfName] [Betrag]" obwohl nun "Dieser Spieler ist nicht online!" kommen sollte O.o



    Frage: Was mache ich falsch?


    Zum Vergleich hier auch noch der /money Befehl

    cmd(money,playerid,params[])
    {
    new betrag;
    if(sscanf(params,"i",betrag)) SendClientMessage(playerid,0xFF0000FF,"NUTZUNG: /money [Betrag]");
    else
    {
    if(betrag < 0) SendClientMessage(playerid,0xFF0000FF,"Betrag darf nicht unter 0 sein!");
    else
    {
    GivePlayerMoney(playerid,betrag);
    SendClientMessage(playerid,0xFF0000FF,"");
    SendFormatText(playerid,0xFF0000FF,"Du hast dir %d$ gegeben.",betrag);
    }
    }
    return 1;
    }