Beiträge von Soldtodie

    //Edit: Hier hab ich jetzt auch noch die Farbe ersetzt, also nur noch in OnPlayerCommandText einfügen.


    if (strcmp("/wanted", cmdtext, true) == 0)
    {
    new wantedlevel, PlayerName[MAX_PLAYER_NAME], string[128];
    SendClientMessage(playerid, 0x008900FF, "<-------Spieler mit Wanteds:------->");
    for(new i = 0;i < MAX_PLAYERS; i++)
    {
    wantedlevel = GetPlayerWantedLevel(i);
    if(wantedlevel > 0) {
    GetPlayerName(i, PlayerName, MAX_PLAYER_NAME);
    format(string, sizeof(string), "%s: %d", PlayerName, wantedlevel);
    SendClientMessage(playerid, 0x008900FF, string);
    }
    }
    return 1;
    }

    if (strcmp("/wanted", cmdtext, true) == 0)
    {
    new wantedlevel, PlayerName[MAX_PLAYER_NAME], string[128];
    SendClientMessage(playerid, 0x008900FF, "<-------Spieler mit Wanteds:------->");
    for(new i = 0;i < MAX_PLAYERS; i++)
    {
    wantedlevel = GetPlayerWantedLevel(i);
    if(wantedlevel > 0) {
    GetPlayerName(i, PlayerName, MAX_PLAYER_NAME);
    format(string, sizeof(string), "%s: %d", PlayerName, wantedlevel);
    SendClientMessage(playerid, 0x008900FF, string);
    }
    }
    return 1;
    }



    // Edit: Ups warte kurz hab was vergessen ^^.
    // Edit: so der sollte gehen, falls nicht sags mir!
    // Edit: Farbe noch ersetzt.

    Nur mal so, ich weis schon wie das funktioniert ^^, ich hab das auch schon länger so, nur wollte ich jetzt mal fragen, weil ich keine Lust habe, wenn ich ein paar tausend Zeilen habe das ganze Skript umzuschreiben.

    Der String wird ganz oben definiert, also kann jeder Abschnitt auch drauf zugreifen, ich will eigentlich nur wissen, ob es sein könnte das zwei Spieler einen unterschiedlichen Befehl oder den gleichen ca. gleichzeitig ausführen und dann der der den Befehl ein bisschen früher ausgeführt hat, den String vom anderen bekommt.

    Ja, deswegen will ich ja das so machen, aber gibt es da kein Risiko das zwei Spieler das gleichzeitig machen oder ungefähr und die dann den falschen String kriegen?

    Was stimmt jetzt ? ^^
    Also alles was ich auf den String speichere wird sofort ausgegeben oder sonstwas damit gemacht, also ich will dort nichts für längere Zeit speichern.

    Hey,


    Ich wollte mal fragen, ob es zu Fehlern führt oder es überhaupt funktioniert, wenn ich ganz oben new string[128]; mache und dann in jedem Command oder so wo ich sendclientmessage verwende und ein String für format brauche, es auf den einzigen String speichere.


    Hoffe ihr versteht es ^^.


    Danke!

    ocmd:setint(playerid, params[])
    {
    if (PlayerInfo[playerid][pAdmin] == 1) {
    new SpielerID, InteriorID, SpielerName[MAX_PLAYER_NAME], string[128], PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(SpielerID, SpielerName, MAX_PLAYER_NAME);
    GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
    if(sscanf(params,"ui",SpielerID, InteriorID))return SendClientMessage(playerid,Grau,"Nutze: /setint [SpielerID] [InteriorID]");
    if (IsPlayerConnected(SpielerID)) {
    SetPlayerInterior(SpielerID,InteriorID);
    format(string, sizeof(string), "Du hast %s sein Interior auf %d gestellt!", SpielerName, InteriorID);
    SendClientMessage(playerid,Gruen,string);
    format(string, sizeof(string), "%s hat dein Interior auf %d gestellt!", PlayerName, InteriorID);
    SendClientMessage(SpielerID,Gruen,string);
    } else { SendClientMessage(playerid,Gruen,"Dieser Spieler ist nicht online!"); }
    } else { SendClientMessage(playerid,Gruen,"Du bist kein Admin!"); }
    return 1;
    }


    Die Farben musst du noch ändern, weil die vllt bei dir nicht existieren. Und du brauchst dafür sscanf und ocmd.


    //Edit Befehl verbessert!