Jump to content
  • 0

Comenzi /enter || /exit


GiGiMuScHi

Question

Am un sistem de DMV si nu are comenzile /enter si /exit, si nu stiu cum sa il adaug.

Ma puteti ajuta?

Acesta este FS de DMV:

#define FILTERSCRIPT

#include <a_samp>
#include <dudb>
#include <dutils>
#include <core>
#include <float>
#include <time>
#include <file>

#pragma tabsize 0


#define GUN_LICENSE_PRICE 30000
#define DRIVING_LICENSE_PRICE 5000
#define FLYING_LICENSE_PRICE 10000
#define FIRST_CHECKPOINT 1
#define SECOND_CHECKPOINT 2
#define THIRD_CHECKPOINT 3
#define FORTH_CHECKPOINT 4
#define FIVTH_CHECKPOINT 5
#define SIXTH_CHECKPOINT 6
#define SEVENTH_CHECKPOINT 7
#define EIGHT_CHECKPOINT 8
#define NINTH_CHECKPOINT 9
#define TENTH_CHECKPOINT 10
#define ELEVENTH_CHECKPOINT 11
#define TWELVTH_CHECKPOINT 12
#define THERTYTH_CHECKPOINT 13
#define FORTHYTH_CHECKPOINT 14
#define cinspe_CHECKPOINT 15
#define saispe_CHECKPOINT 16
#define saptispe_CHECKPOINT 17
#define optispe_CHECKPOINT 18
#define FIVTYTH_CHECKPOINT 19
#define FIRSTS_CHECKPOINT 20
#define SECONDS_CHECKPOINT 21
#define THIRDS_CHECKPOINT 22
#define FORTHS_CHECKPOINT 23
#define FIVTHS_CHECKPOINT 24
#define SIXTHS_CHECKPOINT 25
#define SEVENTHS_CHECKPOINT 26
#define EIGHTS_CHECKPOINT 27
#define NINTHS_CHECKPOINT 28
#define TENTHS_CHECKPOINT 29
#define ELEVENTHS_CHECKPOINT 30
#define TWELVTHS_CHECKPOINT 31
#define THERTYTHS_CHECKPOINT 32
#define unu_CHECKPOINT 33
#define doi_CHECKPOINT 34
#define trei_CHECKPOINT 35
#define patru_CHECKPOINT 36
#define cinci_CHECKPOINT 36
#define grey 		0xCECECEFF
#define yellow 		0xFFFF00FF
#define aquablue    0x00FFFFAA

enum Info
{
	DrivingLicense,
	FlyingLicense,
	GunLicense,
	DrivingTest,
	FlyingTest,
};
new PlayerInfo[MAX_PLAYERS][Info];
new Club1;
new Club2;
new Club3;
new aeroplane1;
new aeroplane2;
new aeroplane3;
new gPlayerDrivingCheckpoints[MAX_PLAYERS];
new gPlayerFlyingCheckpoints[MAX_PLAYERS];
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
    Club1 = AddStaticVehicle(404,301.3271,-1504.6034,24.3303,234.6009,0,0); //  Club
	Club2 = AddStaticVehicle(404,288.4607,-1522.6038,24.3282,54.6098,0,0);//club
	Club3 = AddStaticVehicle(404,293.7755,-1539.0272,24.3280,55.7231,0,0); //club

	aeroplane1 = AddStaticVehicle(519,1481.2684,-2404.4878,13.5547,315.6083,1,1); // Shamal
	aeroplane2 = AddStaticVehicle(519,1480.1786,-2431.1809,13.5547,321.6337,1,1); // Shamal
	aeroplane3 = AddStaticVehicle(519,1479.1232,-2457.0190,13.5547,134.1345,1,1); // Shamal

	print("\n--------------------------------------");
	print(" FilterScript Created by Lil_Shean a.k.a Babica.");
	print(" Please Do not remove the credits.");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
	print("\n----------------------------------");
	print(" FilterScript Created by Lil_Shean a.k.a Babica.");
	print(" Please Do not remove the credits.");
	print("----------------------------------\n");
}

