pawn Код:
#define MAX_SHELLS 1000 //Or whatever you want the maximum to be.
#define ShellDespawnTime 300000 //Currently 5 minutes, set it to what you want it.
new Text3D:Shell[MAX_SHELLS]; //So each shell has it's own 3DTextLabel.
new ExistentShells; //In order to know which shell is which.
new ShellDespawnTimer[MAX_SHELLS]; //A timer for each shell to despawn
new shellid; //A variable to define shell ID's (used for the timers)
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(weaponid != 24 && weaponid!= 31 && weaponid !=30 && weaponid !=22 && weaponid != 23 && weaponid != 25 && weaponid != 28 && weaponid != 29 && weaponid != 32 && weaponid != 33 && weaponid != 34) return 0; //Making sure only the weapons below create shells (add add onto the variable "ExistentShells"
ExistentShells++; //Showing how many existent shells there are in order to establish a shell ID
switch(weaponid)
{
case 24: Shell[ExistentShells] = Create3DTextLabel("Desert Eagle Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 31: Shell[ExistentShells] = Create3DTextLabel("M416 Assult rifle Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 30: Shell[ExistentShells] = Create3DTextLabel("AK-47 Assult rifle Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 22: Shell[ExistentShells] = Create3DTextLabel("9MM Pistol Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 23: Shell[ExistentShells] = Create3DTextLabel("9MM Silencer Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 25: Shell[ExistentShells] = Create3DTextLabel("Remington ShotGun Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 28: Shell[ExistentShells] = Create3DTextLabel("UZI SMG Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 29: Shell[ExistentShells] = Create3DTextLabel("MP5 SMG Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 32: Shell[ExistentShells] = Create3DTextLabel("TEC9 SMG Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 33: Shell[ExistentShells] = Create3DTextLabel("Contry Rifle Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
case 34: Shell[ExistentShells] = Create3DTextLabel("Sniper Rifle Shell", COLOR_GREY, X, Y, Z, 30.0, 0, 0);
}
shellid = ExistentShells;
ShellDespawnTimer[shellid] = SetTimerEx("ShellDespawn", ShellDespawnTime, false, "i", shellid);
return 1;
}
forward ShellDespawn(shellid);
public ShellDespawn(shellid)
{
Delete3DTextLabel(Shell[shellid]);
return 1;
}
Lemme know if there are any bugs. This is untested and I just wrote the code here, in ****** Chrome.