/money geht nicht

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
  • servus
    ich habe ein problem mit dem befehl /givemoney
    geht nicht . immer wenn man einem anderen spieler geld gibt , heißt es , " nicht genug geld " auch wenn genug geld vorhanden ist .
    was soll ich tun damit es geht ?


    [dcmd_givemoney(playerid,params[])
    {
    new
    giveid,
    cash;
    if (sscanf(params, "dd",giveid,cash)) {
    return SendClientMessage(playerid,GRAU,"USAGE: /givemoney [playerid] [Amount]");
    }
    else if(!IsPlayerConnected(giveid)){
    return SendClientMessage(playerid,ROT,"Ungültige Spieler ID");
    }
    else if(playerid==giveid) {
    return SendClientMessage(playerid,ROT,"Du kannst dir selber kein Geld schicken!");
    }
    else if(cash>GetPlayerMoney(playerid) || cash<0){
    return SendClientMessage(playerid,GRAU,"money1");
    }
    else {
    GivePlayerMoney(playerid,-cash);
    GivePlayerMoney(giveid,cash);
    SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");


    }
    return 1;
    }

  • wie funktioniert es dann , dass der andere spieler das geld bekommt ?
    könnte mir dass jemand scripten ?

  • [dcmd_givemoney(playerid,params[])
    {
    new
    giveid,
    cash;
    if (sscanf(params, "dd",giveid,cash)) {
    return SendClientMessage(playerid,GRAU,"USAGE: /givemoney [playerid] [Amount]");
    }
    else if(!IsPlayerConnected(giveid)){
    return SendClientMessage(playerid,ROT,"Ungültige Spieler ID");
    }
    else if(playerid==giveid) {
    return SendClientMessage(playerid,ROT,"Du kannst dir selber kein Geld schicken!");
    }
    else if(cash>GetPlayerMoney(playerid) || cash<0){
    return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    }
    else {
    GivePlayerMoney(playerid,-cash);
    GivePlayerMoney(giveid,cash);
    }
    return 1;
    }


    so normal!
    glaub ich

  • Giveid im sscanf nicht als "d" sondern als "u" kannste alles wiki nahlesen^^
    Das erste else unter sscamf weg und nen normales if reicht.


    __________________________________________________________________________________________

  • also ich hab as ganze so gemacht und bekommen nun lauter errors keine ahung wieso


    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(1569) : warning 219: local variable "cash" shadows a variable at a preceding level
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(2308) : error 017: undefined symbol "dcmd_givemoney"
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(2582) : warning 219: local variable "cash" shadows a variable at a preceding level
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(2600) : warning 219: local variable "waffe" shadows a variable at a preceding level
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10854) : warning 219: local variable "cash" shadows a variable at a preceding level
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10949) : warning 219: local variable "cash" shadows a variable at a preceding level
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10983) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10988) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10989) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10991) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10992) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10994) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10995) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10997) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(10998) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(11000) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(11004) : error 010: invalid function or declaration
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(11007) : warning 203: symbol is never used: "cash"
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(11007) : warning 203: symbol is never used: "dcmd_o"
    D:\Datenablage\Users\Ronny\Games\modded games\test server\gamemodes\bare.pwn(11007) : warning 203: symbol is never used: "giveid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    12 Errors.

  • dcmd_givemoney(playerid,params[])
    {
    new
    giveid,
    cash;
    if (sscanf(params, "dd",giveid,cash))
    {
    return SendClientMessage(playerid,GRAU,"USAGE: /givemoney [playerid] [Amount]");
    }
    if(!IsPlayerConnected(giveid))
    {
    return SendClientMessage(playerid,ROT,"Ungültige Spieler ID");
    }
    if(playerid==giveid)
    {
    return SendClientMessage(playerid,ROT,"Du kannst dir selber kein Geld schicken!");
    }
    if(cash>GetPlayerMoney(playerid) || cash<0)
    {
    return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    }
    else
    {
    GivePlayerMoney(playerid,-cash);
    GivePlayerMoney(giveid,cash);
    }
    return 1;
    }


    so funkt es


    und wenn das ziel in der nähe sein soll dann musst du es so machen


    dcmd_givemoney(playerid,params[])
    {
    new giveid;
    new cash;
    if (sscanf(params, "dd",giveid,cash))
    {
    return SendClientMessage(playerid, ROT,"/givemoney [playerid] [Amount]");
    }
    if(!IsPlayerConnected(giveid))
    {
    return SendClientMessage(playerid, ROT,"Kein Spieler mit angegebener ID Online");
    }
    if(playerid==giveid)
    {
    return SendClientMessage(playerid, ROT,"Du kannst dir selber kein Geld schicken!");
    }
    if(cash>GetPlayerMoney(playerid) || cash<0)
    {
    return SendClientMessage(playerid, ROT,"Du hast nicht genug Geld!");
    }
    else
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    if(IsPlayerInRangeOfPoint(giveid, 10, x, y, z))
    {
    GivePlayerMoney(playerid,-cash);
    GivePlayerMoney(giveid,cash);
    }
    else{SendClientMessage(playerid, ROT, "Der Spieler ist nicht nah genug!");}
    }
    return 1;
    }


    mfg
    deathrunner

    Einmal editiert, zuletzt von [XF12]deathrunner ()

  • wie bekommt man es hin das das geld abgezogen wird sobald man es jemanden schickt ?

  • GivePlayerMoney(playerid,-cash);



    so eig bei mir gehts

  • das problem ist , dass das geld kurzzeitg abgezogen wird und dann wieder kommt
    und der andere es nicht bekommt