SetPVarInt issues
#1

Hey.

I have been attempting to use SetPVarInt to share information between my gamemode and a filterscript. Obviously the weapons should be serversided so I made use of an include I found that looks like this:

Код:
stock ResetWeapons(playerid)
{

	SetPVarInt(playerid, "Brass Knuckles", 0);
	SetPVarInt(playerid, "Golf Club", 0);
	SetPVarInt(playerid, "Nite Stick", 0);
	SetPVarInt(playerid, "Knife", 0);
	SetPVarInt(playerid, "Baseball Bat", 0);
	SetPVarInt(playerid, "Shovel", 0);
	SetPVarInt(playerid, "Pool Cue", 0);
	SetPVarInt(playerid, "Katana", 0);
	SetPVarInt(playerid, "Chainsaw", 0);
	SetPVarInt(playerid, "Heat Seaker", 0);
	SetPVarInt(playerid, "Dildo", 0);
	SetPVarInt(playerid, "Vibrator", 0);
	SetPVarInt(playerid, "Flowers", 0);
	SetPVarInt(playerid, "Cane", 0);
	SetPVarInt(playerid, "Teargas", 0);
	SetPVarInt(playerid, "Bomb", 0);
	SetPVarInt(playerid, "HS Rocket", 0);
	SetPVarInt(playerid, "Flamethrower", 0);
	SetPVarInt(playerid, "Satchel Explosives", 0);
	SetPVarInt(playerid, "Spray Can", 0);
	SetPVarInt(playerid, "Fire Extinguisher", 0);
	SetPVarInt(playerid, "Camera", 0);
	SetPVarInt(playerid, "Night Vis Goggles", 0);
	SetPVarInt(playerid, "Thermal Goggles", 0);
 	SetPVarInt(playerid, "Grenade", 0);
	SetPVarInt(playerid, "Molotov Cocktail", 0);
	SetPVarInt(playerid, "Colt 45", 0);
	SetPVarInt(playerid, "Silenced Pistol", 0);
	SetPVarInt(playerid, "Desert Eagle", 0);
	SetPVarInt(playerid, "Shotgun", 0);
	SetPVarInt(playerid, "Sawn-off Shotgun", 0);
	SetPVarInt(playerid, "Combat Shotgun", 0);
	SetPVarInt(playerid, "UZI", 0);
	SetPVarInt(playerid, "MP5", 0);
	SetPVarInt(playerid, "AK47", 0);
	SetPVarInt(playerid, "M4", 0);
	SetPVarInt(playerid, "Tec9", 0);
	SetPVarInt(playerid, "Rifle", 0);
	SetPVarInt(playerid, "Sniper Rifle", 0);
 	SetPVarInt(playerid, "Rocket Launcher", 0);
  	SetPVarInt(playerid, "Minigun", 0);
	ResetPlayerWeapons(playerid);
}

stock GivePlayerServerWeapon(playerid, weapid, ammo)
{
	new gunname[32];
	GivePlayerWeapon(playerid, weapid, ammo);
	GetWeaponName(weapid, gunname, sizeof(gunname));
	SetPVarInt(playerid, gunname, GetPVarInt(playerid, gunname) +ammo);
}
I then made a quick test by doing this:

Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys & KEY_FIRE)
    {
               if(IsPlayerConnected(playerid))
                {
                        new weaponid = GetPlayerWeapon(playerid);
                        new weapname[32];
			GetWeaponName(weaponid, weapname, sizeof(weapname));
			if(GetPVarInt(playerid, weapname) < 1) return SendClientMessage(playerid, -1, "Hack");
			SetPVarInt(playerid, weapname, GetPVarInt(playerid, weapname) -1);

                }
        }
        return 1;
}
When I first tested it there were no issues, but that was because I didn't try hard enough. After playing around for a while with some weapons I realised that after clicking a bit too many times it would start returning the message "Hack" with weapons that weren't spawned in. It seems that after a while the setpvarint goes to 0 or something goes wrong. I'm just not sure what it is.
Reply


Messages In This Thread
SetPVarInt issues - by ChristofferHoffmann - 24.09.2017, 01:22
Re: SetPVarInt issues - by JesterlJoker - 24.09.2017, 03:09
Re: SetPVarInt issues - by ChristofferHoffmann - 24.09.2017, 13:12
Re: SetPVarInt issues - by Kane - 24.09.2017, 13:18
Re: SetPVarInt issues - by ChristofferHoffmann - 24.09.2017, 13:21
Re: SetPVarInt issues - by ChristofferHoffmann - 24.09.2017, 13:45
Re: SetPVarInt issues - by ChristofferHoffmann - 24.09.2017, 16:27

Forum Jump:


Users browsing this thread: 1 Guest(s)