Geplaatst: 10 maart 201114 jaren 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 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 ) 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
Geplaatst: 2 mei 201114 jaren Auteur comment_1834871 Hallo, ik wil weer iets verbeteren 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 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: 2 mei 201114 jaren Auteur comment_1835092 Met SetTimerEx. Can you give me a example :3 Ben noob met pawno
Geplaatst: 7 mei 201114 jaren 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: 7 mei 201114 jaren door Crusher!!
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
Ik heb nu dit:
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
) 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