30.08.2010, 03:38
[Tutorial] Obtener FPS del jugador
> Tйcnica, ejemplo y explicaciуn por JernejL, yo lo traducн y agreguй bastantes mбs explicaciones.
їCуmo funciona?
Usando el drunklevel (nivel de alcohol) se pueden obtener los FPS, pero... їCуmo?
El drunklevel disminuye la cantidad de FPS del jugador por segundo, entonces, con una variable que contenga el ъltimo drunklevel del jugador podemos compararlo con el actual para obtener los FPS.
Cуdigo:
El cуdigo puede ser usado en OnPlayerUpdate como en el ejemplo, o en un timer.
Explicaciуn:
Parte de arriba del script:
Ahн definimos las variables que contendrбn los datos del jugador.
OnPlayerConnect:
Aquн especificamos que las variables son 0, para evitar confunciones.
OnPlayerUpdate / Timer:
0: Obtenemos el nivel de alcohol del jugador para luego usarlo en otras cosas.
1: Si el nivel de alcohol es menor a 100 lo establecemos en 2000 para que se mantenga un ciclo.
2: Si NO es menor a 100 se continua en el paso 3
3: Ya sabemos que el nivel de alcohol disminuye UNA VEZ por segundo, entonces comparamos si no es igual a la anterior, si no lo es vamos al paso 4, de lo contrario se termina ahн.
4: Creamos la variable fps, y le asignamos de valor el resultado de la resta entre el ъltimo nivel de alcohol y el nuevo.
5: Para evitar confuciones o cosas raras se checkea si los FPS son mбs que 0 y menos de 200.
6: Se establece que el ъltimo nivel de alcohol es igual al nuevo.
Final:
Gracias a JernejL por sus explicaciones y los ejemplos, si a йl no se le hubiese ocurrido, seguro que a nadie le hubiese pasado.
Bueno este es un mйtodo ъtil para obtener los FPS del jugador, pueden ser usados simplemente para mostrarselos (quedarнa bien) o tambiйn para obtener si tiene muy pocos teletransportarlo a otro lado, etc...
> Tйcnica, ejemplo y explicaciуn por JernejL, yo lo traducн y agreguй bastantes mбs explicaciones.
їCуmo funciona?
Usando el drunklevel (nivel de alcohol) se pueden obtener los FPS, pero... їCуmo?
El drunklevel disminuye la cantidad de FPS del jugador por segundo, entonces, con una variable que contenga el ъltimo drunklevel del jugador podemos compararlo con el actual para obtener los FPS.
Cуdigo:
El cуdigo puede ser usado en OnPlayerUpdate como en el ejemplo, o en un timer.
pawn Код:
// En la parte de arriba del script
new UltimoDrunkLevel[MAX_PLAYERS],
FPS[MAX_PLAYERS];
// En OnPlayerConnect
public OnPlayerConnect(playerid)
{
UltimoDrunkLevel[playerid] = 0;
FPS[playerid] = 0;
return 1;
}
// En OnPlayerUpdate o en un Timer
public OnPlayerUpdate(playerid)
{
new NivelAlcohol = GetPlayerDrunkLevel(playerid), fps; // 0
if (NivelAlcohol < 100) // 1
{
SetPlayerDrunkLevel(playerid, 2000);
}
else // 2
{
if (NivelAlcohol != UltimoDrunkLevel[playerid]) // 3
{
fps = UltimoDrunkLevel[playerid] - NivelAlcohol; //4
if (fps > 0 && fps < 200) FPS[playerid] = fps; // 5
UltimoDrunkLevel[playerid] = NivelAlcohol; // 6
}
}
return 1;
}
Explicaciуn:
Parte de arriba del script:
Ahн definimos las variables que contendrбn los datos del jugador.
OnPlayerConnect:
Aquн especificamos que las variables son 0, para evitar confunciones.
OnPlayerUpdate / Timer:
0: Obtenemos el nivel de alcohol del jugador para luego usarlo en otras cosas.
1: Si el nivel de alcohol es menor a 100 lo establecemos en 2000 para que se mantenga un ciclo.
2: Si NO es menor a 100 se continua en el paso 3
3: Ya sabemos que el nivel de alcohol disminuye UNA VEZ por segundo, entonces comparamos si no es igual a la anterior, si no lo es vamos al paso 4, de lo contrario se termina ahн.
4: Creamos la variable fps, y le asignamos de valor el resultado de la resta entre el ъltimo nivel de alcohol y el nuevo.
5: Para evitar confuciones o cosas raras se checkea si los FPS son mбs que 0 y menos de 200.
6: Se establece que el ъltimo nivel de alcohol es igual al nuevo.
Final:
Gracias a JernejL por sus explicaciones y los ejemplos, si a йl no se le hubiese ocurrido, seguro que a nadie le hubiese pasado.
Bueno este es un mйtodo ъtil para obtener los FPS del jugador, pueden ser usados simplemente para mostrarselos (quedarнa bien) o tambiйn para obtener si tiene muy pocos teletransportarlo a otro lado, etc...