21.07.2012, 13:23
Hey there. I felt to script something, and tried weapon auto attaching. I took a done system and than edited it and putted in my GM, but it doesn't attach Shotgun. I tried alot of things to add it, like adding one more case with gun id 25(shotgun), and the rest of the code to this too.
What i have:
Once again, i didn't create this, trying to find out how to add shotgun.
Thank you.
What i have:
pawn Код:
public OnPlayerUpdate(playerid)
{
if(GetTickCount() - armedbody_pTick[playerid] > 113)
{
new
weaponid[13],weaponammo[13],pArmedWeapon;
pArmedWeapon = GetPlayerWeapon(playerid);
GetPlayerWeaponData(playerid,1,weaponid[1],weaponammo[1]);
GetPlayerWeaponData(playerid,2,weaponid[2],weaponammo[2]);
GetPlayerWeaponData(playerid,4,weaponid[4],weaponammo[4]);
GetPlayerWeaponData(playerid,5,weaponid[5],weaponammo[5]);
#if ARMEDBODY_USE_HEAVY_WEAPON
GetPlayerWeaponData(playerid,7,weaponid[7],weaponammo[7]);
#endif
if(weaponid[1] && weaponammo[1] > 0)
{
if(pArmedWeapon != weaponid[1])
{
if(!IsPlayerAttachedObjectSlotUsed(playerid,0))
{
SetPlayerAttachedObject(playerid,0,GetWeaponModel(weaponid[1]),1, 0.199999, -0.139999, 0.030000, 0.500007, -115.000000, 0.000000, 1.000000, 1.000000, 1.000000);
}
}
else
{
if(IsPlayerAttachedObjectSlotUsed(playerid,0))
{
RemovePlayerAttachedObject(playerid,0);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,0))
{
RemovePlayerAttachedObject(playerid,0);
}
if(weaponid[2] && weaponammo[2] > 0)
{
if(pArmedWeapon != weaponid[2])
{
if(!IsPlayerAttachedObjectSlotUsed(playerid,1))
{
SetPlayerAttachedObject(playerid,1,GetWeaponModel(weaponid[2]),8, -0.079999, -0.039999, 0.109999, -90.100006, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
}
}
else
{
if(IsPlayerAttachedObjectSlotUsed(playerid,1))
{
RemovePlayerAttachedObject(playerid,1);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,1))
{
RemovePlayerAttachedObject(playerid,1);
}
if(weaponid[4] && weaponammo[4] > 0)
{
if(pArmedWeapon != weaponid[4])
{
if(!IsPlayerAttachedObjectSlotUsed(playerid,2))
{
SetPlayerAttachedObject(playerid,2,GetWeaponModel(weaponid[4]),7, 0.000000, -0.100000, -0.080000, -95.000000, -10.000000, 0.000000, 1.000000, 1.000000, 1.000000);
}
}
else
{
if(IsPlayerAttachedObjectSlotUsed(playerid,2))
{
RemovePlayerAttachedObject(playerid,2);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,2))
{
RemovePlayerAttachedObject(playerid,2);
}
if(weaponid[5] && weaponammo[5] > 0)
{
if(pArmedWeapon != weaponid[5])
{
if(!IsPlayerAttachedObjectSlotUsed(playerid,3))
{
SetPlayerAttachedObject(playerid,3,GetWeaponModel(weaponid[5]),1, 0.200000, -0.119999, -0.059999, 0.000000, 206.000000, 0.000000, 1.000000, 1.000000, 1.000000);
}
}
else
{
if(IsPlayerAttachedObjectSlotUsed(playerid,3))
{
RemovePlayerAttachedObject(playerid,3);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,3))
{
RemovePlayerAttachedObject(playerid,3);
}
#if ARMEDBODY_USE_HEAVY_WEAPON
if(weaponid[7] && weaponammo[7] > 0)
{
if(pArmedWeapon != weaponid[7])
{
if(!IsPlayerAttachedObjectSlotUsed(playerid,4))
{
SetPlayerAttachedObject(playerid,4,GetWeaponModel(weaponid[7]),1,-0.100000, 0.000000, -0.100000, 84.399932, 112.000000, 10.000000, 1.099999, 1.000000, 1.000000);
}
}
else
{
if(IsPlayerAttachedObjectSlotUsed(playerid,4))
{
RemovePlayerAttachedObject(playerid,4);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,4))
{
RemovePlayerAttachedObject(playerid,4);
}
#endif
armedbody_pTick[playerid] = GetTickCount();
}
return 1;
}
stock GetWeaponModel1(weaponid)
{
switch(weaponid)
{
case 1:
return 331;
case 2..8:
return weaponid+331;
case 9:
return 341;
case 10..15:
return weaponid+311;
case 16..18:
return weaponid+326;
case 22..29:
return weaponid+324;
case 30,31:
return weaponid+325;
case 32:
return 372;
case 33..45:
return weaponid+324;
case 46:
return 371;
}
return 0;
}
Thank you.