Need Help || Spendenautomat erstellen wie ?

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
  • hallöchen...


    brauche hilfe undzwar:


    wie erstellt man ein objekt beidem user ingame geld spenden können und das da drin bleibt ?


    und admins sollen auch die spender mit dem gespendeten geld sehen können per cmd und das geld herausnehmen können...


    hab keine ahnung...


    MfG

    Desinteresse ist die größte Provokation.



  • Haha, eine Sekunde Meister ;).




    Also du brauchst ersteinmal einen Map-Editor, musst das Objekt erstellen undso.



    Dann brauchst du die X,Y,Z-Achse vom Objekt, haste die jetzt?



    Also, dann gehts weiter in den Script, geh mal zu GameModeInit und schreib dort den Code für das Objekt rein.



    Dann machst du einen Befehl hier mit Sscanf und Ocmd :)



    ocmd:spenden(playerid,params[])
    {
    new betrag;
    new string[100];
    if(!IsPlayerInRangeOfPoint(playerid,2.5,X,Y,Z))return SendClientMessage(playerid,FARBE,"Du bist nicht beim Spendenautomat!"); // Statt X,Y,Z kommen die Koordinaten des Objektes ;)
    if(sscanf(params,"d",betrag))return SendClientMessage(playerid,FARBE,"/spenden [BETRAG]"); // Erklärt sich von selbst oder? <3
    if(betrag < 0)return SendClientMessage(playerid,FARBE,"Scheiß Bug-User!");
    if(betrag == 0)return SendClientMessage(playerid,FARBE,"Du willst wirklich 0 $ spenden?");


    format(string,sizeof(string),"Du hast %d gespendet!",betrag); // Betrag == Int == %d
    SendClientMessage(playerid,FARBE,string);
    GivePlayerMoney(playerid,-betrag);


    }


    Büdde.


    Mit freundlichen Grüßen,
    Geronimo

  • Zitat

    if(betrag < 0)return SendClientMessage(playerid,FARBE,"Scheiß Bug-User!");


    Joa, so macht man seinen Server auch beliebt.

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • new DonatedMoney = 0;


    ocmd:donate(playerid, params[])
    {
    new amount;
    if(sscanf(params, "d", amount);
    return SendClientMessage(playerid, [...], "/donate [Betrag]");
    if(amount < 0 || amount > GetPlayerMoney(playerid))
    return SendClientMessage(playerid, [...], "So viel Geld hast du nicht.");
    DonatedMoney += amount;
    GivePlayerMoney(playerid, -amount);
    SendClientMessage(playerid, [...], "Erfolgreich gespendet.");
    return 1;
    }



    ocmd:withdraw(playerid, params[])
    {
    new amount;
    if(sscanf(params, "d", amount);
    return SendClientMessage(playerid, [...], "/withdraw [Betrag]");
    if(amount < 0 || amount > DonatedMoney)
    return SendClientMessage(playerid, [...], "So viel Geld ist nicht in der Spendenbox.");
    DonatedMoney = DonatedMoney - amount;;
    GivePlayerMoney(playerid, amount);
    SendClientMessage(playerid, [...], "Erfolgreich abgehoben.");
    return 1;
    }


    Falls das Geld auch nach nem Serverrestart bleiben soll => Speichern.

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • ich glaube das ist echter mist was ich gemacht habe aber was solls probiers mal aus:

    #include <a_samp>
    #include <ocmd>
    #include <sscanf>




    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    new playerid;
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/spend/%s.txt",name);
    return 1;
    }
    stock spend(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/spend/%s.txt",name);
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    return 1;
    }
    stock geldspeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/spend/%s.txt",name);
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    }
    return 1;
    }
    ocmd:givemoney(playerid, params[])
    {
    new
    Destination,
    Ammount,
    PlayerName[24],
    spend,
    String[128];
    if (sscanf(params, "ui", Destination, Ammount))
    return SendClientMessage(playerid, -1, " Usage: /givemoney <spendbank> <ammount>");
    if (GetPlayerMoney(playerid) < Ammount)
    return SendClientMessage(playerid, -1, " dont have enough money");


    GetPlayerName(playerid, PlayerName, 24);

    format(String, 128, "You've sent the bank money", Ammount, spend, Destination);
    SendClientMessage(playerid, -1, String);


    GivePlayerMoney(spend, Ammount);
    GivePlayerMoney(playerid, -Ammount);
    return 1;
    }

    ist bestimmt extrem schlecht aber ich habs probt ach ja und du musst den ordner spend in scriptfiles erstellen
    //edit ach ja du musst nich if(isplayerinrange... erstelllen habe ich nämlich vergessen

    Einmal editiert, zuletzt von Nixon ()


  • Jap Copy und Paste vom Englischem Forum, trollface :D



    MfG
    Geronimo