Ir para conteúdo
  • Cadastre-se

Posts Recomendados

<p>Então eu queria por a MOD por Talkaction tbm tem como alguem ae dar uma força? :O

MOD CTF EVENT:

<?xml version="1.0" encoding="utf-8"?>

<mod name="CTF" version="1.0" author="Doggynub" contact="otland.net" enabled="yes">

<config name="toto"><![CDATA[

--[[ Storage Settings]]--

Owner = 1900 -- put empty storage

FLAG2_INn = 4000 -- put empty storage

<?xml version="1.0" encoding="utf-8"?>

<mod name="CTF" version="1.0" author="Doggynub" contact="otland.net" enabled="yes">

<config name="toto"><![CDATA[

--[[ Storage Settings]]--

Owner = 1900 -- put empty storage

FLAG2_INn = 4000 -- put empty storage

FLAG_IN = 4001 -- put empty storage

TEAM1_FLAGS = 3030 -- put empty storage

TEAM2_FLAGS = 3031 -- put empty storage

Event_Start = 3032 -- put empty storage

Event_timeend = 3033 -- put empty storage

Event_Tile_Close = 3039 -- put empty storage

joined = 2023 --put empty storage

Timer = 1010 --put empty storage

--------------------------------------

--[[ Places setting ]]--

BLUE_FLAG = {x = 32529, y = 33316, z = 7} -- Blue flag Place

RED_FLAG = {x = 32595, y = 33374, z = 7} --red flag Place

Tp_Place = {x=32340,y=32213,z=7} -- Place where the event teleport will be created.

Wait_Place = {x = 32617, y = 33341, z = 7} -- Positions Players will be sent when the enter event's teleport

frompos = {x = 32611, y = 33333, z = 7} --start sqm in the waiting room(1 floor)

topos = {x = 32626, y = 33349, z = 7} -- end sqm in the waiting room(1 floor)

Red_Position = {x = 32605, y = 33379, z = 7} -- Red team temple pos

Blue_Position = {x = 32538, y = 33317, z = 7} -- Blue team temple pos

---------------------------------------

--[[Event setting ]]--

Event_WaitTime = 5 -- time for the collection of player then event will start (in minutes)

Event_MaxTime = 10 --- in minutes ( this is the max time for an event to bb running )

Players_Speed = 20000 -- put the level of base speed in event ( like if you want the speed of lvl 300 then wright 300)

Flag_Holder_Speed = 20000 -- [Old-Styled feature] speed for the player when he hold a flag better not to increase.

TEAM2_NAME = "Red" -- team 2 name

TEAM1_NAME = "Green" -- team 1 name

FLAG_SCORE = 2 -- score when team gets he wins

Teleport_On_Score = true -- this teleport all players to their team main position when some one score a flag , make false to disable.

Players_Least_Number = 2 -- this means if there is less than 2 players joined the event will be cancelled

Min_Join_Level = 100 -- min lvl for a player to join event

rewards_random = {

[60] = { -- Rewards of 60% , if it is then it will randomly give one of the items in the items verible if there you put more than one item there

items = {9971,9971,9971}

},

[30] = { -- Rewards of 30%

items = {9971,9971,9971}

},

[10] = { -- Rewards of 10%

items = {9971,9971,9971}

}

}

]]></config>

<lib name="CTF-lib"><![CDATA[

function isTeamTwo(cid)

return (isPlayer(cid) and getPlayerStorageValue(cid,5054) > -1)

end

function isTeamOne(cid)

return (isPlayer(cid) and getPlayerStorageValue(cid,5055) > -1)

end

function resetTheTeams(cid)

return (isPlayer(cid) and setPlayerStorageValue(cid,5054,-1) and setPlayerStorageValue(cid,5055,-1))

end

function setflagOwner(cid)

return setPlayerStorageValue(cid,Owner,1)

end

function flagOwner(cid)

return (isPlayer(cid) and getPlayerStorageValue(cid,Owner) > 0)

end

function releaseBF(cid)

setGlobalStorageValue(FLAG_IN,-1)

setPlayerStorageValue(cid,103, 0)

setPlayerStorageValue(cid,Owner,-1)

return true

end

function releaseRF(cid)

setGlobalStorageValue(FLAG2_INn,-1)

setPlayerStorageValue(cid,103, 0)

setPlayerStorageValue(cid,Owner,-1)

return true

end

function setFirstTeam(cid)

return setPlayerStorageValue(cid,5055,1)

end

function setSecondTeam(cid)

return setPlayerStorageValue(cid,5054,2)

end

function addToRed()

return setGlobalStorageValue(TEAM2_FLAGS,getGlobalStorageValue(TEAM2_FLAGS)+1)

end

function addToBlue()

return setGlobalStorageValue(TEAM1_FLAGS,getGlobalStorageValue(TEAM1_FLAGS)+1)

end

function getBlueScore()

return getGlobalStorageValue(TEAM1_FLAGS)

end

function getRedScore()

return getGlobalStorageValue(TEAM2_FLAGS)

end

function getTheSpeed(level)

value = (220 +(2 *(level -1)))

return value

end

function resetTheStorage()

setGlobalStorageValue(Event_Start,-1)

setGlobalStorageValue(Event_timeend,-1)

setGlobalStorageValue(TEAM1_FLAGS,0)

setGlobalStorageValue(FLAG2_INn,-1)

setGlobalStorageValue(FLAG_IN,-1)

setGlobalStorageValue(TEAM2_FLAGS,0)

return true

end

function blueStolen()

return getGlobalStorageValue(FLAG_IN)

end

function redStolen()

return getGlobalStorageValue(FLAG2_INn)

end

function giveReward(cid)

local t = math.random(1,100)

if t <= 10 then

local rare = rewards_random[10].items[math.random(1,#rewards_random[10].items)]

doPlayerAddItem(cid,rare,1)

doPlayerSendTextMessage(cid,25,"Rare rate Reward : you won "..getItemNameById(rare)..".")

elseif t > 10 and t <= 40 then

local semi = rewards_random[30].items[math.random(1,#rewards_random[30].items)]

doPlayerAddItem(cid,semi,1)

doPlayerSendTextMessage(cid,25,"Semi rate Reward : you won "..getItemNameById(semi)..".")

elseif t > 40 then

local aver = rewards_random[60].items[math.random(1,#rewards_random[60].items)]

doPlayerAddItem(cid,aver,1)

doPlayerSendTextMessage(cid,25,"Averege rate Reward : you won "..getItemNameById(aver)..".")

end

return true

end

]]></lib>

<event type="login" name="Tutorial Login" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

function onLogin(cid)

if getGlobalStorageValue(Event_Start) < 1 then

if isTeamOne(cid) or isTeamTwo(cid) then

resetTheTeams(cid)

end

end

registerCreatureEvent(cid, "Attk")

registerCreatureEvent(cid, "ctff")

registerCreatureEvent(cid, "prepare")

return true

end

]]></event>

<event type="combat" name="Attk" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

function onCombat(cid, target)

if isTeamOne(cid) and isTeamOne(target) then

return false

end

if isTeamTwo(cid) and isTeamTwo(target) then

return false

end

return true

end

]]></event>

<event type="statschange" name="prepare" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

local corpse_ids = {

[0] = 3065, -- female

[1] = 3058 -- male

}

function onStatsChange(cid, attacker, type, combat, value)

if combat == COMBAT_HEALING then

return true

end

if getCreatureHealth(cid) > value then

return true

end

if getGlobalStorageValue(Event_Start) > 0 then

if flagOwner(cid) then

if isTeamOne(cid) then

doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").."[Flag Holder].")

doTeleportThing(cid,Blue_Position,false)

doSendMagicEffect(Blue_Position,10)

doCreatureAddHealth(cid,getCreatureMaxHealth(cid))

doCreatureAddMana(cid,getCreatureMaxMana(cid))

releaseRF(cid)

for _,cid in ipairs(getPlayersOnline()) do

if isTeamOne(cid) or isTeamTwo(cid) then

doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " has died with the "..TEAM2_NAME.." team flag. The flag is returned back to the "..TEAM1_NAME.." team.")

end

end

return false

elseif isTeamTwo(cid) then

doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").."[Flag Holder].")

doTeleportThing(cid,Red_Position,false)

doSendMagicEffect(Red_Position,10)

doCreatureAddHealth(cid,getCreatureMaxHealth(cid))

doCreatureAddMana(cid,getCreatureMaxMana(cid))

releaseBF(cid)

for _,cid in ipairs(getPlayersOnline()) do

if isTeamOne(cid) or isTeamTwo(cid) then

doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " has died with the "..TEAM1_NAME.." team flag. The flag is returned back to the "..TEAM1_NAME.." team.")

end

end

return false

end

else

if isTeamOne(cid) or isTeamTwo(cid) then

doItemSetAttribute(doCreateItem(corpse_ids[getPlayerSex(cid)], 1, getThingPos(cid)), "description", "You recognize "..getCreatureName(cid)..". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item").."[Normal kill].")

doTeleportThing(cid,( isTeamTwo(cid) and Red_Position or Blue_Position ),false)

doSendMagicEffect(Red_Position,10)

doCreatureAddHealth(cid,getCreatureMaxHealth(cid))

doCreatureAddMana(cid,getCreatureMaxMana(cid))

return false

end

end

end

return true

end

]]></event>

