[HILFE] /zahlen 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
  • Also ich will den /zahlen Befehl haben ...
    Ich habe es versucht zu scripten (vorhin erst angefangen scripten zu lernen) ...
    Aber ich kriege haufenweise Errors -.-
    Ich habe es so gemacht :



    ocmd:zahlen(playerid,params[]){ new PID; new SUMME; new TEXT[128]; new SENDERID; format(SENDERID,sizeof(SENDERID),playerid); sscanf(params,"iis[128]",PID,SUMME,TEXT); return 1;}


    Hilfe, plss ...

  • Also habe gemacht ...



    ocmd:zahlen(playerid,params[])
    {
    new PID;
    new SUMME;
    new TEXT[128];
    new SENDERID;
    format(SENDERID,sizeof(SENDERID),playerid);
    if(sscanf(params,"iis[128]",PID,SUMME,TEXT));
    return 1;
    }


    kriege trotzdem noch errors


    C:\Users\Paco\Desktop\RGL\gamemodes\TurnerStylz.pwn(121) : error 035: argument type mismatch (argument 1)
    C:\Users\Paco\Desktop\RGL\gamemodes\TurnerStylz.pwn(121) : error 035: argument type mismatch (argument 1)
    C:\Users\Paco\Desktop\RGL\gamemodes\TurnerStylz.pwn(122) : error 036: empty statement
    C:\Users\Paco\Desktop\RGL\gamemodes\TurnerStylz.pwn(120) : warning 203: symbol is never used: "SENDERID"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.

  • Hab ich, so siehts jetzt aus...



    ocmd:zahlen(playerid,params[])
    {
    new PID;
    new SUMME;
    new TEXT[128];
    if(sscanf(params,"iis[128]",PID,SUMME,TEXT))
    return 1;
    }


    C:\Users\Paco\Desktop\RGL\gamemodes\TurnerStylz.pwn(122) : warning 209: function "ocmd_zahlen" should return a value
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning

  • Ist das so richtig ?



    ocmd:zahlen(playerid,params[])
    {
    new PID,SUMME,GRUND[128],SENDERID,Name[MAX_PLAYER_NAME],Name2[MAX_PLAYER_NAME],string[128],string2[128];
    GetPlayerName(playerid,Name,sizeof(Name));
    GetPlayerName(PID,Name2,sizeof(Name2));
    SENDERID=playerid;
    if(sscanf(params,"iis[128]",PID,SUMME,GRUND))return SendClientMessage(playerid,GELB,"INFO : /zahlen [ID] [WERT] [GRUND]");
    format(string,sizeof(string),"Du hast %s(%d) %s$ gegeben.",Name2,PID,SUMME);
    format(string2,sizeof(string2),"%s(%d)hat dir %i$ gegeben.",Name,SENDERID,SUMME);
    if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, ROT, "Dieser Spieler ist nicht verfügbar.");
    SendClientMessage(playerid,GRÜN,string);
    SendClientMessage(playerid,GRÜN,string2);
    return 1;
    }

  • wenn dann so, zuviele strings, und nja vergleich den code, denn fällt wir was auf ;)

    ocmd:zahlen(playerid,params[])
    {
    new PID,SUMME,GRUND[128],SENDERID,Name[MAX_PLAYER_NAME],string[128];
    SENDERID=playerid;
    if(sscanf(params,"iis[128]",PID,SUMME,GRUND))return SendClientMessage(playerid,GELB,"INFO : /zahlen [ID] [WERT] [GRUND]");
    if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, ROT, "Dieser Spieler ist nicht verfügbar.");
    GetPlayerName(pID,Name,sizeof(Name));
    format(string,sizeof(string),"Du hast %s(%d) %s$ gegeben.",Name,PID,SUMME);
    SendClientMessage(playerid,GRÜN,string);
    GetPlayerName(playerid,Name,sizeof(Name));
    format(string,sizeof(string),"%s(%d)hat dir %i$ gegeben.",Name,SENDERID,SUMME);
    SendClientMessage(pID,GRÜN,string);
    return 1;
    }

  • Getplayermoney(Senderid,+Summe);
    schätze ich jetzt mal... weiß es gerade selbst nicht :D

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • So richtig ?



    ocmd:zahlen(playerid,params[])
    {
    new PID,SUMME,GRUND[128],SENDERID,Name[MAX_PLAYER_NAME],string[128];
    SENDERID=playerid;
    if(sscanf(params,"iis[128]",PID,SUMME,GRUND))return SendClientMessage(playerid,GELB,"INFO : /zahlen [ID] [WERT] [GRUND]");
    if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, ROT, "Dieser Spieler ist nicht verfügbar.");
    GetPlayerName(PID,Name,sizeof(Name));
    format(string,sizeof(string),"Du hast %s(%d) %i$ gegeben.",Name,PID,SUMME);
    SendClientMessage(playerid,GRÜN,string);
    GetPlayerName(playerid,Name,sizeof(Name));
    format(string,sizeof(string),"%s(%d)hat dir %i$ gegeben.",Name,SENDERID,SUMME);
    SendClientMessage(PID,GRÜN,string);
    GetPlayerMoney(PID);
    GetPlayerMoney(playerid);
    GivePlayerMoney(PID,SUMME);
    GivePlayerMoney(playerid,-SUMME);
    return 1;
    }

  • if abfrage und getplayermoney
    http://wiki.sa-mp.com/wiki/GetPlayerMoney


    /e
    weil ich heut nett bin, aber das nächste mal nutze vorher die wiki und guck dir die funktionen an..

    ocmd:zahlen(playerid,params[])
    {
    new PID,SUMME,GRUND[128],SENDERID,Name[MAX_PLAYER_NAME],string[128];
    SENDERID=playerid;
    if(sscanf(params,"iis[128]",PID,SUMME,GRUND))return SendClientMessage(playerid,GELB,"INFO : /zahlen [ID] [WERT] [GRUND]");
    if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, ROT, "Dieser Spieler ist nicht verfügbar.");
    if(GetPlayerMoney(playerid)>=SUMME)
    {
    GetPlayerName(PID,Name,sizeof(Name));
    format(string,sizeof(string),"Du hast %s(%d) %i$ gegeben.",Name,PID,SUMME);
    SendClientMessage(playerid,GRÜN,string);
    GetPlayerName(playerid,Name,sizeof(Name));
    format(string,sizeof(string),"%s(%d)hat dir %i$ gegeben.",Name,SENDERID,SUMME);
    SendClientMessage(PID,GRÜN,string);


    GivePlayerMoney(PID,SUMME);
    GivePlayerMoney(playerid,-SUMME);
    }
    else return SendClientMessage(playerid,farbe,text);
    return 1;
    }

  • if(GetPlayerMoney(playerid) >= 8000) //abfrage, ob er das Geld hat
    {
    SendClientMessage(playerid,Farbe,"Du hast ein Auto für 8000 gekauft.");//wenn er das Geld hat (die 8k), kriegt er ein Auto, sonst kommt eine Fehlermeldung (unten zu sehen)
    }
    else SendClientMessage(playerid,Farbe,"Deine Error Message"); //wenn er das Geld nicht hat


    Ist nur ein Beispiel.

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • Also so oder wie ?



    ocmd:zahlen(playerid,params[])
    {
    new PID,SUMME,GRUND[128],SENDERID,Name[MAX_PLAYER_NAME],string[128];
    SENDERID=playerid;
    if(sscanf(params,"iis[128]",PID,SUMME,GRUND))return SendClientMessage(playerid,GELB,"INFO : /zahlen [ID] [WERT] [GRUND]");


    if(GetPlayerMoney(playerid) >= 1)
    {
    if(IsPlayerConnected(PID))
    {
    GetPlayerName(PID,Name,sizeof(Name));
    format(string,sizeof(string),"Du hast %s(%d) %i$ gegeben.",Name,PID,SUMME);
    SendClientMessage(playerid,GRÜN,string);


    GetPlayerName(playerid,Name,sizeof(Name));
    format(string,sizeof(string),"%s(%d)hat dir %i$ gegeben.",Name,SENDERID,SUMME);
    SendClientMessage(PID,GRÜN,string);


    GivePlayerMoney(playerid,-SUMME);
    GivePlayerMoney(PID,SUMME);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, ROT, "Dieser Spieler ist nicht verfügbar.");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast nicht genug Geld ..!");
    return 1;
    }
    }


    Ich bekomme keine Warns oder Errors ...