Jump to content
  1. masterowl

    masterowl

  2. davidvietro

    davidvietro

  3. KotZletY

    KotZletY

  4. RafaelSalilo

    RafaelSalilo

  5. Zackeirel Doelinger

    Zackeirel Doelinger

  6. biel.stocco

    biel.stocco

  7. Milbradt

    Milbradt

  8. Ryukiimaru

    Ryukiimaru

  9. fernandobernardin

    fernandobernardin

  10. daniloromao

    daniloromao

  11. Luis Matheus

    Luis Matheus

  12. Emersonssss

    Emersonssss

  13. izac ximenes

    izac ximenes

  14. ViitinG

    ViitinG

  15. f.silva

    f.silva

  16. Danihcv

    Danihcv

  • Similar Content

    • By EddyHavoc
      Notepad++
      Vá em Editar > Painel de Caracteres para exibir o Painel de Inserção ASCII.
      Coloque o cursos aonde você quer inserir o caractere NULL.
      Clique duplo em NULL (Na coluna Caractere) para inserir.
       
       

       
       
       
    • By EddyHavoc
      Open Source MMORPG emulador de Tibia escrito em C++.
      Servidor Oficial do Tibiaking!
       
       
       
       
       
       

       
      [OTG][NPC][Storages][Dawnport] Liberando os acessos das Quests e Missões pelo NPC Captain Dreadnought
      Tutorial explicado de como liberar os acessos, missões e quests para todos os jogadores!
       

      NPC Captain Dreadnought
      Abra o script do npc captain_dreadnought.lua localizado na pasta data/npc/scripts/ e substitua todo o código pelo código abaixo:
       
       

      CRÉDITOS:
      @EddyHavoc
      @Marco Oliveira
    • By EddyHavoc
      Open Source MMORPG emulador de Tibia escrito em C++.
      Servidor Oficial do Tibiaking!
       
       
       
       
       
       

       
      [OTG][NPC][Storages][Rookgaard] Liberando os acessos das Quests e Missões pelo NPC Oracle
      Tutorial explicado de como liberar as acessos, missões e quests para todos os jogadores!
       

      NPC Oracle
      Abra o script do npc the_oracle.lua localizado na pasta data/npc/scripts/ e substitua todo o código pelo código abaixo:
       
       

      CRÉDITOS:
      @EddyHavoc
      @Marco Oliveira
    • By Lurk
      Peço desculpas caso esteja postando na área errada, por favor movam o tópico. Isso é um tutorial
      O script já existe na base que o @WooX postou aqui mas quando tentei passar pro meu sv 0.4 ficava dando debug dai eu desisti na época. Dai eu tava tentando ajudar nesse tópico, tentei mais uma vez e consegui fazer funcionar. Exemplo de como fica ingame
       

       
      Vamos a instalação
      em data/globalevents/scripts crie um arquivo chamado eventcheck.lua e cole isso dentro
      local EventsListalist = {         {time = "01:00", name = "Snowball Event"},                 {time = "02:00", name = "DesertWar Event"},         {time = "03:00", name = "Capture The Flag"},         {time = "04:00", name = "FireStorm Event"},         {time = "09:00", name = "Defend The Tower"},         {time = "10:00", name = "Snowball Event"},         {time = "11:00", name = "DesertWar Event"},         {time = "12:00", name = "Capture The Flag"},         {time = "13:00", name = "FireStorm Event"},         {time = "15:00", name = "Battlefield Event"},         {time = "16:00", name = "Defend The Tower"},         {time = "17:00", name = "Snowball Event"},         {time = "18:00", name = "DesertWar Event",},         {time = "19:00", name = "Capture The Flag",},         {time = "20:00", name = "FireStorm Event"},         {time = "21:00", name = "Real Castle"},         {time = "22:00", name = "Battlefield Event"},         {time = "23:00", name = "Defend The Tower"} }      local position = {x = 129, y = 58, z = 7} -- posição do mapa onde o efeito vai sair function onThink(interval, lastExecution)  local people = getPlayersOnline() if #people == 0 then     return true end      local Count = 0 for _, t in ipairs(EventsListalist) do     local eventTime = hourToNumber(t.time)     local realTime = hourToNumber(os.date("%H:%M:%S"))     if eventTime >= realTime then         doCreatureSay(people[1], "Proximo evento as {"..t.time.."h} "..t.name..", faltam "..timeString(eventTime - realTime)..".", TALKTYPE_ORANGE_1, false, 0, position) -- não use acentos aqui ou eles serão alterados por simbolos ingame         return true     end     Count = Count + 1 end return true end Em data/globalevents/globalevents.xml adicione
      <globalevent name="eventos" interval="10000" event="script" value="eventcheck.lua"/> Depois adicione no fim de data/lib/050-function.lua
      function hourToNumber(str) -- By Killua     local hour = (tonumber(str:sub(1,2))*3600) + (tonumber(str:sub(4,5)) * 60)     if #str > 5 then         hour = hour + tonumber(str:sub(7,8))     end     return hour end function timeString(timeDiff,english) -- créditos: Killua     local dateFormat = {}     if english then         dateFormat = {             {"day", timeDiff / 60 / 60 / 24},             {"hour", timeDiff / 60 / 60 % 24},             {"minute", timeDiff / 60 % 60},             {"second", timeDiff % 60}         }     else         dateFormat = {             {"dia", timeDiff / 60 / 60 / 24},             {"hora", timeDiff / 60 / 60 % 24},             {"minuto", timeDiff / 60 % 60},             {"segundo", timeDiff % 60}         }              end     local out = {}     for k, t in ipairs(dateFormat) do         local v = math.floor(t[2])         if(v > 0) then             table.insert(out, (k < #dateFormat and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or ''))         end     end          return table.concat(out) end Créditos:
      @WooX que postou a base onde eu peguei o script
      Aparentemente o Killua que criou a função hourToNumber
      Seja lá quem criou o script, tem o nome de um tal "Henrique" no arquivo original, talvez tenha sido ele
      E eu por algumas pequenas alterações pra fazer o script funcionar em tfs 0.4
      CASO VOCÊ QUEIRA O MESMO SISTEMA PARA OTX 2 PROVAVELMENTE O DA BASE POSTADO PELO WOOX VAI FUNCIONAR desde que você adicione o hourToNumber na lib
       
    • By Lurk
      Fiz essa spell a pedido de um usuário do fórum e logo depois outro usuário pediu uma versão onde o target do player afetado pela magia ficasse bloqueado por um tempo configurável, gostei da ideia e decidi postar em forma de tópico. Primeiro de tudo você vai precisar dessa função feita/disponibilizada pelo @WooX (não se esqueçam de passar no tópico dele e agradecer)
       
      Em data/spells.xml adicione
      <instant name="Cancel Enemy Target" words="Cancel Enemy Target" lvl="12" mana="20" range="3" blockwalls="1" needtarget="1" exhaustion="2000" needlearn="0" event="script" value="canceltargetlurk.lua"> <vocation id="1"/> <vocation id="2"/> </instant> em data/spells/scripts crie um arquivo chamado canceltargetlurk.lua e coloque isso dentro
      --[[ Made by Moira (Lurk on TibiaKing) NÃO REMOVA OS CRÉDITOS ]]-- local storage = 234512 -- tenha certeza de estar usando um numero que ainda não esteja em uso no seu servidor local tempo = 50 -- tempo em segundos para usar a magia novamente local tempo_block = 5 -- quanto tempo o player afetado pela magia vai ficar sem poder atacar OUTRO PLAYER local templo_cannot_be_blocked = 50 -- tempo em que o target vai ficar invuneravel a spell caso já tenha sido afetado por ela local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) function onCastSpell(cid, var) local target = getCreatureTarget(cid) if isPlayer(target) and getPlayerStorageValue(cid, storage) < os.time() and getPlayerStorageValue(target, 234514) < os.time() then doPlayerTargetCreature(target, target) setPlayerStorageValue(target, 234513, tempo_block + os.time()) setPlayerStorageValue(target, 234514, templo_cannot_be_blocked + os.time()) setPlayerStorageValue(cid, storage, tempo + os.time()) return doCombat(cid, combat, var) elseif getPlayerStorageValue(target, 234514) > os.time() then doPlayerSendCancel(cid, "This player has been affect by this spell recently, you must wait ".. getPlayerStorageValue(target, 234514) - os.time() .." to block his attacks again.") return false elseif getPlayerStorageValue(cid, storage) > os.time() then doPlayerSendCancel(cid, "You must wait ".. getPlayerStorageValue(cid, storage) - os.time() .." seconds to use this spell again.") else doPlayerSendCancel(cid, "You may only cast this spell on players.") end return false end agora em data/creaturescripts.xml adicione
      <event type="attack" name="lurkBlockTarget" event="script" value="canceltargetlurk.lua"/> em data/creaturescripts/scripts crie um arquivo chamado canceltargetlurk.lua e cole isso dentro
      --[[ Made by Moira (Lurk on TibiaKing) NÃO REMOVA OS CRÉDITOS ]]-- function onAttack(cid, target) if getPlayerStorageValue(cid, 234513) > os.time() and isPlayer(target) then return doPlayerSendCancel(cid, "You're under effect of the cancel target spell, you must wait".. getPlayerStorageValue(cid, 234513) - os.time() .." seconds to attack again.") and false end return true end por ultimo, abre o arquivo login.lua que está na pasta data/creaturescripts/scripts e adicione isso ANTES DO ULTIMO RETURN TRUE
      registerCreatureEvent(cid, "lurkBlockTarget") Se você quer só E SOMENTE SÓ cancelar o target do inimigo uma unica vez, basta utilizar essa versão da spell
      --[[ Made by Moira (Lurk on TibiaKing) NÃO REMOVA OS CRÉDITOS ]]-- local storage = 234512 -- tenha certeza de estar usando um numero que ainda não esteja em uso no seu servidor local tempo = 50 -- tempo em segundos para usar a magia novamente local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) function onCastSpell(cid, var) local target = getCreatureTarget(cid) if isPlayer(target) and getPlayerStorageValue(cid, storage) < os.time() then doPlayerTargetCreature(target, target) setPlayerStorageValue(cid, storage, tempo + os.time()) return doCombat(cid, combat, var) elseif getPlayerStorageValue(cid, storage) > os.time() then doPlayerSendCancel(cid, "You must wait ".. getPlayerStorageValue(cid, storage) - os.time() .." seconds to use this spell again.") else doPlayerSendCancel(cid, "You may only cast this spell on players.") end return false end Créditos:
      Eu pela spell e creaturescript
      @WooX pela criação da função
       
      se gostou, rep+ aqui e no post do @WooX pela função : p 
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo