Sowas ?
http://forum.sa-mp.de/san-andr…nger-harndrang-textdraws/
Wenn das das richtige ist, dann sag ich nur nächstes mal besser suchen!
//Edit: Ach Shit schon zwei schneller ^^!
Sowas ?
http://forum.sa-mp.de/san-andr…nger-harndrang-textdraws/
Wenn das das richtige ist, dann sag ich nur nächstes mal besser suchen!
//Edit: Ach Shit schon zwei schneller ^^!
Das hat doch nichts mit dem Timer zu tun, soweit ich weis. Das musst du in der Funktion die du Aufrufst machen.
Da Fehlt ganz oben eine geschweifte Klammer auf!
Du weist das du auch eine geschweifte Klammer auf machen musst und wieder zu und alles was in dem Block drin ist wird solange ausgeführt.
Die Schleife geht so lange durch bis die Bedingung nicht mehr erfüllt ist. Die Bedingung ist hier: i<MAX_PLAYERS
Die Schleife weis auch nicht wann sie aufhören soll.
Und du hast ein Semikolon nach MAX_PLAYERS vergessen.
So z.B.:
for(new i = 0; i<MAX_PLAYERS; i++)
Wenn ich dich richtig verstanden habe kannst du auch ETB-Cars nehmen!
//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.
Ich hoffe mal das Stimmt alles, aber mehr wie euch vertrauen kann ich ja nicht ^^. Vielen Dank!
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!
Dann hast du PlayerInfo nicht ka. was du benutzt. Falls du es nicht weißt schau dir andere Befehle an oder vllt hast du sowas noch garnicht ka.. Du kannst aber auch die Abfragen einfach weglassen, dann kann es aber auch jeder verwenden.
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!
Existier PlayerInfo[playerid][pAdmin] usw. überhaupt in deinem Skript?
Wenn du sccanf und ocmd hast könnte ich dir meinen geben.
Das liegt wircklich an den Spielern? Kann ich mal die Ip haben?