Mysteriöses GivePlayerMoney problem

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 problem


    unswar habe ich mir mit hilfe von ocmd und sscanf einen kleinen befehl zum geld geben gebastelt.


    funktionieren soll das ganze wie folgt:
    /give ID BETRAG



    prinzipiell funktioniert es ja auch bloß das man auch bei einen wunschbetrag von 1$ in wirklichkeit 65535$ vergibt.



    hier einmal der scriptausschnitt vom befehl:


    //geld befehl ocmd:geld(playerid,params[]) { if(istSpielerAdmin(playerid,3)) { new pID,betrag; if(sscanf(params,"uu",pID,betrag))return SendClientMessage(playerid,rot,"/geld ID BETRAG"); GivePlayerMoney(pID,betrag); return 1; } SendClientMessage(playerid,rot,"Dazu bist du nicht berechtigt"); return 1; }





    ich hoffe jemand kann mir anfänger auf die sprünge helfen :)


  • ocmd:geld(playerid, params[]) {
    new pID, betrag


    if(!IstSpielerEinAdmin(playerid, 3)) return SendClientMessage(playerid, rot, "Ey bist du doof. Das ist ein ADMIN KOMMANDO!!!!!!!!!!!1111111");
    if(sscanf(params,"us",pID,betrag))return SendClientMessage(playerid,rot,"/geld ID BETRAG");
    GivePlayerMoney(pID, betrag);
    return 1;
    }



    Probier das mal


    Kostenlose Pawno Alternative / PAWN IDE -> PawnStar
    Mass Effect
    :love:

  • @Re3pEr das ist falsch ^^


    Das muss so aussehen:


    if(sscanf(params,"ud",pID,betrag))return SendClientMessage(playerid,rot,"/geld ID BETRAG");
    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • nun ergibt
    /geld 0 1
    49$ :D


    ich verstehe die welt nicht mehr


    hast du auch anstatt dem zweiten u ein d
    siehe


    ocmd:geld(playerid,params[]){
    if(istSpielerAdmin(playerid,3)){
    new pID,betrag;
    if(sscanf(params,"ud",pID,betrag))return SendClientMessage(playerid,rot,"/geld ID BETRAG");
    GivePlayerMoney(pID,betrag);
    }else{ return SendClientMessage(playerid,rot,"Dazu bist du nicht berechtigt");}
    return 1;
    }


    //edit


    noch kürzer

    ocmd:geld(playerid,params[]){
    new pID,betrag;
    if(!istSpielerAdmin(playerid,3))return SendClientMessage(playerid,rot,"Dazu bist du nicht berechtigt");
    if(sscanf(params,"ud",pID,betrag))return SendClientMessage(playerid,rot,"/geld ID BETRAG");
    GivePlayerMoney(pID,betrag);
    return 1;
    }

  • ja habe ich das ganze sieht jetzt so aus:
    //geld befehlocmd:geld(playerid, params[]) {new pID, betrag;
    if(!istSpielerAdmin(playerid, 3)) return SendClientMessage(playerid, rot, "Ey bist du doof. Das ist ein ADMIN KOMMANDO!!!!!!!!!!!1111111");if(sscanf(params,"ud",pID,betrag))return SendClientMessage(playerid,rot,"/geld ID BETRAG");GivePlayerMoney(pID, betrag);return 1;}

  • problem gelöst. ich hatte noch einen zweites mal einen geld befehl der uhrsprünglich mal auskommentiert war. bei dem war in der tat ein s vorhanden.


    meine lektion die ich daraus ziehe:
    Beim Scripten stehts auf Ordnung und Überschaubarkeit achten :P


    danke für eure hilfe :)