[Suche] Geld system

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
  • ich ahbe oben hinter der zeile 782 ein //Zeile 782 hinter gemacht.


    da ist der script teil und nochmal die fehler (errors)



    new pName[256];
    dcmd_geld(playerid,params[])
    {
    if(!strlen(params)) return SendClientMessage(playerid,0xFF0000AA,"*** /pay [Empfänger-ID] [Betrag]");
    new idx;
    new id = strval(strtok(params,idx));
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,0xFF0000AA,"*** Dieser Spieler ist nicht aktiv!");
    new betrag = strval(strtok(params,idx));
    if(betrag <= 0) return SendClientMessage(playerid,0xFF0000AA,"*** Ungültiger Betrag!");
    GivePlayerMoney(playerid, -betrag);
    GivePlayerMoney(id, betrag);
    new str[128];
    format(str,sizeof(str),"*** Du hast %d$ an %s bezahlt!",betrag,pName(id));//Zeile 782
    SendClientMessage(playerid,COLOR_GREEN,str);
    format(str,sizeof(str),"*** %s hat dir %d$ bezahlt!",pName(playerid),betrag);
    SendClientMessage(id,COLOR_GREEN,str);
    return 1;
    }


    egal wo ich new ... hinsetzte, kommt immer das selbe.

    Einmal editiert, zuletzt von Airwolf ()

  • 1. Warum ist der String pName so groß? Ein Name kann doch maximal 16 ( Afaik ) Zeichen lang sein. Also mach am besten aus new pName[256]; -> new pName[16];
    2. Finde ich in dem Code kein GetPlayerName. Also woher soll der Server wissen was in pName stehen soll?



    dcmd_geld(playerid,params[])
    {
    if(!strlen(params)) return SendClientMessage(playerid,0xFF0000AA,"*** /pay [Empfänger-ID] [Betrag]");
    new pName[16];
    new gName[16];
    new idx;
    new id = strval(strtok(params,idx));
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,0xFF0000AA,"*** Dieser Spieler ist nicht aktiv!");
    new betrag = strval(strtok(params,idx));
    GetPlayerName(playerid, pName, sizeof(pName));
    GetPlayerName(id, gName, sizeof(gName));
    if(betrag <= 0) return SendClientMessage(playerid,0xFF0000AA,"*** Ungültiger Betrag!");
    GivePlayerMoney(playerid, -betrag);
    GivePlayerMoney(id, betrag);
    new str[128];
    format(str,sizeof(str),"*** Du hast %d$ an %s bezahlt!",betrag,gName);//Zeile 782
    SendClientMessage(playerid,COLOR_GREEN,str);
    format(str,sizeof(str),"*** %s hat dir %d$ bezahlt!",pName,betrag);
    SendClientMessage(id,COLOR_GREEN,str);
    return 1;
    }


    3. Dann was soll das pName(id) und pName(playerid) ?? pName ist doch keine Funktion, sondern ein String in dem der Name gespeichert wird.

  • also das system funktioniert jetzt schonmal.
    aber noch nciht so wie ich will.


    änderung:
    wenn einer /geld [ID] [betrag] eingibt, ziehr es ja von seinem konto ab (also von dem der das eingibt).
    ginge das auch so das das geld so gespawnt wird ? also nirgens abgezogen wird ?

    Einmal editiert, zuletzt von Airwolf ()

  • Einfach die Zeile entfernen



    GivePlayerMoney(playerid, -betrag);


    und


    format(str,sizeof(str),"*** Du hast %d$ an %s bezahlt!",betrag,gName);//Zeile 782


    hier einfach den Text der erscheinen soll so ändern wie du ihn haben willst.


    Aber das sollte man schon allein können wenn man einen Server aufmachen will

  • naja ich mache ja keinen server auf.
    Ich mache zum fun einen eigenen server um etwas zu testen.
    zb. gemappte sachen usw.
    und um ein bischen fun zu haben mit allen befehlen :D


    //edit: okey geht einwandfrei, thx für deine hilfe.

    Einmal editiert, zuletzt von Airwolf ()