mta-ptp/server.lua

92 lines
3.7 KiB
Lua
Raw Normal View History

2020-01-07 10:52:56 +00:00
local teamSpawns = {}
local function mainOnPlayerJoin()
setCameraMatrix(source, 1654.3691, -1643.5967, 85.176224, 1658.8364, -1545.6569, 65.482597)
spawnPlayer(source, 1654.524, -1637.7119, 85.157089, 180.0, 0)
toggleAllControls(source, false, true, false)
setPlayerHudComponentVisible(source, "all", false)
fadeCamera(source, true, 5)
showCursor(source, true)
outputChatBox("Please select the class and skin of your player", source, 255, 255, 0)
end
local function spawnPlayerOnTeamBase(player, x, y, z, rotation, skinID)
showCursor(player, false)
spawnPlayer(player, x, y, z, rotation, skinID)
setCameraTarget(player)
2020-01-07 10:52:56 +00:00
--fadeCamera(player, true)
setPlayerHudComponentVisible(player, "all", true)
toggleAllControls(player, true, true, true)
end
local function mainOnPlayerTeamSelected(team, skinID)
if type(team) ~= "string" or type(skinID) ~= "number" then
outputDebugString("OnPlayerTeamSelected: Invalid argument type")
end
if team == Teams.SECRET_SERVICE then
2020-01-07 10:52:56 +00:00
local team = getTeamFromName(Teams.SECRET_SERVICE)
setPlayerTeam(source, team)
setElementData(source, "team."..Teams.SECRET_SERVICE..".skinID", skinID)
spawnPlayerOnTeamBase(source, teamSpawns[Teams.SECRET_SERVICE][1], teamSpawns[Teams.SECRET_SERVICE][2], teamSpawns[Teams.SECRET_SERVICE][3], teamSpawns[Teams.SECRET_SERVICE][4], skinID)
elseif team == Teams.POLICE then
2020-01-07 10:52:56 +00:00
local team = getTeamFromName(Teams.POLICE)
setPlayerTeam(source, team)
setElementData(source, "team."..Teams.POLICE..".skinID", skinID)
spawnPlayerOnTeamBase(source, teamSpawns[Teams.POLICE][1], teamSpawns[Teams.POLICE][2], teamSpawns[Teams.POLICE][3], teamSpawns[Teams.POLICE][4], skinID)
elseif team == Teams.TERRORISTS then
2020-01-07 10:52:56 +00:00
local team = getTeamFromName(Teams.TERRORISTS)
setPlayerTeam(source, team)
setElementData(source, "team."..Teams.TERRORISTS..".skinID", skinID)
spawnPlayerOnTeamBase(source, teamSpawns[Teams.TERRORISTS][1], teamSpawns[Teams.TERRORISTS][2], teamSpawns[Teams.TERRORISTS][3], teamSpawns[Teams.TERRORISTS][4], skinID)
end
triggerClientEvent(source, "onPlayerTeamSelectedSuccessful", resourceRoot)
end
addEvent("onPlayerTeamSelected", true)
addEventHandler("onPlayerTeamSelected", root, mainOnPlayerTeamSelected)
addEventHandler("onPlayerJoin", root, mainOnPlayerJoin)
2020-01-07 10:52:56 +00:00
2020-04-01 16:23:57 +00:00
-- respawn exploded vehicle
2020-01-07 10:52:56 +00:00
function respawnExplodedVehicle()
setTimer(respawnVehicle, 9000, 1, source)
end
addEventHandler("onVehicleExplode", root, respawnExplodedVehicle)
2020-04-01 16:23:57 +00:00
--
2020-01-07 10:52:56 +00:00
2020-04-01 16:23:57 +00:00
-- respawn wasted player
2020-01-07 10:52:56 +00:00
addEventHandler("onPlayerWasted", root,
function()
local team = getPlayerTeam(source)
if team then
local teamName = getTeamName(team)
setTimer( spawnPlayerOnTeamBase, 3000, 1, source, teamSpawns[teamName][1], teamSpawns[teamName][2], teamSpawns[teamName][3], teamSpawns[teamName][4], getElementData(source, "team."..teamName..".skinID"))
end
end
)
2020-04-01 16:23:57 +00:00
--
-- respawn drown vehicle
function respawnDrownVehicle()
for _, vehicle in ipairs(getElementsByType("vehicle")) do
if isElementInWater(vehicle) then
local isOccupied, _ = next(getVehicleOccupants(vehicle))
if not isOccupied then
respawnVehicle(vehicle)
end
end
end
end
setTimer(respawnDrownVehicle, 20000, 0)
--
2020-01-07 10:52:56 +00:00
addEventHandler("onResourceStart", root,
function ()
createTeam(Teams.SECRET_SERVICE, 29, 253, 0)
createTeam(Teams.POLICE, 0, 23, 252)
createTeam(Teams.TERRORISTS, 251, 0, 0)
teamSpawns[Teams.SECRET_SERVICE] = { 2795.0, -1825.0, 9.9, 90 }
teamSpawns[Teams.POLICE] = { 1532.6, -1677.3, 5.9, 270 }
teamSpawns[Teams.TERRORISTS] = { 1774.0, -1926.5, 13.5, 270 }
end
2020-04-01 16:23:57 +00:00
)