Rád by som vám predstavil môj ďalší script, ktorý bol použitý pri Royal World.
Neviem či poznáte foreach (by Y_less). Je to vlastne cyklus, ale miesto aby testovalo či je hráč na servery, pripojené ID uloží to premeny, a potom pracuje...
Ja som použil lepší nápad. Počíta najvyššie id na servery.
Tu je script
Použitie je veľmi ale veľmi jednoduché, miesto
for(new i;i < MAX_PLAYERS;i++){
...
}
použijete
ForPlayers(i){
...
}
Šetríte tým CPU, lebo keď na servery nikto nieje, tak cyklus prebehne iba 1x, no u MAX_PLAYERS, prebehne 500x...
to je všetko Ďakujem za pozornosť
RW Team
aka zase ja
Neviem či poznáte foreach (by Y_less). Je to vlastne cyklus, ale miesto aby testovalo či je hráč na servery, pripojené ID uloží to premeny, a potom pracuje...
Ja som použil lepší nápad. Počíta najvyššie id na servery.
Tu je script
- kód:
/*
Royal World Cykly
© by Royal World Team
*/
#define ForPlayers(%1) for(new %1; %1 < BigId+1; %1++) if(IsPlayerConnected(%1))
new BigId;
forward OnPlayerConnectCyklus(playerid);
forward OnPlayerDisConnectCyklus(playerid);
public OnPlayerConnectCyklus(playerid){
if(playerid > BigId) BigId = playerid;
}
public OnPlayerDisConnectCyklus(playerid){
if(playerid == BigId) BigId--;
cyklusX:
if(!IsPlayerConnected(BigId)){
BigId--;
goto cyklusX;
}
}
Použitie je veľmi ale veľmi jednoduché, miesto
for(new i;i < MAX_PLAYERS;i++){
...
}
použijete
ForPlayers(i){
...
}
Šetríte tým CPU, lebo keď na servery nikto nieje, tak cyklus prebehne iba 1x, no u MAX_PLAYERS, prebehne 500x...
to je všetko Ďakujem za pozornosť
RW Team
aka zase ja