29/11/2022 14:50
Supondo que eu tenha uma M4 em mãos, e digito /jogararma, o que vai acontecer?
Simplesmente irei armazenar o ID da M4 em uma variável(do drop) junto com a munição e pegar o ID do objecto da M4 que é 256 e armazenar em outra variável
E criar o objeto a partir dessa variável, e quando o jogador pegar a arma no chão, dar a ele a variável que eu guardei o ID da arma que é 31.
Fiz um código exemplo, espero que entenda:
Simplesmente irei armazenar o ID da M4 em uma variável(do drop) junto com a munição e pegar o ID do objecto da M4 que é 256 e armazenar em outra variável
E criar o objeto a partir dessa variável, e quando o jogador pegar a arma no chão, dar a ele a variável que eu guardei o ID da arma que é 31.
Fiz um código exemplo, espero que entenda:
Código:
enum dropData
{
bool:dropExists,
dropObject,
dropItem,
dropAmount
};
new dropInfo[MAX_DROPS][dropData];
CMD:jogararma(playerid)
{
for(new i = 1; i < MAX_DROPS; i++) if(!dropInfo[i][dropExists])
{
new
weaponid = GetPlayerWeapon(playerid),
ammo = GetPlayerAmmo(playerid);
dropInfo[i][dropExists] = true;
GetPlayerPos(playerid, dropInfo[i][dropPos][0], dropInfo[i][dropPos][1], dropInfo[i][dropPos][2]);
dropInfo[i][dropObject] = GetWeaponObject(weaponid);
dropInfo[i][dropItem] = weaponid;
dropInfo[i][dropAmount] = ammo;
break;
}
return 1;
}
GetWeaponObject(weaponid)
{
switch(weaponid)
{
case 22: return 346; // Pistoll
case 23: return 347; // Silenced Pistoll
case 24: return 348; // Desert Eagle
case 25: return 349; // Shotgun
case 26: return 350; // Shaw-off-shotgun
case 27: return 251; // Combat Shotgun
case 28: return 252; // Uzi
case 30: return 255; // AK-47
case 31: return 256; // M4
}
return -1;
}