Posts: 419
Threads: 101
Joined: May 2014
Hola, estuve haciendo unas cosillas y hice estos dos stock, querнa que me dijeran si es lo mismo:
pawn Код:
stock EnviarMensajeAdmins(playerid, color, string)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(DatosPJ[playerid][pAdmin] < 1)
{
SendClientMessage(i, color, string);
}
}
}
}
pawn Код:
stock EnviarMensajesAdmins(playerid, color, string)
{
foreach(Admin, i)
{
if(IsPlayerConnected(Admin))
{
if(DatosPJ[playerid][pAdmin] < 1)
{
SendClientMessage(Admin, color, string);
}
}
}
}
Desde ya muchas gracias.
Posts: 1,779
Threads: 126
Joined: Oct 2010
Con foreach no necesitas usar IsPlayerConnected, pero ъsalo asн:
foreach(new i : Player)
La diferencia estб en que la otra se repetirб 500 veces y con foreach solo serб mбs optimizado, dependiendo de la cantidad de jugadores.
Pero si te refieres a si vas a notar un cambia, la verdad es que quizбs no.
Posts: 45
Threads: 16
Joined: May 2013
Reputation:
0
es lo mismo nada mas que no usas un loop. ademas el foreach detecta por si mismo si el usuario esta conectado.
Posts: 419
Threads: 101
Joined: May 2014
їEntonces foreach ya al momento que se repite, solo lo envнa a los conectados?
EDIT: їEntonces serнa asн?:
pawn Код:
stock MensajeSoloAdmins(playerid, color, string)
{
foreach(Admin, i)
{
if(DatosPJ[playerid][pAdmin] < 1)
{
SendClientMessage(Admin, color, string);
}
}
}
Posts: 824
Threads: 80
Joined: Oct 2013
Reputation:
0
Foreach esta mбs optimizado en sus funciones que las nativas del SA-MP.
stock EnviarMensajesAdmins(playerid, color, string)
{
foreach(Admin, i)
{
if(DatosPJ[playerid][pAdmin] < 1)
{
SendClientMessage(Admin, color, string);
}
}
}
Posts: 1,504
Threads: 109
Joined: Jan 2012
emm los dos estan mal..
pawn Код:
stock EnviarMensajesAdmins(playerid, color, string)
{
foreach(Player, i) // foreach ya chequea por jugadores conectados
{
if(DatosPJ[i][pAdmin] >= 1) // el 'i' representa TODOS los jugadores que son admin
{
SendClientMessage(i, color, string);
}
}
}
Foreach, trata de leer eso con un traductor, porque no creo que haya un tutorial en espaсol de foreach.
Posts: 1,779
Threads: 126
Joined: Oct 2010
pawn Код:
stock MensajePremium(playerid, color, string)
{
foreach(new i : Player)
{
if(DatosPJ[i][pAdmin] < 1)
{
SendClientMessage(i, color, string);
}
}
}
Posts: 980
Threads: 152
Joined: Jan 2012
Reputation:
0
Usa el de adri1, y como ya te dijo йl, no vas a notar la diferencia, a no ser que hagas una prueba de ejecuciуn, y verбs que la diferencia serбn milisegundos que no notarбs dentro del servidor. Igualmente, estб muy bien usar foreach reemplazando a todos los bucles normales de jugadores.