Majitel ffredyk 164 Odesláno: 4. Září, 2010 Majitel Share Odesláno: 4. Září, 2010 <p>Pisu to proto, ze stale vidim ve scriptech co mi lidi posilaji na ICQ, ze v nich maji chyby to, ze cykly skoro vsichni delaji spatne.. Proto, uz jsem to nemohl vydrzet a musel jsem napsat tento tut.. Cely tut venuju cyklum i prave proto, ze tahle problematika muze nekomu prijit slozitejsi nez se zda.. Ovsem pokud si zapamatujete zakladni pravidla o tvorbe smycek (cyklu) nebudete mit problemy. OK. Podivame se na zakladni smycku, ktera vypise jmena vsech hracu na serveru do logu z pohledu novacka (tedy jak by to udelala vetsina z vas na ICQ) for(new i=0;i 1 Link to comment Share on other sites More sharing options...
Marwin37 5 Odesláno: 4. Září, 2010 Share Odesláno: 4. Září, 2010 dobrý ještě si mohl dát upozornění že když dají cyklus a pak spustí funkci ve ktere je další cyklus tak vziknou bugy... Link to comment Share on other sites More sharing options...
_NosiK_ 0 Odesláno: 4. Září, 2010 Share Odesláno: 4. Září, 2010 pěkný jen funci GetMaxPlayers() jsem už zjistil a funkci while nyní nemám jak použít ale až budu tak se sem vrátím Link to comment Share on other sites More sharing options...
Guest Odesláno: 4. Září, 2010 Share Odesláno: 4. Září, 2010 ja while moc nepoužívam, dakujem za vysvetlenie ale radšej si to trénujem v praxi, to znamená že ked mám new pocet; while(pocet != 100){ pocet++; } bude ten cyklus opakovať dovtedy pokiaľ nebude premena pocet na 100 ? ešte si mal pridať večné chyby ako npr. IsPlayerConnected ak ťa smiem doplniť Ak máte 500 slotový server je dobré využívať miesto GetMaxPlayers() alebo MAX_PLAYERS premenu viz na príklade hore new Pripojenych; do onplayerconnect Pripojenych++; do onplayerdisconnect Pripojenych--; a potom cyklus for(new i; i... } Dalej, ak chcete zlepšovák tu je #define ForConnect(%0,%1) for(new %0; %0<%1; %0++) if(IsPlayerConnected(%0)) & #define ForEx(%0,%1) for(new %0; %0<%1; %0++) využitie ForConnect(i,GetMaxPlayers()){ printf("%s %d %d"Jmeno(i),GetPlayerScore(i),GetPlayerIp(i)); } a využitie ForEx ForEx(i,10) { DestroyObject(Objects); } npr. admin chata (miesto move object,) tut 10/10 Link to comment Share on other sites More sharing options...
Majitel ffredyk 164 Odesláno: 4. Září, 2010 Author Majitel Share Odesláno: 4. Září, 2010 ja while moc nepoužívam, dakujem za vysvetlenie ale radšej si to trénujem v praxi, to znamená že ked mámnew pocet; while(pocet != 100){ pocet++; } bude ten cyklus opakovať dovtedy pokiaľ nebude premena pocet na 100 ? Jo presne tak.. Jak rikam (pisu) je to jen "IFová smyčka" Link to comment Share on other sites More sharing options...
Guest Odesláno: 4. Září, 2010 Share Odesláno: 4. Září, 2010 ok diky to som potreboval vedieť a dopln tam ten môj text pod tou praktickou otázkou, možno sa to hodí Link to comment Share on other sites More sharing options...
Majitel ffredyk 164 Odesláno: 4. Září, 2010 Author Majitel Share Odesláno: 4. Září, 2010 ok diky to som potreboval vedieť a dopln tam ten môj text pod tou praktickou otázkou, možno sa to hodí Uz jsi to napsal ty.. Mas to kousek podemnou a je to dlouhej prispevek.. Urcite na to kazdej mrkne Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 5. Září, 2010 Share Odesláno: 5. Září, 2010 QWER - to me nenapadlo to takhle udelat a urcite to ma neco do sebe diky za info ffredyk - TuT peknej ale mohl by si udelat TuT na tyhle veci z wiki, protoze s nema se naucit potrebuje kazdej pawner - http://wiki.sa-mp.com/wiki/Keywords:Statements Link to comment Share on other sites More sharing options...
tbx 7 Odesláno: 5. Září, 2010 Share Odesláno: 5. Září, 2010 do onplayerconnect Pripojenych++; do onplayerdisconnect Pripojenych--; a potom cyklus for(new i; i... } A napadlo te, ze kdyz se pripoji hrac s id 0 pak 1 pak 2 pak 3 a ten s ID2 se odpoji tak to prejede jen 0,1,2 a na 3. bude zapomenuto ? ... A ja sem while pouzil kdyz jsem projizdel vsechny zaregistrovany uzivatele na serveru (jejich nicky jsem mel v textaku) . Link to comment Share on other sites More sharing options...
Guest Odesláno: 5. Září, 2010 Share Odesláno: 5. Září, 2010 fakt, skúsim to upraviť diky nenapadlo ma to Link to comment Share on other sites More sharing options...
tbx 7 Odesláno: 30. Září, 2010 Share Odesláno: 30. Září, 2010 slo by to takto new connected; connect > connected ++; disconnect > connected --; a pak for(new i=0;i{ new idPlus; if(IsPlayerConnected(i+idPlus)) { funkce (pouzivat 'i+idPlus') } else idPlus ++; } ale nevim .. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now