Befehl Geld Geben / Nehmen / Resetten

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 Morgen zusammen,


    ich übe gerade ein wenig mit Pawn und habe eine Frage, wie bewerkstellige ich es um es mal als Beispiel zu sagen das ich einem Spieler Geld gebe ?


    Zum Beispiel:


    /Geld [playerid] [betrag]


    Das ganze ist noch ohne Register / Save System, es ist erstmal nur mit strcmp.


    Vielen Dank !

  • if(!strcmp(strget(cmdtext, 0), "/givemoney"))
    {
    if(!IsPlayerAdmin(playerid))
    {
    //was soll passieren wenn der spieler KEIN Admin ist? - Wir schiken ihm einen text.
    SendClientMessage(playerid, Deine_Farbe, "Du bist kein Admin und kannst diesen Befehl deswegen nicht ausführen.");
    }
    else // was soll passieren wenn er Admin ist? - Dann führt er den Befehl aus
    {
    new spielerid = strval(strget(cmdtext, 1)); // die id welche der spieler hat definieren
    new geld = strval(strget(cmdtext, 2)); // das geld welches der spieler bekommen soll definieren
    GivePlayerMoney(spielerid, geld);
    // spielerid = Die ID von dem Spieler der das geld bekommen soll
    // geld = Die summe an geld welche der Spieler bekommen soll
    return 1;
    }
    }


    Sowas?


  • J nur muss ich diesen Fehler noch beheben, das andere ist eine Farbe und nicht schlimm :)

  • SendClientMessage(playerid, 0xFF0000FF, "[color=#ff0000]Du bist kein Admin und kannst diesen Befehl deswegen nicht ausführen.[/color]");


    Das habe ich bereits gemnacht, da ich noch am lernen bin und einige Funktionen einmal teste, habe ich oben im Script noch kein:


    #define Rot 0xFF0000FF


    Das kommt alles später erstmal möchte ich so den groben Umfang und das wichtigste kennen !

  • J nur muss ich diesen Fehler noch beheben, das andere ist eine Farbe und nicht schlimm :)


    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }
    Ist die Lösung.