rendered paste bodysmartTeleportPlayer(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;
}