skipping /service ems when dieing help...
#1

Okay once again i have everything perfect but when i do /kill or get killed or just die some how, i got straight to hosptital i have defined my EMSAttempt and Injured PVar's but it dont work here is the death and spawn code....

onPlayerDeath:
Код:
public OnPlayerDeath(playerid, killerid, reason)
{
	PlayerInfo[playerid][pOverdose] = 0;

    new string[128];
    // Anti-Fake Kill by Neonman
	if(PlayerInfo[playerid][pAdmin] < 2)
	{
		new time = gettime();
	    switch(time - LastDeath[playerid])
	    {
	        case 0..3:
	        {
	            DeathSpam[playerid]++;
	            if(DeathSpam[playerid] == 3) // The maximum spam of deaths after the cheater will get banned.
	            {
	                new IP[128];
	                GetPlayerIp(playerid, IP, sizeof(IP));
	                format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has been automatically kicked for death spamming.", GetPlayerNameEx(playerid), playerid);
					ABroadCast(COLOR_YELLOW, string, 2);

	                format(string, sizeof(string), "[Death Spam] %s has been kicked for death spam. (IP: %s)",GetPlayerNameEx(playerid), playerid, IP);
	                Log("logs/fakedeath.log", string);

	               	ShowPlayerDialog(playerid, DIALOG_SHOW_INFO, DIALOG_STYLE_MSGBOX, "{FFFFFF}Kicked from server", "You have been kicked from the server for fake kill.", "Ok", "Cancel");
                    SetTimerEx("SendToKick", 300, 0, "i", playerid);
	            }
	            return 1;
	        }
	        default: DeathSpam[playerid] = 0;
	    }
	    LastDeath[playerid] = time;
	}
	if(IsPlayerConnected(killerid))
	{
		new hour,minute,second, weaponname[32];
		gettime(hour,minute,second);
		FixHour(hour);
		hour = shifthour;
		GetWeaponName(reason, weaponname, sizeof(weaponname));
		format(PlayerInfo[playerid][pKillLog9], 256, "%s", PlayerInfo[playerid][pKillLog8]);
		format(PlayerInfo[playerid][pKillLog8], 256, "%s", PlayerInfo[playerid][pKillLog7]);
		format(PlayerInfo[playerid][pKillLog7], 256, "%s", PlayerInfo[playerid][pKillLog6]);
		format(PlayerInfo[playerid][pKillLog6], 256, "%s", PlayerInfo[playerid][pKillLog5]);
		format(PlayerInfo[playerid][pKillLog5], 256, "%s", PlayerInfo[playerid][pKillLog4]);
		format(PlayerInfo[playerid][pKillLog4], 256, "%s", PlayerInfo[playerid][pKillLog3]);
		format(PlayerInfo[playerid][pKillLog3], 256, "%s", PlayerInfo[playerid][pKillLog2]);
		format(PlayerInfo[playerid][pKillLog2], 256, "%s", PlayerInfo[playerid][pKillLog1]);
		format(PlayerInfo[playerid][pKillLog1], 256, "%s", PlayerInfo[playerid][pKillLog0]);
	 	format(PlayerInfo[playerid][pKillLog0], 256, "(%d:%d:%d) %s killed me with %s", hour,minute,second,GetPlayerNameEx(killerid), weaponname);

	 	format(PlayerInfo[killerid][pKillLog9], 256, "%s", PlayerInfo[killerid][pKillLog8]);
		format(PlayerInfo[killerid][pKillLog8], 256, "%s", PlayerInfo[killerid][pKillLog7]);
		format(PlayerInfo[killerid][pKillLog7], 256, "%s", PlayerInfo[killerid][pKillLog6]);
		format(PlayerInfo[killerid][pKillLog6], 256, "%s", PlayerInfo[killerid][pKillLog5]);
		format(PlayerInfo[killerid][pKillLog5], 256, "%s", PlayerInfo[killerid][pKillLog4]);
		format(PlayerInfo[killerid][pKillLog4], 256, "%s", PlayerInfo[killerid][pKillLog3]);
		format(PlayerInfo[killerid][pKillLog3], 256, "%s", PlayerInfo[killerid][pKillLog2]);
		format(PlayerInfo[killerid][pKillLog2], 256, "%s", PlayerInfo[killerid][pKillLog1]);
		format(PlayerInfo[killerid][pKillLog1], 256, "%s", PlayerInfo[killerid][pKillLog0]);
	 	format(PlayerInfo[killerid][pKillLog0], 256, "(%d:%d:%d) Killed %s with %s", hour,minute,second,GetPlayerNameEx(playerid), weaponname);
	 	if(GetPVarInt(killerid, "IsInArena") == 0) PlayerInfo[killerid][pDMKills]++;
	}
	pTazer[playerid] = 0;
	InsideShamal[playerid] = INVALID_VEHICLE_ID;
	DeletePVar(playerid, "SpeedRadar");
    DeletePVar(playerid, "UsingSprunk");
	if(arr_Wrecking[playerid] != INVALID_VEHICLE_ID)
	{
		//UnwreckVehicle(arr_Wrecking[playerid], 1);
		arr_Wrecking[playerid] = INVALID_VEHICLE_ID;
	}
	DestroyDynamicObject(GetPVarInt(playerid, "neon"));
	DestroyDynamicObject(GetPVarInt(playerid, "neon1"));
	DeletePVar(playerid, "neon0");
	DeletePVar(playerid, "neon1");
    KillTimer(GetPVarInt(playerid, "firstaid5"));
  	DeletePVar(playerid, "usingfirstaid");
	DeletePVar(playerid, "usingbandage");
	if(GetPVarInt(playerid, "MovingStretcher") != -1)
	{
	    KillTimer(GetPVarInt(playerid, "TickEMSMove"));
	    DeletePVar(GetPVarInt(playerid, "MovingStretcher"), "OnStretcher");
	    SetPVarInt(playerid, "MovingStretcher", -1);
	}
	if(GetPVarInt(playerid, "runningRadar") >= 1)
	{
		new vehid = gLastCar[playerid];
		if(CheckingSpeed[vehid] > 0)
	    {
	        KillTimer(CheckingSpeed[vehid]);
	        CheckingSpeed[vehid] = 0;
	    }
		PlayerTextDrawDestroy(playerid, RadarHud);
		PlayerTextDrawDestroy(playerid, SpeedAndModel);
		DeletePVar(playerid, "runningRadar");
		Radars -= 1;
	}
	new caller = Mobile[playerid];
	if(IsPlayerConnected(Mobile[playerid]))
	{
		SendClientMessageEx(caller,  COLOR_GRAD2, "The line went dead.");
		format(string, sizeof(string), "* %s puts away their cellphone.", GetPlayerNameEx(caller));
		ProxDetector(30.0, caller, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
		CellTime[caller] = 0;
		KillTimer(VmailTmer[caller]);
		KillTimer(VmailTmer[playerid]);
		Mobile[caller] = INVALID_PLAYER_ID;
	}
	Mobile[playerid] = INVALID_PLAYER_ID;
	CellTime[playerid] = 0;
	KillTimer(VmailTmer[playerid]);
	KillTimer(VmailTmer[caller]);
	RingTone[playerid] = 0;

	foreach(Player, i)
	{
		if(EMSAccepted[i] < 999)
		{
 			if(EMSAccepted[i] == playerid)
   			{
     			EMSAccepted[i] = 999;
       			GameTextForPlayer(i, "~w~EMS Caller~n~~r~Has Died", 5000, 1);
	        	EMSCallTime[i] = 0;
	        	DisablePlayerCheckpoint(i);
			}
		}
	}

	if( GetPVarInt(playerid, "SpecOff" ) == 1 )
	{
		SpawnPlayer(playerid);
		return 1;
	}

	if(GetPVarInt(playerid, "Injured") == 1)
	{
     	SendClientMessageEx(playerid, COLOR_WHITE, "You appear to be stuck in limbo, medics are trying to revive you.");
	    KillEMSQueue(playerid);
	    ResetPlayerWeaponsEx(playerid);
		if(GetPVarInt(playerid, "activesling") > 0)
		{
			DeletePVar(playerid, "activesling");
		}
	    //SpawnPlayer(playerid);
	    return 1;
	}
	if(GetPVarInt(playerid, "IsOnFire"))
	{
		TogglePlayerBurning(playerid, false);
		return 1;
	}
	new Float:px,Float:py,Float:pz;
	if(GetPVarInt(playerid, "EventToken") == 0)
	{
	    if(GetPVarInt(playerid, "IsInArena") == -1)
		{
			SetPVarInt(playerid, "Injured", 1);

			new Float:mX, Float:mY, Float:mZ;
			GetPlayerPos(playerid, mX, mY, mZ);

			SetPVarFloat(playerid, "MedicX", mX);
			SetPVarFloat(playerid, "MedicY", mY);
			SetPVarFloat(playerid, "MedicZ", mZ);
			SetPVarInt(playerid, "MedicVW", GetPlayerVirtualWorld(playerid));
			SetPVarInt(playerid, "MedicInt", GetPlayerInterior(playerid));
		}
	}
onPlayerSpawn Code:
Код:
public OnPlayerSpawn(playerid)
{
	if(PlayerInfo[playerid][pLoggedIn] != 1)
	{
	    SendClientMessageEx(playerid, COLOR_WHITE, "ERROR: You are not logged in!");
        Kick(playerid);
	}
	if(strlen(PlayerInfo[playerid][pEmail]) < 3)
	{
	    SendClientMessageEx(playerid, COLOR_GRAD2, "  We have no email on file for this account, please enter your email below for Password Reset Purposes.");
		ShowPlayerDialog(playerid, DIALOG_SET_EMAIL, DIALOG_STYLE_INPUT, "{FFFFFF}Enter Email", "Please enter your Email address into the box.", "Ok", "Cancel");
	}
	if(PlayerInfo[playerid][pHelper] > 1) SetPVarInt(playerid, "AdvisorDuty", 1); Advisors += 1;
	if(turfWarsRadar[playerid] == 0) {
        ShowTurfWarsRadar(playerid);
    }
    if(!gPlayerLogged{playerid})
    {
        SendClientMessageEx(playerid, COLOR_WHITE, "ERROR: You are not logged in!");
        Kick(playerid);
        return 1;
	}
	Streamer_Update(playerid);
	if(GetPVarInt(playerid, "WreckingGate"))
	{
		DestroyObject(GetPVarInt(playerid, "WreckingGate"));
		DeletePVar(playerid, "WreckingGate");
		return 1;
	}
	if(GetPVarInt(playerid, "NGPassenger") == 1)
	{
	    new Float:X, Float:Y, Float:Z;
	    GetVehiclePos(GetPVarInt(playerid, "NGPassengerVeh"), X, Y, Z);
	    SetPlayerPos(playerid, (X-2.557), (Y-3.049), Z);
	    SetPlayerWeaponsEx(playerid);
        GivePlayerValidWeapon(playerid, 46, 1);
        SetPlayerSkin(playerid, GetPVarInt(playerid, "NGPassengerSkin"));
        SetPlayerHealth(playerid, GetPVarFloat(playerid, "NGPassengerHP"));
        SetPlayerArmour(playerid, GetPVarFloat(playerid, "NGPassengerArmor"));
		DeletePVar(playerid, "NGPassenger");
	    DeletePVar(playerid, "NGPassengerVeh");
		DeletePVar(playerid, "NGPassengerArmor");
		DeletePVar(playerid, "NGPassengerHP");
		DeletePVar(playerid, "NGPassengerSkin");
	    return 1;
	}
	if(InsideShamal[playerid] != INVALID_VEHICLE_ID)
	{
		SetPlayerPos(playerid, GetPVarFloat(playerid, "air_Xpos"), GetPVarFloat(playerid, "air_Ypos"), GetPVarFloat(playerid, "air_Zpos"));
		SetPlayerFacingAngle(playerid, GetPVarFloat(playerid, "air_Rpos"));
		SetPlayerHealth(playerid, GetPVarFloat(playerid, "air_HP"));
		SetPlayerArmour(playerid, GetPVarFloat(playerid, "air_Arm"));
		SetPlayerWeaponsEx(playerid);
		SetPlayerToTeamColor(playerid);
		SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);

		DeletePVar(playerid, "air_Xpos");
		DeletePVar(playerid, "air_Ypos");
		DeletePVar(playerid, "air_Zpos");
		DeletePVar(playerid, "air_Rpos");
		DeletePVar(playerid, "air_HP");
		DeletePVar(playerid, "air_Arm");

		SetCameraBehindPlayer(playerid);
		SetPlayerVirtualWorld(playerid, InsideShamal[playerid]);
		return SetPlayerInterior(playerid, 1);
	}
	SyncPlayerTime(playerid);
    if(IsPlayerNPC(playerid)) return 1;
	SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWantedLevel]);
	STDPlayer[playerid] = 0;
	KillTimer(TimerATACH[playerid]);
	gTeam[playerid] = PlayerInfo[playerid][pTeam];

	if(!gPlayerLogged{playerid}) return Kick(playerid);

	SetPlayerSpawn(playerid);
	SetPlayerWeapons(playerid);
	SetPlayerToTeamColor(playerid);
	
	PlayerTextDrawShow(playerid, ServerTips);
	PlayerTextDrawShow(playerid, MessagesTD);
	PlayerTextDrawShow(playerid, ServerBanner);

	CheckPH(playerid);
	SetWeaponSkills(playerid);

	return 1;
}

