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; }