• 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!

Script simple Team war (Red vs Blue)

rodrigo504

New Member
Joined
Sep 26, 2010
Messages
4
Reaction score
0
I wanted a script team war (Red vs. Blue) For Server War in time to give the login ^_^
 
I dont know if this will help, but it's red vs blue CTF and war event

Data/Globalevents/Scripts/War_Event.lua
Lua:
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,configWar.MessageType)
end
function EventNotice21(cid)
addEvent(EventNotice31,10*1000,cid)
doBroadcastMessage(configWar.SecondMessage,configWar.MessageType)
end
function EventNotice31(cid)
addEvent(EventNotice41,120*1000,cid)
doBroadcastMessage(configWar.ThirdMessage,configWar.MessageType)
end
function EventNotice41(cid)
addEvent(EventNotice51,120*1000,cid)
doBroadcastMessage(configWar.FourthMessage,configWar.MessageType)
end
function EventNotice51(cid)
addEvent(EventNotice61,60*1000,cid)
doBroadcastMessage(configWar.ClosingMessage,configWar.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,configWar.MessageType)
addEvent(BeginWAR,5*1000,cid)
end

--Functions for CTF.
function EventNotice1(cid)
addEvent(EventNotice2,5000,cid)
doBroadcastMessage(configCTF.FirstMessage,configCTF.MessageType)
end
function EventNotice2(cid)
addEvent(EventNotice3,10*1000,cid)
doBroadcastMessage(configCTF.SecondMessage,configCTF.MessageType)
end
function EventNotice3(cid)
addEvent(EventNotice4,120*1000,cid)
doBroadcastMessage(configCTF.ThirdMessage,configCTF.MessageType)
end
function EventNotice4(cid)
addEvent(EventNotice5,120*1000,cid)
doBroadcastMessage(configCTF.FourthMessage,configCTF.MessageType)
end
function EventNotice5(cid)
addEvent(EventNotice6,60*1000,cid)
doBroadcastMessage(configCTF.ClosingMessage,configCTF.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,configCTF.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).uid,1)
doRemoveItem(getThingFromPos(configCTF.wallPos1).uid,1)
doRemoveItem(getThingFromPos(configCTF.wallPos2).uid,1)
doRemoveItem(getThingFromPos(configCTF.wallPos3).uid,1)
doRemoveItem(getThingFromPos(configCTF.wallPos4).uid,1)
doRemoveItem(getThingFromPos(configCTF.wallPos5).uid,1)
setGlobalStorageValue(1005, 0)
setGlobalStorageValue(2001, 0)
setGlobalStorageValue(2002, 0)
setGlobalStorageValue(2010, 0)
blueFlagPos = {x=698, y=607, z=7}
redFlagPos = {x=742, y=607, 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).uid,1)
doRemoveItem(getThingFromPos(configWar.wallPos1).uid,1)
doRemoveItem(getThingFromPos(configWar.wallPos2).uid,1)
doRemoveItem(getThingFromPos(configWar.wallPos3).uid,1)
doRemoveItem(getThingFromPos(configWar.wallPos4).uid,1)
doRemoveItem(getThingFromPos(configWar.wallPos5).uid,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

Edit: or was you looking for Red VS Blue ot server?
 
I want when the player log into the game it goes to one of two teams (Red or Blue)

- - - Updated - - -

bump

- - - Updated - - -

bump
 
Back
Top