<movevent type="StepIn" actionid="7000" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

function eventEnds()

doBroadcastMessage('CTF-Event : The '..TEAM2_NAME..' team won and reciaved their reward.')

for _,cid in ipairs(getPlayersOnline()) do

if isTeamTwo(cid) then

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)

doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)

doRemoveConditions(cid,false)

resetTheTeams(cid)

doChangeSpeed(cid, getTheSpeed(getPlayerLevel(cid)) - getCreatureSpeed(cid))

giveReward(cid)

elseif isTeamOne(cid) then

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)

doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)

doRemoveConditions(cid,false)

doPlayerSendTextMessage(cid,22,'Your team have lost.')

resetTheTeams(cid)

doChangeSpeed(cid, getTheSpeed(getPlayerLevel(cid)) - getCreatureSpeed(cid))

end

end

addEvent(resetTheStorage,5)

end

function onStepIn(cid, item, position, fromPosition)

if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then

if isTeamTwo(cid) and redStolen() < 0 then

if not flagOwner(cid) then

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

doPlayerSendTextMessage(cid, 27, "This is your team flag, you cant take it!")

end

elseif isTeamTwo(cid) and redStolen() > 0 and blueStolen() < 0 then

doPlayerSendTextMessage(cid, 27, "Your team's Flag has been stolen, go get it back!")

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

