mta-ptp/server.lua
2020-01-07 14:52:56 +04:00

73 lines
3.3 KiB
Lua

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)
--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
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
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
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)
function respawnExplodedVehicle()
setTimer(respawnVehicle, 9000, 1, source)
end
addEventHandler("onVehicleExplode", root, respawnExplodedVehicle)
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
)
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
)