[Ayuda]: con funcion/variable
#1

Bueno gracias por ayudarme a solucionar lo del Jetpack, y ahora edito para ver si me pueden ayudar con algo que me esta jodiendo mucho es un Text3D, lo que pasa es que no se crea completamente Uno para un solo user, ya que he visto users, con datos de otros, como si cambiara rapido por estar en Update ejemplo: "Vip No" despues "Vip Diamante" y "Nivel 3" luego "Nivel 192"
al mismo user, incluso hasta 2 en la cabeza, osea que esta mal, espero puedan ayudarme

mi funcion es asi


PHP код:
new Text3D:InfoTexto[MAX_PLAYERS];
//En Diconnect y en OnplayerDeath
DestroyDynamic3DTextLabel(InfoTexto[playerid]);
//Crearla al Spawnear
InfoTexto[playerid] = CreateDynamic3DTextLabel("",-1,0.00.00.52,8.0,playerid);
//Y comprobar si sus stats cambiaron
public OnPlayerUpdate(playerid)
{
new 
Almacenar[80],KitLvl[20];
switch(
PlayerInfo[playerid][Vip])
{
case 
0KitLvl "{FF8040}No";
case 
1KitLvl "{00FF80}Lvl 1";
case 
2KitLvl "{00FF40}Lvl 2";
}
format(Almacenar,sizeof(Almacenar),"Vip: %s\nNivel: %d",KitLvl,PlayerInfo[playerid][LevelUp]);
UpdateDynamic3DTextLabelText(InfoTexto[playerid],0x808080FF,Almacenar);
return 
1;

Reply
#2

Al usar un "o" al final indicas al script que si el jugador no es VIP lo kickee si lo detecta con jetpack, a pesar de que SinHacks estй puesto en 1
Mira, siendo admin sin vip sucede lo siguiente:
Condiciуn 1: Falso, ya que tienes la variable en 1. = 0
Condiciуn 2: Falso, ya que eres Administrador. = 0
Condiciуn 3. Verdadero, ya que no eres VIP = 1
(Espero haberme explicado)

Mira, traduciendo las variables a su valor:
if(1 == 0 || 99999 == 0 || 0 == 0) //Ves en esta ъltima condiciуn da verdadero ya que Nivel VIP es igual a 0, 0 = 0 verdadero por lo que entra al if de abajo
{
if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
{
Kick(playerid); //Y aqui le sacamos
}
}


Ahora 0 o 0 o 1, da verdadero (puedes investigar sobre tablas de verdad, acб un ejemplo: http://wikifab.dimf.etsii.upm.es/wik...laOR_08309.jpg es la tabla del "o" lo que es lo mismo en pawn: ||)por lo que entrarб al segundo if, como tienes el jetpack pues entonces te kickea
Lo que puedes hacer es solo poner la condiciуn nъmero 1:
Quote:

if(Informacion[playerid][SinHacks] == 0

Y borrar el resto, ya que esta variable solo se va a activar a travйs de un comando solo disponible para los Administradores y VIP, їno?
Reply
#3

No veo el punto en hacer esto, si aplastas F te expulsara.
Reply
#4

Muchas gracias ya me quedo claro y solucionado, no me sabia esa informacion, pero tengo un problema mas si es posible que me ayuden
que me esta jodiendo mucho con un CreateDynamic3DTextLabel, arriba editare el post y dejare la Info
Reply
#5

Colуcalo en un Timer de 1 segundo, no en OnPlayerUpdate. Crea un Bool de que cuando identifique cuando un User Spawnee se actualice el Label.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)