• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Help event script

derath

Nb Cake D:
Joined
Jul 13, 2007
Messages
17
Reaction score
0
Location
Ontario, Canada!
Help me please.

Code:
local configWar = {

MessageType = MESSAGE_INFO_DESCR,
wallPos = {x=512,y=846,z=5,stackpos=1},
wallPos1 = {x=513,y=846,z=5,stackpos=1},
wallPos2 = {x=513,y=847,z=5,stackpos=1},
wallPos3 = {x=513,y=848,z=5,stackpos=1},
wallPos4 = {x=513,y=849,z=5,stackpos=1},
wallPos5 = {x=512,y=849,z=5,stackpos=1},
AccessMessage = "Only Gods and Gamemasters can execute an event!",

FirstMessage = "Event Notice!",
SecondMessage = "War Arena has been opened to join go through the portal on the top floor of depot.",
ThirdMessage = "War Arena will begin in 5 minutes!",
FourthMessage = "War Arena will begin in 3 minutes!",
ClosingMessage = "War Arena will close and begin in 1 minute!",
CloseMessage = "War Arena portal has closed and the event has begun!"

}
local configCTF = {

MessageType = MESSAGE_INFO_DESCR,
wallPos = {x=512,y=840,z=5,stackpos=1},
wallPos1 = {x=513,y=840,z=5,stackpos=1},
wallPos2 = {x=513,y=841,z=5,stackpos=1},
wallPos3 = {x=513,y=842,z=5,stackpos=1},
wallPos4 = {x=513,y=843,z=5,stackpos=1},
wallPos5 = {x=512,y=843,z=5,stackpos=1},
AccessMessage = "Only Gods and Gamemasters can execute an event!",

FirstMessage = "Event Notice!",
SecondMessage = "Capture The Flag has been opened to join go through the portal on the top floor of depot.",
ThirdMessage = "Capture The Flag will begin in 5 minutes!",
FourthMessage = "Capture The Flag will begin in 3 minutes!",
ClosingMessage = "Capture The Flag will close and begin in 1 minute!",
CloseMessage = "Capture The Flag portal has closed and the event has begun!\n Gametime: 25 minutes",
timeLimitMessage = "25 minutes has elapsed and ",
timeLimitTieMessage = ""

}

local waitingRoomFrompos = {x=617, y=625, z=7, stackpos=253}
local waitingRoomTopos = {x=652, y=654, z=7, stackpos=253}

local CTF = {
fromPos = {x=660, y=495, z=7, stackpos=253},
toPos = {x=765, y=550, z=7, stackpos=253},
deTile = {x=720,y=626,z=7,stackpos=1}}
function TeleportWinners()
for _, pid in ipairs(getPlayersOnline()) do
if isInArea(getPlayerPosition(pid), CTF.fromPos, CTF.toPos) then
doTeleportThing(pid, CTF.deTile, false)
end
end
end

function endCtf(cid)
if getGlobalStorageValue(2010) ~= 4 then
redStorage = getGlobalStorageValue(2001)
blueStorage = getGlobalStorageValue(2002)
if redStorage < blueStorage then
doBroadcastMessage("25 minutes has elapsed, red team wins!",configCTF.MessageType)
setGlobalStorageValue(2010, 1)
TeleportWinners()
elseif blueStorage < redStorage then
doBroadcastMessage("25 minutes has elapsed, blue team wins!",configCTF.MessageType)
setGlobalStorageValue(2010, 2)
TeleportWinners()
elseif redStorage == blueStorage then
doBroadcastMessage("25 minutes has elapsed and the scores are tied, next score wins!",configCTF.MessageType)
setGlobalStorageValue(2010, 3)
end
end
end
--Functions for war.
function EventNotice11(cid)
addEvent(EventNotice21,5000,cid)
doBroadcastMessage(configWar.FirstMessage,configWa r.MessageType)
end
function EventNotice21(cid)
addEvent(EventNotice31,10*1000,cid)
doBroadcastMessage(configWar.SecondMessage,configW ar.MessageType)
end
function EventNotice31(cid)
addEvent(EventNotice41,120*1000,cid)
doBroadcastMessage(configWar.ThirdMessage,configWa r.MessageType)
end
function EventNotice41(cid)
addEvent(EventNotice51,120*1000,cid)
doBroadcastMessage(configWar.FourthMessage,configW ar.MessageType)
end
function EventNotice51(cid)
addEvent(EventNotice61,60*1000,cid)
doBroadcastMessage(configWar.ClosingMessage,config War.MessageType)
end
function EventNotice61(cid)
doCreateItem(1600,1,configWar.wallPos)
doCreateItem(1595,1,configWar.wallPos1)
doCreateItem(1596,1,configWar.wallPos2)
doCreateItem(1596,1,configWar.wallPos3)
doCreateItem(1601,1,configWar.wallPos4)
doCreateItem(1600,1,configWar.wallPos5)
doBroadcastMessage(configWar.CloseMessage,configWa r.MessageType)
addEvent(BeginWAR,5*1000,cid)
end

