Ir para conteúdo
  • Cadastre-se

CreatureScript/GlobalEvent/MoveMent (Evento) Double Exp com Effect - Iniciado Manualmente


Posts Recomendados

Opah galera.. Tranquilo ?!.. :tongue:

Então, eu criei esse evento para meu WODBO, mas resolvi compartilhar com vocês.. Então, sem mais enrolação, como funciona:



1• O evento é iniciado por um administrador manualmente.
2• O DoubleExp dura X tempo (Determinado pelo administrador)
3• O DoubleExp irá continuar durante o tempo que o player estiver offline, ou seja, irá acabar no tempo determinado pelo administrador. Sem exceções.
4• O administrador irá determinar a quantia de exp dobrada.
5• O evento pode ser cancelado em qualquer momento pelo administrador.
6• O DoubleExp só se aplica aos jogadores online
7• O Ganho de Exp Padrão é alterado para 0.5
8• O Double Exp acaba ao deslogar.
AVISO: Eu criei o sistema já faz um bom tempo, então seria comum eu ter esquecido de comentar algo.


Então, para começar, crie doubleexpevent.lua em data/creaturescripts/scripts e dentro dele:

 

 


function onLogin(cid)
if getPlayerStorageValue(cid, 100002) == 1 then
doPlayerSendTextMessage(cid, 18, "Você perdeu o seu Double Exp!")
setPlayerStorageValue(cid, 100002, -1)
end
end
function onLogout(cid)
if getPlayerStorageValue(cid, 100001) > 1 then
setPlayerStorageValue(cid, 100001, -getPlayerStorageValue(cid, 100001))
if getPlayerStorageValue(cid, 223291) < 1 then
doPlayerSetExperienceRate(cid, 1)
else
doPlayerSetExperienceRate(cid, 0.5)
end
setPlayerStorageValue(cid, 100002, 1)
end
end
function onThink(cid, interval)
interval = 50 --Intervalo do efeito do double exp
if getPlayerStorageValue(cid, 100001) >= 1 then
local pos = getThingPos(cid)
local interval2 = 100
local poseff1 = {x=pos.x, y=pos.y, z=pos.z} --Posição do efeito
addEvent(doSendMagicEffect, interval, poseff1, 116) --116 É o número do efeito
addEvent(doSendAnimatedText, interval2, getCreaturePosition(cid), 'DoubleExp!', 144)
end
if getPlayerStorageValue(cid, 223291) >= 1 then
if getPlayerStorageValue(cid, 223492) < 1 then
doPlayerSetExperienceRate(cid, 0.5)
setPlayerStorageValue(cid, 223492, 1)
end
local pos = getThingPos(cid)
local poseff1 = {x=pos.x, y=pos.y-1, z=pos.z} -- posição do efeito
addEvent(doSendMagicEffect, interval, poseff1, 1) -- 1 é o número do efeito
end
return true
end

 

Agora, adicione as tags em creaturescripts.xml:

 


<event type="login" name="DoubleLogin" event="script" value="doubleexpevent.lua">
<event type="think" name="DoubleThink" event="script" value="doubleexpevent.lua">
<event type="logout" name="DoubleLogout" event="script" value="doubleexpevent.lua">

 

Em seguida, em data/creaturescripts/scripts, abra Login.lua e adicione em baixo de alguma tag parecida as tags:

 


registerCreatureEvent(cid, "DoubleLogin")
registerCreatureEvent(cid, "DoubleThink")
registerCreatureEvent(cid, "DoubleLogout")
 

Ok, agora o comando para iniciar o evento..

Em data/talkactions abra talkactions.xml e adicione a tag:

 

 


<talkaction log="yes" words="/doubleexp;!doubleexp" acess="5" event="script" value="doubleexp.lua"/>
 

 

E para terminar, crie doubleexp.lua em data/talkactions/scripts e dentro dele:

 

 


