/givemoney ocmd Error

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
  • C:\Users\Brandon\Desktop\[GER]TheLostofReallife[0.3e]\gamemodes\Reallife.pwn(637) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    //Ocmd-Geld
    ocmd:Geld(playerid,params[])
    {
    new pID,string[128],string2[128],summe[128];
    if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,DUNKELROT,"[System]Spieler Existiert nicht oder ist nicht Online !");
    if(sscanf(params,"us",pID))return SendClientMessage(playerid,DUNKELROT,"[System]Benutze die Verwendung : /Geld [ID] [SUMME]");
    if(IstSpielerAdmin(playerid,1))
    {
    GivePlayerMoney(pID, summe);//Hier zeigt der Fehler an !
    format(string,sizeof(string),"[Admin]Der Administrator %s hat dir erfolgreich Geld gegeben !|Summe : %s",SpielerName(playerid),summe);
    format(string2,sizeof(string),"[Admin]Du hast erfolgreich Spieler %s Geld gegeben !|Summe : %s",SpielerName(playerid),summe);
    SendClientMessage(playerid,DUNKELROT,string);
    SendClientMessage(pID,DUNKELROT,string2);
    SpielerSpeichern(playerid);
    SpielerSpeichern(pID);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,DUNKELROT,"[System]Du bist kein Administrator !");
    return 1;
    }
    }

  • ocmd:Geld(playerid,params[])
    {
    new pID,string[128],string2[128],summe;
    if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,DUNKELROT,"[System]Spieler Existiert nicht oder ist nicht Online !");
    if(sscanf(params,"ud",pID,summe))return SendClientMessage(playerid,DUNKELROT,"[System]Benutze die Verwendung : /Geld [ID] [SUMME]");
    if(IstSpielerAdmin(playerid,1))
    {
    GivePlayerMoney(pID, summe);
    format(string,sizeof(string),"[Admin]Der Administrator %s hat dir erfolgreich Geld gegeben !|Summe : %s",SpielerName(playerid),summe);
    format(string2,sizeof(string),"[Admin]Du hast erfolgreich Spieler %s Geld gegeben !|Summe : %s",SpielerName(playerid),summe);
    SendClientMessage(playerid,DUNKELROT,string);
    SendClientMessage(pID,DUNKELROT,string2);
    SpielerSpeichern(playerid);
    SpielerSpeichern(pID);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,DUNKELROT,"[System]Du bist kein Administrator !");
    return 1;
    }
    }


    summe ist kein String sondern ein Integer


    und ich sehe auch, dass bei dir einige Funktionen überflüssig sind, bzw fehlerhaft

  • if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,DUNKELROT,"[System]Spieler Existiert nicht oder ist nicht Online !");
    das frägst du für dich ab (der der den Befehl eingibt) (dass kannst du allgemein unter OnPlayerCommandText/Performed abfragen


    schlauer wäre es den Spieler (pID, der der ausgewählt wird) abzufragen
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,DUNKELROT,"[System]Spieler Existiert nicht oder ist nicht Online !");


    SpielerSpeichern(playerid);
    warum speicherst du dich selber?
    An dir wird ja nichts verändert


    format(string2,sizeof(string),"[Admin]Du hast erfolgreich Spieler %s Geld gegeben !|Summe : %s",SpielerName(playerid),summe);
    das gibt deinen eigenen Namen aus, playerid muss zu pID (ist in diesem Befehl die ID des Spielers, an den du das Geld gibts)
    format(string2,sizeof(string),"[Admin]Du hast erfolgreich Spieler %s Geld gegeben !|Summe : %s",SpielerName(pID),summe);


    und in dem sscanf, eventuell solltest du dir durchlesen, wie man sscanf benutzt
    du hattest vorhin nur "u",pID
    du brauchst aber die Summe auch nocht ;)


    mein Tipp:
    lern erstmal die Grundlagen, das ist das Wichtigste


    PS: sscanf [ SCRIPTING ] sscanf 2.0