Ir para conteúdo

Godfather

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Godfather recebeu reputação de martimtiburcio em Aura System   
    [Criado em TFS 0.4 (tibia 8.6), talvez não funcione em outras versões - não darei suporte]
    Eaí!
    Este mod consiste em dizer !aura para ver uma lista de auras compráveis, que, após compradas, podem ser escolhidas por "!aura nomedaaura" para que saia um efeito no jogador a cada 1 segundo.
     
    [mods/Aura.xml]:
    http://pastebin.com/qVayLc3m
     
    ss's e como usar:


      Como adicionar outros efeitos? Na 4ª linha, nesta parte: auras = { ["fogo"] = {36,1500000,11350}, ["gelo"] = {41,1500000,11351}, ["pedras"] = {44,1250000,11352}, ["energia"] = {37,1250000,11353}, ["tornado"] = {42,15000000,11354}, } Continue seguindo o padrão, que é:
    ["Nome"] = {Efeito, Preço, Storage}, Sendo que Storage não pode repetir, então sempre ponha um número a mais que o anterior.
    É isso
     
      Vlw
  2. Gostei
    Godfather recebeu reputação de Galako em Aura System   
    [Criado em TFS 0.4 (tibia 8.6), talvez não funcione em outras versões - não darei suporte]
    Eaí!
    Este mod consiste em dizer !aura para ver uma lista de auras compráveis, que, após compradas, podem ser escolhidas por "!aura nomedaaura" para que saia um efeito no jogador a cada 1 segundo.
     
    [mods/Aura.xml]:
    http://pastebin.com/qVayLc3m
     
    ss's e como usar:


      Como adicionar outros efeitos? Na 4ª linha, nesta parte: auras = { ["fogo"] = {36,1500000,11350}, ["gelo"] = {41,1500000,11351}, ["pedras"] = {44,1250000,11352}, ["energia"] = {37,1250000,11353}, ["tornado"] = {42,15000000,11354}, } Continue seguindo o padrão, que é:
    ["Nome"] = {Efeito, Preço, Storage}, Sendo que Storage não pode repetir, então sempre ponha um número a mais que o anterior.
    É isso
     
      Vlw
  3. Gostei
    Godfather recebeu reputação de BlackBro em Aura System   
    [Criado em TFS 0.4 (tibia 8.6), talvez não funcione em outras versões - não darei suporte]
    Eaí!
    Este mod consiste em dizer !aura para ver uma lista de auras compráveis, que, após compradas, podem ser escolhidas por "!aura nomedaaura" para que saia um efeito no jogador a cada 1 segundo.
     
    [mods/Aura.xml]:
    http://pastebin.com/qVayLc3m
     
    ss's e como usar:


      Como adicionar outros efeitos? Na 4ª linha, nesta parte: auras = { ["fogo"] = {36,1500000,11350}, ["gelo"] = {41,1500000,11351}, ["pedras"] = {44,1250000,11352}, ["energia"] = {37,1250000,11353}, ["tornado"] = {42,15000000,11354}, } Continue seguindo o padrão, que é:
    ["Nome"] = {Efeito, Preço, Storage}, Sendo que Storage não pode repetir, então sempre ponha um número a mais que o anterior.
    É isso
     
      Vlw
  4. Gostei
    Godfather recebeu reputação de eviltox em Magic Wall com timer (igual magebot)   
    Oi.
    Esse script vai fazer com que sua MW mostre os segundos que faltam para que ela desapareça. Só. 
     
    Abra o script da magic wall (data/spells/script/support/magic wall rune.lua)
    Troque tudo que estiver lá dentro por:
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497)   function countPos(pos,tempo) if tempo > 0 then doSendAnimatedText(pos,tempo,TEXTCOLOR_RED) addEvent(countPos,1000,pos,tempo-1) else doSendMagicEffect(pos,2) end end   function onCastSpell(cid, var) countPos(var.pos,20) return doCombat(cid, combat, var) end E a MW está pronta!
    Agora vamos querer mudar a Wild Growth também, correto?
    Abra o script da wild growth (data/spells/script/support/wild growth rune.lua)
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499)   function countPos(pos,tempo) if tempo > 0 then doSendAnimatedText(pos,tempo,TEXTCOLOR_RED) addEvent(countPos,1000,pos,tempo-1) else doSendMagicEffect(pos,2) end end   function onCastSpell(cid, var) countPos(var.pos,45) return doCombat(cid, combat, var) end Tudo pronto, agora é só relaxar e gozar!!!
  5. Gostei
    Godfather recebeu reputação de Reds em Amuleto do Caçador (reduz dano proveniente de monstros)   
    AMULETO WHOHOOO
     
     
     
    É um amuleto que, quando está equipado, nega x% do dano provido de monstros.
     
    (data/creaturescripts/scripts/amulet.lua) 
    http://pastebin.com/w5wzaXyL(revisão - recomendado)
    http://pastebin.com/LW3Z34v9 (versão inicial)
     
    (data/creaturescripts/scripts/login.lua)
    Adicione esta linha: registerCreatureEvent(cid, "Amulet")   (data/creaturescripts/creaturescripts.xml)
    Adicione esta linha: <event type="statschange" name="Amulet" event="script" value="amulet.lua"/>   E pronto! No script a variável "porcentagem" possui o valor 40 como padrão, que é a porcentagem do dano que será BLOQUEADA. Ou seja, receberá ainda 60% do dano Na variável pt_br = false, troque false por true para que a mensagem seja exibida em português    
    obs. o ID do amuleto é o 2218
  6. Gostei
    Godfather recebeu reputação de xWhiteWolf em Amuleto do Caçador (reduz dano proveniente de monstros)   
    AMULETO WHOHOOO
     
     
     
    É um amuleto que, quando está equipado, nega x% do dano provido de monstros.
     
    (data/creaturescripts/scripts/amulet.lua) 
    http://pastebin.com/w5wzaXyL(revisão - recomendado)
    http://pastebin.com/LW3Z34v9 (versão inicial)
     
    (data/creaturescripts/scripts/login.lua)
    Adicione esta linha: registerCreatureEvent(cid, "Amulet")   (data/creaturescripts/creaturescripts.xml)
    Adicione esta linha: <event type="statschange" name="Amulet" event="script" value="amulet.lua"/>   E pronto! No script a variável "porcentagem" possui o valor 40 como padrão, que é a porcentagem do dano que será BLOQUEADA. Ou seja, receberá ainda 60% do dano Na variável pt_br = false, troque false por true para que a mensagem seja exibida em português    
    obs. o ID do amuleto é o 2218
  7. Gostei
    Godfather recebeu reputação de luanluciano93 em Amuleto do Caçador (reduz dano proveniente de monstros)   
    AMULETO WHOHOOO
     
     
     
    É um amuleto que, quando está equipado, nega x% do dano provido de monstros.
     
    (data/creaturescripts/scripts/amulet.lua) 
    http://pastebin.com/w5wzaXyL(revisão - recomendado)
    http://pastebin.com/LW3Z34v9 (versão inicial)
     
    (data/creaturescripts/scripts/login.lua)
    Adicione esta linha: registerCreatureEvent(cid, "Amulet")   (data/creaturescripts/creaturescripts.xml)
    Adicione esta linha: <event type="statschange" name="Amulet" event="script" value="amulet.lua"/>   E pronto! No script a variável "porcentagem" possui o valor 40 como padrão, que é a porcentagem do dano que será BLOQUEADA. Ou seja, receberá ainda 60% do dano Na variável pt_br = false, troque false por true para que a mensagem seja exibida em português    
    obs. o ID do amuleto é o 2218
  8. Gostei
    Godfather recebeu reputação de Wakon em Amuleto do Caçador (reduz dano proveniente de monstros)   
    AMULETO WHOHOOO
     
     
     
    É um amuleto que, quando está equipado, nega x% do dano provido de monstros.
     
    (data/creaturescripts/scripts/amulet.lua) 
    http://pastebin.com/w5wzaXyL(revisão - recomendado)
    http://pastebin.com/LW3Z34v9 (versão inicial)
     
    (data/creaturescripts/scripts/login.lua)
    Adicione esta linha: registerCreatureEvent(cid, "Amulet")   (data/creaturescripts/creaturescripts.xml)
    Adicione esta linha: <event type="statschange" name="Amulet" event="script" value="amulet.lua"/>   E pronto! No script a variável "porcentagem" possui o valor 40 como padrão, que é a porcentagem do dano que será BLOQUEADA. Ou seja, receberá ainda 60% do dano Na variável pt_br = false, troque false por true para que a mensagem seja exibida em português    
    obs. o ID do amuleto é o 2218
  9. Gostei
    Godfather recebeu reputação de luanluciano93 em Aura System   
    [Criado em TFS 0.4 (tibia 8.6), talvez não funcione em outras versões - não darei suporte]
    Eaí!
    Este mod consiste em dizer !aura para ver uma lista de auras compráveis, que, após compradas, podem ser escolhidas por "!aura nomedaaura" para que saia um efeito no jogador a cada 1 segundo.
     
    [mods/Aura.xml]:
    http://pastebin.com/qVayLc3m
     
    ss's e como usar:


      Como adicionar outros efeitos? Na 4ª linha, nesta parte: auras = { ["fogo"] = {36,1500000,11350}, ["gelo"] = {41,1500000,11351}, ["pedras"] = {44,1250000,11352}, ["energia"] = {37,1250000,11353}, ["tornado"] = {42,15000000,11354}, } Continue seguindo o padrão, que é:
    ["Nome"] = {Efeito, Preço, Storage}, Sendo que Storage não pode repetir, então sempre ponha um número a mais que o anterior.
    É isso
     
      Vlw
  10. Gostei
    Godfather recebeu reputação de Wakon em Aura System   
    [Criado em TFS 0.4 (tibia 8.6), talvez não funcione em outras versões - não darei suporte]
    Eaí!
    Este mod consiste em dizer !aura para ver uma lista de auras compráveis, que, após compradas, podem ser escolhidas por "!aura nomedaaura" para que saia um efeito no jogador a cada 1 segundo.
     
    [mods/Aura.xml]:
    http://pastebin.com/qVayLc3m
     
    ss's e como usar:


      Como adicionar outros efeitos? Na 4ª linha, nesta parte: auras = { ["fogo"] = {36,1500000,11350}, ["gelo"] = {41,1500000,11351}, ["pedras"] = {44,1250000,11352}, ["energia"] = {37,1250000,11353}, ["tornado"] = {42,15000000,11354}, } Continue seguindo o padrão, que é:
    ["Nome"] = {Efeito, Preço, Storage}, Sendo que Storage não pode repetir, então sempre ponha um número a mais que o anterior.
    É isso
     
      Vlw
  11. Gostei
    Godfather recebeu reputação de luanluciano93 em [CreatureEvents] Ganhar novas wands e staffs conforme upa   
    O script é simples: você normalmente começa com a wand of vortex nos servidores. Daí, quando pega nível suficiente pra usar a próxima wand (wand of dragonbreath), ganha ela automaticamente. Assim por diante até a wand of voodoo.
    Funciona em druids tbm.
     
     
     
    [data/creaturescripts/scripts/evoluirwand.lua]
    http://pastebin.com/rHBqt3Sd
    (ou clique em Spoiler para ver o script aqui)



      [data/creaturescripts/creaturescripts.xml] Adicione a seguinte linha: <event type="advance" name="EvoluirStaff" event="script" value="evoluirwand.lua"/>   [data/creaturescripts/scripts/login.lua] Adicione a seguinte linha após onLogin(cid): registerCreatureEvent(cid, "EvoluirStaff")
  12. Gostei
    Godfather recebeu reputação de eliaspalermo em [NPC] Mensageira - Players deixam mensagens num bloco de notas   
    Oi. Eu fiz esse NPC para que ele possa deixar mensagens em um bloco de notas para que os administradores vejam. É uma forma de comunicação com os jogadores.
     
    [data/npc/Mensageira.xml]
    <npc name="Mensageira" script="data/npc/scripts/messenger.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="347" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu tenho a função de deixar mensagens para que o administrador possa ler mais tarde, como críticas, ou simplesmente um bom dia. Gostaria de deixar uma {mensagem}?"/> </parameters> </npc> [data/npc/scripts/messenger.lua]
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local moneyTo = {} local playerTo = {}   function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)        end function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)        end function onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg)    end function onThink()                npcHandler:onThink()                end function creatureSayCallback(cid, type, msg)       if(not npcHandler:isFocused(cid)) then         return false     end   if talkState[cid] == 1 then         selfSay("A mensagem \""..msg.."\" foi deixada. Obrigado pela contribuicao! Sua mensagem sera revisada por um administrador.", cid) local texto = "" local read = io.open("mensagens.txt", "r") texto = read:read("*all") read:close() local write = io.open("mensagens.txt", "w") write:write(texto.."["..getPlayerName(cid)..", "..os.date("%c").."]: \""..msg.."\"\n") write:close()         talkState[cid] = 0     elseif msgcontains(msg, 'mensagem') then         selfSay("Escreva a mensagem que voce gostaria de deixar. Pede-se rever o texto e escrever claramente o que deseja. Spam causa banimento por IP.", cid)         talkState[cid] = 1     end     return TRUE end   npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())       Aí você deixa ele no templo, sei lá, faz qualquer coisa   Só pra avisar, o mensagens.txt fica na pasta raiz do servidor, lá onde tem config.lua
  13. Gostei
    Godfather recebeu reputação de luanluciano93 em getStringBar(Vr,Vm,quant) - Barra em string   
    Eaí.
    Estava criando um sistema de pet por channels, daí senti que seria legal fazer com que tivesse uma barrinha de experiência
    Ficará tipo assim:
     (40 quadradinhos)
     
    O legal é que dá pra você modificar a largura da barrinha, mas manter os mesmos valores, como na foto:
     (60 quadradinhos)
     
    Daí você pode modificar os valores, como por exemplo, 7 de 10 em 20 quadradinhos:

     
    A função é a seguinte:
    function getStringBar(Vr,Vm,quant)      local retorno = {barra,min=Vr,max=Vm,porcentagem=math.floor((Vr/Vm)*100)}      local Q = quant/Vm      Vr = Vr*Q      Vm = Vm*Q      str = "["      local trigger = false      for i = 1, Vm do           if i <= Vr then                str = str .. "="           else                if not trigger then                     str = str .. "|"                     trigger = true                end                str = str .. "-"           end      end      retorno.barra = str.."]"      return retorno end Ela retornará o seguinte array:
    retorno = {
       barra (que será a barrinha inteira, tipo [=====|----------]
       min (que é o valor usado, como o 7 da terceira foto)
       max (o valor máximo usado, como o 10 da terceira foto)
       porcentagem (que é a porcentagem do 7 para o 10, no caso 70%)
    }
     
    Exemplo de uso:
    local gsb = getStringBar(10,20,50) doPlayerSendTextMessage(cid, "4", gsb.min.." "..gsb.barra.." "..gsb.max.." ("..gsb.porcentagem.."%)") Que dará o seguinte resultado:   Daí vai de sua imaginação!   Esclarecendo: > getStringBar(valor,valor máximo,quantidade de quadradinhos)   Esta função não é muito simples de se usar, mas quis deixar retornando o array mesmo, até pra aumentar as possibilidades de uso. Talvez ela seja uma função daquelas que você usa uma vez a cada vinte códigos, mas sempre é bom deixá-la por perto. Valeu!
  14. Gostei
    Godfather recebeu reputação de Snowsz em getStringBar(Vr,Vm,quant) - Barra em string   
    Eaí.
    Estava criando um sistema de pet por channels, daí senti que seria legal fazer com que tivesse uma barrinha de experiência
    Ficará tipo assim:
     (40 quadradinhos)
     
    O legal é que dá pra você modificar a largura da barrinha, mas manter os mesmos valores, como na foto:
     (60 quadradinhos)
     
    Daí você pode modificar os valores, como por exemplo, 7 de 10 em 20 quadradinhos:

     
    A função é a seguinte:
    function getStringBar(Vr,Vm,quant)      local retorno = {barra,min=Vr,max=Vm,porcentagem=math.floor((Vr/Vm)*100)}      local Q = quant/Vm      Vr = Vr*Q      Vm = Vm*Q      str = "["      local trigger = false      for i = 1, Vm do           if i <= Vr then                str = str .. "="           else                if not trigger then                     str = str .. "|"                     trigger = true                end                str = str .. "-"           end      end      retorno.barra = str.."]"      return retorno end Ela retornará o seguinte array:
    retorno = {
       barra (que será a barrinha inteira, tipo [=====|----------]
       min (que é o valor usado, como o 7 da terceira foto)
       max (o valor máximo usado, como o 10 da terceira foto)
       porcentagem (que é a porcentagem do 7 para o 10, no caso 70%)
    }
     
    Exemplo de uso:
    local gsb = getStringBar(10,20,50) doPlayerSendTextMessage(cid, "4", gsb.min.." "..gsb.barra.." "..gsb.max.." ("..gsb.porcentagem.."%)") Que dará o seguinte resultado:   Daí vai de sua imaginação!   Esclarecendo: > getStringBar(valor,valor máximo,quantidade de quadradinhos)   Esta função não é muito simples de se usar, mas quis deixar retornando o array mesmo, até pra aumentar as possibilidades de uso. Talvez ela seja uma função daquelas que você usa uma vez a cada vinte códigos, mas sempre é bom deixá-la por perto. Valeu!
  15. Gostei
    Godfather recebeu reputação de Fir3element em getStringBar(Vr,Vm,quant) - Barra em string   
    Eaí.
    Estava criando um sistema de pet por channels, daí senti que seria legal fazer com que tivesse uma barrinha de experiência
    Ficará tipo assim:
     (40 quadradinhos)
     
    O legal é que dá pra você modificar a largura da barrinha, mas manter os mesmos valores, como na foto:
     (60 quadradinhos)
     
    Daí você pode modificar os valores, como por exemplo, 7 de 10 em 20 quadradinhos:

     
    A função é a seguinte:
    function getStringBar(Vr,Vm,quant)      local retorno = {barra,min=Vr,max=Vm,porcentagem=math.floor((Vr/Vm)*100)}      local Q = quant/Vm      Vr = Vr*Q      Vm = Vm*Q      str = "["      local trigger = false      for i = 1, Vm do           if i <= Vr then                str = str .. "="           else                if not trigger then                     str = str .. "|"                     trigger = true                end                str = str .. "-"           end      end      retorno.barra = str.."]"      return retorno end Ela retornará o seguinte array:
    retorno = {
       barra (que será a barrinha inteira, tipo [=====|----------]
       min (que é o valor usado, como o 7 da terceira foto)
       max (o valor máximo usado, como o 10 da terceira foto)
       porcentagem (que é a porcentagem do 7 para o 10, no caso 70%)
    }
     
    Exemplo de uso:
    local gsb = getStringBar(10,20,50) doPlayerSendTextMessage(cid, "4", gsb.min.." "..gsb.barra.." "..gsb.max.." ("..gsb.porcentagem.."%)") Que dará o seguinte resultado:   Daí vai de sua imaginação!   Esclarecendo: > getStringBar(valor,valor máximo,quantidade de quadradinhos)   Esta função não é muito simples de se usar, mas quis deixar retornando o array mesmo, até pra aumentar as possibilidades de uso. Talvez ela seja uma função daquelas que você usa uma vez a cada vinte códigos, mas sempre é bom deixá-la por perto. Valeu!
  16. Gostei
    Godfather recebeu reputação de Dennyz em Magic Wall com timer (igual magebot)   
    Oi.
    Esse script vai fazer com que sua MW mostre os segundos que faltam para que ela desapareça. Só. 
     
    Abra o script da magic wall (data/spells/script/support/magic wall rune.lua)
    Troque tudo que estiver lá dentro por:
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497)   function countPos(pos,tempo) if tempo > 0 then doSendAnimatedText(pos,tempo,TEXTCOLOR_RED) addEvent(countPos,1000,pos,tempo-1) else doSendMagicEffect(pos,2) end end   function onCastSpell(cid, var) countPos(var.pos,20) return doCombat(cid, combat, var) end E a MW está pronta!
    Agora vamos querer mudar a Wild Growth também, correto?
    Abra o script da wild growth (data/spells/script/support/wild growth rune.lua)
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499)   function countPos(pos,tempo) if tempo > 0 then doSendAnimatedText(pos,tempo,TEXTCOLOR_RED) addEvent(countPos,1000,pos,tempo-1) else doSendMagicEffect(pos,2) end end   function onCastSpell(cid, var) countPos(var.pos,45) return doCombat(cid, combat, var) end Tudo pronto, agora é só relaxar e gozar!!!
  17. Gostei
    Godfather recebeu reputação de luanluciano93 em Magic Wall com timer (igual magebot)   
    Oi.
    Esse script vai fazer com que sua MW mostre os segundos que faltam para que ela desapareça. Só. 
     
    Abra o script da magic wall (data/spells/script/support/magic wall rune.lua)
    Troque tudo que estiver lá dentro por:
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497)   function countPos(pos,tempo) if tempo > 0 then doSendAnimatedText(pos,tempo,TEXTCOLOR_RED) addEvent(countPos,1000,pos,tempo-1) else doSendMagicEffect(pos,2) end end   function onCastSpell(cid, var) countPos(var.pos,20) return doCombat(cid, combat, var) end E a MW está pronta!
    Agora vamos querer mudar a Wild Growth também, correto?
    Abra o script da wild growth (data/spells/script/support/wild growth rune.lua)
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499)   function countPos(pos,tempo) if tempo > 0 then doSendAnimatedText(pos,tempo,TEXTCOLOR_RED) addEvent(countPos,1000,pos,tempo-1) else doSendMagicEffect(pos,2) end end   function onCastSpell(cid, var) countPos(var.pos,45) return doCombat(cid, combat, var) end Tudo pronto, agora é só relaxar e gozar!!!
  18. Gostei
    Godfather recebeu reputação de Vinicius Sousa em [NPC] Mensageira - Players deixam mensagens num bloco de notas   
    Oi. Eu fiz esse NPC para que ele possa deixar mensagens em um bloco de notas para que os administradores vejam. É uma forma de comunicação com os jogadores.
     
    [data/npc/Mensageira.xml]
    <npc name="Mensageira" script="data/npc/scripts/messenger.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="347" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu tenho a função de deixar mensagens para que o administrador possa ler mais tarde, como críticas, ou simplesmente um bom dia. Gostaria de deixar uma {mensagem}?"/> </parameters> </npc> [data/npc/scripts/messenger.lua]
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local moneyTo = {} local playerTo = {}   function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)        end function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)        end function onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg)    end function onThink()                npcHandler:onThink()                end function creatureSayCallback(cid, type, msg)       if(not npcHandler:isFocused(cid)) then         return false     end   if talkState[cid] == 1 then         selfSay("A mensagem \""..msg.."\" foi deixada. Obrigado pela contribuicao! Sua mensagem sera revisada por um administrador.", cid) local texto = "" local read = io.open("mensagens.txt", "r") texto = read:read("*all") read:close() local write = io.open("mensagens.txt", "w") write:write(texto.."["..getPlayerName(cid)..", "..os.date("%c").."]: \""..msg.."\"\n") write:close()         talkState[cid] = 0     elseif msgcontains(msg, 'mensagem') then         selfSay("Escreva a mensagem que voce gostaria de deixar. Pede-se rever o texto e escrever claramente o que deseja. Spam causa banimento por IP.", cid)         talkState[cid] = 1     end     return TRUE end   npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())       Aí você deixa ele no templo, sei lá, faz qualquer coisa   Só pra avisar, o mensagens.txt fica na pasta raiz do servidor, lá onde tem config.lua
  19. Gostei
    Godfather recebeu reputação de subhe em [NPC] Mensageira - Players deixam mensagens num bloco de notas   
    Oi. Eu fiz esse NPC para que ele possa deixar mensagens em um bloco de notas para que os administradores vejam. É uma forma de comunicação com os jogadores.
     
    [data/npc/Mensageira.xml]
    <npc name="Mensageira" script="data/npc/scripts/messenger.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="347" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu tenho a função de deixar mensagens para que o administrador possa ler mais tarde, como críticas, ou simplesmente um bom dia. Gostaria de deixar uma {mensagem}?"/> </parameters> </npc> [data/npc/scripts/messenger.lua]
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local moneyTo = {} local playerTo = {}   function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)        end function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)        end function onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg)    end function onThink()                npcHandler:onThink()                end function creatureSayCallback(cid, type, msg)       if(not npcHandler:isFocused(cid)) then         return false     end   if talkState[cid] == 1 then         selfSay("A mensagem \""..msg.."\" foi deixada. Obrigado pela contribuicao! Sua mensagem sera revisada por um administrador.", cid) local texto = "" local read = io.open("mensagens.txt", "r") texto = read:read("*all") read:close() local write = io.open("mensagens.txt", "w") write:write(texto.."["..getPlayerName(cid)..", "..os.date("%c").."]: \""..msg.."\"\n") write:close()         talkState[cid] = 0     elseif msgcontains(msg, 'mensagem') then         selfSay("Escreva a mensagem que voce gostaria de deixar. Pede-se rever o texto e escrever claramente o que deseja. Spam causa banimento por IP.", cid)         talkState[cid] = 1     end     return TRUE end   npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())       Aí você deixa ele no templo, sei lá, faz qualquer coisa   Só pra avisar, o mensagens.txt fica na pasta raiz do servidor, lá onde tem config.lua
  20. Gostei
    Godfather recebeu reputação de TioItachi em [NPC] Mensageira - Players deixam mensagens num bloco de notas   
    Oi. Eu fiz esse NPC para que ele possa deixar mensagens em um bloco de notas para que os administradores vejam. É uma forma de comunicação com os jogadores.
     
    [data/npc/Mensageira.xml]
    <npc name="Mensageira" script="data/npc/scripts/messenger.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="347" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu tenho a função de deixar mensagens para que o administrador possa ler mais tarde, como críticas, ou simplesmente um bom dia. Gostaria de deixar uma {mensagem}?"/> </parameters> </npc> [data/npc/scripts/messenger.lua]
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local moneyTo = {} local playerTo = {}   function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)        end function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)        end function onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg)    end function onThink()                npcHandler:onThink()                end function creatureSayCallback(cid, type, msg)       if(not npcHandler:isFocused(cid)) then         return false     end   if talkState[cid] == 1 then         selfSay("A mensagem \""..msg.."\" foi deixada. Obrigado pela contribuicao! Sua mensagem sera revisada por um administrador.", cid) local texto = "" local read = io.open("mensagens.txt", "r") texto = read:read("*all") read:close() local write = io.open("mensagens.txt", "w") write:write(texto.."["..getPlayerName(cid)..", "..os.date("%c").."]: \""..msg.."\"\n") write:close()         talkState[cid] = 0     elseif msgcontains(msg, 'mensagem') then         selfSay("Escreva a mensagem que voce gostaria de deixar. Pede-se rever o texto e escrever claramente o que deseja. Spam causa banimento por IP.", cid)         talkState[cid] = 1     end     return TRUE end   npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())       Aí você deixa ele no templo, sei lá, faz qualquer coisa   Só pra avisar, o mensagens.txt fica na pasta raiz do servidor, lá onde tem config.lua
  21. Gostei
    Godfather recebeu reputação de Kisuck em [Action] Controlled Attack   
    ATENÇÃO:
    NÃO DOU DIREITO À NINGUÉM DE POSTAR ESTE SCRIPT EM OUTRO LUGAR, SEM MINHA PERMISSÃO.
    MEU MSN: [email protected]

    Pretexto:
    Olá, este é o meu primeiro tópico aqui no TibiaKing, e resolvi trazer pra vocês um script que eu criei, e que estava criando mofo no meu PC haha, eu não vou explicar muito, eu coloquei um vídeo que explica melhor o que o script faz.

    Explicando:
    O script é basicamente um ataque que tem uma rota controlada por você, usando ctrl + setas, para direcionar o ataque.
    - Tempo de controle limitado
    - Não tem efeito em proction-zone
    - Os danos são: level do jogador (min), e level do jogador x 3 (max)
    - Mana gasta: level do jogador x 6

    Script:
    [data/actions/scripts/cattack.lua]

    function onUse(cid, item, fromPosition, itemEx, toPosition) minMana = getPlayerLevel(cid) * 6 onoff = 4956 quantx = 0 quanty = 0 function setAxis() o = getPlayerPosition(cid) xe = o.x ye = o.y ze = o.z tempo = 3 velocidade = 150 end function doEffect() pos = {x=xe+quantx,y=ye+quanty,z=ze} if getPlayerMana(cid) < minMana then setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getTilePzInfo(pos) == FALSE then local ef = 6 of = 2 doAreaCombatHealth(cid, COMBAT_FIREDAMAGE, pos, 0, -getPlayerLevel(cid), -getPlayerLevel(cid) * 3, ef) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") else doSendMagicEffect(pos,of) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") end addEvent(checkDir,velocidade) end function checkPer() if getPlayerStorageValue(cid,work) == 1 then checkTime() end end function checkTime() if tempo > 0 then doEffect() else stop() end end function stop() posi = {x=xe+quantx,y=ye+quanty,z=ze} doSendMagicEffect(posi,49) doSendAnimatedText(posi,"...",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) addEvent(doPlayerSendCancel,800,cid,"Tempo restante: 0.") end function minusTime() if getPlayerStorageValue(cid,onoff) == 0 then elseif tempo > 0 then doPlayerSendCancel(cid,"Tempo restante: "..tempo..".") tempo = tempo - 1 addEvent(minusTime,1000) elseif tempo == 0 then stop() end end function checkDir() po = getCreatureLookDirection(cid) if po == NORTH then quanty = quanty - 1 elseif po == SOUTH then quanty = quanty + 1 elseif po == WEST then quantx = quantx - 1 elseif po == EAST then quantx = quantx + 1 end checkPer() end if getTilePzInfo(getPlayerPosition(cid)) == TRUE then doSendAnimatedText(getPlayerPosition(cid),"PZ!",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerMana(cid) < minMana then doSendAnimatedText(getPlayerPosition(cid),"MANA",TEXTCOLOR_LIGHTBLUE) doPlayerSendCancel(cid,"Você precisa de "..minMana.." de mana para isso.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerStorageValue(cid,onoff) == 0 then setPlayerStorageValue(cid,work,1) setPlayerStorageValue(cid,onoff,1) doPlayerAddMana(cid,-minMana) doPlayerSetNoMove(cid,1) setAxis() minusTime() checkDir() else doPlayerSendCancel(cid,"Contagem cancelada.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) end return TRUE end "velocidade = 150": velocidade em milisegundos "tempo = 3": tempo em segundos Tag: [data/actions/actions.xml] <action itemid="xxx" script="cattack.lua"/>
    Note: xxx é o ID do item que será utilizado.

    Vídeo:



  22. Gostei
    Godfather recebeu reputação de krafa em [NPC] Mensageira - Players deixam mensagens num bloco de notas   
    Oi. Eu fiz esse NPC para que ele possa deixar mensagens em um bloco de notas para que os administradores vejam. É uma forma de comunicação com os jogadores.
     
    [data/npc/Mensageira.xml]
    <npc name="Mensageira" script="data/npc/scripts/messenger.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="347" head="20" body="100" legs="50" feet="99" corpse="2212"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu tenho a função de deixar mensagens para que o administrador possa ler mais tarde, como críticas, ou simplesmente um bom dia. Gostaria de deixar uma {mensagem}?"/> </parameters> </npc> [data/npc/scripts/messenger.lua]
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local moneyTo = {} local playerTo = {}   function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)        end function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)        end function onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg)    end function onThink()                npcHandler:onThink()                end function creatureSayCallback(cid, type, msg)       if(not npcHandler:isFocused(cid)) then         return false     end   if talkState[cid] == 1 then         selfSay("A mensagem \""..msg.."\" foi deixada. Obrigado pela contribuicao! Sua mensagem sera revisada por um administrador.", cid) local texto = "" local read = io.open("mensagens.txt", "r") texto = read:read("*all") read:close() local write = io.open("mensagens.txt", "w") write:write(texto.."["..getPlayerName(cid)..", "..os.date("%c").."]: \""..msg.."\"\n") write:close()         talkState[cid] = 0     elseif msgcontains(msg, 'mensagem') then         selfSay("Escreva a mensagem que voce gostaria de deixar. Pede-se rever o texto e escrever claramente o que deseja. Spam causa banimento por IP.", cid)         talkState[cid] = 1     end     return TRUE end   npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())       Aí você deixa ele no templo, sei lá, faz qualquer coisa   Só pra avisar, o mensagens.txt fica na pasta raiz do servidor, lá onde tem config.lua
  23. Gostei
    Godfather recebeu reputação de Prizzee em Passagem Secreta   
    Versão testada: 8.60



    TFS testado: 0.4



    Vídeo Demonstrativo







    Script











    Configurando








    Lembrando que caso você não tenha gostado ou caso você queira alguma mudança, reclame com Deus.

  24. Gostei
    Godfather recebeu reputação de lucasromero em [Action] Temple Cleaner Automático   
    ATENÇÃO:
    LER TODO O TÓPICO
    NÃO DOU DIREITO À NINGUÉM DE POSTAR ESTE SCRIPT EM OUTRO LUGAR, SEM MINHA PERMISSÃO.
    MEU MSN: [email protected]

    Pretexto:
    Olá, dessa estou aqui no TibiaKing para resolvi trazer pra vocês um script que eu criei.
    Lembrando que se gostou, dá um gostei aí, rs.
    É difícil explicar, então teste pois é mais fácil entender como funciona.

    Explicando:
    Quando você dá use no item, ele cria um "mascote". Ele é formado por efeitos, e vai se movimentando aleatoriamente. Caso tenha algum item em seu caminho, ele remove, e caso tenha uma barreira, ele se move para qualquer lado menos o da barreira (não importa quantas barreiras estiverem ao redor dele, o movimento vai ser anulado)

    - Você precisa cercar todo o local onde ele pode passar. Lembrando que ele só pode andar no chão puro! Ou seja, qualquer item não-móvel (exceto o chão) é classificado como barreira.

    Exemplo de local que funciona:


    Em vermelho, os exemplos de barreiras (a parede também é barreira, óbvio)

    Script:
    [data/actions/scripts/clean.lua]

    -- script by Eitor Laba -- bot cleaner v1.0 local c = {x=0,y=0,z=0} function onUse(cid, item, frompos, item2, topos) function newEffect() local random = math.random(1,4) local effects = {47} local delay = 0.8 local msgs = {"Oops!","Bloqueado","Epa!"} if random == 1 then c.x = c.x + 1 elseif random == 2 then c.x = c.x - 1 elseif random == 3 then c.y = c.y + 1 elseif random == 4 then c.y = c.y - 1 end if math.random(1,8) == 5 then local saudacoes = {"Tudo bom?","Limpando!","Olá!","","Passando!"} doSendAnimatedText(c,saudacoes[math.random(0,#saudacoes)],160) end if getThingFromPos(c).itemid > 0 then if isItemMovable(getThingFromPos(c).itemid) then c.stackpos = 253 if not isCreature(getThingFromPos(c).uid) then doSendAnimatedText(c,"Limpo!",TEXTCOLOR_YELLOW) doCleanTile(c) c.stackpos = 1 else doSendAnimatedText(c,"Licença!",160) c.stackpos = 1 end else if random == 1 then c.x = c.x - 1 elseif random == 2 then c.x = c.x + 1 elseif random == 3 then c.y = c.y - 1 elseif random == 4 then c.y = c.y + 1 end doSendAnimatedText(c,msgs[math.random(0,#msgs)],TEXTCOLOR_YELLOW) end end doSendMagicEffect(c,effects[math.random(1,#effects)]) addEvent(newEffect,delay * 1000) end c = getPlayerPosition(cid) c.stackpos = 1 newEffect() return TRUE end[/code] [size=2]Nota: você pode editar as falas na variável [i]saudacoes [/i]([i]ctrl + f: saudacoes[/i])[/size][/color] [color=#ff0000][b]Tag:[/b][/color] [color=#696969][data/actions/actions[/color][color=#0000ff].xml[/color][/i] [code]<action uniqueid="xxx" script="clean.lua"/> para usar-se uma unique id no item; ou <action itemid="xxx" script="clean.lua"/>
    para usar-se qualquer item deste id;
    Nota: xxx é o uniqueid (se você usou o primeiro exemplo) do item a ser usado, ou o id do item (se você usou o segundo exemplo) que será usado.
  25. Gostei
    Godfather recebeu reputação de RenanPhellip em !fly (Igual ao GlobalWar)   
    Legal cara, mas dava pra fazer seu script muito mais configurável pra quem vai usar:




    Aí só precisa adicionar o lugar na table:
    ["nomedolugar"] = {x=posx, y=posy, z=posz},

    O seu está legal mas se eu adicionasse 50 lugares cada um ocuparia 4 linhas, ocupando 200 linhas
    Aí, cara lugar ocupa uma linha, 1/4 do que seria...

Informação Importante

Confirmação de Termo