#endif
public OnPlayerConnect(playerid)
{   new Text3D:Club1t = Create3DTextLabel("~~!Driving School!~~",0x00D9D9FF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(Club1t, Club1, 0.0, 0.0, 0.0);
    new Text3D:Club2t = Create3DTextLabel("~~!Driving School!~~",0x00D9D9FF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(Club2t, Club2, 0.0, 0.0, 0.0);
    new Text3D:Club3t = Create3DTextLabel("~~!Driving School!~~",0x00D9D9FF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(Club3t, Club3, 0.0, 0.0, 0.0);
      new Text3D:aeroplane1t = Create3DTextLabel("~~!Driving School!~~",0xDD00DDFF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(aeroplane1t, aeroplane1, 0.0, 0.0, 0.0);
      new Text3D:aeroplane2t = Create3DTextLabel("~~!Driving Schoole!~~",0xDD00DDFF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(aeroplane2t, aeroplane2, 0.0, 0.0, 0.0);
      new Text3D:aeroplane3t = Create3DTextLabel("~~!Driving School!~~",0xDD00DDFF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(aeroplane3t, aeroplane3, 0.0, 0.0, 0.0);
    
    
    
    SetPlayerMapIcon(playerid,0,321.5797,-1521.7485,35.7454,55,0);
    new formatZ[256];
 	format(formatZ,sizeof(formatZ),"%s.Account.txt",PlayerName(playerid));
    if(!udb_Exists(formatZ))
    {
    	udb_Create(formatZ,"209010");
    }
   	PlayerInfo[playerid][DrivingLicense] = dUserINT(formatZ).("CarLicense");
    PlayerInfo[playerid][FlyingLicense] = dUserINT(formatZ).("FlyLicense");
    PlayerInfo[playerid][GunLicense] = dUserINT(formatZ).("GunLicense");
	PlayerInfo[playerid][DrivingTest] = 0;PlayerInfo[playerid][FlyingTest] = 0;
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new formatZ2[256];
 	format(formatZ2,sizeof(formatZ2),"%s.Account.txt",PlayerName(playerid));
    dUserSetINT(formatZ2).("CarLicense",PlayerInfo[playerid][DrivingLicense]);
    dUserSetINT(formatZ2).("FlyLicense",PlayerInfo[playerid][FlyingLicense]);
    dUserSetINT(formatZ2).("GunLicense",PlayerInfo[playerid][GunLicense]);
    PlayerInfo[playerid][DrivingTest] = 0;PlayerInfo[playerid][FlyingTest] = 0;
	return 1;
}
stock PlayerName(playerid)
{
 	new name[255];
	GetPlayerName(playerid, name, 255);
	return name;
}
public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	new pName[MAX_PLAYER_NAME];
	GetPlayerName(playerid,pName,sizeof(pName));
	if (strcmp("/licenses", cmdtext, true, 10) == 0)
	{
	    if(IsPlayerInRangeOfPoint(playerid,5.0,822.0115,1.7852,1004.1797 ))
	    {
		    new Tests[] = "1\tDriving License - 5000$\n2\tFlying License - 10000$\n3\tGun License - 30000$";
			ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Licenses, Chose One:",Tests,"Test","Exit");
	   		return 1;
		}
		else if(!IsPlayerInRangeOfPoint(playerid,5.0,-2031.7733,-116.9298,1035.1719))
		{
		    SendClientMessage(playerid,grey,"You are not at DMV (LS).");
		}
		return 1;
	}
	return 0;
}
//-------------------------------------------------enter/exit----------------------------------------
	if(strcmp(cmdtext, "/enter", true) == 0)
    {
		 if PlayerToPoint(5,playerid,329.2784,-1512.7916,36.0391)
		 *then
		 {
		   SetPlayerPos(playerid,831.7188,6.8884,1004.1797);
           SetPlayerInterior(playerid,3);
		   SendClientMessage(playerid,COLOR_1GREEN,"Bun venit in sediul DMV!");
		   return 1;
		 }

	}
//-------------------------------------------------the end-------------------------------------------
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    if(vehicleid == Club1 && PlayerInfo[playerid][DrivingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason: ~n~ ~w~ Leaving the car.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][DrivingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,DRIVING_LICENSE_PRICE);
	}
	else if(vehicleid == Club2 && PlayerInfo[playerid][DrivingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason: ~n~ ~w~ Leaving the car.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][DrivingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,DRIVING_LICENSE_PRICE);
	}
	else if(vehicleid == Club3 && PlayerInfo[playerid][DrivingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason: ~n~ ~w~ Leaving the car.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][DrivingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,DRIVING_LICENSE_PRICE);
	}
	else if(vehicleid == aeroplane1 && PlayerInfo[playerid][FlyingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason:: ~n~ ~w~ Leaving Aeroplane.!.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][FlyingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,FLYING_LICENSE_PRICE);
	}
	else if(vehicleid == aeroplane2 && PlayerInfo[playerid][FlyingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason:: ~n~ ~w~ Leaving Aeroplane.!.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][FlyingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,FLYING_LICENSE_PRICE);
	}
	else if(vehicleid == aeroplane3 && PlayerInfo[playerid][FlyingTest] == 1)
	{
                GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason:: ~n~ ~w~ Leaving Aeroplane.!.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][FlyingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,FLYING_LICENSE_PRICE);
	}
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{     new gettheplane;
      if(IsPlane(playerid,gettheplane))
	{
	if(PlayerInfo[playerid][FlyingLicense] == 0)
	{
	RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,0xDB0000F6,"You don`t have a fliyng license!");
	}
	}



   new getthecar;
  if(IsCar(playerid,getthecar))
	{
	 if(PlayerInfo[playerid][DrivingLicense] == 0)
	{
	RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,0xDB0000F6,"You Don`t have a driving license!");
	}

	}

	new vehicleid = GetPlayerVehicleID(playerid);
	if(vehicleid == Club1)
	{
	    if(PlayerInfo[playerid][DrivingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][DrivingTest] == 1)
	    {
	        SetPlayerRaceCheckpoint(playerid,0,283.1869,-1542.9001,24.5137,351.7516,-1510.3119,32.7088,4.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ THE CAR!",4000,4);
			gPlayerDrivingCheckpoints[playerid] = FIRST_CHECKPOINT;
	    }
	}
	else if(vehicleid == Club2  )
	{
	    if(PlayerInfo[playerid][DrivingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][DrivingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,283.1869,-1542.9001,24.5137,-2007.3123,-73.4380,34.8973,4.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ THE CAR!",4000,4);
			gPlayerDrivingCheckpoints[playerid] = FIRST_CHECKPOINT;
	    }
	}
	else if(vehicleid == Club3)
	{
	    if(PlayerInfo[playerid][DrivingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][DrivingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,283.1869,-1542.9001,24.5137,-2007.3123,-73.4380,34.8973,4.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ THE CAR!",4000,4);
			gPlayerDrivingCheckpoints[playerid] = FIRST_CHECKPOINT;
	    }
	}
	else if(vehicleid == aeroplane1)
	{
	    if(PlayerInfo[playerid][FlyingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][FlyingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,1535.3325,-2494.0354,14.3096,1891.7614,-2497.8674,107.2230,7.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ AEROPLANE!",4000,4);
			gPlayerFlyingCheckpoints[playerid] = FIRSTS_CHECKPOINT;
	    }
	}
	else if(vehicleid == aeroplane2)
	{
	    if(PlayerInfo[playerid][FlyingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][FlyingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,1535.3325,-2494.0354,14.3096,1891.7614,-2497.8674,107.2230,7.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ AEROPLANE!",4000,4);
			gPlayerFlyingCheckpoints[playerid] = FIRSTS_CHECKPOINT;
	    }
	}
	else if(vehicleid == aeroplane3)
	{
	    if(PlayerInfo[playerid][FlyingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][FlyingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,1535.3325,-2494.0354,14.3096,1891.7614,-2497.8674,107.2230,7.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ AEROPLANE!",4000,4);
			gPlayerFlyingCheckpoints[playerid] = FIRSTS_CHECKPOINT;
	    }
	}
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	new vehicleid = GetPlayerVehicleID(playerid);
	new string[248];
    if(PlayerInfo[playerid][DrivingTest] == 1)
	{
	    switch (gPlayerDrivingCheckpoints[playerid])
	    {
	        case FIRST_CHECKPOINT:
	        {
	            SetPlayerRaceCheckpoint(playerid,0,283.1869,-1542.9001,24.5137,351.7516,-1510.3119,32.7088,4.0);
	            gPlayerDrivingCheckpoints[playerid] = SECOND_CHECKPOINT;
			}
			case SECOND_CHECKPOINT:
	        {
	            SetPlayerRaceCheckpoint(playerid,0,351.7516,-1510.3119,32.7088,474.7113,-1439.9946,21.2911,4.0);
	            gPlayerDrivingCheckpoints[playerid] = THIRD_CHECKPOINT;
			}
			case THIRD_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,474.7113,-1439.9946,21.2911,482.4760,-1291.7041,15.1726,4.0);
			    gPlayerDrivingCheckpoints[playerid] = FORTH_CHECKPOINT;
			}
			case FORTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,482.4760,-1291.7041,15.1726,619.0358,-1216.3715,17.8356,4.0);
			    gPlayerDrivingCheckpoints[playerid] = FIVTH_CHECKPOINT;
			}
			case FIVTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,619.0358,-1216.3715,17.8356,630.4402,-1447.0948,13.8755,4.0);
			    gPlayerDrivingCheckpoints[playerid] = SIXTH_CHECKPOINT;
			}
			case SIXTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,630.4402,-1447.0948,13.8755,623.0024,-1728.8766,13.6421,4.0);
			    gPlayerDrivingCheckpoints[playerid] = SEVENTH_CHECKPOINT;
			}
			case SEVENTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,623.0024,-1728.8766,13.6421,462.5587,-1708.7761,10.5790,4.0);
			    gPlayerDrivingCheckpoints[playerid] = EIGHT_CHECKPOINT;
			}
			case EIGHT_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,462.5587,-1708.7761,10.5790,418.4632,-1770.3362,5.0127,4.0);
			    gPlayerDrivingCheckpoints[playerid] = NINTH_CHECKPOINT;
			}
			case NINTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,418.4632,-1770.3362,5.0127,343.0066,-1744.4136,4.1965,4.0);
			    gPlayerDrivingCheckpoints[playerid] = TENTH_CHECKPOINT;
			}
			case TENTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,343.0066,-1744.4136,4.1965,127.5823,-1711.9745,8.3332,4.0);
				gPlayerDrivingCheckpoints[playerid] = ELEVENTH_CHECKPOINT;
			}
			case ELEVENTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,127.5823,-1711.9745,8.3332,184.0116,-1524.4313,12.1273,4.0);
				gPlayerDrivingCheckpoints[playerid] = TWELVTH_CHECKPOINT;
			}
			case TWELVTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,184.0116,-1524.4313,12.1273,257.8794,-1529.9181,31.9266,4.0);
				gPlayerDrivingCheckpoints[playerid] = THERTYTH_CHECKPOINT;
			}
			case THERTYTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,257.8794,-1529.9181,31.9266,308.7583,-1586.9407,32.7608,4.0);
				gPlayerDrivingCheckpoints[playerid] = FORTHYTH_CHECKPOINT;
			}
			case FORTHYTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,308.7583,-1586.9407,32.7608,328.4104,-1535.3213,32.9864,4.0);
				gPlayerDrivingCheckpoints[playerid] = cinspe_CHECKPOINT;
			}
			case cinspe_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,328.4104,-1535.3213,32.9864,366.0774,-1485.1675,34.1043,4.0);
				gPlayerDrivingCheckpoints[playerid] = saispe_CHECKPOINT;
			}
			case saispe_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,366.0774,-1485.1675,34.1043,322.7593,-1485.0547,24.6065,4.0);
				gPlayerDrivingCheckpoints[playerid] = saptispe_CHECKPOINT;
			}

				case saptispe_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,322.7593,-1485.0547,24.6065,288.2904,-1522.5892,24.3274,4.0);
				gPlayerDrivingCheckpoints[playerid] = optispe_CHECKPOINT;
			}

				case optispe_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,294.0916,-1540.2312,24.5938,-2047.5490,-87.0332,35.1641,4.0);
				gPlayerDrivingCheckpoints[playerid] = FIVTYTH_CHECKPOINT;
			}
			case FIVTYTH_CHECKPOINT:
			{
			    if(vehicleid == Club1 || vehicleid == Club2 || vehicleid == Club3)
	            {
	                new Float:Health;
					new testcar;
					testcar = GetPlayerVehicleID(playerid);
					GetVehicleHealth(testcar,Health);
					if(Health < 800.0)
					{
					    format(string,sizeof(string),"Rejecter. Reason: HIT The car.");
					    SendClientMessage(playerid,yellow,string);
					    DisablePlayerRaceCheckpoint(playerid);
	            		GameTextForPlayer(playerid," ~w~Test Complete. ~r~ Check results !",3000,3);
	            		RemovePlayerFromVehicle(playerid);
	            		SetVehicleToRespawn(testcar);
	            		PlayerInfo[playerid][DrivingTest] = 0;
	            		GivePlayerMoney(playerid,DRIVING_LICENSE_PRICE);
	            		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	                    SetPlayerInterior(playerid,0);
					    return 1;
					}
					else if(Health >= 800.0)
					{
	            		DisablePlayerRaceCheckpoint(playerid);
	            		GameTextForPlayer(playerid," ~w~Test Complete. ~r~ Check results !",3000,3);
            			format(string,sizeof(string)," You have passed . You have recivied a driving license. ");
	            		SendClientMessage(playerid,yellow,string);
	            		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	                    SetPlayerInterior(playerid,0);
	            		PlayerInfo[playerid][DrivingLicense] = 1;
	            		RemovePlayerFromVehicle(playerid);
	            		SetVehicleToRespawn(testcar);
	            		PlayerInfo[playerid][DrivingTest] = 0;
	            		return 1;
					}
				}
			}
		}
	}
		else if(PlayerInfo[playerid][FlyingTest] == 1)
	{
	    switch (gPlayerFlyingCheckpoints[playerid])
	    {
	        case FIRSTS_CHECKPOINT:
	        {
	            SetPlayerRaceCheckpoint(playerid,3,1891.7614,-2497.8674,107.2230,1750.6888,-2060.8042,148.1025,7.0);
	            gPlayerFlyingCheckpoints[playerid] = SECONDS_CHECKPOINT;
			}
			case SECONDS_CHECKPOINT:
	        {
	            SetPlayerRaceCheckpoint(playerid,3,1750.6888,-2060.8042,148.1025,1384.8511,-1680.2450,148.1025,7.0);
	            gPlayerFlyingCheckpoints[playerid] = THIRDS_CHECKPOINT;
			}
			case THIRDS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,1384.8511,-1680.2450,148.1025,965.0752,-1339.6475,163.5740,7.0);
			    gPlayerFlyingCheckpoints[playerid] = FORTHS_CHECKPOINT;
			}
			case FORTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,965.0752,-1339.6475,163.5740,499.9984,-981.2534,283.5978,7.0);
			    gPlayerFlyingCheckpoints[playerid] = FIVTHS_CHECKPOINT;
			}
			case FIVTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,499.9984,-981.2534,283.5978,-29.1625,-551.9036,409.2022,7.0);
			    gPlayerFlyingCheckpoints[playerid] = SIXTHS_CHECKPOINT;
			}
			case SIXTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,-29.1625,-551.9036,409.2022,-711.0569,-14.5363,194.2022,7.0);
			    gPlayerFlyingCheckpoints[playerid] = SEVENTHS_CHECKPOINT;
			}
			case SEVENTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,-711.0569,-14.5363,194.2022,-966.3957,319.9247,59.7532,7.0);
			    gPlayerFlyingCheckpoints[playerid] = EIGHTS_CHECKPOINT;
			}
			case EIGHTS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,-966.3957,319.9247,59.7532,-1313.8590,179.4326,15.9489,7.0);
			    gPlayerFlyingCheckpoints[playerid] = NINTHS_CHECKPOINT;
			}
			case NINTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,-1313.8590,179.4326,15.9489,-1533.6992,-38.8724,15.9489,7.0);
			    gPlayerFlyingCheckpoints[playerid] = TENTHS_CHECKPOINT;
			}
			case TENTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,-1533.6992,-38.8724,15.9489,-947.1935,1092.1521,79.0029,7.0);
				gPlayerFlyingCheckpoints[playerid] = ELEVENTHS_CHECKPOINT;
			}

			case ELEVENTHS_CHECKPOINT:
			{
                if(vehicleid == aeroplane1 || vehicleid == aeroplane2 || vehicleid == aeroplane3)
	            {
	                new Float:Health;
					new testcar;
					testcar = GetPlayerVehicleID(playerid);
					GetVehicleHealth(testcar,Health);
					if(Health < 500.0)
					{
	                    format(string,sizeof(string),"Rejecter. Reason: HIT aeroplane.");
					    SendClientMessage(playerid,yellow,string);
					    DisablePlayerRaceCheckpoint(playerid);
	            		GameTextForPlayer(playerid," ~w~TEST~r~ COMPLETE.~b~Check results!",3000,3);
	            		RemovePlayerFromVehicle(playerid);
	            		SetVehicleToRespawn(testcar);
	            		PlayerInfo[playerid][FlyingTest] = 0;
	            		GivePlayerMoney(playerid,FLYING_LICENSE_PRICE);
	            		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	                    SetPlayerInterior(playerid,0);
					    return 1;
					}
					else if(Health >= 500.0)
					{
	            		DisablePlayerRaceCheckpoint(playerid);
	            		GameTextForPlayer(playerid," ~w~TEST~r~ COMPLETE.~b~Check results!",3000,3);
            			format(string,sizeof(string)," You have passed . You have recivied a flying license. ");
	            		SendClientMessage(playerid,yellow,string);
	            		PlayerInfo[playerid][FlyingLicense] = 1;
	            		RemovePlayerFromVehicle(playerid);
	            		SetVehicleToRespawn(testcar);
	            		PlayerInfo[playerid][FlyingTest] = 0;
	            		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	                    SetPlayerInterior(playerid,0);
	            		return 1;
					}
				}
			}
		}
	}
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}



