mta-ptp/server.lua

121 lines
4.8 KiB
Lua
Raw Permalink 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
2020-04-01 17:56:08 +00:00
local function giveTerroristsWeapon(player)
giveWeapon(player, 27, 99999, false) -- Combat Shotgun
giveWeapon(player, 28, 99999, false) -- Uzi
giveWeapon(player, 16, 99999, false) -- Grenade
giveWeapon(player, 30, 99999, false) -- AK47
end
local function givePoliceWeapon(player)
giveWeapon(player, 29, 99999, false) -- MP5
giveWeapon(player, 22, 99999, false) -- Colt 45
giveWeapon(player, 25, 99999, false) -- Shotgun
giveWeapon(player, 31, 99999, false) -- M4
end
local function giveSecretServiceWeapon(player)
giveWeapon(player, 29, 99999, false) -- MP5
giveWeapon(player, 23, 99999, false) -- Silenced
giveWeapon(player, 25, 99999, false) -- Shotgun
giveWeapon(player, 3, 1, false) -- Nightstick
end
local function spawnPlayerOnTeamBase(player, x, y, z, rotation, skinID, teamName)
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)
2020-04-01 17:56:08 +00:00
if teamName == Teams.SECRET_SERVICE then
giveSecretServiceWeapon(player)
elseif teamName == Teams.POLICE then
givePoliceWeapon(player)
elseif teamName == Teams.TERRORISTS then
giveTerroristsWeapon(player)
end
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)
2020-04-01 17:56:08 +00:00
spawnPlayerOnTeamBase(source, teamSpawns[Teams.SECRET_SERVICE][1], teamSpawns[Teams.SECRET_SERVICE][2], teamSpawns[Teams.SECRET_SERVICE][3], teamSpawns[Teams.SECRET_SERVICE][4], skinID, Teams.SECRET_SERVICE)
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)
2020-04-01 17:56:08 +00:00
spawnPlayerOnTeamBase(source, teamSpawns[Teams.POLICE][1], teamSpawns[Teams.POLICE][2], teamSpawns[Teams.POLICE][3], teamSpawns[Teams.POLICE][4], skinID, Teams.POLICE)
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)
2020-04-01 17:56:08 +00:00
spawnPlayerOnTeamBase(source, teamSpawns[Teams.TERRORISTS][1], teamSpawns[Teams.TERRORISTS][2], teamSpawns[Teams.TERRORISTS][3], teamSpawns[Teams.TERRORISTS][4], skinID, Teams.TERRORISTS)
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)
2020-04-01 17:56:08 +00:00
setTimer(spawnPlayerOnTeamBase, 3000, 1, source, teamSpawns[teamName][1], teamSpawns[teamName][2], teamSpawns[teamName][3], teamSpawns[teamName][4], getElementData(source, "team."..teamName..".skinID"), teamName)
2020-01-07 10:52:56 +00:00
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
)