• 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 with 2 scripts please.

derath

Nb Cake D:
Joined
Jul 13, 2007
Messages
17
Reaction score
0
Location
Ontario, Canada!
First is
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

also some reason.. It ONLY does war / ctf not the others... .Help?

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 :<


second is...
Code:
local config = {
redTeam = 1,
blueTeam = 2,
gametime = 2000,
redTeamStorage = 2001,
blueTeamStorage = 2002,
outfitRed = {lookType = 130, lookHead = 94, lookAddons = 1, lookLegs = 94, lookBody = 94, lookFeet = 94},
outfitBlue = {lookType = 130, lookHead = 88, lookAddons = 1, lookLegs = 88, lookBody = 88, lookFeet = 88}
}


function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
if isPlayer(cid) == TRUE and 
getPlayerStorageValue(cid,1001) > 0 then

local War = {
fromPos={x=638, y=711, z=7, stackpos=253},
toPos={x=751, y=780, z=7, stackpos=253},
rewardRoom = {x=636,y=662,z=7,stackpos=1}}

local redStorage = getGlobalStorageValue(2001)
local blueStorage = getGlobalStorageValue(2002)
local outfit = getCreatureOutfit(cid)
local CHANNEL_BLUE, CHANNEL_RED = 12, 11

function TpWinners(cid)
	for _, pid in ipairs(getPlayersOnline()) do
		if isInArea(getPlayerPosition(pid), War.fromPos, War.toPos) then
			doTeleportThing(pid, War.rewardRoom, false)
		end
	end
end

local function winKillRed(cid)
	addEvent(TpWinners,5000,cid)
	doBroadcastMessage("Red Team has won the event!")
	doPlayerCloseChannel(cid, CHANNEL_RED)
	setGlobalStorageValue(config.redTeamStorage, 0)
	setGlobalStorageValue(config.blueTeamStorage, 0)
	doTeleportThing(cid, {x=518, y=840, z=7, stackpos=253})
end
local function winKillBlue(cid)
	addEvent(TpWinners,5000,cid)
	doBroadcastMessage("Blue Team has won the event!")
	doPlayerCloseChannel(cid, CHANNEL_BLUE)
	setGlobalStorageValue(config.redTeamStorage, 0)
	setGlobalStorageValue(config.blueTeamStorage, 0)
	doTeleportThing(cid, {x=518, y=840, z=7, stackpos=253})
end

local function arenaDeathRed(cid)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid), TRUE)
doTeleportThing(cid, {x=518, y=840, z=7, stackpos=253})
doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE,'You have died, you are eliminated from the event')
doPlayerCloseChannel(cid, CHANNEL_RED)
setGlobalStorageValue(config.redTeamStorage, getGlobalStorageValue(2001)-1)
setPlayerStorageValue(cid,1001, 0)
setPlayerStorageValue(cid,1002, 1)
doRemoveCondition(cid,CONDITION_INFIGHT)
doRemoveCondition(cid, CONDITION_OUTFIT)
if redStorage == 1 then
winKillBlue(cid)
end
return true
end

local function arenaDeathBlue(cid)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid), TRUE)
doTeleportThing(cid, {x=518, y=840, z=7, stackpos=253})
doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE,'You have died, you are eliminated from the event')
doPlayerCloseChannel(cid, CHANNEL_BLUE)
setGlobalStorageValue(config.blueTeamStorage, getGlobalStorageValue(2002)-1)
setPlayerStorageValue(cid,1001, 0)
setPlayerStorageValue(cid,1002, 1)
doRemoveCondition(cid,CONDITION_INFIGHT)
doRemoveCondition(cid, CONDITION_OUTFIT)
if blueStorage == 1 then
winKillRed(cid)
end
return true
end
--Red Team
	if getPlayerStorageValue(cid,1001) == config.redTeam then
		arenaDeathRed(cid)
--Blue Team
	elseif getPlayerStorageValue(cid,1001) == config.blueTeam then
		arenaDeathBlue(cid)
	end
end
return true
end

Code:
[01/08/2010 14:59:02] [Error - CreatureScript Interface] 
[01/08/2010 14:59:02] data/creaturescripts/scripts/war arena/war_death.lua:onPrepareDeath
[01/08/2010 14:59:02] Description: 
[01/08/2010 14:59:02] data/creaturescripts/scripts/war arena/war_death.lua:55: attempt to call global 'doPlayerCloseChannel' (a nil value)
[01/08/2010 14:59:02] stack traceback:
[01/08/2010 14:59:02] 	data/creaturescripts/scripts/war arena/war_death.lua:55: in function 'arenaDeathRed'
[01/08/2010 14:59:02] 	data/creaturescripts/scripts/war arena/war_death.lua:84: in function <data/creaturescripts/scripts/war arena/war_death.lua:12>
 
Last edited:
doPlayerCloseChannel either does not exist as a function or there is an error
on the function its self, tell us what TFS are you using and if you have that
function, post it too.
the first script had a lot of 'spaces' in between the locals that the script
had to search, Did the first script worked in the first place?
 
Back
Top