24/11/2020 21:23
Eu fiz um aqui, porem está kickando a galera que não usa, é mais quando a munição acaba/joga arma no chão, porem eu ja estou resetando as variaveis, sera que é pq o meu timer é de 1 segundos e está rapido de mais? (tem bastante coisa nele até) ou sera que estou fazendo errado? alguem pode mandar um? :|
Vou mandar quando o player atira, que acredito que seja aqui o problema
[font=Consolas, "Courier New", monospace]public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
{
new slot;
slot = CheckSlotWeapon(weaponid);
WeaponData[playerid][slot][Ammo]--;
if(WeaponData[playerid][slot][Ammo] <= 0)
{
WeaponData[playerid][slot][WeaponID] = 0;
WeaponData[playerid][slot][Ammo] = 0;
}
}[/font]
[font=Consolas, "Courier New", monospace]stock CheckSlotWeapon(arma)
{
new slot;
switch(arma)
{
case 1: slot = 0;
case 2..9: slot = 1;
case 22..24: slot = 2;
case 25..27: slot = 3;
case 28,29,32: slot = 4;
case 30,31: slot = 5;
case 33,34: slot = 6;
case 35..38: slot = 7;
case 16..18,39: slot = 8;
case 41..43: slot = 9;
case 10..15: slot = 10;
case 44..46: slot = 11;
case 40: slot = 12;
}
return slot;
}[/font]
//No timer, sera q é aqui o problema? fiquei meio confuso na hora de fazer
[font=Consolas, "Courier New", monospace][font=Consolas, "Courier New", monospace]if(GetPlayerWeapon(playerid) != 0 && PlayerInfo[playerid][pArena] == false)
{
for(new i = 0; i < MAX_WEAPONS; i++)
{
if(GetPlayerWeapon(playerid) == WeaponData[playerid][i][WeaponID])
{
achou[playerid] = true;
break;
}
}
}
else
achou[playerid] = true;
if(achou[playerid] == false && GetPlayerWeapon(playerid) != 0 && DeleyCheat[playerid] == false)
return OnPlayerHacking(playerid, PLAYER_WEAPON_HACK);[/font]
[/font]
Vou mandar quando o player atira, que acredito que seja aqui o problema
[font=Consolas, "Courier New", monospace]public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
{
new slot;
slot = CheckSlotWeapon(weaponid);
WeaponData[playerid][slot][Ammo]--;
if(WeaponData[playerid][slot][Ammo] <= 0)
{
WeaponData[playerid][slot][WeaponID] = 0;
WeaponData[playerid][slot][Ammo] = 0;
}
}[/font]
[font=Consolas, "Courier New", monospace]stock CheckSlotWeapon(arma)
{
new slot;
switch(arma)
{
case 1: slot = 0;
case 2..9: slot = 1;
case 22..24: slot = 2;
case 25..27: slot = 3;
case 28,29,32: slot = 4;
case 30,31: slot = 5;
case 33,34: slot = 6;
case 35..38: slot = 7;
case 16..18,39: slot = 8;
case 41..43: slot = 9;
case 10..15: slot = 10;
case 44..46: slot = 11;
case 40: slot = 12;
}
return slot;
}[/font]
//No timer, sera q é aqui o problema? fiquei meio confuso na hora de fazer
[font=Consolas, "Courier New", monospace][font=Consolas, "Courier New", monospace]if(GetPlayerWeapon(playerid) != 0 && PlayerInfo[playerid][pArena] == false)
{
for(new i = 0; i < MAX_WEAPONS; i++)
{
if(GetPlayerWeapon(playerid) == WeaponData[playerid][i][WeaponID])
{
achou[playerid] = true;
break;
}
}
}
else
achou[playerid] = true;
if(achou[playerid] == false && GetPlayerWeapon(playerid) != 0 && DeleyCheat[playerid] == false)
return OnPlayerHacking(playerid, PLAYER_WEAPON_HACK);[/font]
[/font]