--Functions for CTF.
function EventNotice1(cid)
addEvent(EventNotice2,5000,cid)
doBroadcastMessage(configCTF.FirstMessage,configCT F.MessageType)
end
function EventNotice2(cid)
addEvent(EventNotice3,10*1000,cid)
doBroadcastMessage(configCTF.SecondMessage,configC TF.MessageType)
end
function EventNotice3(cid)
addEvent(EventNotice4,120*1000,cid)
doBroadcastMessage(configCTF.ThirdMessage,configCT F.MessageType)
end
function EventNotice4(cid)
addEvent(EventNotice5,120*1000,cid)
doBroadcastMessage(configCTF.FourthMessage,configC TF.MessageType)
end
function EventNotice5(cid)
addEvent(EventNotice6,60*1000,cid)
doBroadcastMessage(configCTF.ClosingMessage,config CTF.MessageType)
end
function EventNotice6(cid)
doCreateItem(1600,1,configCTF.wallPos)
doCreateItem(1595,1,configCTF.wallPos1)
doCreateItem(1596,1,configCTF.wallPos2)
doCreateItem(1596,1,configCTF.wallPos3)
doCreateItem(1601,1,configCTF.wallPos4)
doCreateItem(1600,1,configCTF.wallPos5)
doBroadcastMessage(configCTF.CloseMessage,configCT F.MessageType)
addEvent(BeginCTF,5*1000,cid)
end
--Start for War Event
function BeginWAR(cid)
for _, pid in ipairs(getPlayersOnline()) do
if isInArea(getPlayerPosition(pid), waitingRoomFrompos, waitingRoomTopos) then
doTeleportThing(pid, {x=635,y=614,z=7,stackpos=1}, false)
end
end
end
--Start for CTF Event
function BeginCTF(cid)
for _, pid in ipairs(getPlayersOnline()) do
if isInArea(getPlayerPosition(pid), waitingRoomFrompos, waitingRoomTopos) then
doTeleportThing(pid, {x=720,y=629,z=7,stackpos=1}, false)
end
end
end
function SetEventWAR(cid)
setGlobalStorageValue(1005, 0)--WAR
end
function SetEventCTF(cid)
doRemoveItem(getThingFromPos(configCTF.wallPos).ui d,1)
doRemoveItem(getThingFromPos(configCTF.wallPos1).u id,1)
doRemoveItem(getThingFromPos(configCTF.wallPos2).u id,1)
doRemoveItem(getThingFromPos(configCTF.wallPos3).u id,1)
doRemoveItem(getThingFromPos(configCTF.wallPos4).u id,1)
doRemoveItem(getThingFromPos(configCTF.wallPos5).u id,1)
setGlobalStorageValue(1005, 0)
setGlobalStorageValue(2001, 10)
setGlobalStorageValue(2002, 10)
setGlobalStorageValue(2010, 0)
blueFlagPos = {x=676, y=503, z=7}
redFlagPos = {x=744, y=523, z=7}
blueFlagPlate = getThingFromPos(blueFlagPos)
redFlagPlate = getThingFromPos(redFlagPos)
doSetItemActionId(blueFlagPlate.uid,100)
doSetItemActionId(redFlagPlate.uid,100)
addEvent(EventNotice1,2000,cid)
addEvent(endCtf,1800000,cid) --30 minutes, 5 in lobby 25 in CTF
setGlobalStorageValue(28001, os.time(t))
end
local WAR = 0
local CTF = 1
local eventType = getGlobalStorageValue(1005)
function onThink(cid, item, fromPosition, toPosition)
if getGlobalStorageValue(1005) <= WAR then
doRemoveItem(getThingFromPos(configWar.wallPos).ui d,1)
doRemoveItem(getThingFromPos(configWar.wallPos1).u id,1)
doRemoveItem(getThingFromPos(configWar.wallPos2).u id,1)
doRemoveItem(getThingFromPos(configWar.wallPos3).u id,1)
doRemoveItem(getThingFromPos(configWar.wallPos4).u id,1)
doRemoveItem(getThingFromPos(configWar.wallPos5).u id,1)
setGlobalStorageValue(1005, 1)
setGlobalStorageValue(2001, 0)
setGlobalStorageValue(2002, 0)
addEvent(EventNotice11,2000,cid)
addEvent(SetEventCTF,7200*1000,cid)
setGlobalStorageValue(28000, os.time(t))
else
doBroadcastMessage('Event System:\nEvent System Error, Please notify staff.')
end
return 1
end



I would like to make these Individualy Triggered by a talk action.. This is a Global Event.
Would like to be able to stop or trigger them on demand :<

any assistance would be nice!
 
Last edited:
Back
Top