IsPlane(playerid,vehicleid) // Planes
{
    #define MAX_PLANES 23

    new IsPlaneA[MAX_PLANES] =
    {
        592,577,511,512,593,520,553,464,476,
        460,513,539,548,425,417,487,497,563,501,
		465,447,469,488
	};

    vehicleid = GetPlayerVehicleID(playerid);

    if(IsPlayerInVehicle(playerid,vehicleid))
    {
        for(new i = 0; i < MAX_PLANES; i++)
        {
            if(GetVehicleModel(vehicleid) == IsPlaneA[i])
            {
                return true;
            }
        }
    }
    return false;
}


IsCar(playerid,vehicleid) // Cars
{
    #define MAX_LCARS 145

    new IsCarA[MAX_LCARS] =
    {
        445,602,416,485,568,429,433,499,424,536,496,
        504,422,609,498,401,575,518,402,541,482,431,
        438,457,527,483,524,415,542,589,437,532,480,
        596,599,597,598,578,486,507,562,585,427,419,
        587,490,528,533,544,407,565,455,530,526,466,
        604,492,474,588,434,502,503,494,579,545,411,
        546,559,508,571,400,403,517,410,551,500,418,
        572,423,414,516,582,467,443,470,514,603,
        600,413,426,436,547,489,441,594,564,515,479,
        534,432,505,442,440,475,543,605,495,567,428,
        405,535,458,580,439,561,409,560,550,506,601,
        574,566,549,420,459,576,525,531,408,583,451,
        558,552,540,491,412,478,421,529,555,456,554,
        477
	};

    vehicleid = GetPlayerVehicleID(playerid);

    if(IsPlayerInVehicle(playerid,vehicleid))
    {
        for(new i = 0; i < MAX_LCARS; i++)
        {
            if(GetVehicleModel(vehicleid) == IsCarA[i])
            {
                return true;
            }
        }
    }
    return false;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == 1)
	{
	    if(response)
	    {
	        if(listitem == 0)
	        {
				if(GetPlayerMoney(playerid) < DRIVING_LICENSE_PRICE)
				{
				    SendClientMessage(playerid,yellow," You don`t have much money !!!");
				    new Tests[] = "1\tDriving License - 5000$\n2\tFlying License - 10000$\n3\tGun License - 30000$";
	   				ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Licenses, Chose One:",Tests,"Test","Exit");
				}
				else if(GetPlayerMoney(playerid) >= DRIVING_LICENSE_PRICE)
				{
                   SetPlayerInterior(playerid,0);
				   SetPlayerPos(playerid,312.9631,-1513.6375,24.9219);
				    GivePlayerMoney(playerid,-DRIVING_LICENSE_PRICE);
				    SendClientMessage(playerid,yellow," Welcome: Take a Driving School car to start the test.");
					PlayerInfo[playerid][DrivingTest] = 1;
				}
			}
			else if(listitem == 1)
	        {
				if(GetPlayerMoney(playerid) < FLYING_LICENSE_PRICE)
				{
				    SendClientMessage(playerid,yellow," You don`t have much money !!!");
				    new Tests[] = "1\tDriving License - 5000$\n2\tFlying License - 10000$\n3\tGun License - 30000$";
	   				ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Licenses, Chose One:",Tests,"Test","Exit");
				}
				else if(GetPlayerMoney(playerid) >= FLYING_LICENSE_PRICE)
				{   SetPlayerPos(playerid,1525.1040,-2433.3928,13.5547);
		            SetPlayerInterior(playerid,0);
				    GivePlayerMoney(playerid,-FLYING_LICENSE_PRICE);
				    SendClientMessage(playerid,yellow," Welcome: Take a plane to start the test.");
					PlayerInfo[playerid][FlyingTest] = 1;
				}
			}
			else if(listitem == 2)
	        {
				if(GetPlayerMoney(playerid) < GUN_LICENSE_PRICE)
				{
				    SendClientMessage(playerid,yellow," You don`t have much money !!!");
				    new Tests[] = "1\tDriving License - 5000$\n2\tFlying License - 10000$\n3\tGun License - 30000$";
	   				ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Licenses, Chose One:",Tests,"Test","Exit");
				}
				else if(GetPlayerMoney(playerid) >= GUN_LICENSE_PRICE)
				{
				    GivePlayerMoney(playerid,-FLYING_LICENSE_PRICE);
				    SendClientMessage(playerid,yellow," You bought a gun license !");
					PlayerInfo[playerid][GunLicense] = 1;
				}
			}
		}
	}
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

