Moin, wenn die runde gestoppt wird / wenn alle tot sind, soll er das Vote-Redo Script soll solange ausbleiben bis die neue Map gestartet ist..
Script:
Lua
local Clancolor = '#FFFFFF'
function getPlayersCount()
players = {}
for k,v in ipairs(getElementsByType('player')) do
table.insert(players,v)
end
return #players
end
addEvent('onMapStarting',true)
addEventHandler('onMapStarting',root,
function()
for k,v in ipairs(getElementsByType('player')) do
if getElementData(v,'voted') == true then
setElementData(v,'voted',false)
end
end
voteredo = {
players = math.ceil(getPlayersCount()/2),
vr = 0,
redo = false,
mapname = getMapName(exports.mapmanager:getRunningGamemodeMap()),
votedPlayers = {},
}
end
)
function Voteredo(plr)
if voteredo then
if isRestarted() == false then
if voteredo.redo ~= true then
if not voteredo.votedPlayers[getPlayerSerial(plr)] then
if voteredo.vr+1 < voteredo.players then
voteredo.vr = voteredo.vr+1
voteredo.votedPlayers[getPlayerSerial(plr)] = true
outputChatBox(Clancolor..'[#FF3030VR-System#FFFFFF] #ffffff´'..getPlayerName(plr)..'#ffffff Has voted for redo #ffffff(#FF0000'..voteredo.vr..'#ffffff/'..voteredo.players..')',root,255,255,255,true)
else
voteredo.vr = voteredo.vr+1
voteredo.votedPlayers[getPlayerSerial(plr)] = true
voteredo.redo = true
outputChatBox(Clancolor..'[#FF3030VR-System#FFFFFF] #FFFFFF'..getPlayerName(plr)..'#FFFFFF Has voted for redo #FFFFFF(#00FF00'..voteredo.vr..'#FFFFFF/'..voteredo.players..')',root,255,255,255,true)
end
else
outputChatBox(Clancolor..'[#FF3030VR-System#FFFFFF] #FFFFFFYou cant vote more than one time',plr,255,255,255,true)
end
else
outputChatBox(Clancolor..'[#FF3030VR-System#FFFFFF] #FFFFFFThis map already will be restarted',plr,255,255,255,true)
end
else
outputChatBox(Clancolor..'[#FF3030VR-System#FFFFFF] #FFFFFFThis map already was restarted by voteredo',plr,255,255,255,true)
end
else
outputChatBox(Clancolor..'[#FF3030VR-System#FFFFFF] #FFFFFFAn error has occurred , try to vote nextmap',plr,255,255,255,true)
end
end
addCommandHandler('vr',Voteredo)
addCommandHandler('voteredo',Voteredo)
addEvent('onRaceStateChanging',true)
addEventHandler('onRaceStateChanging',root,
function(newState)
if newState == "PostFinish" then
if voteredo then
if voteredo.redo == true then
local currentMap = exports.mapmanager:getRunningGamemodeMap()
exports.mapmanager:changeGamemodeMap (currentMap, nil, true)
lastmaprestarted = getMapName(exports.mapmanager:getRunningGamemodeMap())
outputChatBox(Clancolor..'[#FF3030VR-System#FFFFFF] #FFFFFFMap has been restarted by voteredo',plr,255,255,255,true)
end
end
end
end
)
function isRestarted()
if lastmaprestarted and voteredo.mapname then
if lastmaprestarted == voteredo.mapname then
return true
else
return false
end
else
return false
end
end
function getMapName( map )
return getResourceInfo( map, "name" ) or getResourceName( map ) or "unknown"
end
Alles anzeigen