top sniper Posted February 12, 2012 Share Posted February 12, 2012 What's the problem with this code local frozeTime = 60 -- Seconds as frozen local timeLeft = {} local timeLeftText = {} addEvent("Froze", true) addEventHandler("Froze", root, function() if getPlayerMoney(source) >= 7500 then local players = getElementsByType("player") takePlayerMoney(source, 7500) outputChatBox("All players successfully frozen", source, 255, 255, 0, true) for theKey,thePlayer in ipairs(players) do if (thePlayer ~= source) then setElementFrozen(thePlayer, true) setGameSpeed(0) setElementData(thePlayer, "Timeleft", tonumber(frozeTime)) showTimeLeft(thePlayer) end end else outputChatBox("Not enough money.", source, 255, 0, 0, true) end end) function showTimeLeft(player) timeLeft[player] = textCreateDisplay() textDisplayAddObserver(timeLeft[player], player) timeLeftText[player] = textCreateTextItem("Time left: " .. getElementData(player, "Timeleft"), 0.45, 0.1, "high", 255, 255, 255, 255) textDisplayAddText(timeLeft[player], timeLeftText[player]) setTimer(updateTimeLeft, 1000, getElementData(player, "Timeleft"), player) end function updateTimeLeft(player) setElementData(player, "Timeleft", getElementData(player, "Timeleft") - 1) textItemSetText(timeLeftText[player], "Time left: " .. getElementData(player, "Timeleft")) if tonumber(getElementData(player, "Timeleft")) == 0 then textDestroyDisplay(timeLeft[player]) setElementFrozen(player, false) end end it Was working fine before it would add setGameSpeed(0) Everyone is now frozen even who buy the freeze and when the time runs out the set game speed event still working .. and sorry for my bad english Link to comment
Evil-Cod3r Posted February 12, 2012 Share Posted February 12, 2012 try this local frozeTime = 60 -- Seconds as frozen local timeLeft = {} local timeLeftText = {} addEvent("Froze", true) addEventHandler("Froze", root, function() if getPlayerMoney(source) >= 7500 then local players = getElementsByType("player") takePlayerMoney(source, 7500) outputChatBox("All players successfully frozen", source, 255, 255, 0, true) for theKey,thePlayer in ipairs(players) do if (thePlayer ~= source) then setElementFrozen(thePlayer, true) setGameSpeed(0) setElementData(thePlayer, "Timeleft", tonumber(frozeTime)) showTimeLeft(thePlayer) end end else outputChatBox("Not enough money.", source, 255, 0, 0, true) end end) function showTimeLeft(player) timeLeft[player] = textCreateDisplay() textDisplayAddObserver(timeLeft[player], player) timeLeftText[player] = textCreateTextItem("Time left: " .. getElementData(player, "Timeleft"), 0.45, 0.1, "high", 255, 255, 255, 255) textDisplayAddText(timeLeft[player], timeLeftText[player]) setTimer(updateTimeLeft, 1000, getElementData(player, "Timeleft"), player) end function updateTimeLeft(player) setElementData(player, "Timeleft", getElementData(player, "Timeleft") - 1) textItemSetText(timeLeftText[player], "Time left: " .. getElementData(player, "Timeleft")) if tonumber(getElementData(player, "Timeleft")) == 0 then textDestroyDisplay(timeLeft[player]) setElementFrozen(player, false) setGameSpeed(3) end end Link to comment
top sniper Posted February 12, 2012 Author Share Posted February 12, 2012 try this local frozeTime = 60 -- Seconds as frozen local timeLeft = {} local timeLeftText = {} addEvent("Froze", true) addEventHandler("Froze", root, function() if getPlayerMoney(source) >= 7500 then local players = getElementsByType("player") takePlayerMoney(source, 7500) outputChatBox("All players successfully frozen", source, 255, 255, 0, true) for theKey,thePlayer in ipairs(players) do if (thePlayer ~= source) then setElementFrozen(thePlayer, true) setGameSpeed(0) setElementData(thePlayer, "Timeleft", tonumber(frozeTime)) showTimeLeft(thePlayer) end end else outputChatBox("Not enough money.", source, 255, 0, 0, true) end end) function showTimeLeft(player) timeLeft[player] = textCreateDisplay() textDisplayAddObserver(timeLeft[player], player) timeLeftText[player] = textCreateTextItem("Time left: " .. getElementData(player, "Timeleft"), 0.45, 0.1, "high", 255, 255, 255, 255) textDisplayAddText(timeLeft[player], timeLeftText[player]) setTimer(updateTimeLeft, 1000, getElementData(player, "Timeleft"), player) end function updateTimeLeft(player) setElementData(player, "Timeleft", getElementData(player, "Timeleft") - 1) textItemSetText(timeLeftText[player], "Time left: " .. getElementData(player, "Timeleft")) if tonumber(getElementData(player, "Timeleft")) == 0 then textDestroyDisplay(timeLeft[player]) setElementFrozen(player, false) setGameSpeed(3) end end thanks it works fine now Link to comment
top sniper Posted February 12, 2012 Author Share Posted February 12, 2012 but when the time ended the game speed still 0 Link to comment
Evil-Cod3r Posted February 12, 2012 Share Posted February 12, 2012 local frozeTime = 60 -- Seconds as frozen local timeLeft = {} local timeLeftText = {} addEvent("Froze", true) addEventHandler("Froze", root, function() if getPlayerMoney(source) >= 7500 then local players = getElementsByType("player") takePlayerMoney(source, 7500) outputChatBox("All players successfully frozen", source, 255, 255, 0, true) for theKey,thePlayer in ipairs(players) do if (thePlayer ~= source) then setElementFrozen(thePlayer, true) setElementData(thePlayer, "Timeleft", tonumber(frozeTime)) showTimeLeft(thePlayer) end end else outputChatBox("Not enough money.", source, 255, 0, 0, true) end end) function showTimeLeft(player) timeLeft[player] = textCreateDisplay() textDisplayAddObserver(timeLeft[player], player) timeLeftText[player] = textCreateTextItem("Time left: " .. getElementData(player, "Timeleft"), 0.45, 0.1, "high", 255, 255, 255, 255) textDisplayAddText(timeLeft[player], timeLeftText[player]) setTimer(updateTimeLeft, 1000, getElementData(player, "Timeleft"), player) end function updateTimeLeft(player) setElementData(player, "Timeleft", getElementData(player, "Timeleft") - 1) textItemSetText(timeLeftText[player], "Time left: " .. getElementData(player, "Timeleft")) if tonumber(getElementData(player, "Timeleft")) == 0 then textDestroyDisplay(timeLeft[player]) setElementFrozen(player, false) setGameSpeed(3) end end Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now