Geld an alle User verteilen

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
  • Hallo,


    gibt es eine Möglichkeit um an alle User eine bestimmte Anzahl an Geld zu verteilen.
    Also der Befehl sollte in der Art sein wie /givemoneyall [Anzahl]
    Wenn man dann beispielsweise schreibt /givemoneyall 10000, sollte für jeden im Chat sichtbar sein: Der Admin XXX hat allen Usern $10000 gegeben.
    Wäre richtig nice wenn das jemand für mich Scripten könnte.
    Admin Abfrage würde ich dann noch selber reinmachen.


    MFG

  • ocmd:givemoneyall(playerid,params[])
    {
    //if(adminabfrage)
    {
    new betrag,string[128];
    if(sscanf(params,"i",betrag))return SendClientMessage(playerid,0xFF0000FF,"Fehler: /givemoneyall [Betrag]");
    {
    for (new i=0;i<MAX_PLAYERS;i++)
    {
    format(string,sizeof(string),"Admin %s gibt jedem Spieler %i€!",PlayerName(playerid),betrag);
    SendClientMessageToAll(0xFF0000FF,string);
    if(IsPlayerConnected(i))
    {
    GivePlayerMoney(i,betrag);

    }
    }
    }
    }
    return 1;
    }


    stock PlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
    }

  • Danke, funktioniert bestens, aber eine Frage.
    Wenn ich dann allen Usern Geld gebe wird der ganze Chat zugespammt, kann man auch machen, dass die Nachricht im Chat nur einmal kommt.
    Sorry das ich es nicht selber machen kann, bin nicht so gut mit Schleifen und allgemein im Scripten mit solchen Sachen...

  • Danke, funktioniert bestens, aber eine Frage.
    Wenn ich dann allen Usern Geld gebe wird der ganze Chat zugespammt, kann man auch machen, dass die Nachricht im Chat nur einmal kommt.
    Sorry das ich es nicht selber machen kann, bin nicht so gut mit Schleifen und allgemein im Scripten mit solchen Sachen...


    Oh sry ^^



    ocmd:givemoneyall(playerid,params[])
    {
    //if(adminabfrage)
    {
    new betrag,string[128];
    if(sscanf(params,"i",betrag))return SendClientMessage(playerid,0xFF0000FF,"Fehler: /givemoneyall [Betrag]");
    {
    format(string,sizeof(string),"Admin %s gibt jedem Spieler %i€!",PlayerName(playerid),betrag);
    SendClientMessageToAll(0xFF0000FF,string);
    for (new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    GivePlayerMoney(i,betrag);

    }
    }
    }
    }
    return 1;
    }


    so sollte es eigentlich gehen ^^

  • mach das
    format(string,sizeof(string),"Admin %s gibt jedem Spieler %i€!",PlayerName(playerid),betrag);
    SendClientMessageToAll(0xFF0000FF,string);
    einfach vor das
    for(new i; i<MAX_PLAYERS; i++)

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • ocmd:givemoneyall(playerid,params[])
    {
    //if(adminabfrage)
    {
    new betrag,string[128];
    if(sscanf(params,"i",betrag))return SendClientMessage(playerid,0xFF0000FF,"Fehler: /givemoneyall [Betrag]");
    {
    format(string,sizeof(string),"Admin %s gibt jedem Spieler %i€!",PlayerName(playerid),betrag);
    SendClientMessageToAll(0xFF0000FF,string);
    for (new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    GivePlayerMoney(i,betrag);

    }
    }
    }
    }
    return 1;
    }


    stock PlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
    }


    einfach das format und SendClient... ausserhalb der Schleife lassen ;)


  • ocmd:givemoneyall(playerid,params[]){
    //if(adminabfrage){
    new betrag,string[128], i;
    if(sscanf(params,"i",betrag))return SendClientMessage(playerid,0xFF0000FF,"Fehler: /givemoneyall [Betrag]");{
    for(;i<MAX_PLAYERS;i++){
    if(IsPlayerConnected(i)){
    GivePlayerMoney(i,betrag);
    }
    }
    format(string, sizeof(string), "* Administrator %s gab allen Spielern $%d.", PlayerName(playerid), betrag);
    SendClientMessageToAll(-1, string);
    }
    }
    return 1;
    }