CreateStopSigns() {
	StopSigns[1] = CreateDynamicObject(16023, 2332.18, -1664.10, 13.69,   0.00, 0.00, 0.00);
	SetDynamicObjectMaterial(StopSigns[1], 0, 16023, "cj_barr_set_1", "Stop2_64", 0);
	StopSigns[2] = CreateDynamicObject(16023, 2353.51, -1653.81, 13.44,   0.00, 0.00, 180.00);
	SetDynamicObjectMaterial(StopSigns[2], 0, 16023, "cj_barr_set_1", "Stop2_64", 0);
	StopSigns[3] = CreateDynamicObject(16023, 1322.74, -1566.93, 13.69,   0.00, 0.00, -180.00);
	SetDynamicObjectMaterial(StopSigns[3], 0, 16023, "cj_barr_set_1", "Stop2_64", 0);
	StopSigns[4] = CreateDynamicObject(16023, 1596.73, -1430.88, 13.69,   0.00, 0.00, -90.00);
	SetDynamicObjectMaterial(StopSigns[4], 0, 16023, "cj_barr_set_1", "Stop2_64", 0);
	StopSigns[5] = CreateDynamicObject(16023, 1297.44, -1842.16, 13.44,   0.00, 0.00, -90.00);
	SetDynamicObjectMaterial(StopSigns[5], 0, 16023, "cj_barr_set_1", "Stop2_64", 0);
	StopSigns[6] = CreateDynamicObject(16023, 1297.44, -1842.16, 13.44,   0.00, 0.00, -90.00);
	SetDynamicObjectMaterial(StopSigns[6], 0, 16023, "cj_barr_set_1", "Stop2_64", 0);
}

