ok dann werde ich dir dazu mal die basics erläutern
wie man die nachricht an jeden schicken kann :
dazu brauchen wir eine for schleife diese wird danach durch alle spieler durch gehen
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SendClientMessage(i, farbe, string);
dies kann man auch machen wie man will auch mit GetMaxPlayers zum beispiel was so gesehen auch schneller ist es sei den du hast genau die menge spieler auf dem server
wie beim neu definieren von MAX_PLAYERS for(new i; i<GetMaxPlayers(); i++)
So was macht unser code dort oben also es ist eine schleife welche durch jeden spieler durch geht wenn du das printen lassen würdesr wäre der output 0.1.2.3.4.5... usw
bei IsPlayerConnected wird überprüft ob die spieler on sind oder nicht bei GetMaxPlayers könnte man dies streichen weil sowieso hier die anzahl genommen wird von spielern welche sich auf dem Server befinden
und durch SendClientMessage wird hier die nachricht an die spieler geschickt.
so machen wir mal ein beispiel code mit ocmd und parameter
ocmd:test(playerid,params[])
{
new string[128], text[64], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
if(sscanf(params,"s",text))return SendClientMessage(playerid,0xFFFFFFAA,"Benutze: /test [text]");
format(string, sizeof(string),"%s: %s",pName,text);
for(new i= 0; i < GetMaxPlayers(); i++){
if(IsPlayerConnected(i)){ SendClientMessage(i, 0xFFFFFFAA, string);}
}
return 1;
}
nun was du auch willst ist ein timer den lassen wir eine variabel auf 0 wieder setzen
dann kannst du oben im script eine neue variabel definieren oder ein bool
new test;
bei dem command lässt nun den timer für den spieler laufen und die variabel auf 1 setzen spriche test = 1;
und den timer für die spieler daher benutzen wir SetTimer erst name , danach zeit und 0 steht für das nicht wiederholen
20000 = 20 Sekunden da 1 Sekunde = 1000 ms sind millisekunden
SetTimer("Werbung", 20000, 0);
public Werbung()
{
test = 0;
}
so den rest darfst dir nun selbst noch erarbeiten was du auch noch machen kannst ist die länge des eingegebenen strings abfragen und das geld abziehen
auch hierzu ein beispiel
new idx= strlen(text), preis = idx* 5;
GivePlayerMoney(playerid, - preis );
das heißt im klartext das hier die zeichen abgefragt werden von dem eingegebenen text an dem ocmd command oben und die zeichen werden nun mit 5 multipliziert
und das wird dem spieler abgezogen
Bsp:
Hallo = 5 Buchstaben
5 Buchstaben * 5 = 25
der spieler bekommt 25 Dollar abgezogen