return true

end

if isTeamTwo(cid) and flagOwner(cid) and blueStolen() > 0 and redStolen() < 0 then

if getRedScore() == FLAG_SCORE -1 then

addEvent(eventEnds,1000)

addToRed()

doTeleportThing(cid, fromPosition,TRUE)

doChangeSpeed(cid, getTheSpeed(Players_Speed) - getCreatureSpeed(cid) )

releaseBF(cid)

for _,tid in ipairs(getPlayersOnline()) do

if isTeamOne(tid) or isTeamTwo(tid) then

doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the last flag and earned match win to the ".. TEAM2_NAME.." team!")

end

end

else

releaseBF(cid)

addToRed()

doTeleportThing(cid, fromPosition,TRUE)

doChangeSpeed(cid, getTheSpeed(Players_Speed) - getCreatureSpeed(cid) )

for _,tid in ipairs(getPlayersOnline()) do

if isTeamOne(tid) or isTeamTwo(tid) then

doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the flag and earned 1 point to the ".. TEAM2_NAME.." team!")

if Teleport_On_Score == true then

doTeleportThing(tid,( isTeamTwo(tid) and Red_Position or Blue_Position ), false)

doSendMagicEffect(getThingPos(tid),10)

end

end

end

end

end

if isTeamOne(cid) then

if blueStolen() < 0 and redStolen() > 0 then

if flagOwner(cid) then

doPlayerSendTextMessage(cid, 27, "You already holding the flag!")

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

elseif (not flagOwner(cid)) then

doPlayerSendTextMessage(cid, 27, "Your Team mates already stole the oponent flag, defend him!")

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

end

elseif blueStolen() > 0 and redStolen() < 0 then

doPlayerSendTextMessage(cid, 27, "Your team's flag is taken you can't capture or steel a flag!")

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

