require('o_mis') function onStartup(self) self:SetVar("Total_players", 0 ) self:SetVar("running", false) self:MiniGameSetParameters{numTeams = 1 ,playersPerTeam = 2 } GAMEOBJ:GetTimer():AddTimerWithCancel( 3, "storeObj", self ) end --[[ --]] function onNotifyObject(self, msg) if (msg.param1 == 1) then -- Add Player local player = GAMEOBJ:GetObjectByID(msg.name) self:MiniGameAddPlayer{playerID = player, teamID = 1} self:SetVar("Total_players", self:GetVar("Total_players") + 1) self:NotifyClientZoneObject{name = "sendToAllclients_bubble" , paramStr = player:GetName().name.." Joined!! Total Players = "..self:GetVar("Total_players") } if self:GetVar("Total_players") == 2 and not self:GetVar("running") then self:NotifyClientZoneObject{name = "sendToAllclients_bubble" , paramStr ="Starting in 5 Seconds" } self:NotifyClientZoneObject{name = "FreezAllPlayers" , param1 = 1 } self:SetVar("running", true) GAMEOBJ:GetTimer():AddTimerWithCancel( 5, "Start", self ) -- teport -69 200 277 (( -70 200 335 )) end end if (msg.param1 == 2) then -- Remove Player local player = GAMEOBJ:GetObjectByID(msg.name) self:MiniGameRemovePlayer{playerID= player} self:SetVar("Total_players", self:GetVar("Total_players") - 1) self:NotifyClientZoneObject{name = "sendToAllclients_bubble" , paramStr = player:GetName().name.." Left!! Total Players = "..self:GetVar("Total_players") } local spawnerl = getObjectByName(self, "spawnloc") spawnerl:NotifyObject{ name="stop" } end if (msg.param1 == 3) then end if (msg.param1 == 4) then end if (msg.param1 == 5) then end end function onTimerDone(self, msg) if (msg.name == "Start") then for i = 1, #self:MiniGameGetTeamPlayers{teamID = 1}.objects do local player = self:MiniGameGetTeamPlayers{teamID = 1}.objects[i] self:NotifyClientZoneObject{name = "unFreezAllPlayers" , param1 = 1 } if i == 1 then local poss = { x=-69 , y=200 , z =277} player:Teleport{pos = poss } else local poss = { x=-70 , y=200 , z =335} player:Teleport{pos = poss } end self:NotifyClientZoneObject{name = "sendToAllclients_bubble" , paramStr = "You have 45 Seconds to complete Mission!!" } GAMEOBJ:GetTimer():AddTimerWithCancel( 45, "missionTime", self ) GAMEOBJ:GetTimer():AddTimerWithCancel( 3, "missionTime2", self ) end local spawnerl = getObjectByName(self, "spawnloc") spawnerl:NotifyObject{ name="spawn" } end if (msg.name == "missionTime2") then self:NotifyClientZoneObject{name = "sendToAllclients_bubble" , paramStr = "Collect 15 energy crystal and rebuild your half of the portal." } end if (msg.name == "missionTime") then local spawnerl = getObjectByName(self, "spawnloc") spawnerl:NotifyObject{ name="stop" } self:NotifyClientZoneObject{name = "sendToAllclients_bubble" , paramStr = "Timer has Expired!!" } for i = 1, #self:MiniGameGetTeamPlayers{teamID = 1}.objects do local player = self:MiniGameGetTeamPlayers{teamID = 1}.objects[i] local count = player:GetInvItemCount{itemID = 4985}.itemCount if count ~= nil then for x = 1, count do player:RemoveItemFromInventory{iObjTemplate =4985 } if player ~= nil then self:MiniGameRemovePlayer{playerID= player} end end end self:SetVar("running", false) end for i = 1, #self:MiniGameGetTeamPlayers{teamID = 1}.objects do local player = self:MiniGameGetTeamPlayers{teamID = 1}.objects[i] local count = player:GetInvItemCount{itemID = 4985}.itemCount if count ~= nil then for x = 1, count do player:RemoveItemFromInventory{iObjTemplate =4985 } if player ~= nil then self:MiniGameRemovePlayer{playerID= player} end end end self:SetVar("running", false) end self:SetVar("Total_players", 0) end if (msg.name == "storeObj") then local obj = self:GetObjectsInGroup{ group = "grp_mission" }.objects for i = 1, #obj do if obj[i]:GetLOT().objtemplate == 3706 then -- blue button storeObjectByName(self, "blue_button", obj[i]) storeObjectByName(obj[i], "minigame",self ) end if obj[i]:GetLOT().objtemplate == 3704 then -- red button storeObjectByName(self, "red_button", obj[i]) storeObjectByName(obj[i], "minigame",self ) end if obj[i]:GetLOT().objtemplate == 3554 then -- Cylinder storeObjectByName(self, "Cylinder", obj[i]) storeObjectByName(obj[i], "minigame", self) end if obj[i]:GetLOT().objtemplate == 4064 then -- rebuild two if self:GetVar("rebuild1") == nil then storeObjectByName(self, "rebuild1", obj[i]) storeObjectByName(obj[i], "minigame",self ) else storeObjectByName(self, "rebuild2", obj[i]) storeObjectByName(obj[i], "minigame",self ) end end if obj[i]:GetLOT().objtemplate == 4934 then if self:GetVar("spawnloc") == nil then storeObjectByName(self, "spawnloc", obj[i]) storeObjectByName(obj[i], "minigame",self ) else storeObjectByName(self, "spawnloc", obj[i]) storeObjectByName(obj[i], "minigame",self ) end end end end end