Gast Geplaatst: 17 oktober 2010 Rapport Geplaatst: 17 oktober 2010 (bewerkt) Ik ben bezig geweest met een eigen radio command voor de mensen die politie zijn. Maar ik krijg het niet voor elkaar om de clientmessage naar iedereen te sturen die politie is. Dit is wat ik gebruikte, waarvan ik zeker wist dat het niet zou werken, maar ik had geen enkel idee hoe ik het anders had kunnen doen. new cops = job[giveplayerid] == 1 || job[giveplayerid] == 2 || job[giveplayerid] == 3 || job[giveplayerid] == 4 || job[giveplayerid] == 5 || job[giveplayerid] == 6 || job[giveplayerid] == 7 || job[giveplayerid] == 8; format(string,sizeof(string),"Police radio %s(%i): %s, over.", sendername, playerid, cmdtext[3]); SendClientMessage(cops, COLOR_LIGHTBLUE, string); Het rare is, dat als iemand anders /r gebruikt, hij/zij de string zelf niet kan lezen, maar ik wel. Als ik /r gebruik, dan kan ik mijn eigen string wel lezen maar de andere niet. Wat hulp zou ik erg waarderen Edit: ik heb i.p.v giveplayerid ook gewoon playerid geprobeert te gebruiken. Maar dat werkte niet. Bewerkt: 17 oktober 2010 door Gast Reageren
Big Boss Geplaatst: 17 oktober 2010 Rapport Geplaatst: 17 oktober 2010 Je moet een loop gebruiken. Een loop - of 'lus', in het Nederlands - herhaalt een stuk code een bepaald aantal keer. Als je het aantal keren dat de loop herhaald moet worden niet weet, gebruik je doorgaans while of do-while. Als je het wel weet kan je ook de for-loop gaan gebruiken. Hier kan je meer lezen over loops. format(string,sizeof(string),"Police radio %s (%i): %s, over.", sendername, playerid, cmdtext[3]); // Sommige mensen plaatsen deze format ook in de loop, maar dat is niet nodig. Het bericht is immers toch steeds hetzelfde for(new i; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; if(!(1 <= job[i] <= ) continue; SendClientMessage(i, COLOR_LIGHTBLUE, string); } Reageren
Gast Geplaatst: 18 oktober 2010 Rapport Geplaatst: 18 oktober 2010 (bewerkt) Je moet een loop gebruiken. Een loop - of 'lus', in het Nederlands - herhaalt een stuk code een bepaald aantal keer. Als je het aantal keren dat de loop herhaald moet worden niet weet, gebruik je doorgaans while of do-while. Als je het wel weet kan je ook de for-loop gaan gebruiken. Hier kan je meer lezen over loops. format(string,sizeof(string),"Police radio %s (%i): %s, over.", sendername, playerid, cmdtext[3]); // Sommige mensen plaatsen deze format ook in de loop, maar dat is niet nodig. Het bericht is immers toch steeds hetzelfde for(new i; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; if(!(1 <= job[i] <= ) continue; SendClientMessage(i, COLOR_LIGHTBLUE, string); } Oke, bedankt. Ik zou toch graag willen weten waarom ik een loop moet gebruiken. Dat doe ik zodat ik weet wat ik in mijn script zorg. Je snapt vast wel waarom. Edit: Weet je ook hoe ik deze command zo kan maken dat /r hetzelfde effect heeft als /radio? Ik heb niet echt een idee hoe ik dit doe, want ik gebruik cmdtext. if(strcmp(cmd, "/r", true, 2) == 0) { & if(strcmp(cmd, "/radio", true, 6) == 0) { Je ziet het al, als je /radio gebruikt zal er ingame je tekst komen testaan. Maar het word 2x verstuurd op deze manier: /radio hi : Police radio Biesmen (0): hi, over. Police radio Biesmen (0): adio hi, over." Negeer het rode! Ik heb het gefixed dmv result te gebruiken bij mijn /local command. (Dat is ook een loop geloof ik, ik moet echt even die dingen bestuderen) Bewerkt: 18 oktober 2010 door Gast Reageren
ted80 Geplaatst: 20 oktober 2010 Rapport Geplaatst: 20 oktober 2010 Oke, bedankt. Ik zou toch graag willen weten waarom ik een loop moet gebruiken. Dat doe ik zodat ik weet wat ik in mijn script zorg. Je snapt vast wel waarom. Dan gaat de server alle spelers langs en kijkt hij of de speler het bericht moet krijgen of niet. Reageren
Gast Geplaatst: 20 oktober 2010 Rapport Geplaatst: 20 oktober 2010 Oke, bedankt. Ik zou toch graag willen weten waarom ik een loop moet gebruiken. Dat doe ik zodat ik weet wat ik in mijn script zorg. Je snapt vast wel waarom. Dan gaat de server alle spelers langs en kijkt hij of de speler het bericht moet krijgen of niet. Ah, oké! Reageren
Recommended Posts
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.