Fehler im Pay 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
  • Hallo, ich habe 4 Errors in meinen Pay Befehl.
    ocmd:pay(playerid,params[])
    {
    new pid,Geld;
    if(!sscanf(params,"ud",pid,Geld))
    {
    if(IsPlayerConnected(pid))
    {
    if(pid != playerid)
    {
    new Float:pPos[3];
    GetPlayerPos(pid,pPos[0],pPos[1],pPos[2]);
    if(!IsPlayerInRangeOfPoint(playerid,10.0,pPos[0],pPos[1],pPos[2]))return SendClientMessage(playerid,grau,"Der Spieler ist nicht in deiner Nähe.");
    if(GetPlayerMoney(playerid) < Geld)
    return SendClientMessage(playerid,grau,"Du hast nicht genug Geld.");
    GivePlayerMoney(playerid,-Geld);
    PlayerPlaySound(playerid,1052,0,0,0);
    GivePlayerMoney(pid,Geld);
    PlayerPlaySound(pid,1052,0,0,0);
    new Text[256];
    format(Text,sizeof(Text),"Du hast %s $%d gegeben.",SpielerName(pid),Geld);
    SendClientMessage(playerid,gelb,Text);
    format(Text,sizeof(Text),"Du hast $%d von %s bekommen.",Geld,SpielerName(playerid));
    SendClientMessage(pid,orange,Text);
    format(Text,sizeof(Text),"* %s nimmt Geld aus seiner Tasche und gibt es %s.",SpielerName(playerid),SpielerName(pid));
    SendClientMessageToAll(weiss,Text);
    PayMoney[playerid][pid] += Geld;
    }
    else
    {
    SendClientMessage(playerid,rot,"wtf ? Warum willst du dir das Geld das du hast,");
    SendClientMessage(playerid,rot,"dir selber geben xD xD unötig");
    }
    }
    else
    {
    SendClientMessage(playerid,Farbe_Grau,"Der gewählte Spieler ist nicht Online.");
    }
    }
    else
    {
    SendClientMessage(playerid,Farbe_Grau,"/Pay [Playerid/Name] [Betrag]");
    }
    return true;
    }
    C:\Users\steffen\Dropbox\Scripting Unterricht 1\gamemodes\su.pwn(2612) : error 017: undefined symbol "PayMoney"
    C:\Users\steffen\Dropbox\Scripting Unterricht 1\gamemodes\su.pwn(2612) : warning 215: expression has no effect
    C:\Users\steffen\Dropbox\Scripting Unterricht 1\gamemodes\su.pwn(2612) : error 001: expected token: ";", but found "]"
    C:\Users\steffen\Dropbox\Scripting Unterricht 1\gamemodes\su.pwn(2612) : error 029: invalid expression, assumed zero
    C:\Users\steffen\Dropbox\Scripting Unterricht 1\gamemodes\su.pwn(2612) : fatal error 107: too many error messages on one line


    Hilfe Pls ????

  • GivePlayerMoney(playerid,money);
    So steht das im SA-MP Wiki.
    Jetzt fragt sich nur was bei dir money ist, also der zweite Wert welcher dem Spieler als Geld gegeben wird.
    Du hast oben if(!sscanf(params,"ud",pid,Geld))
    Der zweite Wert also der Betrag der eingegeben wurde ist hier dann Geld, das heißt du machst dann einfach statt money, Geld.
    Also so:
    GivePlayerMoney(pid,Geld);
    pid deswegen, da du oben den Spieler der das Geld bekommen soll pid zugewiesen hast.
    if(!sscanf(params,"ud",pid <--,Geld))

  • Es geht leider nur Teilweise


    Jetzt geb ich das Geld zwar, und der andere bekommt das geld auch, aber das Geld wird bei Mir nicht abgetzogen.


    Ich glaube ich lasse es jetzt auch, da ich woanders hilfe brauche.


    Mein Enum nämlich hat keine Wirkung.


    Schade, das ich es nicht geschafft habe, jetzt muss ich immer so verbuggt Geldgeben oder halt über CP.


    Ich werde, das Thema natürlich jeden Tag , sowie die anderen überprüfen.


    Vielleich hat mir noch jemand den Traum erfüllt.




    ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;(


    KEIN HILFREICHES ENDE


    ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;( ;(
    ocmd:pay(playerid,params[])
    {
    new pid,Geld;
    if(!sscanf(params,"ud",pid,Geld))
    {
    if(IsPlayerConnected(pid))
    {
    if(pid != playerid)
    {
    new Float:pPos[3];
    GetPlayerPos(pid,pPos[0],pPos[1],pPos[2]);
    if(!IsPlayerInRangeOfPoint(playerid,10.0,pPos[0],pPos[1],pPos[2]))return SendClientMessage(playerid,grau,"Der Spieler ist nicht in deiner Nähe.");
    if(GetPlayerMoney(playerid) < Geld)
    return SendClientMessage(playerid,grau,"Du hast nicht genug Geld.");
    GivePlayerMoney(playerid,-Geld);
    PlayerPlaySound(playerid,1052,0,0,0);
    GivePlayerMoney(pid,Geld);
    PlayerPlaySound(pid,1052,0,0,0);
    new Text[256];
    format(Text,sizeof(Text),"Du hast %s $%d gegeben.",SpielerName(pid),Geld);
    SendClientMessage(playerid,gelb,Text);
    format(Text,sizeof(Text),"Du hast $%d von %s bekommen.",Geld,SpielerName(playerid));
    SendClientMessage(pid,orange,Text);
    format(Text,sizeof(Text),"* %s nimmt Geld aus seiner Tasche und gibt es %s.",SpielerName(playerid),SpielerName(pid));
    SendClientMessageToAll(weiss,Text);
    GivePlayerMoney(playerid,Geld);
    GivePlayerMoney(pid,Geld);
    }
    else
    {
    SendClientMessage(playerid,rot,"wtf ? Warum willst du dir das Geld das du hast,");
    SendClientMessage(playerid,rot,"dir selber geben xD xD unötig");
    }
    }
    else
    {
    SendClientMessage(playerid,grau,"Der gewählte Spieler ist nicht Online.");
    }
    }
    else
    {
    SendClientMessage(playerid,grau,"/Pay [Playerid/Name] [Betrag]");
    }
    return true;
    }