end

if redStolen() < 0 and blueStolen() < 0 then

setGlobalStorageValue(FLAG2_INn,1)

setflagOwner(cid)

setPlayerStorageValue(cid,103, os.time()+300)

doTeleportThing(cid, fromPosition,TRUE)

doChangeSpeed(cid, getTheSpeed(Flag_Holder_Speed)- getCreatureSpeed(cid) )

for _,tid in ipairs(getPlayersOnline()) do

if isTeamOne(tid) or isTeamTwo(tid) then

doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " stolen the "..TEAM2_NAME.." team flag!")

end

end

end

end

end

return true

end

]]></movevent>

<movevent type="StepIn" actionid="3435" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)

if getStorage(Event_Tile_Close) > 0 then

if getPlayerLevel(cid) < Min_Join_Level then

doTeleportThing(cid,fromPosition,false)

doSendMagicEffect(fromPosition,10)

doPlayerSendTextMessage(cid,21,"Only players of level "..Min_Join_Level.." are allowed to pass.")

else

doTeleportThing(cid,Wait_Place,false)

doSendMagicEffect(Wait_Place,10)

end

else

doTeleportThing(cid,fromPosition,false)

doSendMagicEffect(fromPosition,10)

doPlayerSendTextMessage(cid,21,"Come back later, event is closed now.")

end

return true

end

]]></movevent>

<movevent type="StepIn" actionid="7001" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

function eventEnded()

if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then

doBroadcastMessage('CTF-Event : The '.. TEAM1_NAME..' team won and reciaved their reward.')

for _,cid in ipairs(getPlayersOnline()) do

if isTeamOne(cid) then

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)

doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)

doRemoveConditions(cid,false)

resetTheTeams(cid)

doChangeSpeed(cid, getTheSpeed(getPlayerLevel(cid)) - getCreatureSpeed(cid))

giveReward(cid)

elseif isTeamTwo(cid) then

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)

doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)

doRemoveConditions(cid,false)

doPlayerSendTextMessage(cid,22,'Your team have lost.')

resetTheTeams(cid)

doChangeSpeed(cid, getTheSpeed(getPlayerLevel(cid)) - getCreatureSpeed(cid))

end

end

end

addEvent(resetTheStorage,5)

end

function onStepIn(cid, item, position, fromPosition)

if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then

if isTeamOne(cid) and blueStolen() < 0 then

if not flagOwner(cid) then

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

doPlayerSendTextMessage(cid, 27, "This is your team flag, you cant take it!")

end

elseif isTeamOne(cid) and blueStolen() > 0 and redStolen() < 0 then

doPlayerSendTextMessage(cid, 27, "Your team's Flag has been stolen, go get it back!")

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

return true

end

if isTeamOne(cid) and flagOwner(cid) and redStolen() > 0 and blueStolen() < 0 then

if getBlueScore() == FLAG_SCORE -1 then

addEvent(eventEnded,1000)

addToBlue()

doTeleportThing(cid, fromPosition,TRUE)

doChangeSpeed(cid, getTheSpeed(Players_Speed) - getCreatureSpeed(cid) )

releaseRF(cid)

for _,tid in ipairs(getPlayersOnline()) do

if isTeamOne(tid) or isTeamTwo(tid) then

doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the last flag and earned match win to the ".. TEAM1_NAME.." team!")

end

end

else

releaseRF(cid)

addToBlue()

doTeleportThing(cid, fromPosition,TRUE)

doChangeSpeed(cid, getTheSpeed(Players_Speed) - getCreatureSpeed(cid) )

for _,tid in ipairs(getPlayersOnline()) do

if isTeamOne(tid) or isTeamTwo(tid) then

doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " have captured the flag and earned 1 point to the ".. TEAM1_NAME.." team!")

if Teleport_On_Score == true then

doTeleportThing(tid,( isTeamTwo(tid) and Red_Position or Blue_Position ), false)

doSendMagicEffect(getThingPos(tid),10)

end

end

end

end

end

if isTeamTwo(cid) then

if blueStolen() > 0 and redStolen() < 0 then

if flagOwner(cid) then

