03.07.2013, 18:38
(
Последний раз редактировалось Aerotactics; 03.07.2013 в 20:32.
)
As the title states, I am trying to find out if there is a simple script that will allow me to remove a player from vehicle after 7 seconds, meanwhile the player is uncontrollable. I've tried a SetTimer script with no effect. To be clear the action would be like this: The player is driving, another player turns off their vehicle (and toggles them uncontrollable for 7 seconds, enough time for the vehicle to stop). Then the 'other' player runs up and waits for the first player to exit (be removed from) their vehicle. Make sense?
EDIT:
I read over it again and it doesn't quite make sense. So here is the script with some comments:
EDIT:
I read over it again and it doesn't quite make sense. So here is the script with some comments:
pawn Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#define FILTERSCRIPT
#define BCars 751
#include <a_samp>
new BC;
/*main()
{
print("\n ---------------------------------");
print(" ¦ Gamemode Made By ¦");
print(" ¦ Karl.. ¦");
print(" ¦ ¦");
print(" ¦ DO NOT REMOVE CREDITS ¦");
print(" -----------------------------------");
print(" ¦ ¦");
print(" ¦ Available FilterscriptCommands ¦");
print(" ¦ /player [id] ¦");
print(" ¦ /server ¦");
print(" ¦ /jail [id] [time] [Reason] ¦");
print(" ¦ /kick ¦");
print(" ¦ /ban ¦");
print(" ¦ ------------------------- ¦");
print(" ¦ TelePort Commands: ¦");
print(" ¦ /telecmds ¦");
print(" ¦ /telemake ¦");
print(" ¦ /telechang ¦");
print(" ¦ /telecomment ¦");
print(" ¦ /teledelete ¦");
print(" ¦ /tele ¦");
print(" ¦ /telestats ¦");
print(" ¦ /telereset ¦");
print(" ¦ Set Teleports: ¦");
print(" ¦ /tele spawn ¦");
print(" ¦ /tele an <ammunation> ¦");
print(" ¦ /tele spawnl <Lookout> ¦");
print(" ¦ /tele pns <PaynSpray> ¦");
print(" ----------------------------------\n");
}
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Roam/Cheat/Fun/Stunt");
AddPlayerClass(21,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(19,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(28,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(30,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(47,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(48,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(50,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(66,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(67,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(86,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(100,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(102,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(103,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(104,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(105,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(106,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(107,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(108,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(109,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(110,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(114,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(115,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(116,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(149,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(173,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(174,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(175,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(176,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(177,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(271,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
AddPlayerClass(297,1106.3195,-1413.4640,13.5941,450.2402,0,0,0,0,0,0);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 3117.61, -1088.85, 4.35);
SetPlayerFacingAngle(playerid, 90);
SetPlayerCameraPos(playerid, 3114.61, -1091.85, 3.8);
SetPlayerCameraLookAt(playerid, 3117.61, -1088.85, 4.5);
return 1;
}
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid, 0xFFEE00, "Welcome to the server! Hacks are optional! Speak ENGLISH Please! Choose a Skin!");
SendClientMessage(playerid, 0xFFEE00, "DO NOT TROLL! It will result in a ban. This is a place for fun and not grief.");
return 1;
}
public OnPlayerSpawn(playerid)
{
GivePlayerWeapon(playerid, 46, 9999);
GivePlayerWeapon(playerid, 9, 9999);
GivePlayerWeapon(playerid, 22, 9999);
GivePlayerWeapon(playerid, 24, 9999);
GivePlayerWeapon(playerid, 25, 9999);
GivePlayerWeapon(playerid, 28, 9999);
GivePlayerWeapon(playerid, 29, 9999);
GivePlayerWeapon(playerid, 31, 9999);
GivePlayerWeapon(playerid, 34, 9999);
SendClientMessage(playerid, 0xFFEE00, "Use /TL to see a list of Teles!");
SendClientMessage(playerid, 0xFFEE00, "Use /UC for other Useful Commands!");
SetPlayerPos(playerid, 3112, -1086.34, 9);
SetCameraBehindPlayer(playerid);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/TL", true))
{
SendClientMessage(playerid, 0xFFEE00, "====================================================================");
SendClientMessage(playerid, 0xFFEE00, "AVAILABLE TELES: RS, ADD, SC, AA, SFI, URL, GP, LVA, LVS, LSA, SFA,");
SendClientMessage(playerid, 0xFFEE00, "Type /tele <keyword> to Teleport!");
SendClientMessage(playerid, 0xFFEE00, "Quick teles: /url, /url2, /gsr (DM)");
return 1;
}
if(!strcmp(cmdtext, "/tl", true))
{
SendClientMessage(playerid, 0xFFEE00, "====================================================================");
SendClientMessage(playerid, 0xFFEE00, "AVAILABLE TELES: RS, ADD, SC, AA, SFI, URL, GP, LVA, LVS, LSA, SFA");
SendClientMessage(playerid, 0xFFEE00, "Type /tele <keyword> to Teleport!");
SendClientMessage(playerid, 0xFFEE00, "Quick teles: /url, /url2, /gsr (DM)");
return 1;
}
if(!strcmp(cmdtext, "/UC", true))
{
SendClientMessage(playerid, 0xFFEE00, "====================================================================");
SendClientMessage(playerid, 0xFFEE00, "Use /V to spawn a car!");
SendClientMessage(playerid, 0xFFEE00, "Use /TUNE to customize your car! (Remember to press 'F' to leave menu)");
SendClientMessage(playerid, 0xFFEE00, "Use /NEON to add neon!");
SendClientMessage(playerid, 0xFFEE00, "Use /KILL to kill yourself if you ever need to!");
SendClientMessage(playerid, 0xFFEE00, "Hint: In some of my own maps, I hid a {FFFFFF}White Nova {00FFFF}as an Easter Egg. Can you find them?");
return 1;
}
if(!strcmp(cmdtext, "/uc", true))
{
SendClientMessage(playerid, 0xFFEE00, "====================================================================");
SendClientMessage(playerid, 0xFFEE00, "Use /V to spawn a car!");
SendClientMessage(playerid, 0xFFEE00, "Use /TUNE to customize your car! (Remember to press 'F' to leave menu)");
SendClientMessage(playerid, 0xFFEE00, "Use /NEON to add neon!");
SendClientMessage(playerid, 0xFFEE00, "Use /KILL to kill yourself if you ever need to!");
SendClientMessage(playerid, 0xFFEE00, "Hint: In some of my own maps, I hid a {FFFFFF}White Nova {00FFFF}as an Easter Egg. Can you find them?");
return 1;
}
if(strcmp(cmdtext,"/kill",true) == 0)
{
SetPlayerHealth(playerid, 0);
SendClientMessage(playerid, 0xFFEE00, "You killed yourself.");
return 1;
}*/
if (strcmp("/BC", cmdtext, true)==0)
{
DestroyVehicle(BC);
ShowPlayerDialog(playerid, 751, DIALOG_STYLE_LIST, "Available Bait-Cars", "Huntley\nTurismo\nSultan\nBuffalo\nPatriot\nJetmax (boat)", "Select", "Cancel");
return 1;
}
if (strcmp("/DIS", cmdtext, true)==0)
{
SendClientMessage(playerid, 0xFFFF00FF , "Bait-Car Disabled.");
if (IsPlayerInVehicle(playerid,BC)) //I haven't really tested this on anyone else...would it still work?
{
SetVehicleParamsEx(BC, 0, 1, 0, 1, 0, 0, 0);
TogglePlayerControllable(playerid, 0);
RemovePlayerFromVehicle_Delayed(playerid, 7 //seconds); //These are imaginary commands, but is there anything
FreezePlayerExitedVehicle(playerid, 3 //seconds); // that can achieve the same effect?
TogglePlayerControllable(playerid, 1);
}
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new Float:x,Float:y,Float:z,Float:a;
if(dialogid==751 &&response)
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid, 0xFFFF00FF , "Bait-Car Initiated, find a spot to park it.");
SendClientMessage(playerid, 0xFFFF00FF , "Type /DIS to disable the Bait-Car's engine after a theif takes it.");
GetPlayerFacingAngle(playerid,a);
GetPlayerPos(playerid,x,y,z);
BC=CreateVehicle(579, x, y, z,a, -1, -1, -1);
PutPlayerInVehicle(playerid, BC, 0);
}
case 1:
{
SendClientMessage(playerid, 0xFFFF00FF , "Bait-Car Initiated, find a spot to park it.");
SendClientMessage(playerid, 0xFFFF00FF , "Type /DIS to disable the Bait-Car's engine after a theif takes it.");
GetPlayerFacingAngle(playerid,a);
GetPlayerPos(playerid,x,y,z);
BC=CreateVehicle(451, x, y, z,a, -1, -1, -1);
PutPlayerInVehicle(playerid, BC, 0);
}
case 2:
{
SendClientMessage(playerid, 0xFFFF00FF , "Bait-Car Initiated, find a spot to park it.");
SendClientMessage(playerid, 0xFFFF00FF , "Type /DIS to disable the Bait-Car's engine after a theif takes it.");
GetPlayerFacingAngle(playerid,a);
GetPlayerPos(playerid,x,y,z);
BC=CreateVehicle(560, x, y, z,a, -1, -1, -1);
PutPlayerInVehicle(playerid, BC, 0);
}
case 3:
{
SendClientMessage(playerid, 0xFFFF00FF , "Bait-Car Initiated, find a spot to park it.");
SendClientMessage(playerid, 0xFFFF00FF , "Type /DIS to disable the Bait-Car's engine after a theif takes it.");
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
BC=CreateVehicle(402, x, y, z,a, -1, -1, -1);
PutPlayerInVehicle(playerid, BC, 0);
}
case 4:
{
SendClientMessage(playerid, 0xFFFF00FF , "Bait-Car Initiated, find a spot to park it.");
SendClientMessage(playerid, 0xFFFF00FF , "Type /DIS to disable the Bait-Car's engine after a theif takes it.");
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
BC=CreateVehicle(470, x, y, z,a, -1, -1, -1);
PutPlayerInVehicle(playerid, BC, 0);
}
case 5:
{
SendClientMessage(playerid, 0xFFFF00FF , "Bait-Car Initiated, find a spot to park it.");
SendClientMessage(playerid, 0xFFFF00FF , "Type /DIS to disable the Bait-Car's engine after a theif takes it.");
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
BC=CreateVehicle(493, x, y, z,a, -1, -1, -1);
PutPlayerInVehicle(playerid, BC, 0);
}
}
return 1;
}
return 0;
}