SA-MP Forums Archive
Shooting while on bike - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Shooting while on bike (/showthread.php?tid=615302)



Shooting while on bike - Frank901 - 20.08.2016

Hello, I couldn't figure it out whats wrong, or how to make it.

I'm asking help if someone can help me out. Basically problem is I can't use a MP5, TEC9 or UZI's while driving a bike (Example: NRG, PJG etc)

Thanks Frank.
Will rep+


Re: Shooting while on bike - ThatFag - 20.08.2016

Show Onplayerstatechange


Re: Shooting while on bike - Shinja - 20.08.2016

Try this code
PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    if(
oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
                new 
weaponammo;
        
GetPlayerWeaponData(playerid4weaponammo);
        if(
ammo>0SetPlayerArmedWeapon(playeridweapon);
    }
    return 
1;




Re: Shooting while on bike - Frank901 - 20.08.2016

Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
	disableGPS(playerid);
	if(newstate == PLAYER_STATE_ENTER_VEHICLE_PASSENGER)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			new vehicleid = GetPlayerVehicleID(playerid);
			if(GetVehicleModel(vehicleid) == 548)
			{
				if(Player[playerid][english])
					Server(playerid, "Use "CHAT_YELLOW"Key Submission"CHAT_WHITE" or"CHAT_YELLOW" 2"CHAT_WHITE" to slide from this vehicle.");
				else
					Server(playerid, "Gunakan "CHAT_YELLOW"Key Submission"CHAT_WHITE" atau tekan"CHAT_YELLOW" 2"CHAT_WHITE" untuk turun dari kendaraan.");
			}
		}
	}
	else if(newstate == PLAYER_STATE_DRIVER)
	{
		new vehicleid = GetPlayerVehicleID(playerid), bool:found = false;
		if(Player[playerid][showGT])
		{
			new msg[30];
			format(msg, sizeof(msg), "~w~%s", vehicleNames[GetVehicleModel(vehicleid) - 400]);
			GameTextForPlayer(playerid, msg, 3, 1);
		}
		// if(GetVehicleModel(vehicleid) == 497)
		// {
			// gunnerPlace[vehicleid][0]	= CreateDynamicObject(19302, 0, 0, 0, 0, 0, 0);
			// gunnerPlace[vehicleid][1]	= CreateDynamicObject(19302, 0, 0, 0, 0, 0, 0);
			// SetDynamicObjectMaterial(gunnerPlace[vehicleid][0], 0, 0, "none", "none");
			// SetDynamicObjectMaterial(gunnerPlace[vehicleid][1], 0, 0, "none", "none");
			// SetTimerEx("attachGunner", 1500, false, "d", vehicleid);
		// }
		if(Player[playerid][playerJob] == JOB_TRUCKER && (GetVehicleModel(vehicleid) == 414 || GetVehicleModel(vehicleid) == 456 || GetVehicleModel(vehicleid) == 498 || GetVehicleModel(vehicleid) == 499))
		{
			Server(playerid, "Press "CHAT_YELLOW"2"CHAT_WHITE" to start trucking mission.");
		}
		if(Player[playerid][useSpeedo])
		{
			if(!IsBicycle(vehicleid))
			{
				Player[playerid][timerSpeed] = SetTimerEx("speedoTimer", 200, true, "d", playerid);
				showSpeedo(playerid);
			}
		}
		for(new i = 0; i < MAX_VEH; i++)
		{
			if(Vehicles[i][vehicleData] == vehicleid)
			{
				found = true;
				checkVehicle(playerid, i);
				break;
			}
		}
		
		if(!found && Player[playerid][playerClass] != SPY)
		{
			switch(GetVehicleModel(vehicleid))
			{
				case 416:
				{
					if(Player[playerid][playerClass] != MEDIC)
					{
						Info(playerid, "This vehicle only for medic class.");
						RemovePlayerFromVehicle(playerid);
					}
				}
				case 427, 390, 497, 523, 560, 597, 599:
				{
					if(!isLEO(playerid))
					{
						if(Player[playerid][playerWanted] <= 6)
						{
							Info(playerid, "You tried to steal an LEO vehicle and received {E6BD1A}6 {FFFFFF}wanted!");
							giveWanted(playerid, 6);
						}
					}
				}
				case 433, 447, 470, 520, 548:
				{
					if(Player[playerid][playerClass] != ARMY)
					{
						if(Player[playerid][playerWanted] <= 6 && Player[playerid][playerClass] == CIVILIAN)
						{
							Info(playerid, "You tried to steal an LEO vehicle and received {E6BD1A}6 {FFFFFF}wanted!");
							giveWanted(playerid, 6);
						}
						RemovePlayerFromVehicle(playerid);
					}
				}
			}
		}
	}
	else if(oldstate == PLAYER_STATE_DRIVER)
	{
		if(Player[playerid][useSpeedo])
		{
			hideSpeedo(playerid);
			KillTimer(Player[playerid][timerSpeed]);
		}
	}
	
	if(IsPlayerInAnyVehicle(playerid))
	{
		SetPlayerArmedWeapon(playerid, 0);
	}
	return 1;
}
That's the code


Re: Shooting while on bike - Shinja - 20.08.2016

Have you see my code yet?
and dude, this part will always remove player weapon if he enters a vehicle, if you want player to be able to shot you MUST remove this or give it more checks
Quote:
Originally Posted by Frank901
Посмотреть сообщение
Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(IsPlayerInAnyVehicle(playerid))
	{
		SetPlayerArmedWeapon(playerid, 0);
	}
	return 1;
}
That's the code



Re: Shooting while on bike - Konstantinos - 20.08.2016

pawn Код:
if(IsPlayerInAnyVehicle(playerid))
{
    SetPlayerArmedWeapon(playerid, 0);
}
This code sets fist when a player is in (entered) vehicle. Remove it and you'll be able to shoot (drive-by).


Re: Shooting while on bike - Affan - 20.08.2016

Remove

Код:
if(IsPlayerInAnyVehicle(playerid))
	{
		SetPlayerArmedWeapon(playerid, 0);
	}



Re: Shooting while on bike - Frank901 - 20.08.2016

Thanks guys for fast replies, ill rep everyone who answered, and tried to help me!