doPlayerSendTextMessage(cid, 27, "You already holding the flag!")

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

elseif (not flagOwner(cid)) then

doPlayerSendTextMessage(cid, 27, "Your Team mates already stole the oponent flag, defend him!")

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

end

elseif redStolen() > 0 and blueStolen() < 0 then

doPlayerSendTextMessage(cid, 27, "Your team's flag is taken you can't capture or steel a flag!")

doTeleportThing(cid, fromPosition,TRUE)

doSendMagicEffect(getThingPos(cid),2)

end

if blueStolen() < 0 and redStolen() < 0 then

setGlobalStorageValue(FLAG_IN,1)

setflagOwner(cid)

setPlayerStorageValue(cid,103, os.time()+300)

doTeleportThing(cid, fromPosition,TRUE)

doChangeSpeed(cid, getTheSpeed(Flag_Holder_Speed)- getCreatureSpeed(cid) )

for _,tid in ipairs(getPlayersOnline()) do

if isTeamOne(tid) or isTeamTwo(tid) then

doPlayerSendTextMessage(tid,22,getCreatureName(cid) .. " stolen the "..TEAM1_NAME.." team flag!")

end

end

end

end

end

return true

end

]]></movevent>

<globalevent name="ctf" interval="10000048" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

local players = {}

local bmale = createConditionObject(CONDITION_OUTFIT)

setConditionParam(bmale, CONDITION_PARAM_TICKS, -1)

addOutfitCondition(bmale, {lookType = math.random(128,134), lookHead = 115, lookBody =114, lookLegs = 81, lookFeet = 81, lookTypeEx = 0, lookAddons = 3})

local bfemale = createConditionObject(CONDITION_OUTFIT)

setConditionParam(bfemale, CONDITION_PARAM_TICKS, -1)

addOutfitCondition(bfemale, {lookType = math.random(136,142), lookHead = 115, lookBody =114, lookLegs = 81, lookFeet = 81, lookTypeEx = 0, lookAddons = 3})

local rmale = createConditionObject(CONDITION_OUTFIT)

setConditionParam(rmale, CONDITION_PARAM_TICKS, -1)

addOutfitCondition(rmale, {lookType = math.random(128,134), lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = 3})

local rfemale = createConditionObject(CONDITION_OUTFIT)

setConditionParam(rfemale, CONDITION_PARAM_TICKS, -1)

addOutfitCondition(rfemale, {lookType = math.random(136,142),lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94, lookTypeEx = 0, lookAddons = 3})

local fight = createConditionObject(CONDITION_INFIGHT)

setConditionParam(fight, CONDITION_PARAM_TICKS, -1)

function eventEnd()

if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then

if getRedScore() > getBlueScore() then

doBroadcastMessage('CTF-Event : The '.. TEAM2_NAME..' team won and recieved their reward.')

for _,cid in ipairs(getPlayersOnline()) do

if isTeamTwo(cid) then

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)

doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)

doRemoveConditions(cid,false)

resetTheTeams(cid)

doChangeSpeed(cid, getTheSpeed(getPlayerLevel(cid)) - getCreatureSpeed(cid))

giveReward(cid)

elseif isTeamOne(cid) then

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)

doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)

doRemoveConditions(cid,false)

doPlayerSendTextMessage(cid,22,'Your team have lost.')

resetTheTeams(cid)

doChangeSpeed(cid, getTheSpeed(getPlayerLevel(cid)) - getCreatureSpeed(cid))

end

end

elseif getRedScore() < getBlueScore() then

doBroadcastMessage('CTF-Event : The '.. TEAM1_NAME..' team won and recieved their reward.')

for _,cid in ipairs(getPlayersOnline()) do

if isTeamOne(cid) then

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)

doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)

doRemoveConditions(cid,false)

resetTheTeams(cid)

doChangeSpeed(cid, getTheSpeed(getPlayerLevel(cid)) - getCreatureSpeed(cid))

giveReward(cid)

elseif isTeamTwo(cid) then

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)

doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)

doRemoveConditions(cid,false)

doPlayerSendTextMessage(cid,22,'Your team have lost.')

resetTheTeams(cid)

doChangeSpeed(cid, getTheSpeed(getPlayerLevel(cid)) - getCreatureSpeed(cid))

