Kopfgeld System 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
  • Abend, ich will gerade ein Kopfgeld System weiter ausbauen leider geht das nicht:


    ocmd:kg(playerid, params[]){ new Kopfgeld, pID; if(sscanf(params, "ud", pID, Kopfgeld)) return SendClientMessage(playerid, 0xFF004BFF, "Usage: /kg [ID/Name] [Betrag/Amount]"); new id; if(id == playerid)return SendClientMessage(playerid,COLOR_GREY,"Wrong ID"); //hier sollte geprüft werden ob es der spieler selbst ist if GetPlayerMoney(playerid) >= Kopfgeld //und hier ob er das geld besitzt, beides geht nicht *then if(GetPlayerMoney(playerid) <= Kopfgeld) { new str1[128]; SetPVarInt(pID, "AuftragSetted", GetPVarInt(pID, "AuftragSetted") +1); SetPVarInt(pID, "AuftragMoney", GetPVarInt(pID, "AuftragMoney") +Kopfgeld); format(str1, sizeof(str1), "[Kopfgeldsystem] Es wurde $%d auf %s ausgesetzt, Gesamt: $%d!", Kopfgeld, GetPlayerNameEx(pID), GetPVarInt(pID, "AuftragMoney")); SendClientMessageToAll(0xFFF000FF, str1); GivePlayerMoney(playerid, -Kopfgeld); } else return SendClientMessage(playerid, 0xFF004BFF, "Du hast nicht genug Geld"); return 1;}


    PWN geht nur fehlerhaft:


    ocmd:kg(playerid, params[])
    {
    new Kopfgeld, pID;
    if(sscanf(params, "ud", pID, Kopfgeld))
    return SendClientMessage(playerid, 0xFF004BFF, "Usage: /kg [ID/Name] [Betrag/Amount]");
    new id;
    if(id == playerid)return SendClientMessage(playerid,COLOR_GREY,"Wrong ID"); //hier sollte geprüft werden ob es der spieler selbst ist
    if GetPlayerMoney(playerid) >= Kopfgeld //hier ob er das geld besitzt
    *then
    if(GetPlayerMoney(playerid) <= Kopfgeld)
    {
    new str1[128];
    SetPVarInt(pID, "AuftragSetted", GetPVarInt(pID, "AuftragSetted") +1);
    SetPVarInt(pID, "AuftragMoney", GetPVarInt(pID, "AuftragMoney") +Kopfgeld);
    format(str1, sizeof(str1), "[Kopfgeldsystem] Es wurde $%d auf %s ausgesetzt, Gesamt: $%d!", Kopfgeld, GetPlayerNameEx(pID), GetPVarInt(pID, "AuftragMoney"));
    SendClientMessageToAll(0xFFF000FF, str1);
    GivePlayerMoney(playerid, -Kopfgeld);
    }
    else
    return SendClientMessage(playerid, 0xFF004BFF, "Du hast nicht genug Geld");
    return 1;
    }
    Ich habe irgendetwas falsch gemacht...

  • Nicht getestet:


    ocmd:kg(playerid, params[])
    {
    new Kopfgeld, pID;
    if(sscanf(params, "ud", pID, Kopfgeld))
    return SendClientMessage(playerid, 0xFF004BFF, "Usage: /kg [ID/Name] [Betrag/Amount]");
    if(pID == playerid)return SendClientMessage(playerid,COLOR_GREY,"Wrong ID");
    if(GetPlayerMoney(playerid) < Kopfgeld)return SendClientMessage(playerid,COLOR_GREY,"Nicht genug Geld!");
    if(GetPlayerMoney(playerid) >= Kopfgeld)
    {
    new str1[128];
    SetPVarInt(pID, "AuftragSetted", GetPVarInt(pID, "AuftragSetted") +1);
    SetPVarInt(pID, "AuftragMoney", GetPVarInt(pID, "AuftragMoney") +Kopfgeld);
    format(str1, sizeof(str1), "[Kopfgeldsystem] Es wurde $%d auf %s ausgesetzt, Gesamt: $%d!", Kopfgeld, GetPlayerNameEx(pID), GetPVarInt(pID, "AuftragMoney"));
    SendClientMessageToAll(0xFFF000FF, str1);
    GivePlayerMoney(playerid, -Kopfgeld);
    }
    else return SendClientMessage(playerid, 0xFF004BFF, "Du hast nicht genug Geld");
    return 1;
    }

    Berlin - Tel Aviv - Moskau

  • Scheinbar kannst du ein Kopfgeld-Command erstellen, jedoch nicht eine einfache Abfrage?
    Etwas Eigeninitiative wäre vielleicht nicht schlecht...


    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY,"Spieler nicht online!");

    Berlin - Tel Aviv - Moskau