SetWeaponSkills(playerid) {
	if(PlayerInfo[playerid][p9mmSkill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 400);
    if(PlayerInfo[playerid][pSilencedSkill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 400);
	if(PlayerInfo[playerid][pDeagleSkill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 400);
	if(PlayerInfo[playerid][pShotgunSkill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, 400);
	if(PlayerInfo[playerid][pSawnoffSkill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 400);
	if(PlayerInfo[playerid][pSpasSkill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, 400);
	if(PlayerInfo[playerid][pUziSkill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 400);
	if(PlayerInfo[playerid][pMp5Skill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, 400);
	if(PlayerInfo[playerid][pAKSkill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, 400);
	if(PlayerInfo[playerid][pM4Skill] == 1) SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, 999);
	else SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, 400); 
}

stock RegisterVehicleNumberPlate(vehicleid, sz_NumPlate[]) {
	new
	    Float: a_CarPos[4], Float: fuel; // X, Y, Z, Z Angle, Fuel

	GetVehiclePos(vehicleid, a_CarPos[0], a_CarPos[1], a_CarPos[2]);
	GetVehicleZAngle(vehicleid, a_CarPos[3]);
	SetVehicleNumberPlate(vehicleid, sz_NumPlate);
	SetVehicleToRespawn(vehicleid);
	SetVehiclePos(vehicleid, a_CarPos[0], a_CarPos[1], a_CarPos[2]);
	SetVehicleZAngle(vehicleid, a_CarPos[3]);
	return 1;
}

/*Log(sz_fileName[], sz_input[]) {

	new
		sz_logEntry[156],
		i_dateTime[2][3],
		File: fileHandle = fopen(sz_fileName, io_append);

	gettime(i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2]);
	getdate(i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2]);

	format(sz_logEntry, sizeof(sz_logEntry), "[%i/%i/%i - %i:%i:%i] %s\r\n", i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2], i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2], sz_input);
	fwrite(fileHandle, sz_logEntry);
	return fclose(fileHandle);
}
*/

Log(sz_table[], sz_input[]) {

	new i_dateTime[2][3], query[256], fulldate[50], fulltime[50];

	format(query,sizeof(query),"CREATE TABLE IF NOT EXISTS `%s` (`Date` TEXT NOT NULL ,`Time` TEXT NOT NULL ,`Log` TEXT NOT NULL)",sz_table);
	mysql_query(query, THREAD_INSERT_LOG);

	gettime(i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2]);
	getdate(i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2]);

	format(fulldate,sizeof(fulldate),"%i/%i/%i",i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2]);
	format(fulltime,sizeof(fulltime),"%i:%i:%i",i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2]);
	format(query, sizeof(query), "INSERT INTO `%s` (`Date`, `Time`, `Log`) VALUES ('%s', '%s', '%s');",sz_table,fulldate,fulltime,sz_input);
	return mysql_query(query, THREAD_INSERT_LOG);
}

LogIP(sz_name[], sz_ip[]) {

	new i_dateTime[2][3], query[256], fulldate[50], fulltime[50];

	format(query,sizeof(query),"CREATE TABLE IF NOT EXISTS `PlayerIP` (`Date` TEXT NOT NULL ,`Time` TEXT NOT NULL ,`Name` TEXT NOT NULL, `IP` TEXT NOT NULL)");
	mysql_query(query, THREAD_INSERT_LOG);

	gettime(i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2]);
	getdate(i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2]);

	format(fulldate,sizeof(fulldate),"%i/%i/%i",i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2]);
	format(fulltime,sizeof(fulltime),"%i:%i:%i",i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2]);
	format(query, sizeof(query), "INSERT INTO `PlayerIP` (`Date`, `Time`, `Name`, `IP`) VALUES ('%s', '%s', '%s', '%s');",fulldate,fulltime,sz_name,sz_ip);
	return mysql_query(query, THREAD_INSERT_LOG);
}

