Jump to content
Bekijk in de app

Een betere weg om onze GTA community te volgen. Leer meer.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

Een volledig scherm app op het beginscherm inclusief notificaties, badges en meer.

Om deze app op je iPhone en iPad te installeren
  1. Druk op het icoon in Safari
  2. Scroll in het menu en druk op Zet op beginscherm.
  3. Druk op Voeg toe rechts bovenaan.
Om deze app op je Android toe te voegen
  1. Druk op het 3-punten menu (⋮) rechts bovenaan in de browser.
  2. Druk op Toevoegen aan beginscherm of Installeer app.
  3. Druk op Toevoegen om te bevestigen.
Geplaatst:
comment_1813717

Hoi,

Ik probeer zegmaar een systeem te maken, waardoor je iets kan shouten door de chat, bijvoorbeeld een teleport ofzo.

Alleen het lukt nog niet helemaal :puh: Ik heb nu dit:

if(strcmp(cmd, "/shoutmessage", true) == 0) {
   new Index;
   new tmp[256];  tmp  = strtok(params,Index);
   new tmp2[256]; tmp2 = strtok(params,Index);
   new str[128];
   new pname[24];

   GetPlayerName(playerid, pname, sizeof(pname));
   format(str, sizeof (str), "-!!- %s Have Shouted: {E3F211}%s -!!-",pname, params[1+strlen(tmp)]);
   SetPlayerScore(playerid, - 2000)
   SendClientMessageToAll(COLOR_RED, str);

Dit heeft 12 errors...

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(161) : error 079: inconsistent return types (array & non-array)

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(164) : error 017: undefined symbol "cmd"

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(166) : error 079: inconsistent return types (array & non-array)

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(168) : warning 225: unreachable code

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(168) : error 017: undefined symbol "cmd"

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(170) : error 017: undefined symbol "strtok"

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(170) : error 033: array must be indexed (variable "tmp")

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(171) : error 017: undefined symbol "strtok"

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(171) : error 033: array must be indexed (variable "tmp2")

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(176) : error 017: undefined symbol "params"

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(176) : warning 215: expression has no effect

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(176) : error 001: expected token: ";", but found "]"

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(176) : error 029: invalid expression, assumed zero

C:\Documents and Settings\Calvin\Bureaublad\Server Folders\pawno\Gamemode.pwn(176) : fatal error 107: too many error messages on one line

Hoe zou ik deze kunnen verhelpen? xD

Ik wil ook, zegmaar dat het wel checkt, of je 2000 score hebt. Hoe zou ik dit kunnen doen?

Ook nog (Sorry :puh:) wil ik een anti spam maken, zodat je alleen maar 1x in de 2 minuten kan shouten. Heeft iemand een idee hoe dit kan?

Ik heb al een tijdje lopen zoeken, proberen, maar het is me niet gelukt. Alvast bedankt voor alle hulp :-)

Penait1

Featured Replies

  • 1 maand later...
Geplaatst:
  • Auteur
comment_1834871

Hallo, ik wil weer iets verbeteren :D

Ik wil nu zegmaar dat de timer ALLEEN start voor 1 speler. Want nu als 1 iemand /shout doet, komt er bij iedereen te staan als je binnen 2 minuten /shout doet, dat je 2 minuten moet wachten, terwijl die eht nog niet hebben getypt :D

Ik heb nu dit:

dcmd_shout(playerid, params[])
   {
   #pragma unused params
if(GetPlayerScore(playerid) <= 5000) SendClientMessage(playerid, COLOR_LIGHTBLUE, "You need 5000 score ore more! Try to get 5000 score, and try again.");
else if(ShoutToegestaan == 0) SendClientMessage(playerid, COLOR_LIGHTBLUE, "SERVER: You need to wait 2 minuts before you can shout again! Take a Cup of Tea and try again.");
else if(!strlen(params))  SendClientMessage(playerid, 0xFF0000AA, "ERROR: Use: /Shout [Message] - Try again!");
else 
   {
   new PlayerName[MAX_PLAYER_NAME];
   GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
   format(string, sizeof(string), "{AD2FA5}%s Shouted: {F0FC03}%s!", PlayerName, params);
   SendClientMessageToAll(0xFF0000FF, string);
   SetPlayerScore(playerid, GetPlayerScore(playerid) - 5000);
   PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
   Timer1 = SetTimer("antishoutspam",120000,false);
   ShoutToegestaan = 0;
   GameTextForAll("-!!- Theres a new shout -!!-",2000,1);
  	}
return 1;
}

Hoe kan ik zorgen dat IEDERE speler 1x mag shouten in 2 minuten, terwijl een andere speler al geshout kan hebben?

Geplaatst:
comment_1836731

Hmmhmm, en je hebt wel door dat jou server de grootste ram vreter is die er is?

new string [265];

Y_Less: Why you shouldn't make your strings 256 cells big

een speler naam is maximaal 24 tekens.

het maximale wat een speler in de chat kan invullen is 128 tekens.

het maximale wat de chat kan weergeven is 128 tekens

dus = naam + tekst = 24 + 104 (is totaal 128 tekens)

-----------------------------------------------------------------------------------

Tada, zo ist goed :).

new HasShouted[MAX_PLAYERS char];

dcmd_shout(playerid, params[])
{
if(GetPlayerScore(playerid) <= 5000) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "You need 5000 score ore more! Try to get 5000 score, and try again.");
if(HasShouted[playerid]) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "SERVER: You need to wait 2 minuts before you can shout again! Take a Cup of Tea and try again.");
if(!strlen(params)) return  SendClientMessage(playerid, 0xFF0000AA, "ERROR: Use: /Shout [Message] - Try again!");

   new PlayerName[MAX_PLAYER_NAME];
   GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
   format(string, sizeof(string), "{AD2FA5}%s Shouted: {F0FC03}%s!", PlayerName, params);
   SendClientMessageToAll(0xFF0000FF, string);
   SetPlayerScore(playerid, GetPlayerScore(playerid) - 5000);
   PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
   GameTextForAll("-!!- Theres a new shout -!!-",2000,1);

   SetTimerEx("antishoutspam",120000,false,"i",playerid);
   HasShouted[playerid] = true;
return 1;
}

public antishoutspam(playerid)
{
	HasShouted[playerid] = false;
}

Bewerkt: door Crusher!!

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.

Configureer push berichten

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.