SA-MP Forums

Go Back   SA-MP Forums > SA-MP Scripting and Plugins > Scripting Help

Reply
 
Thread Tools Display Modes
Old 28/01/2015, 06:50 AM   #1
Arxalan
Banned
 
Join Date: Feb 2014
Location: In your heart
Posts: 366
Reputation: 38
Default Making /park cmd

Hello , i have a dialog option . When player stand on pickup a dialog appears . And he can set any vehicle in his house . But i want to have a function that player can only save the vehicle in which he is . Following is the code of setting any vehicle to house . How to convert it to a function that he can save only that vehicle in which he is by /park.
PHP Code:
if(!strlen(inputtext)) return ShowPlayerDialog(playeridHOUSE_DIAG+18DIALOG_STYLE_INPUT"{"#B>"}House Settings - {"#G>"}House Vehicles", "{"#R>"}ERROR: You must enter a vehicle name or model id!\n\n{"#W>"}Enter a vehicle name or model id to continue", "Set", "Cancel");
                
new vehid GetVehicleModel2(inputtext);
                if(!
IsValidVehicle(vehid) || !IsAllowedVehicle(vehid)) return ShowPlayerDialog(playeridHOUSE_DIAG+18DIALOG_STYLE_INPUT"{"#B>"}House Settings - {"#G>"}House Vehicles", "{"#R>"}ERROR: This vehicle is either not allowed or does not exist!\n\n{"#W>"}Enter a vehicle name or model id to continue", "Set", "Cancel");

                
new key[20];
                new 
houseid HOUSEID(playerid);
                new 
vehslot GetPVarInt(playerid"HVehSlot");
                
format(hfilesizeof(hfile), HOUSE_FILEhouseid);
                
format(keysizeof(key), "VSlot%dModel"vehslot);
                
dini_IntSet(hfilekeyvehid);
                
hVeh[houseid][vehslot][ModelID] = vehid;
                
NotifyDialog(playerid"{"#B>"}House Settings - {"#G>"}House Vehicles", "House vehicle model was successfully changed!"); 
Arxalan is offline   Reply With Quote
Old 28/01/2015, 07:36 AM   #2
Trevor Gin
Big Clucker
 
Trevor Gin's Avatar
 
Join Date: Aug 2014
Location: Haifa,israel
Posts: 157
Reputation: 8
Default Respuesta: Making /park cmd

this cmd work 100%100
Code:
CMD:park(playerid, params[])
{
	if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
	{
		new ownerid = PlayerInfo[playerid][pVehicleKeysFrom];
		if(IsPlayerConnected(ownerid))
		{
			new d = PlayerInfo[playerid][pVehicleKeys];
			if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
			{
			    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "You must be in the driver seat.");
				new Float:x, Float:y, Float:z, Float:angle, Float:health;
				GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
				if(health < 800) return SendClientMessageEx(playerid, COLOR_GREY, " Your vehicle is too damaged to park it.");
				if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
				if(IsARC(GetPlayerVehicleID(playerid))) // RC Vehicles
				{
					new Float:vehPos[3];
					GetVehiclePos(GetPlayerVehicleID(playerid),vehPos[0], vehPos[1], vehPos[2]);
					SetPlayerPos(playerid,vehPos[0], vehPos[1]+0.5, vehPos[2]+0.5);
				}
				GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
				GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
				SurfingCheck(GetPlayerVehicleID(playerid));
				UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
				PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
			 	SetPlayerArmedWeapon(playerid, 0);

				new string[29 + (MAX_PLAYER_NAME * 2)];
				format(string, sizeof(string), "* %s has parked %s's vehicle.", GetPlayerNameEx(playerid), GetPlayerNameEx(ownerid));
				ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
				return 1;
			}
		}
	}
	for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
	{
		if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
		{
			new Float:x, Float:y, Float:z, Float:angle, Float:health;
			GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], health);
            if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "You must be in the driver seat.");
			if(health < 800) return SendClientMessageEx(playerid, COLOR_GREY, " Your vehicle is too damaged to park it.");
			if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
			GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
			GetVehicleZAngle(PlayerVehicleInfo[playerid][d][pvId], angle);
			SurfingCheck(GetPlayerVehicleID(playerid));
			UpdatePlayerVehicleParkPosition(playerid, d, x, y, z, angle, health);
			PutPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], 0);
			SetPlayerArmedWeapon(playerid, 0);

			new string[30 + (MAX_PLAYER_NAME * 2)];
			format(string, sizeof(string), "* %s has parked their vehicle.", GetPlayerNameEx(playerid));
			ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
			return 1;
		}
	}
	SendClientMessageEx(playerid, COLOR_GREY, "You need to be inside a vehicle that you own.");
	return 1;
}
Or try this.
Code:
CMD:park(playerid, params[])
{
	if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
	{
		new ownerid = PlayerInfo[playerid][pVehicleKeysFrom];
		if(IsPlayerConnected(ownerid))
		{
			new d = PlayerInfo[playerid][pVehicleKeys];
			if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
			{
			    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "You must be in the driver seat.");
				new Float:x, Float:y, Float:z, Float:angle, Float:health;
				GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
				if(health < 800) return SendClientMessageEx(playerid, COLOR_GREY, " Your vehicle is too damaged to park it.");
				if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
				if(IsARC(GetPlayerVehicleID(playerid))) // RC Vehicles
				{
					new Float:vehPos[3];
					GetVehiclePos(GetPlayerVehicleID(playerid),vehPos[0], vehPos[1], vehPos[2]);
					SetPlayerPos(playerid,vehPos[0], vehPos[1]+0.5, vehPos[2]+0.5);
				}
				GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
				GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
				SurfingCheck(GetPlayerVehicleID(playerid));
				UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
				PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
			 	SetPlayerArmedWeapon(playerid, 0);

				new string[29 + (MAX_PLAYER_NAME * 2)];
				format(string, sizeof(string), "* %s has parked %s's vehicle.", GetPlayerNameEx(playerid), GetPlayerNameEx(ownerid));
				ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
				return 1;
			}
		}
	}
	for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
	{
		if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
		{
			new Float:x, Float:y, Float:z, Float:angle, Float:health;
			GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], health);
            if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "You must be in the driver seat.");
			if(health < 800) return SendClientMessageEx(playerid, COLOR_GREY, " Your vehicle is too damaged to park it.");
			if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
			GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
			GetVehicleZAngle(PlayerVehicleInfo[playerid][d][pvId], angle);
			SurfingCheck(GetPlayerVehicleID(playerid));
			UpdatePlayerVehicleParkPosition(playerid, d, x, y, z, angle, health);
			PutPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], 0);
			SetPlayerArmedWeapon(playerid, 0);

			new string[30 + (MAX_PLAYER_NAME * 2)];
			format(string, sizeof(string), "* %s has parked their vehicle.", GetPlayerNameEx(playerid));
			ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
			return 1;
		}
	}
	SendClientMessageEx(playerid, COLOR_GREY, "You need to be inside a vehicle that you own.");
	return 1;
}
Trevor Gin is offline   Reply With Quote
Old 28/01/2015, 08:25 AM   #3
Arxalan
Banned
 
Join Date: Feb 2014
Location: In your heart
Posts: 366
Reputation: 38
Default Re: Making /park cmd

You just copied the code . Every script have different enums e.g. your script have PlayerInfo[playerid][pLockCar] but mine have different and this don't work because this is just copied .
Arxalan is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[FilterScript] [FS] Pershing Square Car Park .:. Advanced Car Park Exclusive for RP's! agusfn20 Filterscripts 13 18/09/2014 10:56 PM
[Map] National Park for RP servers in Glen Park impo Maps 11 13/09/2013 08:50 PM
My cars automatic park when i out from the park Ben147 Help Archive 7 12/08/2009 01:04 PM
[HELP] Need scripters helps for Vehicle park /v park | Sonny_Wayne Help Archive 8 01/07/2009 12:20 PM
Help with making a /park command Ed2ka49 Help Archive 9 18/02/2009 01:31 AM


All times are GMT. The time now is 11:10 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.