public OnPlayerLeaveCheckpoint(playerid)
{
    if(GetPVarInt(playerid,"IsInArena") >= 0)
	{
	    new arenaid = GetPVarInt(playerid, "IsInArena");
	    if(PaintBallArena[arenaid][pbGameType] == 4 || PaintBallArena[arenaid][pbGameType] == 5)
	    {
	    }
	    return 1;
	}
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	if(gPlayerCheckpointStatus[playerid] == ROUTE) {
		new vehicleid = GetPlayerVehicleID(playerid);
		if(IsABankCar(vehicleid)) {
		DisablePlayerCheckpoint(playerid);
		gPlayerCheckpointStatus[playerid] = RETURN;
		GameTextForPlayer(playerid, "~w~Delivery Complete", 5000, 1);
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Return to the depot to get your paycheck! (see checkpoint on radar).");
		SetPlayerCheckpoint(playerid,2520.6016,2447.6489,10.9427, 4);
		return 1;
		}
		else {
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You need to be in a bank car!");
		return 1;
		}
	}
	else if(gPlayerCheckpointStatus[playerid] == LAROUTE) {
		new vehicleid = GetPlayerVehicleID(playerid);
		if(IsABankCar(vehicleid)) {
		DisablePlayerCheckpoint(playerid);
		gPlayerCheckpointStatus[playerid] = RETURN;
		GameTextForPlayer(playerid, "~w~Delivery Complete", 5000, 1);
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Return to the depot to get your paycheck! (see checkpoint on radar).");
		SetPlayerCheckpoint(playerid,1433.0181,-962.2107,36.3097, 10);
		return 1;
		}
		else {
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You need to be in a bank car!");
		return 1;
		}
	}
	else if(gPlayerCheckpointStatus[playerid] == RETURN) {
	    if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
		{
			new string[128];
			format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
			ABroadCast( COLOR_YELLOW, string, 2 );
			format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
			Log("logs/hack.log", string);
		}
		new vehicleid = GetPlayerVehicleID(playerid);
		if(IsABankCar(vehicleid)) {
		gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
		DisablePlayerCheckpoint(playerid);
		new skin;
		skin = GetPVarInt(playerid, "OriginalSkin");
		PlayerInfo[playerid][pChar] = skin;
		PlayerInfo[playerid][pModel] = skin;
		SetPlayerSkin(playerid, skin);
		new BankCarID;
		BankCarID = GetPVarInt(playerid, "BankCarID");
		if(BankCarID != vehicleid) {
			SendClientMessageEx(playerid, COLOR_RED, "You did not receive payment because you completed the rotue in a different vehicle than you started in!");
			return 1;
		}
		new Float:health;
		new brinks, string[128];
		GetVehicleHealth(vehicleid, health);
		if(health >= 4000) {
			SendClientMessageEx(playerid, COLOR_YELLOW, "* You earned a bonus for returning the vehicle undamaged!");
			brinks += 5500;
		}
		else {
			brinks += floatround((health), floatround_ceil);
		}
		format(string, sizeof(string), "* You earned %d for completing the route!", brinks);
		SendClientMessageEx(playerid, COLOR_YELLOW, string);
		GivePlayerCash(playerid, brinks);
		brinks = 0;
		return 1;
		}
		else {
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You need to be in a bank car!");
		return 1;
		}
	}
	
	if(gPlayerCheckpointStatus[playerid] == REPAIR) {
		DisablePlayerCheckpoint(playerid);
		gPlayerCheckpointStatus[playerid] = REPAIRBACK;
		GameTextForPlayer(playerid, "~w~Repair Complete", 5000, 1);
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Return to the repair shop to get your paycheck! (see checkpoint on radar).");
		SetPlayerCheckpoint(playerid,981.3501,2082.9370,10.8203, 4);
		return 1;
	}
	else if(gPlayerCheckpointStatus[playerid] == REPAIRBACK) {
	    if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
		{
			new string[128];
			format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
			ABroadCast( COLOR_YELLOW, string, 2 );
			format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
			Log("logs/hack.log", string);
		}
		new vehicleid = GetPlayerVehicleID(playerid);
		if(IsARepair(vehicleid)) {
		gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
		DisablePlayerCheckpoint(playerid);
		new skin;
		skin = GetPVarInt(playerid, "OriginalSkin");
		PlayerInfo[playerid][pChar] = skin;
		PlayerInfo[playerid][pModel] = skin;
		SetPlayerSkin(playerid, skin);
		new Float:health;
		new repairpay, string[128];
		GetVehicleHealth(vehicleid, health);
		if(health >= 1000) {
			SendClientMessageEx(playerid, COLOR_YELLOW, "* You earned a bonus for returning the vehicle undamaged!");
			repairpay += 1500;
		}
		else {
			repairpay += floatround((health*0.5), floatround_ceil);
		}
		repairpay += 1000;
		format(string, sizeof(string), "* You earned %d for completing the route!", repairpay);
		SendClientMessageEx(playerid, COLOR_YELLOW, string);
		GivePlayerCash(playerid, repairpay);
		repairpay = 0;
		return 1;
		}
		else {
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You need to be in a repair truck!");
		return 1;
		}
	}

	if(IsLoaded[playerid] || IsBooked[playerid])
	{
		switch(MissionData[playerid][player_misstype])
		{
			case MISSION_TYPE_A1:
			{
				if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
				{
					new string[128];
					format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					ABroadCast( COLOR_YELLOW, string, 2 );
					format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					Log("logs/hack.log", string);
				}
				if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 435) return SendClientMessage(playerid, COLOR_RED, "You do not have a trailer to unload.");
				IsLoaded[playerid]=0;
				DisablePlayerCheckpoint(playerid);
				GivePlayerCash(playerid, tpsa1work[MissionData[playerid][player_missnumber]][tps_pay]);
				new string[128];
				format(string, 128, "You have delivered a load of %s to %s and earned $%d", tpsa1work[MissionData[playerid][player_missnumber]][tps_cargo], tpsa1work[MissionData[playerid][player_missnumber]][tps_dest],tpsa1work[MissionData[playerid][player_missnumber]][tps_pay]);
				SendClientMessage(playerid, -1, string);
				
				SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
			}
			case MISSION_TYPE_A3:
			{
				if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
				{
					new string[128];
					format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					ABroadCast( COLOR_YELLOW, string, 2 );
					format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					Log("logs/hack.log", string);
				}
				if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 591) return SendClientMessage(playerid, COLOR_RED, "You do not have a trailer to unload.");
				IsLoaded[playerid]=0;
				DisablePlayerCheckpoint(playerid);
				GivePlayerCash(playerid, tpsa3work[MissionData[playerid][player_missnumber]][tps_pay]);
				new string[128];
				format(string, 128, "You have delivered a load of %s to %s and earned $%d", tpsa3work[MissionData[playerid][player_missnumber]][tps_cargo], tpsa3work[MissionData[playerid][player_missnumber]][tps_dest],tpsa3work[MissionData[playerid][player_missnumber]][tps_pay]);
				SendClientMessage(playerid, -1, string);
				
				SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
			}
			case MISSION_TYPE_FUEL:
			{
				if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
				{
					new string[128];
					format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					ABroadCast( COLOR_YELLOW, string, 2 );
					format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					Log("logs/hack.log", string);
				}
				if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 584) return SendClientMessage(playerid, COLOR_RED, "You do not have a trailer to unload.");
				IsLoaded[playerid]=0;
				DisablePlayerCheckpoint(playerid);
				GivePlayerCash(playerid, tpsfuelwork[MissionData[playerid][player_missnumber]][tps_pay]);
				new string[128];
				format(string, 128, "You have delivered a load of %s to %s and earned $%d", tpsfuelwork[MissionData[playerid][player_missnumber]][tps_cargo], tpsfuelwork[MissionData[playerid][player_missnumber]][tps_dest],tpsfuelwork[MissionData[playerid][player_missnumber]][tps_pay]);
				SendClientMessage(playerid, -1, string);
				
				SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
			}
			case MISSION_TYPE_DUMP:
			{
				if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
				{
					new string[128];
					format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					ABroadCast( COLOR_YELLOW, string, 2 );
					format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					Log("logs/hack.log", string);
				}
				if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 450) return SendClientMessage(playerid, COLOR_RED, "You do not have a trailer to unload.");
				IsLoaded[playerid]=0;
				DisablePlayerCheckpoint(playerid);
				GivePlayerCash(playerid, tpsdumperwork[MissionData[playerid][player_missnumber]][tps_pay]);
				new string[128];
				format(string, 128, "You have delivered a load of %s to %s and earned $%d", tpsdumperwork[MissionData[playerid][player_missnumber]][tps_cargo], tpsdumperwork[MissionData[playerid][player_missnumber]][tps_dest],tpsdumperwork[MissionData[playerid][player_missnumber]][tps_pay]);
				SendClientMessage(playerid, -1, string);
				
				SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
			}
			case MISSION_TYPE_SFA1:
			{
				if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
				{
					new string[128];
					format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					ABroadCast( COLOR_YELLOW, string, 2 );
					format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					Log("logs/hack.log", string);
				}
				if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 435) return SendClientMessage(playerid, COLOR_RED, "You do not have a trailer to unload.");
				IsLoaded[playerid]=0;
				DisablePlayerCheckpoint(playerid);
				GivePlayerCash(playerid, cdlsfa1work[MissionData[playerid][player_missnumber]][sfcdl_pay]);
				new string[128];
				format(string, 128, "You have delivered a load of %s to %s and earned $%d", cdlsfa1work[MissionData[playerid][player_missnumber]][sfcdl_cargo], cdlsfa1work[MissionData[playerid][player_missnumber]][sfcdl_dest],cdlsfa1work[MissionData[playerid][player_missnumber]][sfcdl_pay]);
				SendClientMessage(playerid, -1, string);
				
				SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
			}
			case MISSION_TYPE_SFA3:
			{
				if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
				{
					new string[128];
					format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					ABroadCast( COLOR_YELLOW, string, 2 );
					format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					Log("logs/hack.log", string);
				}
				if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 591) return SendClientMessage(playerid, COLOR_RED, "You do not have a trailer to unload.");
				IsLoaded[playerid]=0;
				DisablePlayerCheckpoint(playerid);
				GivePlayerCash(playerid, cdlsfa3work[MissionData[playerid][player_missnumber]][sfcdl_pay]);
				new string[128];
				format(string, 128, "You have delivered a load of %s to %s and earned $%d", cdlsfa3work[MissionData[playerid][player_missnumber]][sfcdl_cargo], cdlsfa3work[MissionData[playerid][player_missnumber]][sfcdl_dest],cdlsfa3work[MissionData[playerid][player_missnumber]][sfcdl_pay]);
				SendClientMessage(playerid, -1, string);
				
				SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
			}
			case MISSION_TYPE_SFFUEL:
			{
				if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
				{
					new string[128];
					format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					ABroadCast( COLOR_YELLOW, string, 2 );
					format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					Log("logs/hack.log", string);
				}
				if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 584) return SendClientMessage(playerid, COLOR_RED, "You do not have a trailer to unload.");
				IsLoaded[playerid]=0;
				DisablePlayerCheckpoint(playerid);
				GivePlayerCash(playerid, cdlsffuelwork[MissionData[playerid][player_missnumber]][sfcdl_pay]);
				new string[128];
				format(string, 128, "You have delivered a load of %s to %s and earned $%d", cdlsffuelwork[MissionData[playerid][player_missnumber]][sfcdl_cargo], cdlsffuelwork[MissionData[playerid][player_missnumber]][sfcdl_dest],cdlsffuelwork[MissionData[playerid][player_missnumber]][sfcdl_pay]);
				SendClientMessage(playerid, -1, string);
				
				SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
			}
			case MISSION_TYPE_SFDUMP:
			{
				if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
				{
					new string[128];
					format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					ABroadCast( COLOR_YELLOW, string, 2 );
					format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					Log("logs/hack.log", string);
				}
				if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 450) return SendClientMessage(playerid, COLOR_RED, "You do not have a trailer to unload.");
				IsLoaded[playerid]=0;
				DisablePlayerCheckpoint(playerid);
				GivePlayerCash(playerid, cdlsfdumpwork[MissionData[playerid][player_missnumber]][sfcdl_pay]);
				new string[128];
				format(string, 128, "You have delivered a load of %s to %s and earned $%d", cdlsfdumpwork[MissionData[playerid][player_missnumber]][sfcdl_cargo], cdlsfdumpwork[MissionData[playerid][player_missnumber]][sfcdl_dest],cdlsfdumpwork[MissionData[playerid][player_missnumber]][sfcdl_pay]);
				SendClientMessage(playerid, -1, string);
				
				SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
			}			
			case MISSION_TYPE_AIR:
			{
			    if(GetPVarInt(playerid, "tpSTruckRunTimer") != 0)
				{
					new string[128];
					format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					ABroadCast( COLOR_YELLOW, string, 2 );
					format(string, sizeof(string), "%s (ID %d) is possibly /trackcar exploiting.", GetPlayerNameEx(playerid), playerid);
					Log("logs/hack.log", string);
				}
				new vehicleid = GetPlayerVehicleID(playerid);
				if(!IsAPlane(vehicleid)) {
					IsBooked[playerid]=0;
					DisablePlayerCheckpoint(playerid);
					return Error(playerid, "You need to be in the same airplane you loaded the cargo into!");
				}
				else {
					IsBooked[playerid]=0;
					DisablePlayerCheckpoint(playerid);
					GivePlayerCash(playerid, airwork[MissionData[playerid][player_missnumber]][air_pay]);
					new string[128];
					IsDoingAirMission[playerid] = 0;
					format(string, 128, "You have flew a plane of %s to %s and earned $%d", airwork[MissionData[playerid][player_missnumber]][air_cargo], airwork[MissionData[playerid][player_missnumber]][air_dest],airwork[MissionData[playerid][player_missnumber]][air_pay]);
					SendClientMessage(playerid, -1, string);
					return 1;
				}
			}
		}
	}
	if(GetPVarInt(playerid,"IsInArena") >= 0)
	{
	    new arenaid = GetPVarInt(playerid, "IsInArena");
	    if(PaintBallArena[arenaid][pbGameType] == 4 || PaintBallArena[arenaid][pbGameType] == 5)
	    {
	    }
	    return 1;
	}
	if(GetPVarInt(playerid,"TrackCar") != 0)
	{
	    PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
	    DisablePlayerCheckpoint(playerid);
		DeletePVar(playerid, "TrackCar");
		return 1;
	}
	if(GetPVarInt(playerid,"IsOnGPS") != 0)
	{
	    PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
	    DisablePlayerCheckpoint(playerid);
		SetPVarInt(playerid, "IsOnGPS", 0);
		SendClientMessageEx(playerid,COLOR_YELLOW,"You have reached your destination!");
		return 1;
	}
	for(new h = 0; h < MAX_POINTS; h++)
	{
		if(GetPVarInt(playerid, "CrateDeliver") == 1 && IsPlayerInRangeOfPoint(playerid, 6.0, 2166.3772,-1675.3829,15.0859))
		{
			new string[128];
		    if(GetPVarInt(playerid, "tpDrugRunTimer") != 0)
	    	{
			   	format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport drugrunning.", GetPlayerNameEx(playerid), playerid);
			   	ABroadCast( COLOR_YELLOW, string, 2 );
			   	format(string, sizeof(string), "%s (ID %d) is possibly teleport drugrunning.", GetPlayerNameEx(playerid), playerid);
			   	Log("logs/hack.log", string);
			}
			DisablePlayerCheckpoint(playerid);
			new level = PlayerInfo[playerid][pSmugSkill];
   			if(level >= 0 && level <= 20)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $250 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 250);
			}
			else if(level >= 21 && level <= 50)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $500 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 500);
			}
			else if(level >= 51 && level <= 100)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $200 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 200);
			}
			else if(level >= 101 && level <= 200)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $300 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 300);
			}
			else if(level >= 201)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $400 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 400);
			}
			DeletePVar(playerid, "CrateDeliver");
			PlayerInfo[playerid][pCrates] = 0;
			drugsys[DrugPotAmmount] += random(30);
			PlayerInfo[playerid][pSmugSkill]++;
			SaveDrugSystem();
			return 1;
		}
		else if(GetPVarInt(playerid, "CrateDeliver") == 2 && IsPlayerInRangeOfPoint(playerid, 6.0, 2354.2808,-1169.2959,28.0066))
		{
			new string[128];
		    if(GetPVarInt(playerid, "tpDrugRunTimer") != 0)
	    	{
			   	format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport drugrunning.", GetPlayerNameEx(playerid), playerid);
			   	ABroadCast( COLOR_YELLOW, string, 2 );
			   	format(string, sizeof(string), "%s (ID %d) is possibly teleport drugrunning.", GetPlayerNameEx(playerid), playerid);
			   	Log("logs/hack.log", string);
			}
			DisablePlayerCheckpoint(playerid);
			new level = PlayerInfo[playerid][pSmugSkill];
			if(level >= 0 && level <= 20)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $125 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 125);
			}
			else if(level >= 21 && level <= 50)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $150 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 150);
			}
			else if(level >= 51 && level <= 100)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $200 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 200);
			}
			else if(level >= 101 && level <= 200)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $300 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 300);
			}
			else if(level >= 201)
			{
			    SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* You received $400 for delivering the Drug Crates.");
				GivePlayerCash(playerid, 400);
			}
			DeletePVar(playerid, "CrateDeliver");
			PlayerInfo[playerid][pCrates] = 0;
			drugsys[DrugCrackAmmount] += random(30);
			PlayerInfo[playerid][pSmugSkill]++;
			SaveDrugSystem();
			return 1;
		}
		else if(Points[h][Type] == 2 && GetPVarInt(playerid, "MatDeliver") == Points[h][MatPoint] && IsPlayerInRangeOfPoint(playerid, 6.0, Points[h][Pointx], Points[h][Pointy], Points[h][Pointz]))
		{
			if(GetPVarInt(playerid, "Packages") > 0)
			{
				new string[128];
				if(GetPVarInt(playerid, "tpMatRunTimer") != 0)
			    {
			    	format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport matrunning.", GetPlayerNameEx(playerid), playerid);
			    	ABroadCast( COLOR_YELLOW, string, 2 );
			    	format(string, sizeof(string), "%s (ID %d) is possibly teleport matrunning.", GetPlayerNameEx(playerid), playerid);
			    	Log("logs/hack.log", string);
				}
				new payout = (25)*(GetPVarInt(playerid, "Packages"));

				if(PlayerInfo[playerid][pDonateRank] == 1)
				{
				    PlayerInfo[playerid][pMats] += 375;
					SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 375 materials for your 15 materials packages.");
					SendClientMessageEx(playerid, COLOR_YELLOW,"Bronze VIP: You received 1.5x more materials than normal.");

				}
				else if(PlayerInfo[playerid][pDonateRank] == 2 || PlayerInfo[playerid][pDonateRank] == 3)
				{
				    PlayerInfo[playerid][pMats] += 500;
					SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 500 materials for your 20 materials packages.");
					SendClientMessageEx(playerid, COLOR_YELLOW,"Silver & Gold VIP: You received 2x more materials than normal.");

				}
				else if(PlayerInfo[playerid][pDonateRank] >= 4)
				{
				    PlayerInfo[playerid][pMats] += 625;
					SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 625 materials for your 25 materials packages.");
					SendClientMessageEx(playerid, COLOR_YELLOW,"Platinum VIP: You received 2.5x more materials than normal.");

				}
				else
				{
    				PlayerInfo[playerid][pMats] += 250;
					SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 250 materials for your 10 materials packages.");
				}

				DeletePVar(playerid, "Packages");
				DeletePVar(playerid, "MatDeliver");
				DisablePlayerCheckpoint(playerid);
				for(new p = 0; p < sizeof(FamilyInfo); p++)
				{
					if(strcmp(Points[h][Owner], FamilyInfo[p][FamilyName], true) == 0)
					{
						FamilyInfo[p][FamilyBank] = FamilyInfo[p][FamilyBank]+(payout/3);
						//SendClientMessageEx(playerid, COLOR_WHITE, " Family owner recieved 50 percent of the cost.");
					}
				}
				return 1;
			}
		}
		else if(GetPVarInt(playerid, "MatDeliver") == 333 && IsPlayerInRangeOfPoint(playerid, 6.0, -330.44, -467.54, 0.85))
		{
			if(GetPVarInt(playerid, "Packages") > 0)
			{
				new vehicle = GetPlayerVehicleID(playerid);
				if(IsABoat(vehicle))
				{
					if(PlayerInfo[playerid][pDonateRank] == 1)
					{
				    	PlayerInfo[playerid][pMats] += 675;
						SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 675 materials for your 23 materials packages.");
						SendClientMessageEx(playerid, COLOR_YELLOW,"Bronze VIP: You received 1.5x more materials than normal.");
					}
					else if(PlayerInfo[playerid][pDonateRank] == 2 || PlayerInfo[playerid][pDonateRank] == 3)
					{
				    	PlayerInfo[playerid][pMats] += 900;
						SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 900 materials for your 30 materials packages.");
						SendClientMessageEx(playerid, COLOR_YELLOW,"Silver & Gold VIP: You received 2x more materials than normal.");

					}
					else if(PlayerInfo[playerid][pDonateRank] >= 4)
					{
				    	PlayerInfo[playerid][pMats] += 625;
						SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 1125 materials for your 38 materials packages.");
						SendClientMessageEx(playerid, COLOR_YELLOW,"Platinum VIP: You received 2.5x more materials than normal.");

					}
					else
					{
						PlayerInfo[playerid][pMats] += 450;
						SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 450 materials for your 15 materials packages.");
					}

					DeletePVar(playerid, "Packages");
					DeletePVar(playerid, "MatDeliver");
					DisablePlayerCheckpoint(playerid);
				}
				else
				{
					GameTextForPlayer(playerid, "~r~You are not in a boat!", 3000, 1);
					return 1;
				}
				if(GetPVarInt(playerid, "tpMatRunTimer") != 0)
			    {
					new string[128];
			    	format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport matrunning.", GetPlayerNameEx(playerid), playerid);
			    	ABroadCast( COLOR_YELLOW, string, 2 );
			    	format(string, sizeof(string), "%s (ID %d) is possibly teleport matrunning.", GetPlayerNameEx(playerid), playerid);
			    	Log("logs/hack.log", string);
				}
				return 1;
			}
		}
		else if(GetPVarInt(playerid, "MatDeliver") == 444 && IsPlayerInRangeOfPoint(playerid, 6.0, -1872.879760, 1416.312500, 7.180089))
		{
			if(GetPVarInt(playerid, "Packages") > 0)
			{
				if(PlayerInfo[playerid][pDonateRank] == 1)
				{
				    PlayerInfo[playerid][pMats] += 450;
					SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 450 materials for your 18 materials packages.");
					SendClientMessageEx(playerid, COLOR_YELLOW,"Bronze VIP: You received 1.5x more materials than normal.");

				}
				else if(PlayerInfo[playerid][pDonateRank] == 2 || PlayerInfo[playerid][pDonateRank] == 3)
				{
				    PlayerInfo[playerid][pMats] += 600;
					SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 600 materials for your 24 materials packages.");
					SendClientMessageEx(playerid, COLOR_YELLOW,"Silver & Gold VIP: You received 2x more materials than normal.");

				}
				else if(PlayerInfo[playerid][pDonateRank] >= 4)
				{
				    PlayerInfo[playerid][pMats] += 750;
					SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 750 materials for your 30 materials packages.");
					SendClientMessageEx(playerid, COLOR_YELLOW,"Platinum VIP: You received 2.5x more materials than normal.");

				}
				else
				{
			    	PlayerInfo[playerid][pMats] += 300;
					SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* The factory gave you 300 materials for your 12 materials packages.");
				}

				DeletePVar(playerid, "Packages");
				DeletePVar(playerid, "MatDeliver");
				DisablePlayerCheckpoint(playerid);
				if(GetPVarInt(playerid, "tpMatRunTimer") != 0)
			    {
					new string[128];
			    	format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport matrunning.", GetPlayerNameEx(playerid), playerid);
			    	ABroadCast( COLOR_YELLOW, string, 2 );
			    	format(string, sizeof(string), "%s (ID %d) is possibly teleport matrunning.", GetPlayerNameEx(playerid), playerid);
			    	Log("logs/hack.log", string);
				}
				return 1;
			}
		}
	}
	if(GetPVarInt(playerid, "TruckDeliver") > 0 && gPlayerCheckpointStatus[playerid] != CHECKPOINT_RETURNTRUCK)
	{
	    new vehicleid = GetPlayerVehicleID(playerid);
	    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
	    {
	        SendClientMessageEx(playerid, COLOR_WHITE, "You are not in a Truck!");
	        return 1;
	    }
	    if(TruckUsed[playerid] != INVALID_VEHICLE_ID && vehicleid != TruckUsed[playerid])
	    {
	        SendClientMessageEx(playerid, COLOR_WHITE, "This is not your Truck with the goods you are suppose to deliver!");
	        return 1;
	    }

		if(!IsAtTruckDeliveryPoint(playerid))
 		{// In the case the player finds a way to exploit the checkpoint to different location
			CancelTruckDelivery(playerid);
			SendClientMessageEx(playerid, COLOR_REALRED, "ERROR: Wrong checkpoint entered. Truck delivery canceled completely.");
			return 1;
   		}

		if(GetPVarInt(playerid, "tpTruckRunTimer") != 0)
		{
  			new string[128];
			format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport truckrunning.", GetPlayerNameEx(playerid), playerid);
  			ABroadCast( COLOR_YELLOW, string, 2 );
    		format(string, sizeof(string), "%s (ID %d) is possibly teleport truckrunning.", GetPlayerNameEx(playerid), playerid);
	    	Log("logs/hack.log", string);
		}
		new truckdeliver = GetPVarInt(playerid, "TruckDeliver");
		TruckContents[vehicleid] = 0;

		if(truckdeliver >= 1 && truckdeliver <= 3)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the food & beverages, return the truck to the Los Angeles Docks to collect your pay.");
		}
		else if(truckdeliver >= 4 && truckdeliver <= 6)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the clothing, return the truck to the Los Angeles Docks to collect your pay.");
		}
		else if(truckdeliver == 7)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the materials, return the truck to the Los Angeles Docks to collect your pay.");
		}
		else if(truckdeliver >= 8 && truckdeliver <= 10)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the 24/7 items, return the truck to the Los Angeles Docks to collect your pay.");
		}
		else if(truckdeliver >= 11 && truckdeliver <= 15)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the weapons, return the truck to the Los Angeles Docks to collect your pay.");
		}
		else if(truckdeliver >= 16 && truckdeliver <= 20)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the drugs, return the truck to the Los Angeles Docks to collect your pay.");
		}
		else if(truckdeliver >= 21 && truckdeliver <= 25)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the illegal materials, return the truck to the Los Angeles Docks to collect your pay.");
		}
		else if(truckdeliver >= 26 && truckdeliver <= 30)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the illegal county run, return the truck to the Los Angeles Docks to collect your pay.");
		}
		DisablePlayerCheckpoint(playerid);

		gPlayerCheckpointStatus[playerid] = CHECKPOINT_RETURNTRUCK;
		SetPlayerCheckpoint(playerid, 2439.6140,-2116.7917,13.5469, 5);
		GameTextForPlayer(playerid, "~w~Waypoint set ~r~Los Angeles Docks", 5000, 1);
		SendClientMessageEx(playerid, COLOR_WHITE, "HINT: Return to the Los Angeles Docks (see checkpoint on radar).");

		SetPVarInt(playerid, "tpTruckRunTimer", 30);
		SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPTRUCKRUNTIMER);
		return 1;
	}
	if(GetPVarInt(playerid, "VanDeliver") > 0 && gPlayerCheckpointStatus[playerid] != CHECKPOINT_RETURNVAN)
	{
		new string[128];
	    new vehicleid = GetPlayerVehicleID(playerid);
	    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
	    {
	        SendClientMessageEx(playerid, COLOR_WHITE, "You are not in a Van!");
	        return 1;
	    }
	    if(VanUsed[playerid] != INVALID_VEHICLE_ID && vehicleid != VanUsed[playerid])
	    {
	        SendClientMessageEx(playerid, COLOR_WHITE, "This is not your Van with the goods you are suppose to deliver!");
	        return 1;
	    }

		if(!IsAtVanDeliveryPoint(playerid))
 		{// In the case the player finds a way to exploit the checkpoint to different location
			CancelVanDelivery(playerid);
			SendClientMessageEx(playerid, COLOR_REALRED, "ERROR: Wrong checkpoint entered. Van delivery canceled completely.");
			return 1;
   		}

		if (GetPVarInt(playerid, "tpFedexTimer") != 0)
		{
			format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport Fedex Running.", GetPlayerNameEx(playerid), playerid);
  			ABroadCast( COLOR_YELLOW, string, 2 );
    		format(string, sizeof(string), "%s (ID %d) is possibly teleport Fedex Running.", GetPlayerNameEx(playerid), playerid);
	    	Log("logs/hack.log", string);
		}
		new vandeliver = GetPVarInt(playerid, "VanDeliver");
		VanContents[vehicleid] = 0;

		if(vandeliver >= 1 && vandeliver <= 3)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the food & beverages, return the van to the San Fierro Yard to collect your pay.");
		}
		else if(vandeliver >= 4 && vandeliver <= 6)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the clothing, return the van to the San Fierro Yard to collect your pay.");
		}
		else if(vandeliver == 7)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the materials, return the van to the San Fierro Yard to collect your pay.");
		}
		else if(vandeliver >= 8 && vandeliver <= 10)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the 24/7 items, return the van to the San Fierro Yard to collect your pay.");
		}
		else if(vandeliver >= 11 && vandeliver <= 15)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the weapons, return the van to the San Fierro Yard to collect your pay.");
		}
		else if(vandeliver >= 16 && vandeliver <= 20)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the drugs, return the van to the San Fierro Yard to collect your pay.");
		}
		else if(vandeliver >= 21 && vandeliver <= 25)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the illegal materials, return the van to the San Fierro Yard to collect your pay.");
		}
		else if(vandeliver >= 26 && vandeliver <= 30)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You delivered the illegal county run, return the van to the San Fierro Yard to collect your pay.");
		}
		DisablePlayerCheckpoint(playerid);

		gPlayerCheckpointStatus[playerid] = CHECKPOINT_RETURNVAN;
		SetPlayerCheckpoint(playerid, -2135.9277,-247.8900,36.2119, 5);
		GameTextForPlayer(playerid, "~w~Waypoint set ~r~San Fierro Yard", 5000, 1);
		SendClientMessageEx(playerid, COLOR_WHITE, "HINT: Return to the San Fierro Yard (see checkpoint on radar).");

		SetPVarInt(playerid, "tpFedexTimer", 30);
		SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPFEDEXRUNTIMER);
		return 1;
	}
	// Pizza Delivery
	if(GetPVarInt(playerid, "Pizza") > 0 && IsPlayerInRangeOfPoint(playerid, 5.0, HouseInfo[GetPVarInt(playerid, "Pizza")][hExteriorX], HouseInfo[GetPVarInt(playerid, "Pizza")][hExteriorY], HouseInfo[GetPVarInt(playerid, "Pizza")][hExteriorZ]))
	{
	    new string[128];
		if (GetPVarInt(playerid, "tpPizzaTimer") != 0)
		{
			format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport pizzarunning.", GetPlayerNameEx(playerid), playerid);
  			ABroadCast( COLOR_YELLOW, string, 2 );
    		format(string, sizeof(string), "%s (ID %d) is possibly teleport pizzarunning.", GetPlayerNameEx(playerid), playerid);
	    	Log("logs/hack.log", string);
		}
		DestroyProgressBar(PizzaBar[playerid]);
		format(string, sizeof(string), "You have delivered the pizza to the destination! You have made $%d.", (GetPVarInt(playerid, "pizzaTimer") * 10));
		Tax -= (GetPVarInt(playerid, "pizzaTimer") * 10);
		SaveStuff();
		GivePlayerCash(playerid, floatround((GetPVarInt(playerid, "pizzaTimer") * 3), floatround_round));
		SendClientMessageEx(playerid, COLOR_WHITE, string);
		SetPVarInt(playerid, "Pizza", 0);
		DisablePlayerCheckpoint(playerid);

	}
	// Burger Delivery
	if(GetPVarInt(playerid, "Burger") > 0 && IsPlayerInRangeOfPoint(playerid, 5.0, HouseInfo[GetPVarInt(playerid, "Burger")][hExteriorX], HouseInfo[GetPVarInt(playerid, "Burger")][hExteriorY], HouseInfo[GetPVarInt(playerid, "Burger")][hExteriorZ]))
	{
	    new string[128];
		if (GetPVarInt(playerid, "tpPizzaTimer") != 0)
		{
			format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport burgerrunning.", GetPlayerNameEx(playerid), playerid);
  			ABroadCast( COLOR_YELLOW, string, 2 );
    		format(string, sizeof(string), "%s (ID %d) is possibly teleport burgerrunning.", GetPlayerNameEx(playerid), playerid);
	    	Log("logs/hack.log", string);
		}
		format(string, sizeof(string), "You have made the delivery to the destination! You have made $%d.", (GetPVarInt(playerid, "burgerTimer") * 10));
		Tax -= (GetPVarInt(playerid, "burgerTimer") * 10);
		SaveStuff();
		GivePlayerCash(playerid, floatround((GetPVarInt(playerid, "burgerTimer") * 10), floatround_round));
		SendClientMessageEx(playerid, COLOR_WHITE, string);
		SetPVarInt(playerid, "Burger", 0);
		DisablePlayerCheckpoint(playerid);

	}
	if(GetPVarInt(playerid, "Finding")>=1)
	{
	    DeletePVar(playerid, "Finding");
	    DisablePlayerCheckpoint(playerid);
	    GameTextForPlayer(playerid, "~w~Reached destination", 5000, 1);
	}
	if(TaxiCallTime[playerid] > 0 && TaxiAccepted[playerid] < 999)
	{
		TaxiAccepted[playerid] = 999;
		GameTextForPlayer(playerid, "~w~Reached destination", 5000, 1);
		TaxiCallTime[playerid] = 0;
		DisablePlayerCheckpoint(playerid);
	}
	else if(EMSCallTime[playerid] > 0 && EMSAccepted[playerid] < 999)
	{
	    if(GetPVarInt(EMSAccepted[playerid], "Injured") == 1)
	    {
	    	SendEMSQueue(EMSAccepted[playerid],2);
	    	EMSAccepted[playerid] = 999;
	    	GameTextForPlayer(playerid, "~g~Reached destination", 5000, 1);
			if(PlayerInfo[playerid][pMember]==4||PlayerInfo[playerid][pLeader]==4 || (PlayerInfo[playerid][pMember] == 12 && PlayerInfo[playerid][pDivision] == 3) || (PlayerInfo[playerid][pMember] == 11 && (PlayerInfo[playerid][pDivision] == 7 || PlayerInfo[playerid][pDivision] == 3))) {
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Don't forget to grab your ALS bag in the back of the Ambulance (/getals)");
			}
	    	EMSCallTime[playerid] = 0;
	    	DisablePlayerCheckpoint(playerid);
		}
		else
		{
            EMSAccepted[playerid] = 999;
		    GameTextForPlayer(playerid, "~r~Patient has died", 5000, 1);
		    EMSCallTime[playerid] = 0;
	    	DisablePlayerCheckpoint(playerid);
((DONT MIND THIS I DELETED ALOT OF CODE))
// MoveEMS Function(playerid)
public MoveEMS(playerid)
{
    new Float:mX, Float:mY, Float:mZ;
    GetPlayerPos(playerid, mX, mY, mZ);

    SetPVarFloat(GetPVarInt(playerid, "MovingStretcher"), "MedicX", mX);
	SetPVarFloat(GetPVarInt(playerid, "MovingStretcher"), "MedicY", mY);
	SetPVarFloat(GetPVarInt(playerid, "MovingStretcher"), "MedicZ", mZ);
	SetPVarInt(GetPVarInt(playerid, "MovingStretcher"), "MedicVW", GetPlayerVirtualWorld(playerid));
	SetPVarInt(GetPVarInt(playerid, "MovingStretcher"), "MedicInt", GetPlayerInterior(playerid));

	Streamer_UpdateEx(GetPVarInt(playerid, "MovingStretcher"), mX, mY, mZ);
	SetPlayerPos(GetPVarInt(playerid, "MovingStretcher"), mX, mY, mZ);
	SetPlayerInterior(GetPVarInt(playerid, "MovingStretcher"), GetPlayerVirtualWorld(playerid));
	SetPlayerVirtualWorld(GetPVarInt(playerid, "MovingStretcher"), GetPlayerVirtualWorld(playerid));

	ClearAnimations(GetPVarInt(playerid, "MovingStretcher"));
	ApplyAnimation(GetPVarInt(playerid, "MovingStretcher"), "SWAT", "gnstwall_injurd", 4.0, 0, 1, 1, 1, 0, 1);

	DeletePVar(GetPVarInt(playerid, "MovingStretcher"), "OnStretcher");
	SetPVarInt(playerid, "MovingStretcher", -1);
}

// MoveCOP Function(playerid)
stock MoveCOP(playerid)
{
		new Float:X, Float:Y, Float:Z;
    	GetPlayerPos(playerid, X, Y, Z);

    	SetPVarFloat(GetPVarInt(playerid, "DraggingPlayer"), "DragX", X);
		SetPVarFloat(GetPVarInt(playerid, "DraggingPlayer"), "DragY", Y);
		SetPVarFloat(GetPVarInt(playerid, "DraggingPlayer"), "DragZ", Z);
		SetPVarInt(GetPVarInt(playerid, "DraggingPlayer"), "DragWorld", GetPlayerVirtualWorld(playerid));
		SetPVarInt(GetPVarInt(playerid, "DraggingPlayer"), "DragInt", GetPlayerInterior(playerid));
		Streamer_UpdateEx(GetPVarInt(playerid, "DraggingPlayer"), X, Y, Z);
		SetPlayerPos(GetPVarInt(playerid, "DraggingPlayer"), X, Y, Z);
		SetPlayerInterior(GetPVarInt(playerid, "DraggingPlayer"), GetPlayerVirtualWorld(playerid));
		SetPlayerVirtualWorld(GetPVarInt(playerid, "DraggingPlayer"), GetPlayerVirtualWorld(playerid));
        DeletePVar(GetPVarInt(playerid, "DraggingPlayer"), "BeingDragged");
        SetPVarInt(playerid, "DraggingPlayer", -1);
}

//KillEMSQueue Function(playerid)
public KillEMSQueue(playerid)
{
    DeletePVar(playerid, "Injured");
    DeletePVar(playerid, "EMSAttempt");
	SetPVarInt(playerid, "MedicBill", 1);
	DeletePVar(playerid, "MedicCall");

	return 1;
}

forward SendEMSQueue(playerid,type);
public SendEMSQueue(playerid,type)
{
	switch (type)
	{
		case 1:
		{
		    Streamer_UpdateEx(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
			SetPlayerPos(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
			SetPlayerVirtualWorld(playerid, GetPVarInt(playerid,"MedicVW"));
	  		SetPlayerInterior(playerid, GetPVarInt(playerid,"MedicInt"));

			SetPVarInt(playerid, "EMSAttempt", -1);

			if(GetPlayerInterior(playerid) > 0) Player_StreamPrep(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"), 4000);
			GameTextForPlayer(playerid, "~r~Injured~n~~w~ /service ems", 5000, 3);
			ClearAnimations(playerid);
			ApplyAnimation(playerid, "KNIFE", "KILL_Knife_Ped_Die", 4.0, 0, 1, 1, 1, 0, 1);
			SetPlayerHealth(playerid, 100);
			SetPlayerArmour(playerid,0);
			if(GetPVarInt(playerid, "usingfirstaid") == 1)
			{
			    firstaidexpire(playerid);
			}
			SetPVarInt(playerid,"MedicCall",1);
		}
		case 2:
		{
		    SetPVarInt(playerid,"EMSAttempt", 2);
			ClearAnimations(playerid);
		 	ApplyAnimation(playerid, "SWAT", "gnstwall_injurd", 4.0, 0, 1, 1, 1, 0, 1);
			SetPlayerHealth(playerid, 100);
			SetPlayerArmour(playerid,0);
		}
	}
	return 1;
}
Reply
#2

NOTICE: Go to bottom of the onPlayerSpawn code to see the EMS fuctions
Reply
#3

Anybody?
Reply
#4

Does anybody know how to fix this? xD
Reply
#5

Oh ,Didnt you say that you are the one who messed up the OnPlayerDeath ? I see that you cant fix it now XD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)