Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -----------------------------------------------------------
- -- PROJECT: Community Event Manager | Checkpoint Event
- -- DEVELOPERS: Zelda ( Server Side )
- -----------------------------------------------------------
- local currrentPlayers = {}
- local playerMin = 5 -- Min players
- local start = false
- function makeEvent(CEM)
- if (hasObjectPermissionTo(player, "command.givevehicle", false) or exports.CITadmin:getPlayerAdminLevel(player) >= 2) then
- if (start) then
- exports.CIThelp:dm("The event has already started", CEM, 255, 0, 0)
- return false
- end
- if (#exports.CITevents:getEventParticipants() < playerMin) then
- exports.CIThelp:dm("There must be at least 5 players to start the event", CEM, 255, 0, 0)
- return false
- end
- for index, player in ipairs(getElementsByType("player")) do
- if (exports.CITevents:isPlayerInEvent(player)) then
- triggerClientEvent("CITcheckpoint.startScoreRace", player)
- exports.CIThelp:dm("The score racers event has started!", player, 0, 255, 0)
- currrentPlayers[player] = true
- end
- end
- start = true
- end
- end
- addCommandHandler("goracers", makeEvent)
- function checkEventStatus()
- local curPlayers = 0
- for index, player in pairs(currrentPlayers) do
- if (player and isElement(player) and exports.CITevents:isPlayerInEvent(player)) then
- curPlayers = (curPlayers + 1)
- end
- end
- if (curPlayers == 0) then
- start = false
- exports.CIThelp:dm("The score racers event has finished!", root, 255, 255, 0)
- end
- end
- function winRace()
- executeCommandHandler("leaveevent", client)
- currrentPlayers[client] = nil
- checkEventStatus()
- exports.CITmoney:GPM(client, 10000, "Score Racer Won")
- end
- addEvent("CITcheckpoint.winRace", true)
- addEventHandler("CITcheckpoint.winRace", root, winRace)
- function updateCount()
- currrentPlayers[client] = nil
- checkEventStatus()
- end
- addEvent("CITcheckpoint.updateCount", true)
- addEventHandler("CITcheckpoint.updateCount", root, updateCount)
- function onPlayerQuit()
- if (currrentPlayers[client]) then
- currrentPlayers[client] = nil
- checkEventStatus()
- end
- end
- addEventHandler("onPlayerQuit", root, onPlayerQuit)
- function warpToMap(player)
- if (hasObjectPermissionTo(player, "command.givevehicle", false) or exports.CITadmin:getPlayerAdminLevel(player) >= 2) then
- -- CITchecking should be include here
- setElementPosition(player, 1687.5888671875, -3092.2841796875, 84.628456115723)
- setElementDimension(player, 336)
- end
- end
- addCommandHandler("warprace", warpToMap)
Advertisement
Add Comment
Please, Sign In to add comment