Quote:
Originally Posted by [DOG]irinel1996
En realidad es mucho mбs fбcil de lo que parece, si guardas los datos del jugador hasta te ahorras una variable de la siguiente manera:
pawn Код:
enum PlayerInfo { pKills, pDeaths, pScore //Aquн almacenaremos el SCORE del jugador. }
pawn Код:
public OnPlayerUpdate(playerid) { pInfo[playerid][pScore] = GetPlayerScore(playerid); /* No pasa nada por usar OnPlayerUpdate, aclaro que esto aquн esto aquн sirve para un sistema de guardado y cargado. Si no dispones de uno esto no es realmente necesario, pero aquн lo tienes. */ return 1; }
pawn Код:
format(string, sizeof(string), "%s", RangoJugador(playerid)); /* Como habrбs visto, tenemos una funciуn que no existe, asн que la vamos a crear: RangoJugador */
pawn Код:
stock RangoJugador(playerid) { new rango[24]; switch(GetPlayerScore(playerid)) { case 0: rango = "Fantasma"; case 1 .. 100: rango = "Novato"; case 101 .. 200: rango = "Aprendiz"; case 201 .. 300: rango = "Profesional"; default: rango = "Maestro"; } return rango; }
/* case 0: rango = "Fantasma"; Si su SCORE es EXACTAMENTE 0 serб Fantasma, pero tiene que ser 0, ni mбs ni menos.
case 1 .. 100: rango = "Novato"; Eso significa que si el SCORE estб entre 1 y 100 su rango serб Novato. Los valores 1 y 100 tambiйn se incluyen en la comprobaciуn.
default: rango = "Maestro"; Si el SCORE no estб en ninguna de las comprobaciones realizadas, su rango serб Maestro, esto serнa como el rango mбximo. */
Saludos.
|
A mi parecer ese es un mal uso de la callback OnPlayerUpdate, puedes hacerlo en OnPlayerDeath o en donde le des score.
Saludos.