Acest DMV se afla aicia:

samp018sd.png

Respecta Si Vei Fi Respectat !!!

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

http://forum.sa-mp.com/showthread.php?t=158915 -> search

Cam asa ar trebui sa arate:

[pawn]// DMV

if(strcmp(cmdtext, "/enter", true) == 0)

    {

    if(PlayerInfo[playerid][pMember] >= 0 || PlayerInfo[playerid][pLeader] >= 0)

  {

if PlayerToPoint(5,playerid,xx.xx,yy.yy,zz.zz)

*then

{

  SetPlayerPos(playerid,xx.xx,yy.yy,zz.zz);

SetPlayerVirtualWorld(playerid, 0);

SetPlayerInterior(playerid, x);

PlayerInfo[playerid][pInt] = x;

  return 1;

}

}

}

if(strcmp(cmdtext, "/exit", true) == 0)

    {

    if(PlayerInfo[playerid][pMember] >= 0 || PlayerInfo[playerid][pLeader] >= 0)

  {

if PlayerToPoint(5,playerid,xx.xx,yy.yy,zz.zz)

*then

{

  SetPlayerPos(playerid,xx.xx,yy.yy,zz.zz);

  SetPlayerVirtualWorld(playerid, 0);

SetPlayerInterior(playerid, x);

PlayerInfo[playerid][pInt] = x;

  return 1;

}

}

}[/pawn]

Inlocuieste xx.xx,yy.yy,zz.zz cu pozitiile.

Aici :

                      [pawn] SetPlayerInterior(playerid, x);

PlayerInfo[playerid][pInt] = x;[/pawn]

Daca locul este intr-o cladire dai /interior si o sa iti apara nr interiorului(ex: 2) si modifici aici:

                        [pawn] SetPlayerInterior(playerid, 2);

PlayerInfo[playerid][pInt] = 2;[/pawn]

Daca este afara,deci in nicio cladire,adica vezi cerul...pui 0

                        [pawn] SetPlayerInterior(playerid, 0);

PlayerInfo[playerid][pInt] = 0;[/pawn]

Pentru a gasi pozitiile xx.xx,yy.yy,zz.zz folosesti /save !

Edit am gasit asta in FS tau :

[pawn]//-------------------------------------------------enter/exit----------------------------------------

if(strcmp(cmdtext, "/enter", true) == 0)

    {

if PlayerToPoint(5,playerid,329.2784,-1512.7916,36.0391)

*then

{

  SetPlayerPos(playerid,831.7188,6.8884,1004.1797);

          SetPlayerInterior(playerid,3);

  SendClientMessage(playerid,COLOR_1GREEN,"Bun venit in sediul DMV!");

  return 1;

}

}

//-------------------------------------------------the end-------------------------------------------[/pawn]

rszadc33936a6e246e39ea2.png
Link to comment
Share on other sites

http://forum.sa-mp.com/showthread.php?t=158915 -> search

Cam asa ar trebui sa arate:

[pawn]// DMV

if(strcmp(cmdtext, "/enter", true) == 0)

    {

    if(PlayerInfo[playerid][pMember] >= 0 || PlayerInfo[playerid][pLeader] >= 0)

  {

if PlayerToPoint(5,playerid,xx.xx,yy.yy,zz.zz)

*then

{

  SetPlayerPos(playerid,xx.xx,yy.yy,zz.zz);

SetPlayerVirtualWorld(playerid, 0);

SetPlayerInterior(playerid, x);

PlayerInfo[playerid][pInt] = x;

  return 1;

}

}

}

if(strcmp(cmdtext, "/exit", true) == 0)

    {

    if(PlayerInfo[playerid][pMember] >= 0 || PlayerInfo[playerid][pLeader] >= 0)

  {

if PlayerToPoint(5,playerid,xx.xx,yy.yy,zz.zz)

*then

{

  SetPlayerPos(playerid,xx.xx,yy.yy,zz.zz);

  SetPlayerVirtualWorld(playerid, 0);

SetPlayerInterior(playerid, x);

PlayerInfo[playerid][pInt] = x;

  return 1;

}

}

}[/pawn]

Inlocuieste xx.xx,yy.yy,zz.zz cu pozitiile.

Aici :

                      [pawn] SetPlayerInterior(playerid, x);

PlayerInfo[playerid][pInt] = x;[/pawn]

Daca locul este intr-o cladire dai /interior si o sa iti apara nr interiorului(ex: 2) si modifici aici:

                        [pawn] SetPlayerInterior(playerid, 2);

PlayerInfo[playerid][pInt] = 2;[/pawn]

Daca este afara,deci in nicio cladire,adica vezi cerul...pui 0

                        [pawn] SetPlayerInterior(playerid, 0);

PlayerInfo[playerid][pInt] = 0;[/pawn]

Pentru a gasi pozitiile xx.xx,yy.yy,zz.zz folosesti /save !

Nu mai da copy-paste din gm:))))

Intra aici: http://weedarr.wikidot.com/interior si ia ce interior vrei tu sau intrii intr-o cladire si scrii /interior

Dai save unde vrei tu sa fie intrarea..intrii in savedpositions si iei x,y,z.