function onSay(cid, words, param)
local p = string.explode(param, ",")
if p[1] == "on" then
if not p[2] or not p[1] then
doPlayerSendCancel(cid, "Complete com o tempo e a quantia. \n Ex: /doubleexp on, 60, 2")
return true
end
local timeduration = p[2]*1000
local online = getPlayersOnline()
for i=1, #online do
doPlayerSetExperienceRate(online[1], p[3])
setPlayerStorageValue(online[1], 100001, 1)
addEvent(setGlobalStorageValue, timeduration, 200001, 1)
doBroadcastMessage("O Staff ".. getCreatureName(cid) .." iniciou o evento doubleexp. \n Tempo: ".. timeduration/1000 .." segundos \b Dobrando: "..p[3].."x mais de exp.", 21)
end
elseif param == "off" then
local online = getPlayersOnline()
for i=1, #online do
setGlobalStorageValue(200001, -getGlobalStorageValue(200001))
setPlayerStorageValue(online, 100001, 0)
doPlayerSetExperienceRate(online[1], 1)
doBroadcastMessage("O staff ".. getCreatureName(cid) .." desativou o evento double exp.", 21)
end
else
doPlayerSendCancel(cid, "Complete com ON ou OFF.")
return true
end
return true
end
 

 

 

Comando utilizado para iniciar o evento:

Citar

 

/doubleexp on, 60, 2

Ou também: !doubleexp on, 60, 2

Nesse caso seria:

ON- A função usada para ligar.

60- O tempo que o evento dura, em segundos

2- Quantas vezes vai dobrar

 

 

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

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Link para o post
Compartilhar em outros sites

Boa tarde, peço que utilize a bbcode de code ao invés de utilizar quotes para postar os códigos.

Após arrumar o tópico, aprovarei.

Link para o post
Compartilhar em outros sites

Editado* Boa tarde..

Obs: O script foi testado em um servidor da versão 8.54

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Link para o post
Compartilhar em outros sites

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites
  • 1 month later...
  • 3 months later...

Muito Bom ! Toma MEu Rep+

Queria saber Uma Coisa

 

/doubleexp on, 60, 2

Ou também: !doubleexp on, 60, 2

Nesse caso seria:

ON- A função usada para ligar.

60- O tempo que o evento dura, em segundos

2- Quantas vezes vai dobrar

 

e Para Desliga /doubleexp off ( Se For isso no meu OT Aparece a Messagem Mais o Efeito ainda Fica )

 

e na Distro da esse error

 

 

[06/05/2017 02:59:43] [Error - TalkAction Interface]
[06/05/2017 02:59:43] data/talkactions/scripts/doubleexp.lua:onSay
[06/05/2017 02:59:43] Description:
[06/05/2017 02:59:43] (luaDoCreatureSetStorage) Creature not found
[06/05/2017 02:59:43] > Broadcasted message: "O staff {ADM-Yoshii} desativou o evento double exp.".

[06/05/2017 02:59:48] [Error - TalkAction Interface]
[06/05/2017 02:59:48] data/talkactions/scripts/doubleexp.lua:onSay
[06/05/2017 02:59:48] Description:
[06/05/2017 02:59:48] (luaDoCreatureSetStorage) Creature not found
[06/05/2017 02:59:48] > Broadcasted message: "O staff {ADM-Yoshii} desativou o evento double exp.".

Link para o post
Compartilhar em outros sites
  • 5 months later...
Em 06/05/2017 em 03:00, djteteh disse:

Muito Bom ! Toma MEu Rep+

Queria saber Uma Coisa

 

/doubleexp on, 60, 2

Ou também: !doubleexp on, 60, 2

Nesse caso seria:

ON- A função usada para ligar.

60- O tempo que o evento dura, em segundos

2- Quantas vezes vai dobrar

 

e Para Desliga /doubleexp off ( Se For isso no meu OT Aparece a Messagem Mais o Efeito ainda Fica )

 

e na Distro da esse error

 

 

[06/05/2017 02:59:43] [Error - TalkAction Interface]
[06/05/2017 02:59:43] data/talkactions/scripts/doubleexp.lua:onSay
[06/05/2017 02:59:43] Description:
[06/05/2017 02:59:43] (luaDoCreatureSetStorage) Creature not found
[06/05/2017 02:59:43] > Broadcasted message: "O staff {ADM-Yoshii} desativou o evento double exp.".

[06/05/2017 02:59:48] [Error - TalkAction Interface]
[06/05/2017 02:59:48] data/talkactions/scripts/doubleexp.lua:onSay
[06/05/2017 02:59:48] Description:
[06/05/2017 02:59:48] (luaDoCreatureSetStorage) Creature not found
[06/05/2017 02:59:48] > Broadcasted message: "O staff {ADM-Yoshii} desativou o evento double exp.".

Bom, como eu queimei a RAM do meu PC eu não posso verificar pessoalmente.

