rendered paste body#define CP_TNONE 24
#define CP_TESTSTART 25
#define CP_TEST1 26
#define CP_TEST2 27
#define CP_TEST3 28
#define CP_TEST4 29
#define CP_TEST5 30
#define CP_TEST6 31
#define CP_TEST7 32
#define CP_TEST8 33
#define CP_TEST9 34
#define CP_TEST10 35
#define CP_TESTF 36
--------------------------------------------
new TestCheck[MAX_PLAYERS];
--------------------------------------------
if(strcmp(cmdtext, "/driverlicense", true) == 0) {
if(InTest[playerid] == 1){
SendClientMessage(playerid, COLOR_INVALID, "[Info] You are allready in test");
}
if(DriverLicense[playerid] == 1){
SendClientMessage(playerid, COLOR_INVALID, "[Info] You have allready the license");
}
if(TestOcupied == 1){
SendClientMessage(playerid, COLOR_INVALID, "[Info] Someone is doing this test");
}
else if(InTest[playerid] == 0 || DriverLicense[playerid] == 0 || TestOcupied == 0){
SendClientMessage(playerid, COLOR_YELLOW,"[Info] You can start the test, follow the checkpoints");
SetPlayerPos(playerid, 709.5930,1202.8737,13.1765);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 720.0862,1192.0665,13.1717, 3.0);
TestCheck[playerid] = CP_TESTSTART;
}
}
--------------------------------------------------------
public OnPlayerEnterCheckpoint(playerid)
{
new string[256];
new ownplayer[256];
if(getCheckpointType(playerid)>= P_OFFSET) {
format(string, sizeof(string), "[PROP] You can buy the %s for $%d with /buy.", propertyNames[playerCheckpoint[playerid]-P_OFFSET], propertyValues[playerCheckpoint[playerid]-P_OFFSET]);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "[PROP] You will earn $%d regularly.", propertyEarnings[playerCheckpoint[playerid]-P_OFFSET]);
SendClientMessage(playerid, COLOR_YELLOW, string);
if(propertyOwner[playerCheckpoint[playerid]-P_OFFSET]<999) {
GetPlayerName(propertyOwner[playerCheckpoint[playerid]-P_OFFSET], ownplayer, sizeof(ownplayer));
format(string, sizeof(string), "[PROP] This property is currently owned by %s.", ownplayer);
SendClientMessage(playerid, COLOR_RED, string);
}
}
switch (TestCheck[playerid]) {
case CP_TESTSTART:
{
if(IsPlayerInVehicle(playerid, 0)){
TestCountDown[playerid] = 1;
SetTimer("CountDown",10000,0);
DisablePlayerCheckpoint(playerid);
TestCheck[playerid] = CP_TNONE;
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, COLOR_YELLOW, "[Info] Get in car and wait for countdown");
SendClientMessage(playerid, COLOR_YELLOW, "[Info] You have 60 seconds to finnish the test or you lose");
}
else if(!IsPlayerInVehicle(playerid, 0)){
SendClientMessage(playerid, COLOR_INVALID, "[Info] Get in car");
}
}
case CP_TEST1:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 503.4422,1124.6527,13.8432, 5.0);
TestCheck[playerid] = CP_TEST2;
}
case CP_TEST2:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 449.2877,1161.7749,8.3736, 5.0);
TestCheck[playerid] = CP_TEST3;
}
case CP_TEST3:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 226.7989,977.8892,28.0028, 5.0);
TestCheck[playerid] = CP_TEST4;
}
case CP_TEST4:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 340.4018,1360.4813,7.7528, 5.0);
TestCheck[playerid] = CP_TEST5;
}
case CP_TEST5:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 623.4115,1374.3521,11.7081, 5.0);
TestCheck[playerid] = CP_TEST6;
}
case CP_TEST6:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 427.4626,1321.3295,14.4833, 5.0);
}
case CP_TEST7:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 336.0108,1361.1046,7.7344, 5.0);
TestCheck[playerid] = CP_TEST8;
}
case CP_TEST8:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 230.1980,977.7343,27.9811, 5.0);
TestCheck[playerid] = CP_TEST9;
}
case CP_TEST9:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 451.0081,1164.2603,8.3540, 5.0);
TestCheck[playerid] = CP_TEST10;
}
case CP_TEST10:
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 718.5392,1192.5576,13.1709, 5.0);
TestCheck[playerid] = CP_TESTF;
}
case CP_TESTF:
{
TestCheck[playerid] = CP_TNONE;
DisablePlayerCheckpoint(playerid);
LicenseGet(playerid);
}
}
return 1;
}
------------------------------------------------------------
public LicenseGet(playerid){
new vehicleid = GetPlayerVehicleID(playerid);
SendClientMessage(playerid, COLOR_YELLOW, "[Info] You completed the test, here is your driver license");
SetVehicleToRespawn(vehicleid);
DriverLicense[playerid] = 1;
InTest[playerid] = 0;
TestOcupied = 0;
KillTimer(playerid);
SpawnPlayer(playerid);
}
public LicenseLost(playerid){
new vehicleid = GetPlayerVehicleID(playerid);
SendClientMessage(playerid, COLOR_INVALID, "[Info] You losed the test");
SetVehicleToRespawn(vehicleid);
DriverLicense[playerid] = 0;
InTest[playerid] = 0;
TestOcupied = 0;
KillTimer(playerid);
SpawnPlayer(playerid);
}
public CountDown(){
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) {
if(InTest[i] == 1){
if(IsPlayerInVehicle(i, 0)){
new vehicleid = GetPlayerVehicleID(i);
if(TestCountDown[i] == 1){
SendClientMessage(i, COLOR_YELLOW, "[Info] In 5 seconds will start countdown");
TogglePlayerControllable(i, 0);
SetVehiclePos(vehicleid,720.0862,1192.0665,15.1717);
SetVehicleZAngle(vehicleid, 170.6370);
ChangeVehicleColor(0, 0, 0);
TestCountDown[i] = 2;
SetTimer("CountDown", 2000, 0);
}
if(TestCountDown[i] == 2){
TogglePlayerControllable(i, 0);
SetVehiclePos(vehicleid,720.0862,1192.0665,15.1717);
SetVehicleZAngle(vehicleid, 170.6370);
ChangeVehicleColor(0, 0, 0);
TestCountDown[i] = 3;
GameTextForPlayer(i, "~g~3.... ~w~Take a photo xD", 1000, 3);
SetTimer("CountDown", 1000, 0);
}
if(TestCountDown[i] == 3){
TogglePlayerControllable(i, 0);
SetVehiclePos(vehicleid,720.0862,1192.0665,15.1717);
SetVehicleZAngle(vehicleid, 170.6370);
ChangeVehicleColor(0, 0, 0);
TestCountDown[i] = 4;
GameTextForPlayer(i, "~y~2.... ~w~Start your engine", 1000, 3);
SetTimer("CountDown", 1000, 0);
}
if(TestCountDown[i] == 4){
TogglePlayerControllable(i, 0);
SetVehiclePos(vehicleid,720.0862,1192.0665,15.1717);
SetVehicleZAngle(vehicleid, 170.6370);
ChangeVehicleColor(0, 0, 0);
TestCountDown[i] = 5;
GameTextForPlayer(i, "~r~1.... ~w~Get Ready", 2000, 3);
SetTimer("CountDown", 3000, 0);
}
if(TestCountDown[i] == 5){
TogglePlayerControllable(i, 0);
SetVehiclePos(vehicleid,720.0862,1192.0665,15.1717);
SetVehicleZAngle(vehicleid, 170.6370);
ChangeVehicleColor(0, 0, 0);
TestCountDown[i] = 0;
GameTextForPlayer(i, "~g~GO! ~y~GO! ~r~GO!", 1000, 3);
SetPlayerCheckpoint(i, 712.0303,1150.8950,18.5105, 5.0);
TestCheck[i] = CP_TEST1;
SetTimer("TestTimer", 60000, 0);
}
if(TestCountDown[i] == 0){}
}
else if(!IsPlayerInVehicle(i, 0)) {
SendClientMessage(i, COLOR_INVALID, "[info] You are in correct vehicle");
LicenseLost(i);
TestCountDown[i] = 0;
}
}
}}}
public TestTimer() {
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) {
if(InTest[i] == 1){
LicenseLost(i);
}}}}