end

end

elseif getRedScore() == getBlueScore() then

doBroadcastMessage('CTF-Event : The Event ended with a draw between both teams.')

for _,cid in ipairs(getPlayersOnline()) do

if isTeamTwo(cid) or isTeamOne(cid) then

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)),false)

doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)),10)

doRemoveConditions(cid,false)

doPlayerSendTextMessage(cid,22,'It was a draw between both teams.')

resetTheTeams(cid)

doChangeSpeed(cid, getTheSpeed(getPlayerLevel(cid)) - getCreatureSpeed(cid))

end

end

end

addEvent(resetTheStorage,1000)

end

end

function eventStart()

doSetStorage(Event_Tile_Close,-1)

setGlobalStorageValue(Event_timeend,1)

setGlobalStorageValue(Timer, os.time() + Event_MaxTime*60)

addEvent(eventEnd,Event_MaxTime*60*1000)

for v = frompos.x , topos.x do

for k = frompos.y , topos.y do

for i = 1, 200 do

position = {x = v, y = k, z = 7, stackpos = i}

pid = getThingfromPos(position).uid

if(pid ~= nil and isPlayer(pid)) then

table.insert(players, pid)

end

end

end

end

if math.mod(#players, 2) ~= 0 then

doTeleportThing(players[#players],getTownTemplePosition(getPlayerTown(players[#players])),false)

doSendMagicEffect(getThingPosition(players[#players]),10)

doPlayerSendTextMessage(players[#players], 19, "Sorry, you have been kicked from event to balance teams.")

table.remove(players)

end

if #players < Players_Least_Number then

doBroadcastMessage("CTF event was cancelled because less than "..Players_Least_Number.." players joined")

resetTheStorage()

if #players > 0 then

for i = 1,#players do

doTeleportThing(players,getTownTemplePosition(getPlayerTown(players)),false)

doSendMagicEffect(getThingPos(players), 10)

end

end

else

doBroadcastMessage("CTF started")

for i = 1, math.floor(#players/2) do

setFirstTeam(players)

end

for i = math.floor(#players/2)+1 , #players do

setSecondTeam(players)

end

for _,cid in ipairs(getPlayersOnline()) do

if isTeamOne(cid) then

if getPlayerSex(cid) == 1 then

doAddCondition(cid, bmale)

elseif getPlayerSex(cid) ~= 1 then

doAddCondition(cid, bfemale)

end

doAddCondition(cid, fight)

doTeleportThing(cid,Blue_Position,false)

doSendMagicEffect(Blue_Position, 10)

doChangeSpeed(cid, getTheSpeed(Players_Speed) - getCreatureSpeed(cid))

elseif isTeamTwo(cid) then

if getPlayerSex(cid) == 1 then

doAddCondition(cid, rmale)

elseif getPlayerSex(cid) ~= 1 then

doAddCondition(cid, rfemale)

end

doAddCondition(cid, fight)

doTeleportThing(cid,Red_Position,false)

doSendMagicEffect(Red_Position, 10)

doChangeSpeed(cid, getTheSpeed(Players_Speed) - getCreatureSpeed(cid))

end

end

players = {}

end

end

function onThink(interval)

if getGlobalStorageValue(Event_Start) < 0 then

setGlobalStorageValue(Event_Start,1)

doSetStorage(Event_Tile_Close,1)

doBroadcastMessage("CTF event is opened and teleport is created. It will start in "..Event_WaitTime.." minutes.")

players = {}

if getTileItemById(Tp_Place, 1387).uid < 1 then

doItemSetAttribute(doCreateItem(1387,1, Tp_Place), "aid", 3435)

end

f= Event_WaitTime - 1

for i = 1,Event_WaitTime-1 do

addEvent(doBroadcastMessage,i*60*1000,"CTF event is opened and teleport is created. It will start in "..f.." minutes.")

f= f-1

end

addEvent(eventStart,Event_WaitTime*60*1000)

end

return true

end

]]></globalevent>

<event type="think" name="ctff" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

local bl = BLUE_FLAG

local re = RED_FLAG

function onThink(interval)

if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then

if redStolen() < 0 then

doSendAnimatedText(re,"FLAG!",TEXTCOLOR_DARKRED)

doSendMagicEffect(re, CONST_ME_SOUND_RED)

end

if blueStolen() < 0 then

doSendAnimatedText(bl,"FLAG!",TEXTCOLOR_GREEN)

doSendMagicEffect(bl, CONST_ME_SOUND_GREEN)

end

for _, cid in ipairs(getPlayersOnline()) do

if flagOwner(cid) then

if isTeamOne(cid) or isTeamTwo(cid) then

if hasCondition(cid,CONDITION_HASTE) then

doRemoveCondition(cid,CONDITION_HASTE)

end

end

pl = getThingPos(cid)

if isTeamTwo(cid) then

if getPlayerStorageValue(cid,103) < os.time() then

releaseBF(cid)

for _,cid in ipairs(getPlayersOnline()) do

if isTeamOne(cid) or isTeamTwo(cid) then

doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " wasted 5 minutes with FLAG."..TEAM2_NAME.." flag is again on spawn!")

end

end

else

doSendAnimatedText(pl,"FLAG!",TEXTCOLOR_GREEN)

doSendMagicEffect(pl, CONST_ME_SOUND_GREEN)

end

elseif isTeamOne(cid) then

if getPlayerStorageValue(cid,103) < os.time() then

releaseRF(cid)

for _,cid in ipairs(getPlayersOnline()) do

if isTeamOne(cid) or isTeamTwo(cid) then

doPlayerSendTextMessage(cid,22,getCreatureName(cid) .. " wasted 5 minutes with FLAG."..TEAM1_NAME.." flag is again on spawn!")

end

end

else

doSendAnimatedText(pl,"FLAG!",COLOR_RED)

doSendMagicEffect(pl, CONST_ME_SOUND_RED)

end

end

end

end

end

return true

end

]]></event>

<globalevent name="timer" interval="0.4" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

function onThink(interval)

for _,cid in ipairs(getPlayersOnline()) do

if isTeamOne(cid) or isTeamTwo(cid) then

if getGlobalStorageValue(Event_Start) > 0 and getGlobalStorageValue(Event_timeend) > 0 then

if getGlobalStorageValue(Timer)- os.time() >= 0 then

doPlayerSendCancel(cid, "Time -> ".. os.date("%M:%S ",getGlobalStorageValue(Timer)- os.time()) .. " | ".. TEAM1_NAME.." Score : "..getBlueScore(cid).."/"..FLAG_SCORE.." captures | ".. TEAM2_NAME.." Score : "..getRedScore(cid).."/"..FLAG_SCORE.." captures")

end

end

end

end

return true

end

]]></globalevent>

<globalevent name="starting" type="startup" event="script"><![CDATA[

domodlib('toto')

domodlib('CTF-lib')

function onstartup()

resetTheStorage()

return true

end

]]></globalevent>

</mod> [\spoiler]

Editado por Fausto32 (veja o histórico de edições)

          Procuro Equipe para projeto sério com remuneração, maior necessidade Programador em C\C++.

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

@HelpMe! Scripters :x

          Procuro Equipe para projeto sério com remuneração, maior necessidade Programador em C\C++.

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

@Up Helpme?!

          Procuro Equipe para projeto sério com remuneração, maior necessidade Programador em C\C++.

Link para o post
Compartilhar em outros sites

cara eu acho q n tem como manow colokar essa script pra talk e n fica comentado mais de duas vezes kkkk se um admin ve da merda

Têr tenho ctz q tem sim ^^ e @Up e permitido sim não e considerado double apos 1 dia de post e nem uma resposta ..

          Procuro Equipe para projeto sério com remuneração, maior necessidade Programador em C\C++.

Link para o post
Compartilhar em outros sites

cara eu acho q n tem como manow colokar essa script pra talk e n fica comentado mais de duas vezes kkkk se um admin ve da merda

Isso é permitido sim, leia as regras.

Bruno de Carvalho Câmara / Administrador TibiaKing

[email protected]


 

btn_donateCC_LG.gif

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

Link para o post
Compartilhar em outros sites

@Up!

          Procuro Equipe para projeto sério com remuneração, maior necessidade Programador em C\C++.

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo