All pastes #917832 Raw Edit

Miscellany

public text v1 · immutable
#917832 ·published 2008-02-25 18:45 UTC
rendered paste body
smartTeleportPlayer(playerid, teleid)
{
	if(!isJailed[playerid] && !isFrozen[playerid])
	{
		new bool:PlyMayUseThisTele = false;
		if(smartTeleArray[teleid][allow_superadmin_tele] && isSuperAdmin[playerid])
		{
		    PlyMayUseThisTele = true;
		}
		if(smartTeleArray[teleid][allow_admin_tele] && isAdmin[playerid])
		{
		    PlyMayUseThisTele = true;
		}
		if(smartTeleArray[teleid][allow_vip_tele] && isVip[playerid])
		{
		    PlyMayUseThisTele = true;
		}
		if(smartTeleArray[teleid][allow_client_tele])
		{
		    PlyMayUseThisTele = true;
		}
		if(PlyMayUseThisTele)
		{
			if (IsPlayerInAnyVehicle(playerid))
			{
				new State=GetPlayerState(playerid);
				if(State!=PLAYER_STATE_DRIVER)
				{
					SendClientMessage(playerid, COLOR_SYSMSG,"You can only teleport this car as the driver.");
					return 1;
				}
				if(!smartTeleArray[teleid][allow_vehicle_tele])
				{
					SendClientMessage(playerid, COLOR_SYSMSG,"This teleport cant be used with vehicles");
					return 1;
				}
				new spawnVehicle = GetPlayerVehicleID(playerid);
	   			new cartospawn;
				cartospawn = random(4);
				switch(cartospawn)
				{
					case 0:
					{
						SetVehiclePos(spawnVehicle,smartTeleArray[teleid][vehicle_pos_1_x],smartTeleArray[teleid][vehicle_pos_1_y],smartTeleArray[teleid][vehicle_pos_1_z]);
						SetVehicleZAngle(spawnVehicle,smartTeleArray[teleid][vehicle_pos_1_a]);
					}
					case 1:
					{
						SetVehiclePos(spawnVehicle,smartTeleArray[teleid][vehicle_pos_2_x],smartTeleArray[teleid][vehicle_pos_2_y],smartTeleArray[teleid][vehicle_pos_2_z]);
						SetVehicleZAngle(spawnVehicle,smartTeleArray[teleid][vehicle_pos_2_a]);
					}
					case 2:
					{
						SetVehiclePos(spawnVehicle,smartTeleArray[teleid][vehicle_pos_3_x],smartTeleArray[teleid][vehicle_pos_3_y],smartTeleArray[teleid][vehicle_pos_3_z]);
						SetVehicleZAngle(spawnVehicle,smartTeleArray[teleid][vehicle_pos_3_a]);
					}
					case 3:
					{
						SetVehiclePos(spawnVehicle,smartTeleArray[teleid][vehicle_pos_4_x],smartTeleArray[teleid][vehicle_pos_4_y],smartTeleArray[teleid][vehicle_pos_4_z]);
						SetVehicleZAngle(spawnVehicle,smartTeleArray[teleid][vehicle_pos_4_a]);
					}
				}
			} else {
				if(!smartTeleArray[teleid][allow_foot_tele])
				{
					SendClientMessage(playerid, COLOR_SYSMSG,"This teleport cant be used on foot");
					return 1;
				}
	      		new playertospawn;
				playertospawn = random(4);
				switch(playertospawn)
				{
					case 0:
					{
						SetPlayerInterior(playerid,smartTeleArray[teleid][player_pos_1_interiour]);
						SetPlayerPos(playerid,smartTeleArray[teleid][player_pos_1_x],smartTeleArray[teleid][player_pos_1_y],smartTeleArray[teleid][player_pos_1_z]);
						SetPlayerFacingAngle(playerid,smartTeleArray[teleid][player_pos_1_a]);
					}
					case 1:
					{
						SetPlayerInterior(playerid,smartTeleArray[teleid][player_pos_2_interiour]);
						SetPlayerPos(playerid,smartTeleArray[teleid][player_pos_2_x],smartTeleArray[teleid][player_pos_2_y],smartTeleArray[teleid][player_pos_2_z]);
						SetPlayerFacingAngle(playerid,smartTeleArray[teleid][player_pos_2_a]);
					}
					case 2:
					{
						SetPlayerInterior(playerid,smartTeleArray[teleid][player_pos_3_interiour]);
						SetPlayerPos(playerid,smartTeleArray[teleid][player_pos_3_x],smartTeleArray[teleid][player_pos_3_y],smartTeleArray[teleid][player_pos_3_z]);
						SetPlayerFacingAngle(playerid,smartTeleArray[teleid][player_pos_3_a]);
					}
					case 3:
					{
						SetPlayerInterior(playerid,smartTeleArray[teleid][player_pos_4_interiour]);
						SetPlayerPos(playerid,smartTeleArray[teleid][player_pos_4_x],smartTeleArray[teleid][player_pos_4_y],smartTeleArray[teleid][player_pos_4_z]);
						SetPlayerFacingAngle(playerid,smartTeleArray[teleid][player_pos_4_a]);
					}
				}
			}
			new informString[256];
			format(informString, sizeof(informString), "You Teleported to %s [%s]", smartTeleArray[teleid][place_name],smartTeleArray[teleid][place_cmd]);
		    SendClientMessage(playerid, COLOR_SYSMSG, informString);
		} else {
			if(smartTeleArray[teleid][allow_superadmin_tele] && !isSuperAdmin[playerid])
			{
			    SendClientMessage(playerid, COLOR_SYSMSG,"You cant use this superadmin teleport");
			} else if(smartTeleArray[teleid][allow_admin_tele] && !isAdmin[playerid])
			{
			    SendClientMessage(playerid, COLOR_SYSMSG,"You cant use this admin teleport");
			} else if(smartTeleArray[teleid][allow_vip_tele] && !isVip[playerid])
			{
			    SendClientMessage(playerid, COLOR_SYSMSG,"You cant use this vip teleport");
			}
		}
	} else {
	    if(isJailed[playerid]) {
	    	SendClientMessage(playerid, COLOR_SYSMSG,"You cant teleport when jailed");
    	} else if(isFrozen[playerid]) {
	    	SendClientMessage(playerid, COLOR_SYSMSG,"You cant teleport when frozen");
    	}
	}
	return 1;
}