Use a variable, GetPlayerWeapon and SetPlayerArmedWeapon under OnPlayerUpdate.
|
new pWeapon[MAX_PLAYERS];
stock SetPlayerWeapon(playerid, weaponid, ammo)
{
GivePlayerWeapon(playerid, weaponid, ammo);
pWeapon[playerid] = weaponid;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(GetPlayerWeapon(playerid) != pWeapon[playerid]) // If they changed weapon
{
SetPlayerArmedWeapon(playerid, pWeapon[playerid]); // Force their weapon back
}
return 1;
}
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\pawno\include\morphinc.inc(43) : warning 217: loose indentation
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\pawno\include\morphinc.inc(44) : warning 217: loose indentation
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(3028) : error 010: invalid function or declaration
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(3521) : error 004: function "SafeGivePlayerMoney" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(3550) : error 004: function "SafeGivePlayerMoney" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(3896) : error 004: function "SafeSetPlayerInterior" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(3939) : error 017: undefined symbol "GetVehicleName"
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(3939) : warning 202: number of arguments does not match definition
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(3955) : error 004: function "IsASalesVehicle" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(3959) : error 004: function "GetVehiclePrice" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(4054) : error 004: function "SafeSetPlayerPos" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(4059) : error 004: function "SafeSetPlayerPos" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(4064) : error 004: function "SafeSetPlayerPos" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(4069) : error 004: function "SafeSetPlayerPos" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(4074) : error 004: function "SafeSetPlayerPos" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(4884) : error 004: function "ABroadCast" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(4886) : error 004: function "ABroadCast" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(5686) : error 004: function "ClearChatbox" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(5704) : error 004: function "SendAdminMessage" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(5731) : error 004: function "SendAdminMessage" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(5753) : error 004: function "ClearChatbox" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(5761) : error 004: function "SendAdminMessage" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(5763) : error 004: function "SendAdminMessage" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(5913) : error 004: function "SendIRCMessage" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(5935) : error 004: function "SendIRCMessage" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(6252) : error 004: function "OOCOff" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(6266) : error 004: function "OOCOff" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(6272) : error 004: function "SafeGivePlayerMoney" is not implemented
C:\Users\Da' J'\Desktop\GTA San Andreas modfiles\Raven's Roleplay 0.3d V4.2\gamemodes\larp.pwn(6288) : error 004: function "OOCOff" is not implemented
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
26 Errors.
new PlayerWeapons[MAX_PLAYERS][2][13];
TogglePlayerWeapons(playerid, bool:toggle, ...)
{
new Args = numargs();
if(!toggle)
{
for(new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, PlayerWeapons[playerid][0][i], PlayerWeapons[playerid][1][i]);
for(new arg = 2; arg < Args; arg++)
{
if(PlayerWeapons[playerid][0][i] == getarg(arg))
{
GivePlayerWeapon(playerid, PlayerWeapons[playerid][0][i], - (PlayerWeapons[playerid][1][i] * 2));
continue;
}
}
}
}
else
{
ResetPlayerWeapons(playerid);
for(new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, PlayerWeapons[playerid][0][i], PlayerWeapons[playerid][1][i]);
for(new arg = 2; arg < Args; arg++)
{
if(PlayerWeapons[playerid][1][i] < 0 && PlayerWeapons[playerid][0][i] == getarg(arg))
{
PlayerWeapons[playerid][1][i] -= (PlayerWeapons[playerid][1][i] * 2);
}
}
GivePlayerWeapon(playerid, PlayerWeapons[playerid][0][i], PlayerWeapons[playerid][1][i]);
}
}
return 1;
}
GivePlayerWeaponEx(playerid, weaponid, ammo)
{
GivePlayerWeapon(playerid, weaponid, ammo);
PlayerWeapons[playerid][1][GetWeaponSlot(weaponid)] += ammo;
}
stock ResetPlayerWeaponsEx(playerid)
{
ResetPlayerWeapons(playerid);
for(new i = 0; i < 13; i++) PlayerWeapons[playerid][1][i] = 0;
}
stock GetWeaponSlot(weaponid)
{
switch (weaponid)
{
case 0, 1: return 0; // Unarmed
case 2 .. 9: return 1; // Melee
case 22 .. 24: return 2; // Pistol
case 25 .. 27: return 3; // Shotgun
case 28, 29, 32: return 4; // SMG
case 30, 31: return 5; // Machinegun
case 33, 34: return 6; // Rifle
case 35 .. 38: return 7; // Heavy
case 16, 18, 39: return 8; // Projectile
case 42, 43: return 9; // Special
case 14 : return 10; // Gifts
case 44 .. 46: return 11; // Special
case 40 : return 12; // Detonator
}
return 0;
}
//Example
//Disable Deagle:
TogglePlayerWeapons(playerid, false, 24);
//Enable Deagle and disable MP5 and M4:
TogglePlayerWeapons(playerid, false, 29, 31);
TogglePlayerWeapons(playerid, true, 24);
Another option is to disable the player slot by weapon id(give negative weapon ammo will disable your slot):
pawn Code:
pawn Code:
|