if(strcmp(cmd, "/enter", true) == 0)
	{
 		if(IsPlayerConnected(playerid))
		{
			 if(IsPlayerInRangeOfPoint(playerid, x,y,z))
			{
        	SetPlayerInterior(playerid,ID);//id-ul interiorului);
            SetPlayerPos(playerid,x,y,z);
            GameTextForPlayer(playerid, "Bine ai venit la DMV", 5000, 1);

            }
		}
	}

Dupaia te duci in interiorul care il vrei tu..si dai save..si faci si iesirea.

gXvsYS
Link to comment
Share on other sites

Imi da 4 erori:

C:\Documents and Settings\Administrator\Desktop\Licenses.pwn(289) : error 017: undefined symbol "cmd"

C:\Documents and Settings\Administrator\Desktop\Licenses.pwn(293) : error 017: undefined symbol "x"

C:\Documents and Settings\Administrator\Desktop\Licenses.pwn(302) : error 017: undefined symbol "cmd"

C:\Documents and Settings\Administrator\Desktop\Licenses.pwn(306) : error 017: undefined symbol "x"

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

4 Errors.

Pentru cmd am adaugat:

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

Nu stiu cum sa fac sa nu imi mai dee erorile astea.

Respecta Si Vei Fi Respectat !!!

Link to comment
Share on other sites

Uitati aceasta este comanda de /enter.Este bine facuta?

new cmd[256];

cmd = strtok(cmdtext, idx);

if(strcmp(cmd, "/enter", true) == 0)

{

if(IsPlayerConnected(playerid))

{

if(IsPlayerInRangeOfPoint(playerid, 329.2307,-1512.7704,36.0391))

{

        SetPlayerInterior(playerid,3);//id-ul interiorului);

            SetPlayerPos(playerid, 831.7188,6.8884,1004.1797);

            GameTextForPlayer(playerid, "Bine ai venit la DMV", 5000, 1);

            }

}

}

return 1;

}

Eu nu inteleg ceva:

1. la

if(IsPlayerInRangeOfPoint(playerid, 329.2307,-1512.7704,36.0391))

ce coordonate trebuie sa pun? Cele unde scriu eu /enter sau cele care ma teleporteaza in interior?

2. la

SetPlayerPos(playerid, 831.7188,6.8884,1004.1797);
Ce coordonate pun cele din interior?

Cum ii facuta acuma imi da urmatoarele errori:

C:\Documents and Settings\Administrator\Desktop\Licenses.pwn(290) : error 017: undefined symbol "strtok"

C:\Documents and Settings\Administrator\Desktop\Licenses.pwn(290) : error 033: array must be indexed (variable "cmd")

C:\Documents and Settings\Administrator\Desktop\Licenses.pwn(295) : warning 202: number of arguments does not match definition

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

2 Errors.

Va rog sa ma ajutati ca nu stiu.

Respecta Si Vei Fi Respectat !!!

Link to comment
Share on other sites

Pune asta jos in script

