[Pregunta]; Algunas funciones del sistema de bolsillos.
#1

Ya hace una o dos semanas le implementй el sistema de bolsillos a mi gamemode, anda todo bien, solamente que tengo un problema, el cual es que cuando uso la 'Q' o 'E' me cambia el arma de la mano, o sea, no me deja el arma quieta, o mejor dicho, no me la retorna, tambiйn estoy teniendo un problema con el anticheat, pero eso ya es otra cosa

Dejo unas imбgenes.

Acб tengo el arma en mano y no pasa nada;

Despuйs toco la 'Q' o 'E' y el arma cambia como en el GTA San Andreas default. Asi;



PD; Cabe destacar que el objeto del arma que estoy cambiando queda y si saco un arma con cheat's me deja el objeto del arma que cambiй anteriormente y me pone arriba de esa el arma nueva. їse entiende?
-Saludines.
Reply
#2

Si deseas que el arma no se cambie con Q y E implementa йste codigo con tus respectivas funciones de bolsillo.

Quote:

forward CambiarArma(playerid);
public NoCambiarArma(playerid)
{
new Armas[13][2];
for (new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, Armas[i][0], Armas[i][1]);
if(Armas[i][0] == 46 && BolsilloID[playerid][11] != 46 && EsArma(BolsilloID[playerid][11]))
{
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, BolsilloID[playerid][11], BolsilloCantidad[playerid][11]);
SetPlayerArmedWeapon(playerid, BolsilloID[playerid][11]);
return 1;
}
if(GetPlayerWeapon(playerid) != Armas[i][0])
{
if(Armas[i][1] >= 1)
{
GivePlayerWeapon(playerid, Armas[i][0], 0);
}
}
else if(Armas[i][0] == 46 && BolsilloID[playerid][11] != 46)
{
ResetPlayerWeapons(playerid);
return 1;
}
if(Armas[i][0] == BolsilloID[playerid][11] && BolsilloCantidad[playerid][11] > Armas[i][1])
{
BolsilloCantidad[playerid][11] = Armas[i][1];
if(BolsilloCantidad[playerid][11] == 0) ActualizarObjetos(playerid);
}
}
return 1;
}

Luego, en OnPlayerUpdate.
Quote:

NoCambiarArma(playerid);

En cuanto al anticheat, debes ver que funcion utiliza el tuyo... ya sea DarArma, GivePlayerWeaponEx o demas, y remplazarlo por el que te puse arriba (GivePlayerWeapon), eso debes tener por lo menos conocimiento medio en pawno para arreglarlo.
Reply
#3

Intentй colocar eso, cambiando las variables, compilу todo bien, pero las armas se siguen cambiando como antes. :B

PD; Pasa que yo tengo asн;

Код HTML:
pBol[8], //Slot de cada bolsillo
pBolCant[8], //Cantidad de cada bolsillo
pManoIzq, //Objeto en mano izquierda
pManoIzqCant, //Cantidad objeto mano izquierda
pManoDer, //Objeto en mano derecha
pManoDerCant, //Cantidad objeto en mano derecha
y vos me pasaste uno que tiene los 11 slots juntos y me pierdo
Reply
#4

Coloca esto

PHP код:
#define SaveWeapon(%0) \
    
for (new slot 0slot <= 12slot++) GetPlayerWeaponData(%0slotweapons[%0][slot][0], weapons[%0][slot][1])
#define SetWeapon(%0) \
    
for (new slot 0slot <= 12slot++) GivePlayerWeapon(%0weapons[%0][slot][0], weapons[%0][slot][1]) 
Y dime si te funciona, a mi me pasaba lo mismo.
Reply
#5

No tengo cуdigo a mano, pero si pasas el sistema de bolsillos de una GM a otra, recuerda pasar todas las funciones de armas y de objetos, por ejemplo. El de las armas es de vital importancia. Fijate en OnPlayerUpdate, creo. Saludos!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)