#include <a_samp>
#include <YSI/y_ini>
new examCar1;
new examCar2;
new examCar3;
new examCar4;
new examCar5;
public OnFilterScriptInit()
//Exam Cars
examCar1 = AddStaticVehicle(405,2052.531494,-1903.692016,13.243583,1,1,15);
examCar2 = AddStaticVehicle(405,2055.949951,-1903.704101,13.243331,1,1,15);
examCar3 = AddStaticVehicle(405,2059.206787,-1903.883056,13.243336,1,1,15);
examCar4 = AddStaticVehicle(405,2062.361328,-1903.624877,13.243142,1,1,15);
examCar5 = AddStaticVehicle(405,2065.629150,-1903.980712,13.243326,1,1,15);
//Information Pickup "i will change x y z, its an example"
pickup = CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1);
//When player enter car without lincese.. WARN ME IF I USE WRONG FUNCTION..
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new string[128];
//" CHECK IF PLAYER HAS LICENSE"
RemovePlayerFromVehicle(playerid);
return 1;
}
|
This callback is called when a player starts to enter a vehicle, meaning the player is not in vehicle yet at the time this callback is called. |
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
//if player does not have license -> RemovePlayerFromVehicle(playerid);
}
return 1;
}
|
OnPlayerEnterVehicle:
The player is not in the vehicle so RemovePlayerFromVehicle won't work. Use OnPlayerStateChange instead. pawn Код:
|
|
What those vehicles are for? Drive test or just vehicles to see if it works?
|
public OnPlayerStateChange( playerid, newstate, oldstate )
{
if( oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER )
{
new
veh = GetPlayerVehicleID( playerid )
;
switch( veh )
{
case examCar1, examCar2, examCar3, examCar4, examCar5:
{
// Force him to do the test
}
}
//if player does not have license -> RemovePlayerFromVehicle(playerid);
}
return 1;
}
#include <a_samp>
#include <YSI/y_ini>
#include <zcmd>
#define COLOR_GREEN 0x00FF00FF
new examCar1;
new examCar2;
new examCar3;
new examCar4;
new examCar5;
new CP[MAX_PLAYERS];
public OnFilterScriptInit()
//Exam Cars
examCar1 = AddStaticVehicle(405,2052.531494,-1903.692016,13.243583,1,1,15);
examCar2 = AddStaticVehicle(405,2055.949951,-1903.704101,13.243331,1,1,15);
examCar3 = AddStaticVehicle(405,2059.206787,-1903.883056,13.243336,1,1,15);
examCar4 = AddStaticVehicle(405,2062.361328,-1903.624877,13.243142,1,1,15);
examCar5 = AddStaticVehicle(405,2065.629150,-1903.980712,13.243326,1,1,15);
//Information Pickup "i will change x y z, its an example"
pickup = CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1);
//When player enter car without lincese
public OnPlayerStateChange( playerid, newstate, oldstate )
{
if( oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER )
{
new
veh = GetPlayerVehicleID( playerid )
;
switch( veh )
{
case examCar1, examCar2, examCar3, examCar4, examCar5:
{
SendClientMessage(playerid, COLOR_GREEN, "Use /exam to start drive test");
}
}
//if player does not have license -> RemovePlayerFromVehicle(playerid);
}
return 1;
}
//When player writes /exam in examcars..
CMD:exam(playerid, params[])
{
if(IsPlayerInVehicle(playerid,examCar1) || IsPlayerInVehicle(playerid,examCar2) || IsPlayerInVehicle(playerid,examCar3) || IsPlayerInVehicle(playerid,examCar4) || IsPlayerInVehicle(playerid,examCar5))
{
TogglePlayerControllable(playerid, 1);
CP[playerid] = 200;
SetPlayerCheckpoint(playerid, 2073.780029,-1912.620361,13.244957, 4.0);
SendClientMessage(playerid, COLOR_GREEN, "Be Careful");
}
else return SendClientMessage(playerid, COLOR_GREEN,"You not in exam car");
return 1;
}
#include <a_samp>
#include <YSI/y_ini>
#include <zcmd>
#define COLOR_GREEN 0x00FF00FF
new examCar1;
new examCar2;
new examCar3;
new examCar4;
new examCar5;
new Ccp[MAX_PLAYERS];
public OnFilterScriptInit()
//Exam Cars
examCar1 = AddStaticVehicle(405,2052.531494,-1903.692016,13.243583,1,1,15);
examCar2 = AddStaticVehicle(405,2055.949951,-1903.704101,13.243331,1,1,15);
examCar3 = AddStaticVehicle(405,2059.206787,-1903.883056,13.243336,1,1,15);
examCar4 = AddStaticVehicle(405,2062.361328,-1903.624877,13.243142,1,1,15);
examCar5 = AddStaticVehicle(405,2065.629150,-1903.980712,13.243326,1,1,15);
//Information Pickup "i will change x y z, its an example"
pickup = CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1);
//When player enter car without lincese
public OnPlayerStateChange( playerid, newstate, oldstate )
{
if( oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER )
{
new
veh = GetPlayerVehicleID( playerid )
;
switch( veh )
{
case examCar1, examCar2, examCar3, examCar4, examCar5:
{
SendClientMessage(playerid, COLOR_GREEN, "Use /exam to start drive test");
}
}
//if player does not have license -> RemovePlayerFromVehicle(playerid);
}
return 1;
}
//When player writes /exam in examcars..
CMD:exam(playerid, params[])
{
if(IsPlayerInVehicle(playerid, examCar1) || IsPlayerInVehicle(playerid, examCar2) || IsPlayerInVehicle(playerid,examCar3) || IsPlayerInVehicle(playerid,examCar4) || IsPlayerInVehicle(playerid,examCar5))
{
Ccp[playerid] = 1;
SetPlayerCheckpoint(playerid, 2073.780029,-1912.620361,13.244957, 5.0);
SendClientMessage(playerid, COLOR_GREEN, "Be careful");
}
else return SendClientMessage(playerid, COLOR_GREEN, "You not in exam car");
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(Ccp[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
Ccp[playerid] = 2;
SetPlayerCheckpoint(playerid, 2079.123291,-1871.586303,13.048537, 5.0);
return 1;
}
if(Ccp[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
Ccp[playerid] = 3;
SetPlayerCheckpoint(playerid, 2079.742431,-1802.388427,13.081876, 5.0);
}
if(Ccp[playerid] == 3)
{
DisablePlayerCheckpoint(playerid);
Ccp[playerid] = 4;
SetPlayerCheckpoint(playerid, 2087.171142,-1763.789306,13.093797, 5.0);
}
return 1;
}
|
OnPlayerEnterVehicle:
The player is not in the vehicle so RemovePlayerFromVehicle won't work. Use OnPlayerStateChange instead. pawn Код:
|