strtok(const stringstrtok[], &index)
{
	new length = strlen(stringstrtok);
	while ((index < length) && (stringstrtok[index] <= ' ')) { index++; }

	new offset = index, result[20];
	while ((index < length) && (stringstrtok[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = stringstrtok[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
Si pune asta
if(IsPlayerInRangeOfPoint(playerid, 3.0, 329.2307,-1512.7704,36.0391))
In loc de
if(IsPlayerInRangeOfPoint(playerid, 329.2307,-1512.7704,36.0391))

La IsPlayerInRangeOfPoint pui pentru /enter

gXvsYS
Link to comment
Share on other sites

Am Adaugat si imi da inca o erroare.

C:\Documents and Settings\Administrator\Desktop\Licenses.pwn(289) : error 017: undefined symbol "cmdtext"

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

1 Error.

Aceasta comanda ii de la :

new cmd[256];

cmd = strtok(cmdtext, idx);

II ceea ce mia dat u sa pun prima oara.

Cei mai sus apartine de la /enter

Respecta Si Vei Fi Respectat !!!

Link to comment
Share on other sites

Off nu era lam bagat si mia dat 26 de erori.

Nu vreti sa imi adaugati voi?

Uitati FS de DMV original:

#define FILTERSCRIPT

#include <a_samp>
#include <dudb>
#include <dutils>
#include <core>
#include <float>
#include <time>
#include <file>

#pragma tabsize 0


#define GUN_LICENSE_PRICE 30000
#define DRIVING_LICENSE_PRICE 5000
#define FLYING_LICENSE_PRICE 10000
#define FIRST_CHECKPOINT 1
#define SECOND_CHECKPOINT 2
#define THIRD_CHECKPOINT 3
#define FORTH_CHECKPOINT 4
#define FIVTH_CHECKPOINT 5
#define SIXTH_CHECKPOINT 6
#define SEVENTH_CHECKPOINT 7
#define EIGHT_CHECKPOINT 8
#define NINTH_CHECKPOINT 9
#define TENTH_CHECKPOINT 10
#define ELEVENTH_CHECKPOINT 11
#define TWELVTH_CHECKPOINT 12
#define THERTYTH_CHECKPOINT 13
#define FORTHYTH_CHECKPOINT 14
#define cinspe_CHECKPOINT 15
#define saispe_CHECKPOINT 16
#define saptispe_CHECKPOINT 17
#define optispe_CHECKPOINT 18
#define FIVTYTH_CHECKPOINT 19
#define FIRSTS_CHECKPOINT 20
#define SECONDS_CHECKPOINT 21
#define THIRDS_CHECKPOINT 22
#define FORTHS_CHECKPOINT 23
#define FIVTHS_CHECKPOINT 24
#define SIXTHS_CHECKPOINT 25
#define SEVENTHS_CHECKPOINT 26
#define EIGHTS_CHECKPOINT 27
#define NINTHS_CHECKPOINT 28
#define TENTHS_CHECKPOINT 29
#define ELEVENTHS_CHECKPOINT 30
#define TWELVTHS_CHECKPOINT 31
#define THERTYTHS_CHECKPOINT 32
#define unu_CHECKPOINT 33
#define doi_CHECKPOINT 34
#define trei_CHECKPOINT 35
#define patru_CHECKPOINT 36
#define cinci_CHECKPOINT 36
#define grey 		0xCECECEFF
#define yellow 		0xFFFF00FF
#define aquablue    0x00FFFFAA

enum Info
{
	DrivingLicense,
	FlyingLicense,
	GunLicense,
	DrivingTest,
	FlyingTest,
};
new PlayerInfo[MAX_PLAYERS][Info];
new Club1;
new Club2;
new Club3;
new aeroplane1;
new aeroplane2;
new aeroplane3;
new gPlayerDrivingCheckpoints[MAX_PLAYERS];
new gPlayerFlyingCheckpoints[MAX_PLAYERS];
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
    Club1 = AddStaticVehicle(404,301.3271,-1504.6034,24.3303,234.6009,0,0); //  Club
	Club2 = AddStaticVehicle(404,288.4607,-1522.6038,24.3282,54.6098,0,0);//club
	Club3 = AddStaticVehicle(404,293.7755,-1539.0272,24.3280,55.7231,0,0); //club

	aeroplane1 = AddStaticVehicle(519,1481.2684,-2404.4878,13.5547,315.6083,1,1); // Shamal
	aeroplane2 = AddStaticVehicle(519,1480.1786,-2431.1809,13.5547,321.6337,1,1); // Shamal
	aeroplane3 = AddStaticVehicle(519,1479.1232,-2457.0190,13.5547,134.1345,1,1); // Shamal

	print("\n--------------------------------------");
	print(" FilterScript Created by Lil_Shean a.k.a Babica.");
	print(" Please Do not remove the credits.");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
	print("\n----------------------------------");
	print(" FilterScript Created by Lil_Shean a.k.a Babica.");
	print(" Please Do not remove the credits.");
	print("----------------------------------\n");
}

#endif
public OnPlayerConnect(playerid)
{   new Text3D:Club1t = Create3DTextLabel("~~!Driving School!~~",0x00D9D9FF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(Club1t, Club1, 0.0, 0.0, 0.0);
    new Text3D:Club2t = Create3DTextLabel("~~!Driving School!~~",0x00D9D9FF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(Club2t, Club2, 0.0, 0.0, 0.0);
    new Text3D:Club3t = Create3DTextLabel("~~!Driving School!~~",0x00D9D9FF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(Club3t, Club3, 0.0, 0.0, 0.0);
      new Text3D:aeroplane1t = Create3DTextLabel("~~!Driving School!~~",0xDD00DDFF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(aeroplane1t, aeroplane1, 0.0, 0.0, 0.0);
      new Text3D:aeroplane2t = Create3DTextLabel("~~!Driving Schoole!~~",0xDD00DDFF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(aeroplane2t, aeroplane2, 0.0, 0.0, 0.0);
      new Text3D:aeroplane3t = Create3DTextLabel("~~!Driving School!~~",0xDD00DDFF,30.0,30.0,5.0,30.0,0);
    Attach3DTextLabelToVehicle(aeroplane3t, aeroplane3, 0.0, 0.0, 0.0);
    
    
    
    SetPlayerMapIcon(playerid,0,321.5797,-1521.7485,35.7454,55,0);
    new formatZ[256];
 	format(formatZ,sizeof(formatZ),"%s.Account.txt",PlayerName(playerid));
    if(!udb_Exists(formatZ))
    {
    	udb_Create(formatZ,"209010");
    }
   	PlayerInfo[playerid][DrivingLicense] = dUserINT(formatZ).("CarLicense");
    PlayerInfo[playerid][FlyingLicense] = dUserINT(formatZ).("FlyLicense");
    PlayerInfo[playerid][GunLicense] = dUserINT(formatZ).("GunLicense");
	PlayerInfo[playerid][DrivingTest] = 0;PlayerInfo[playerid][FlyingTest] = 0;
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new formatZ2[256];
 	format(formatZ2,sizeof(formatZ2),"%s.Account.txt",PlayerName(playerid));
    dUserSetINT(formatZ2).("CarLicense",PlayerInfo[playerid][DrivingLicense]);
    dUserSetINT(formatZ2).("FlyLicense",PlayerInfo[playerid][FlyingLicense]);
    dUserSetINT(formatZ2).("GunLicense",PlayerInfo[playerid][GunLicense]);
    PlayerInfo[playerid][DrivingTest] = 0;PlayerInfo[playerid][FlyingTest] = 0;
	return 1;
}
stock PlayerName(playerid)
{
 	new name[255];
	GetPlayerName(playerid, name, 255);
	return name;
}
public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	new pName[MAX_PLAYER_NAME];
	GetPlayerName(playerid,pName,sizeof(pName));
	if (strcmp("/licenses", cmdtext, true, 10) == 0)
	{
	    if(IsPlayerInRangeOfPoint(playerid,5.0,822.0115,1.7852,1004.1797 ))
	    {
		    new Tests[] = "1\tDriving License - 5000$\n2\tFlying License - 10000$\n3\tGun License - 30000$";
			ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Licenses, Chose One:",Tests,"Test","Exit");
	   		return 1;
		}
		else if(!IsPlayerInRangeOfPoint(playerid,5.0,-2031.7733,-116.9298,1035.1719))
		{
		    SendClientMessage(playerid,grey,"You are not at DMV (LS).");
		}
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    if(vehicleid == Club1 && PlayerInfo[playerid][DrivingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason: ~n~ ~w~ Leaving the car.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][DrivingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,DRIVING_LICENSE_PRICE);
	}
	else if(vehicleid == Club2 && PlayerInfo[playerid][DrivingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason: ~n~ ~w~ Leaving the car.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][DrivingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,DRIVING_LICENSE_PRICE);
	}
	else if(vehicleid == Club3 && PlayerInfo[playerid][DrivingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason: ~n~ ~w~ Leaving the car.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][DrivingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,DRIVING_LICENSE_PRICE);
	}
	else if(vehicleid == aeroplane1 && PlayerInfo[playerid][FlyingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason:: ~n~ ~w~ Leaving Aeroplane.!.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][FlyingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,FLYING_LICENSE_PRICE);
	}
	else if(vehicleid == aeroplane2 && PlayerInfo[playerid][FlyingTest] == 1)
	{
        GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason:: ~n~ ~w~ Leaving Aeroplane.!.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][FlyingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,FLYING_LICENSE_PRICE);
	}
	else if(vehicleid == aeroplane3 && PlayerInfo[playerid][FlyingTest] == 1)
	{
                GameTextForPlayer(playerid," ~y~ Rejected ~r~ Reason:: ~n~ ~w~ Leaving Aeroplane.!.",4000,3);
        new testcar;
		testcar = GetPlayerVehicleID(playerid);
		RemovePlayerFromVehicle(playerid);
		SetVehicleToRespawn(testcar);
		PlayerInfo[playerid][FlyingTest] = 0;
		DisablePlayerRaceCheckpoint(playerid);
		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	    SetPlayerInterior(playerid,0);
	    GivePlayerMoney(playerid,FLYING_LICENSE_PRICE);
	}
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{     new gettheplane;
      if(IsPlane(playerid,gettheplane))
	{
	if(PlayerInfo[playerid][FlyingLicense] == 0)
	{
	RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,0xDB0000F6,"You don`t have a fliyng license!");
	}
	}



   new getthecar;
  if(IsCar(playerid,getthecar))
	{
	 if(PlayerInfo[playerid][DrivingLicense] == 0)
	{
	RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,0xDB0000F6,"You Don`t have a driving license!");
	}

	}

	new vehicleid = GetPlayerVehicleID(playerid);
	if(vehicleid == Club1)
	{
	    if(PlayerInfo[playerid][DrivingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][DrivingTest] == 1)
	    {
	        SetPlayerRaceCheckpoint(playerid,0,283.1869,-1542.9001,24.5137,351.7516,-1510.3119,32.7088,4.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ THE CAR!",4000,4);
			gPlayerDrivingCheckpoints[playerid] = FIRST_CHECKPOINT;
	    }
	}
	else if(vehicleid == Club2  )
	{
	    if(PlayerInfo[playerid][DrivingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][DrivingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,283.1869,-1542.9001,24.5137,-2007.3123,-73.4380,34.8973,4.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ THE CAR!",4000,4);
			gPlayerDrivingCheckpoints[playerid] = FIRST_CHECKPOINT;
	    }
	}
	else if(vehicleid == Club3)
	{
	    if(PlayerInfo[playerid][DrivingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][DrivingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,283.1869,-1542.9001,24.5137,-2007.3123,-73.4380,34.8973,4.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ THE CAR!",4000,4);
			gPlayerDrivingCheckpoints[playerid] = FIRST_CHECKPOINT;
	    }
	}
	else if(vehicleid == aeroplane1)
	{
	    if(PlayerInfo[playerid][FlyingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][FlyingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,1535.3325,-2494.0354,14.3096,1891.7614,-2497.8674,107.2230,7.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ AEROPLANE!",4000,4);
			gPlayerFlyingCheckpoints[playerid] = FIRSTS_CHECKPOINT;
	    }
	}
	else if(vehicleid == aeroplane2)
	{
	    if(PlayerInfo[playerid][FlyingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][FlyingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,1535.3325,-2494.0354,14.3096,1891.7614,-2497.8674,107.2230,7.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ AEROPLANE!",4000,4);
			gPlayerFlyingCheckpoints[playerid] = FIRSTS_CHECKPOINT;
	    }
	}
	else if(vehicleid == aeroplane3)
	{
	    if(PlayerInfo[playerid][FlyingTest] == 0)
	    {
	        RemovePlayerFromVehicle(playerid);
	        SendClientMessage(playerid,grey," You don't have the keys from this!");
		}
		else if(PlayerInfo[playerid][FlyingTest] == 1)
	    {
            SetPlayerRaceCheckpoint(playerid,0,1535.3325,-2494.0354,14.3096,1891.7614,-2497.8674,107.2230,7.0);
	        GameTextForPlayer(playerid," ~y~ Follow ~r~ the checkpoints.~n~~y~ DON`T ~r~ HIT ~y~ AEROPLANE!",4000,4);
			gPlayerFlyingCheckpoints[playerid] = FIRSTS_CHECKPOINT;
	    }
	}
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	new vehicleid = GetPlayerVehicleID(playerid);
	new string[248];
    if(PlayerInfo[playerid][DrivingTest] == 1)
	{
	    switch (gPlayerDrivingCheckpoints[playerid])
	    {
	        case FIRST_CHECKPOINT:
	        {
	            SetPlayerRaceCheckpoint(playerid,0,283.1869,-1542.9001,24.5137,351.7516,-1510.3119,32.7088,4.0);
	            gPlayerDrivingCheckpoints[playerid] = SECOND_CHECKPOINT;
			}
			case SECOND_CHECKPOINT:
	        {
	            SetPlayerRaceCheckpoint(playerid,0,351.7516,-1510.3119,32.7088,474.7113,-1439.9946,21.2911,4.0);
	            gPlayerDrivingCheckpoints[playerid] = THIRD_CHECKPOINT;
			}
			case THIRD_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,474.7113,-1439.9946,21.2911,482.4760,-1291.7041,15.1726,4.0);
			    gPlayerDrivingCheckpoints[playerid] = FORTH_CHECKPOINT;
			}
			case FORTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,482.4760,-1291.7041,15.1726,619.0358,-1216.3715,17.8356,4.0);
			    gPlayerDrivingCheckpoints[playerid] = FIVTH_CHECKPOINT;
			}
			case FIVTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,619.0358,-1216.3715,17.8356,630.4402,-1447.0948,13.8755,4.0);
			    gPlayerDrivingCheckpoints[playerid] = SIXTH_CHECKPOINT;
			}
			case SIXTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,630.4402,-1447.0948,13.8755,623.0024,-1728.8766,13.6421,4.0);
			    gPlayerDrivingCheckpoints[playerid] = SEVENTH_CHECKPOINT;
			}
			case SEVENTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,623.0024,-1728.8766,13.6421,462.5587,-1708.7761,10.5790,4.0);
			    gPlayerDrivingCheckpoints[playerid] = EIGHT_CHECKPOINT;
			}
			case EIGHT_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,462.5587,-1708.7761,10.5790,418.4632,-1770.3362,5.0127,4.0);
			    gPlayerDrivingCheckpoints[playerid] = NINTH_CHECKPOINT;
			}
			case NINTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,418.4632,-1770.3362,5.0127,343.0066,-1744.4136,4.1965,4.0);
			    gPlayerDrivingCheckpoints[playerid] = TENTH_CHECKPOINT;
			}
			case TENTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,343.0066,-1744.4136,4.1965,127.5823,-1711.9745,8.3332,4.0);
				gPlayerDrivingCheckpoints[playerid] = ELEVENTH_CHECKPOINT;
			}
			case ELEVENTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,127.5823,-1711.9745,8.3332,184.0116,-1524.4313,12.1273,4.0);
				gPlayerDrivingCheckpoints[playerid] = TWELVTH_CHECKPOINT;
			}
			case TWELVTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,184.0116,-1524.4313,12.1273,257.8794,-1529.9181,31.9266,4.0);
				gPlayerDrivingCheckpoints[playerid] = THERTYTH_CHECKPOINT;
			}
			case THERTYTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,257.8794,-1529.9181,31.9266,308.7583,-1586.9407,32.7608,4.0);
				gPlayerDrivingCheckpoints[playerid] = FORTHYTH_CHECKPOINT;
			}
			case FORTHYTH_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,308.7583,-1586.9407,32.7608,328.4104,-1535.3213,32.9864,4.0);
				gPlayerDrivingCheckpoints[playerid] = cinspe_CHECKPOINT;
			}
			case cinspe_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,328.4104,-1535.3213,32.9864,366.0774,-1485.1675,34.1043,4.0);
				gPlayerDrivingCheckpoints[playerid] = saispe_CHECKPOINT;
			}
			case saispe_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,366.0774,-1485.1675,34.1043,322.7593,-1485.0547,24.6065,4.0);
				gPlayerDrivingCheckpoints[playerid] = saptispe_CHECKPOINT;
			}

				case saptispe_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,322.7593,-1485.0547,24.6065,288.2904,-1522.5892,24.3274,4.0);
				gPlayerDrivingCheckpoints[playerid] = optispe_CHECKPOINT;
			}

				case optispe_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,1,294.0916,-1540.2312,24.5938,-2047.5490,-87.0332,35.1641,4.0);
				gPlayerDrivingCheckpoints[playerid] = FIVTYTH_CHECKPOINT;
			}
			case FIVTYTH_CHECKPOINT:
			{
			    if(vehicleid == Club1 || vehicleid == Club2 || vehicleid == Club3)
	            {
	                new Float:Health;
					new testcar;
					testcar = GetPlayerVehicleID(playerid);
					GetVehicleHealth(testcar,Health);
					if(Health < 800.0)
					{
					    format(string,sizeof(string),"Rejecter. Reason: HIT The car.");
					    SendClientMessage(playerid,yellow,string);
					    DisablePlayerRaceCheckpoint(playerid);
	            		GameTextForPlayer(playerid," ~w~Test Complete. ~r~ Check results !",3000,3);
	            		RemovePlayerFromVehicle(playerid);
	            		SetVehicleToRespawn(testcar);
	            		PlayerInfo[playerid][DrivingTest] = 0;
	            		GivePlayerMoney(playerid,DRIVING_LICENSE_PRICE);
	            		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	                    SetPlayerInterior(playerid,0);
					    return 1;
					}
					else if(Health >= 800.0)
					{
	            		DisablePlayerRaceCheckpoint(playerid);
	            		GameTextForPlayer(playerid," ~w~Test Complete. ~r~ Check results !",3000,3);
            			format(string,sizeof(string)," You have passed . You have recivied a driving license. ");
	            		SendClientMessage(playerid,yellow,string);
	            		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	                    SetPlayerInterior(playerid,0);
	            		PlayerInfo[playerid][DrivingLicense] = 1;
	            		RemovePlayerFromVehicle(playerid);
	            		SetVehicleToRespawn(testcar);
	            		PlayerInfo[playerid][DrivingTest] = 0;
	            		return 1;
					}
				}
			}
		}
	}
		else if(PlayerInfo[playerid][FlyingTest] == 1)
	{
	    switch (gPlayerFlyingCheckpoints[playerid])
	    {
	        case FIRSTS_CHECKPOINT:
	        {
	            SetPlayerRaceCheckpoint(playerid,3,1891.7614,-2497.8674,107.2230,1750.6888,-2060.8042,148.1025,7.0);
	            gPlayerFlyingCheckpoints[playerid] = SECONDS_CHECKPOINT;
			}
			case SECONDS_CHECKPOINT:
	        {
	            SetPlayerRaceCheckpoint(playerid,3,1750.6888,-2060.8042,148.1025,1384.8511,-1680.2450,148.1025,7.0);
	            gPlayerFlyingCheckpoints[playerid] = THIRDS_CHECKPOINT;
			}
			case THIRDS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,1384.8511,-1680.2450,148.1025,965.0752,-1339.6475,163.5740,7.0);
			    gPlayerFlyingCheckpoints[playerid] = FORTHS_CHECKPOINT;
			}
			case FORTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,965.0752,-1339.6475,163.5740,499.9984,-981.2534,283.5978,7.0);
			    gPlayerFlyingCheckpoints[playerid] = FIVTHS_CHECKPOINT;
			}
			case FIVTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,499.9984,-981.2534,283.5978,-29.1625,-551.9036,409.2022,7.0);
			    gPlayerFlyingCheckpoints[playerid] = SIXTHS_CHECKPOINT;
			}
			case SIXTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,-29.1625,-551.9036,409.2022,-711.0569,-14.5363,194.2022,7.0);
			    gPlayerFlyingCheckpoints[playerid] = SEVENTHS_CHECKPOINT;
			}
			case SEVENTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,-711.0569,-14.5363,194.2022,-966.3957,319.9247,59.7532,7.0);
			    gPlayerFlyingCheckpoints[playerid] = EIGHTS_CHECKPOINT;
			}
			case EIGHTS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,3,-966.3957,319.9247,59.7532,-1313.8590,179.4326,15.9489,7.0);
			    gPlayerFlyingCheckpoints[playerid] = NINTHS_CHECKPOINT;
			}
			case NINTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,-1313.8590,179.4326,15.9489,-1533.6992,-38.8724,15.9489,7.0);
			    gPlayerFlyingCheckpoints[playerid] = TENTHS_CHECKPOINT;
			}
			case TENTHS_CHECKPOINT:
			{
			    SetPlayerRaceCheckpoint(playerid,0,-1533.6992,-38.8724,15.9489,-947.1935,1092.1521,79.0029,7.0);
				gPlayerFlyingCheckpoints[playerid] = ELEVENTHS_CHECKPOINT;
			}

			case ELEVENTHS_CHECKPOINT:
			{
                if(vehicleid == aeroplane1 || vehicleid == aeroplane2 || vehicleid == aeroplane3)
	            {
	                new Float:Health;
					new testcar;
					testcar = GetPlayerVehicleID(playerid);
					GetVehicleHealth(testcar,Health);
					if(Health < 500.0)
					{
	                    format(string,sizeof(string),"Rejecter. Reason: HIT aeroplane.");
					    SendClientMessage(playerid,yellow,string);
					    DisablePlayerRaceCheckpoint(playerid);
	            		GameTextForPlayer(playerid," ~w~TEST~r~ COMPLETE.~b~Check results!",3000,3);
	            		RemovePlayerFromVehicle(playerid);
	            		SetVehicleToRespawn(testcar);
	            		PlayerInfo[playerid][FlyingTest] = 0;
	            		GivePlayerMoney(playerid,FLYING_LICENSE_PRICE);
	            		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	                    SetPlayerInterior(playerid,0);
					    return 1;
					}
					else if(Health >= 500.0)
					{
	            		DisablePlayerRaceCheckpoint(playerid);
	            		GameTextForPlayer(playerid," ~w~TEST~r~ COMPLETE.~b~Check results!",3000,3);
            			format(string,sizeof(string)," You have passed . You have recivied a flying license. ");
	            		SendClientMessage(playerid,yellow,string);
	            		PlayerInfo[playerid][FlyingLicense] = 1;
	            		RemovePlayerFromVehicle(playerid);
	            		SetVehicleToRespawn(testcar);
	            		PlayerInfo[playerid][FlyingTest] = 0;
	            		SetPlayerPos(playerid,333.9123,-1520.5043,35.8672);
	                    SetPlayerInterior(playerid,0);
	            		return 1;
					}
				}
			}
		}
	}
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}



IsPlane(playerid,vehicleid) // Planes
{
    #define MAX_PLANES 23

    new IsPlaneA[MAX_PLANES] =
    {
        592,577,511,512,593,520,553,464,476,
        460,513,539,548,425,417,487,497,563,501,
		465,447,469,488
	};

    vehicleid = GetPlayerVehicleID(playerid);

    if(IsPlayerInVehicle(playerid,vehicleid))
    {
        for(new i = 0; i < MAX_PLANES; i++)
        {
            if(GetVehicleModel(vehicleid) == IsPlaneA[i])
            {
                return true;
            }
        }
    }
    return false;
}


IsCar(playerid,vehicleid) // Cars
{
    #define MAX_LCARS 145

    new IsCarA[MAX_LCARS] =
    {
        445,602,416,485,568,429,433,499,424,536,496,
        504,422,609,498,401,575,518,402,541,482,431,
        438,457,527,483,524,415,542,589,437,532,480,
        596,599,597,598,578,486,507,562,585,427,419,
        587,490,528,533,544,407,565,455,530,526,466,
        604,492,474,588,434,502,503,494,579,545,411,
        546,559,508,571,400,403,517,410,551,500,418,
        572,423,414,516,582,467,443,470,514,603,
        600,413,426,436,547,489,441,594,564,515,479,
        534,432,505,442,440,475,543,605,495,567,428,
        405,535,458,580,439,561,409,560,550,506,601,
        574,566,549,420,459,576,525,531,408,583,451,
        558,552,540,491,412,478,421,529,555,456,554,
        477
	};

    vehicleid = GetPlayerVehicleID(playerid);

    if(IsPlayerInVehicle(playerid,vehicleid))
    {
        for(new i = 0; i < MAX_LCARS; i++)
        {
            if(GetVehicleModel(vehicleid) == IsCarA[i])
            {
                return true;
            }
        }
    }
    return false;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == 1)
	{
	    if(response)
	    {
	        if(listitem == 0)
	        {
				if(GetPlayerMoney(playerid) < DRIVING_LICENSE_PRICE)
				{
				    SendClientMessage(playerid,yellow," You don`t have much money !!!");
				    new Tests[] = "1\tDriving License - 5000$\n2\tFlying License - 10000$\n3\tGun License - 30000$";
	   				ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Licenses, Chose One:",Tests,"Test","Exit");
				}
				else if(GetPlayerMoney(playerid) >= DRIVING_LICENSE_PRICE)
				{
                   SetPlayerInterior(playerid,0);
				   SetPlayerPos(playerid,312.9631,-1513.6375,24.9219);
				    GivePlayerMoney(playerid,-DRIVING_LICENSE_PRICE);
				    SendClientMessage(playerid,yellow," Welcome: Take a Driving School car to start the test.");
					PlayerInfo[playerid][DrivingTest] = 1;
				}
			}
			else if(listitem == 1)
	        {
				if(GetPlayerMoney(playerid) < FLYING_LICENSE_PRICE)
				{
				    SendClientMessage(playerid,yellow," You don`t have much money !!!");
				    new Tests[] = "1\tDriving License - 5000$\n2\tFlying License - 10000$\n3\tGun License - 30000$";
	   				ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Licenses, Chose One:",Tests,"Test","Exit");
				}
				else if(GetPlayerMoney(playerid) >= FLYING_LICENSE_PRICE)
				{   SetPlayerPos(playerid,1525.1040,-2433.3928,13.5547);
		            SetPlayerInterior(playerid,0);
				    GivePlayerMoney(playerid,-FLYING_LICENSE_PRICE);
				    SendClientMessage(playerid,yellow," Welcome: Take a plane to start the test.");
					PlayerInfo[playerid][FlyingTest] = 1;
				}
			}
			else if(listitem == 2)
	        {
				if(GetPlayerMoney(playerid) < GUN_LICENSE_PRICE)
				{
				    SendClientMessage(playerid,yellow," You don`t have much money !!!");
				    new Tests[] = "1\tDriving License - 5000$\n2\tFlying License - 10000$\n3\tGun License - 30000$";
	   				ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Licenses, Chose One:",Tests,"Test","Exit");
				}
				else if(GetPlayerMoney(playerid) >= GUN_LICENSE_PRICE)
				{
				    GivePlayerMoney(playerid,-FLYING_LICENSE_PRICE);
				    SendClientMessage(playerid,yellow," You bought a gun license !");
					PlayerInfo[playerid][GunLicense] = 1;
				}
			}
		}
	}
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

Uitati comanda:

if(strcmp(cmd, "/enter", true) == 0)

{

if(IsPlayerConnected(playerid))

{

if(IsPlayerInRangeOfPoint(playerid, 3.0, 329.2307,-1512.7704,36.0391))

{

        SetPlayerInterior(playerid,3);//id-ul interiorului);

            SetPlayerPos(playerid, 831.7188,6.8884,1004.1797);

            GameTextForPlayer(playerid, "Bine ai venit la DMV", 5000, 1);

Mio pueti pune voi adica s mil faceti voi? Plzzz  va rog mult.

Am inercat si nu mia esit.

Va rogg mult.

Respecta Si Vei Fi Respectat !!!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.