Mas acredito que o erro seja porque o evento foi iniciado com apenas o administrador online. Isso porque o administrador não conta como player, logo, ele vai contar como "nenhuma criatura online" ou algo parecido..

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Link para o post
Compartilhar em outros sites

Testado em TFS 0.3.6 Não Aprovado.  Executado a   instalação 3 Vezes.  

Alguem pode testar em outro servidor e comentar para eu ter certeza do mesmo.  ( Faça Backup ) Ou apenas remova caso necessario.

Testado Novamente em 0.3.6 Porem desta vez utilizando Site com as configurações do sha1 mysql. Funcional.

 

 

Editado por Cain Jorge (veja o histórico de edições)
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.

  • Conteúdo Similar

    • Por Xagah
      Olá, bom dia a todos.
       
      Como tenho visto muitíssimos pedidos neste sentido, lhes apresento o LMS - Last Man Standing com BroadCast




       
    • Por Leohige
      Evento Loteria 
       
       
      Esse evento loteria é diferente dos demais que existem hoje nos servidores, é baseado em cima de um evento que ocorre no CraftLandia (um servidor de Minecraft).
      Quando o evento for iniciado o jogador poderá pagar um valor (configurável) para tentar acertar o número premiado (que vai de 1 até o número configurado). O evento tem um tempo de duração (configurável) e o primeiro jogador a acertar qual é o número premiado levará um premio em dinheiro (configurável) e o evento será encerrado.
       
      Demonstrações:
       
       
       
       
      Comandos:
       
       
      Configuração:
       
       
      Caso queira implementar este evento em seu servidor, crie os arquivos abaixo.
       
      data/lib/lottery/event.lua (as configurações ficam neste arquivo)
       
       
      data/globalevents/scripts/lottery.lua
       
       
      data/globalevents/globalevents.xml
       
      você pode por com um intervalo de tempo
       
       
      ou horário fixo
       
       
      data/talkactions/scripts/lottery.lua
       
       
      data/talkactions/talkactions.xml
       
       
      Tradução para PT-BR!
       
      Caso deseje traduzir o evento, substitua o Lottery.messages inteiro em data/lib/lottery/event.lua por este
       
       
      Qualquer problema, sugestão, bug ou dúvida utilize este tópico!!!
    • Por Sekk
      Bom, procurei esse Castle por MUITO TEMPO, mas não achei em NENHUM LUGAR DA INTERNET. Ontem, eu estava vendo alguns mapas do @Deathrocks, e vi nos prints, que o mapa possuia o evento que eu queria!
       
      Então baixei o mapa e extrai o evento, então venho lhes trazer!
       
       
      Nome: Castle 24H
      Cliente: 8.6
      Versão TFS: 0.4
      Tipo: Evento
       
      Bom, para começar, vamos em actions/scripts e crie 2 arquivos:
       
      castledoor1.lua
       
      castlewar1.lua
       
        Agora em actions.xml adicione as tags:
       
      Agora em monster/traps crie 3 arquivos:
       
      porta.xml
       
      protectcastle.xml  
      statue.xml  
      Agora em monsters.xml adicione as tags:    
      Vamos para movements/scripts e crie 2 arquivos:
       
      castlewar2.lua
       
      level.lua  
      Agora em movements.xml adicione as tags:  
       
      Pronto. Agora você só precisa baixar o mapa, inserir o mesmo ao seu servidor, configurar os teleports, e as hunts dentro do castle etc.
       
      PRINTS:
      1ª parte
       
      2ª parte:
       
      Obs.: Todos os ActionID e monsters já estão no mapa! Você só precisa configurar as coordenadas dos teleports, e o que possui no castle!
       
      Obs².: Tudo o que você pode configurar, já está escrito em cada script!
       
       
      Créditos:
      @DeathRocks
      PC98
      mapa.rar
    • Por Sarah Wesker
      >> Only TFS 1.X+ <<
      Oi tudo bem, espero que bem.
      Hoje, apenas começando o ano novo, quero dar-lhe um Firestorm event que eu criei com muito amor para você.
      Atualmente, há muitos eventos semelhantes, mas espero que você dê uma chance ao meu Firestorm event.
       
      Em seguida, vou explicar rapidamente como usar o Firestorm event.
      (( Passo 1 ))
      Crie um novo arquivo.lua na pasta: ( data/lib/ ) com o nome ( fire_storm.lua )
      Copie e cole o código no arquivo fire_storm.lua
      --[[ * Fire Storm Event * Evento creado por Sarah Wesker Dia 31 de Diciembre del 2018 a las 12:30 a.m. Version compatible con TFS 1.x+ ]]-- local DEBUG_ON = true local RELOAD_LIB_ON = true local SHOW_COPYRIGHT = true if RELOAD_LIB_ON or not FSE then if not FSE then print([[>>> The Firestorm Event lib loading...]]) end ---@Fire Storm Event FSE = {} ---@Room Properties FSE.room = {} FSE.room.from = Position(3095, 1847, 8) FSE.room.rangeX = 33 FSE.room.rangeY = 31 ---@Temple Position FSE.getTemplePosition = Position(3191, 1809, 7) ---@Attack Properties FSE.attackSignalEffect = CONST_ME_HITBYFIRE FSE.attackEffect = CONST_ME_FIREAREA FSE.attackDistEffect = CONST_ANI_FIRE ---@Player Counts FSE.players = {} FSE.players.min = 2 FSE.players.max = 30 FSE.players.win = 1 -- always less than FSE.players.min ---@Timers in seconds FSE.timer = {} FSE.timer.removeTp = 20 FSE.timer.checking = 2 FSE.timer.signal = {} FSE.timer.signal.min = 0.1 FSE.timer.signal.max = 0.5 FSE.timer.events = {} ---@Game Dificulty FSE.dificulty = {} FSE.dificulty.attacks = 30 FSE.dificulty.increment = 1 FSE.dificulty.D_attacks = FSE.dificulty.attacks FSE.dificulty.D_increment = FSE.dificulty.increment ---@Teleport Properties FSE.teleport = {} FSE.teleport.itemid = 1387 FSE.teleport.position = Position(3187, 1816, 7) FSE.teleport.destination = Position(3111, 1863, 8) FSE.teleport.actionid = 64500 -- movement script aid FSE.status = [[Stoped]] FSE.rewardContainerName = [[Firestorm Reward]] FSE.rewardContainerID = 2596 FSE.rewards = { -- { id = xxxx, count = 1 to 100 } { id = 2160, count = 100 }, { id = 2160, count = 100 } } function FSE:removeTp(seconds) local teleport = FSE.teleport.position:getTile():getItemById(FSE.teleport.itemid) if teleport then teleport:remove() FSE.teleport.position:sendMagicEffect(CONST_ME_POFF) end FSE:CheckControl() end function FSE:Init() if FSE.status == [[Stoped]] then FSE.status = [[Waiting]] local teleport = Game.createItem(FSE.teleport.itemid, 1, FSE.teleport.position) if not teleport then FSE:Stoped() return DEBUG_ON and print([[The Firestorm Event teleport could not be created.]]) else teleport:setActionId(FSE.teleport.actionid) end addEvent(FSE.removeTp, FSE.timer.removeTp * 1000) Game.broadcastMessage(string.format([[The Firestorm Event has been activated, waiting for participants, You have %s to enter.]], getStringTimeEnglish(FSE.timer.removeTp))) else return DEBUG_ON and print([[The Firestorm Event is trying to start, but an active instance already exists.]]) end end function FSE:Stoped(players, causeMessage, forceStoped) FSE.status = [[Stoped]] for index, eventID in pairs(FSE.timer.events) do stopEvent(eventID) end FSE.timer.events = {} for index, player in pairs(players) do player:teleportTo(FSE.getTemplePosition, false) end FSE.getTemplePosition:sendMagicEffect(CONST_ME_TELEPORT) if forceStoped then Game.broadcastMessage([[The Firestorm Event was forced to close.]]) elseif causeMessage then Game.broadcastMessage(causeMessage) end FSE.dificulty.attacks = FSE.dificulty.D_attacks FSE.dificulty.increment = FSE.dificulty.D_increment return true end function FSE:Started(startMessage) FSE.status = [[Started]] if startMessage then Game.broadcastMessage(startMessage) end FSE:CheckControl() end function FSE:AddEvent(eventID) table.insert(FSE.timer.events, eventID) return eventID end local function getWinNames(players) local names = [[]] for index, player in pairs(players) do names = string.format([[%s%s%s]], names, player:getName(), next(players, index) == nil and '.' or [[, ]]) end return names end function FSE:CheckControl() if FSE.status == [[Stoped]] then -- Break Control elseif FSE.status == [[Waiting]] then local players = FSE:GetPlayers() if #players < FSE.players.min then FSE:Stoped(players, [[The Firestorm Event could not be started because there are not enough participants.]]) else FSE:Started() end elseif FSE.status == [[Started]] then local players = FSE:GetPlayers() if #players <= FSE.players.win then if #players == 0 then FSE:Stoped(players, [[The Firestorm Event has ended.]]) else FSE:Stoped(players, string.format([[The Firestorm Event has ended, the winners are: %s]], getWinNames(players))) FSE:SendRewardToPlayers(players) end FSE:AllRightReserve() -- only credits you can remove if want. else for index = 1, FSE.dificulty.attacks do addEvent(FSE.AttackSignal, math.random(FSE.timer.signal.min * 1000, FSE.timer.signal.max * 1000)) end FSE.dificulty.attacks = FSE.dificulty.attacks + FSE.dificulty.increment FSE:AddEvent(addEvent(FSE.CheckControl, FSE.timer.checking * 1000)) end end end function FSE:GetPlayers() local spectators = Game.getSpectators(FSE.room.from, false, true, 1, FSE.room.rangeX, 1, FSE.room.rangeY) local players = {} if spectators and #spectators > 0 then for index, player in pairs(spectators) do if not player:getGroup():getAccess() then players[#players + 1] = player end end end return players end local function getRewardNames(items) local names = [[]] for index, item in pairs(items) do local it = ItemType(item.id) names = string.format([[%s%u %s%s]], names, item.count, it:getName(), next(items, index) == nil and '.' or [[, ]]) end return names end function FSE:SendRewardToPlayers(players) for index, player in pairs(players) do local depotChest = player:getDepotChest(0, true) if depotChest then local rewardContainer = Game.createItem(FSE.rewardContainerID, 1) if rewardContainer then rewardContainer:setName(FSE.rewardContainerName) local rewardNames = getRewardNames(FSE.rewards) for index2, item in pairs(FSE.rewards) do rewardContainer:addItem(item.id, item.count) end if depotChest:addItemEx(rewardContainer, INDEX_WHEREEVER, FLAG_NOLIMIT) then player:sendTextMessage(MESSAGE_INFO_DESCR, string.format([[You have received on your depot chest: %s]], rewardNames)) end end end end end function FSE:GetRandomTile() local foundTile = Tile(FSE.room.from + Position(math.random(0, FSE.room.rangeX), math.random(0, FSE.room.rangeY), 0)) while not foundTile or not foundTile:getGround() or foundTile:hasProperty(CONST_PROP_BLOCKSOLID) do foundTile = Tile(FSE.room.from + Position(math.random(0, FSE.room.rangeX), math.random(0, FSE.room.rangeY), 0)) end return foundTile end function FSE:AttackSignal() local foundTile = FSE:GetRandomTile() if not foundTile then return DEBUG_ON and print([[Not tile could be found in the Firestorm Event area.]]) end local position = foundTile:getPosition() position:sendMagicEffect(FSE.attackSignalEffect) return addEvent(FSE.AttackTile, 500, self, { x = position.x, y = position.y, z = position.z }) end function FSE:AttackTile(tpos) local position = Position(tpos) local creatures = position:getTile():getCreatures() local fromposdist = (position-Position(5, 5, 0)) fromposdist:sendDistanceEffect(position, FSE.attackDistEffect) position:sendMagicEffect(FSE.attackEffect) if creatures and #creatures > 0 then for index, creature in pairs(creatures) do local player = creature:getPlayer() if player and not player:getGroup():getAccess() then position:sendMagicEffect(CONST_ME_POFF) player:teleportTo(FSE.getTemplePosition, false) FSE.getTemplePosition:sendMagicEffect(CONST_ME_TELEPORT) Game.broadcastMessage(string.format([[The player %s has been eliminated from the Firestorm Event.]], player:getName())) end end end end function FSE:AllRightReserve() return SHOW_COPYRIGHT and print([[The Firestorm Event has ended, all rights reserved for Sarah Wesker.]]) end if type(FSE) == [[table]] then print([[>>> The Firestorm Event lib has successfully loaded.]]) end end (( Passo 2 ))
      Abra o arquivo ( data/lib/lib.lua ) e adicione esta linha:
      dofile('data/lib/fire_storm.lua')  (( Passo 3 ))
      Abra o arquivo ( data/movements/movements.xml ) e adicione esta linha:
      <movevent event="StepIn" actionid="64500" script="fire_storm.lua" /> (( Passo 4 ))
      Vá para a pasta ( data/movements/scripts ) e crie um novo arquivo.lua ( fire_storm.lua )
      Copie e cole o seguinte código nesse novo arquivo.lua
      function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if player then if #FSE:GetPlayers() >= FSE.players.max then player:teleportTo(FSE.getTemplePosition, false) FSE.getTemplePosition:sendMagicEffect(CONST_ME_TELEPORT) else player:teleportTo(FSE.teleport.destination, false) FSE.teleport.destination:sendMagicEffect(CONST_ME_TELEPORT) if not player:getGroup():getAccess() then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, [[Welcome to the Firestorm Event, you have to survive the rain of fire to win.]]) else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, [[Welcome, administrators can only participate as spectators.]]) end end else creature:teleportTo(fromPosition, false) end return true end (( Passo 5 ))
      Faça o evento começar em um determinado horário!
      Você abre o arquivo ( data/globalevents/globalevents.xml ) e adicione esta linha:
      <globalevent name="Firestorm Event" time="12:00:00" script="fire_strom.lua" /> (( Passo 6 ))
      Crie um novo arquivo.lua dentro da pasta ( data/globalevents/scripts/ ) -> ( fire_storm.lua )
      e adicione este código dentro desse arquivo:
      function onTime(interval) FSE:Init() return true end (( The End ))
      Aproveite
       
      (( Others ))
      FSE:Init() | Para iniciar o evento.
      FSE:Stoped() | Para parar o evento.
       
      (( REF IMAGES ))
      | https://prnt.sc/m2a6ov |
      | https://prnt.sc/m2a6gf |
      | https://prnt.sc/m2a7t5 |
       
    • Por Killua
      Últimas atualizações:
       
      16/12/2013:
       
       


       
       
      Introdução:
       
       
      Este é o meu já conhecido evento Blood Castle Automático que estava em outro fórum que acabou. Estou trazendo ele aqui para que ele não "morra".
       
       
       
       
      Informações:  
       
      #Dica: Acho que fica legal o premio do evento ser um item que da double exp por um tempo.
       
       
      Atualização [12/04/2014]
       
       
      Resolvi refazer o código, para facilitar a instalação e melhorar o funcionamento do evento.
       
       
      O que mudou?
       
       
       
       
       
      Instalando o evento:
       
      Lib:
       


       
       
      Movements: 
       


       
       
       
      Creaturescripts: 
       


       
      Monsters: 
       

          O evento pode acontecer de duas maneiras: automática ou manualmente. Vou por as duas possibilidades:     Automática:   

       
       
      Manual:
       


       
       
      Como Configurar:
       
       
      * Se você for colocar, dentro do evento, um teleporte para as pessoas que não quiserem mais participar, coloque o Action ID 9371 nele.
       
       
      * Lembre-se de por NO-LOGOUT tool e NO-PVP tool em toda área do evento!!
       
       
      Todas as demais explicações estão na lib, mas vou demonstrar como configurar os mais "confusos".
       
       
      No modo automático, você configura de quanto em quanto o tempo o evento vai acontecer. Nessa tag:
      <globalevent name="Blood Castle" interval="3600" event="script" value="BloodGlobalEvent.lua"/> Aqui está 3600 segundos, ou seja, 1 hora.
      * Se seu servidor for em milisegundos, multiplique o número por 1000, assim: 3600 segundos * 1000 = 3600000 milisegundos = 1 hora.
       
      No modo manual, para iniciar o evento, basta usar a talkaction /blood-start com seu god.
       
       
      Em posGuarda, vc deve colocar a posicao do Guarda do Portao, como mostrado abaixo:  
        As posPedras são onde ficam as pedras que tampam a passagem enquanto o evento não esta aberto, conforme na imagem abaixo:  
        Em estátua, vc deve colocar a posição em que o arcanjo vai ser criado, conforme na imagem abaixo:  

        Nas posParedes, vc deve por a posição das paredes que bloqueiam a entrada do castelo e que são removidas quando o guarda morre, conforme abaixo:  
        Em fromPos e toPos, você vai por o canto superior esquerdo e o canto inferior direito do mapa do seu evento, respectivamente. Dessa maneira:  
        As outras configurações eu acredito que já estejam bem explicadas.     Espero que gostem dessa nova versão. Recomendo a todos que já usam o evento, reinstalar com essa nova versão.   Qualquer dúvida ou bug, postem que irei responder.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo