Ir para conteúdo
  • Cadastre-se

Posts Recomendados

 Hoje vou ensinar como criar senzu beans para seu ot, você irá precisar de:

 

 Um editor de cliente (dat e spr), pode ser o object builder ou tibia dat editor.

 

 Notepad ++.

 

Ot itemeditor.

 

 Vamos começar, com sua sprite já salva iremos abrir o cliente, colocar por cima de um item e salvar.

 

58e005db4759d_Semttulo.png.bbc9a2f522d5301684f39dd39e1f8088.png

58e006e59f697_Semttulo.thumb.png.74098493e47bc65fb8ce62d0692920f4.png

58e064975aa08_Semttulo.png.b7835098674539a08f84ae65571119a7.png

 

Depois te der feito esse procedimento,  não feche o dat editor ainda, pois iremos usa-lo novamente, iremos para o próximo passo, você irá na pasta data>actions>heal e criará um arquivo lua com o nome da sua senzu, no meu caso, senzu amarela.lua e colocará isso dentro:

 

Citar

function onUse(cid, item, fromPosition, itemEx, toPosition)
ITEM = 2195
local storage = 50000
local wait = 1.5
local pos1 = {x = getPlayerPosition(cid).x + 1, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
if fromPosition.x ~= CONTAINER_POSITION and exhaustion.get(cid, storage) == FALSE then
REG_HEALTH = 100000
REG_MANA = 100000

doPlayerAddMana(cid, REG_MANA)
doCreatureAddHealth(cid, REG_HEALTH)
doCreatureSay(cid, 'Aaahhh! Me Sinto Bem Melhor!', TALKTYPE_ORANGE_1)
doSendMagicEffect(pos1, 82)
exhaustion.set(cid, storage, wait)
elseif item.itemid == ITEM and exhaustion.get(cid, storage) == FALSE then
REG_HEALTH = 100000
REG_MANA = 100000

doPlayerAddMana(cid, REG_MANA)
doCreatureAddHealth(cid, REG_HEALTH)
doCreatureSay(cid, 'Aaahhh! Me Sinto Bem Melhor!', TALKTYPE_ORANGE_1)
doSendMagicEffect(pos1, 82)
exhaustion.set(cid, storage, wait)
else
doPlayerSendCancel(cid, "Voce esta exausto.")
end
return TRUE
end

 

 Onde:

ITEM = 2195 id do item que você descobre através do item editor (editor de otb),  veja como descobrir:

Primeiro você irá abrir seu cliente, depois o item.otb

 

58e06f48bcb05_Semttulo.thumb.png.88386c4b30b5168edb5b6e642acfafc2.png

58e06f98ad9ce_Semttulo.thumb.png.405180ec4e2cdab529ba9234f5f4bf0a.png

 

Depois vamos abrir o items.otb

 

58e066528a9d4_Semttulo.thumb.png.0bdbed820749bf1b5a2eb0742a43d59d.png

 

Dê um ctrl + F e procure pelo id do item que você substituiu, e pronto, achamos o id do item.

 

58e0671b886a2_Semttulo.thumb.png.b5766eba7e145666e4d9c6c759013e1f.png

 

Ainda no itemeditor, você irá mudar o que estiver de vermelho, pois ainda não está configurado corretamente, veja a seguir:

 

58e068e051b16_Semttulo.thumb.png.b9190beb9a837532a92ab0075b083857.png

 

Quando não tiver mais letras vermelhas, dê um ctrl + S.

 

local wait = 1.5 Tempo de exhaustion.

 

REG_HEALTH = 100000 O tanto de vida que irá encher.
REG_MANA = 100000 O tanto de mana que irá encher.

 

 doCreatureSay(cid, 'Aaahhh! Me Sinto Bem Melhor!', TALKTYPE_ORANGE_1) Frase que ele dirá quando usar a senzu.

 

doSendMagicEffect(pos1, 82) Efeito que irá usar junto com a senzu, que no meu caso, é 82.

58e06a09d8603_Semttulo.thumb.png.1ae511f3ff7085ca8a1032ede4ef1697.png

 

Depois desses passos, iremos para o diretório data>actions, abriremos o arquivo actions.xml e adicionaremos a seguinte frase:

Citar

<action itemid="2195" event="script" value="heal/senzuamarela.lua" />

 

Onde:

<action itemid="2195" Id da senzu.

value="heal/senzuamarela.lua" /> Nome do arquivo que criamos dentro da pasta heal.

Salve e feche.

Depois iremos para data>items e abriremos o arquivo items.xml, dê um ctrl + F e procure pelo Id da sua senzu.

58e06b2c3776c_Semttulo.thumb.png.fe3b16340dc482ff3813906a09a8bfcb.png

Substitua o que estiver de 2195 pra baixo até o próximo </item> por:

Citar

 article="a" name="Nome singular" plural="Nome plural">
        <attribute key="description" value="+100k Life/Ki" />
        <attribute key="weight" value="100" />

 

 Ficando assim:

58e06bcbe1470_Semttulo.png.21d9c3c5939e95bc9ec2e6a06b3cb229.png

Em name=''x'' você adicionará o nome no singular e em plural=''x'', obviamente em plural, em value=''xxx'' você adicionará o valor que ela irá curar, esse valor aparecerá quando você der look nela dentro do jogo.

 

E é isso, com isso sua senzu estará funcionando normalmente!!

Créditos: Ismaldias2

Editado por ismaeldias2 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
5 minutos atrás, FelipeWainer disse:

Como faço pra imagem dos itens aparecer no item editor?

 É só abrir o cliente (tinha esquecido de colocar no tutorial) que irá carregar automaticamente, alguns itens não carregam, ficam brancos.

Link para o post
Compartilhar em outros sites

@ismaeldias2 primeiramente, porque postou nessa área ? E não na área e tutoriais de tutoriais de script ? Apesar do tutorial ensinar como criar o item e ensinar a edita-lo, o tutorial foca-se em criar um script que faça o item adicionar hp no char que usa o item.

 

Segundo, todas as áreas, contém uma sub-área destinada a postagem de tutoriais, outra para fazer pedidos do mesmo, outra para pedi suporte do mesmo e uma para discuti sobre o mesmo. 

Além do fato que discussões e tutoriais novos, ficam sob aprovação, só pode ser visualizado após um membro da equipe revisa o conteúdo e ver se está de acordo com as regras e requisitos do fórum. 

 

Terceiro, o tutorial está bacana, meio desorganizado mas ainda sim bacana, caso queira posso dar uma organizada nele, para ficar melhor e mais legível. 

 

Quarto, parabéns pelo tutorial, ainda por cima ensinou a criar um novo item para que não utilize itens repetidos.

 

E quinto, preste mais atenção antes de postar, poste em sua devida área, leia a descrição da área e saberá onde postar seus conteúdos, afinal todas as áreas e sub-áreas contém na descrição: " Essa área é para duvidas de tal coisa", "Essa área é para postagem de tutoriais", e etc..

 

@Tópico aprovado e movido para área correta! 

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
11 horas atrás, KotZletY disse:

@ismaeldias2 primeiramente, porque postou nessa área ? E não na área e tutoriais de tutoriais de script ? Apesar do tutorial ensinar como criar o item e ensinar a edita-lo, o tutorial foca-se em criar um script que faça o item adicionar hp no char que usa o item.

 

Segundo, todas as áreas, contém uma sub-área destinada a postagem de tutoriais, outra para fazer pedidos do mesmo, outra para pedi suporte do mesmo e uma para discuti sobre o mesmo. 

Além do fato que discussões e tutoriais novos, ficam sob aprovação, só pode ser visualizado após um membro da equipe revisa o conteúdo e ver se está de acordo com as regras e requisitos do fórum. 

 

Terceiro, o tutorial está bacana, meio desorganizado mas ainda sim bacana, caso queira posso dar uma organizada nele, para ficar melhor e mais legível. 

 

Quarto, parabéns pelo tutorial, ainda por cima ensinou a criar um novo item para que não utilize itens repetidos.

 

E quinto, preste mais atenção antes de postar, poste em sua devida área, leia a descrição da área e saberá onde postar seus conteúdos, afinal todas as áreas e sub-áreas contém na descrição: " Essa área é para duvidas de tal coisa", "Essa área é para postagem de tutoriais", e etc..

 

@Tópico aprovado e movido para área correta! 

 

 Eu comecei esse tutorial ontem 16:00 horas, tenho certeza que selecionei a aba tutorial e scripting, não deu pra terminar e fui trabalhar, deixei o pc ''dormindo'' para que quando voltasse eu terminasse, voltei +/- umas 23:30 e terminei o tutorial, talvez por ter ''desligado'' o computador e ligado-o mais tarde, a área tenha sido alterada, e sim, está meio desorganizado, mas é meu primeiro tutorial, eu fiz para ajudar pessoas que não sabem, e fiz da maneira mais simples, sei que deveria ter usado o code para colocar o script, mas não encontrei como colorir uma frase, preferi deixar como citar.

 Pretendo fazer mais tutoriais para ajudar quem não sabe, aprendi muitas coisas aqui no fórum, mas a maioria foi sozinho, quase nunca encontrava um tópico, talvez por não saber pesquisar ou por não ter tal tópico, por isso, prefiro fazer com linguagem mais simples, para que todos entendam.

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 thelifeofpbion
      [Esses dias criei um tópico pedindo isso, ninguém respondeu. Mas consegui criar juntando alguns scripts que tinha aqui]
      Basicamente é uma action que clica em algum lugar e limpa uma determinada área.

      <action actionid="XXXX" event="script" value="Limpa_area.lua"/>


      Limpa_area.lua
       



      Abraços ?
    • Por Pepeco
      • Mining System •
      Vim aqui disponibilizar o mining, não é tão avançado como o de outros mas ele é totalmente automático tanto para colocar items quanto para vender os items (alavanca). É uma script simples e fácil de entender, podendo ter alterações com pessoas que não tem muito experiencia em lua. Mesmo que ele seja simples, o forum esta morrendo, pretendo fazer updates nele, caso alguém tenha alguma ideia do que possa fazer, só deixar um comentário.
       
      • Explicação •
      › Mining_Config
      config = { Level = 8, Axe_Skill = 10, Paredes = {5646,5640,5645,5639,5644,5648}, } -- Level = Level necessario para minerar -- Axe_Skill = Skill de axe necessaria para poder minerar -- Paredes = Paredes que vao ser mineradas › Mining_Items
      config = { [1] = {Item = 2157, Random_min = 1, Random2_min = nil, Random_max = 3, Random2_max = nil, Count = 2, Special_Storage = nil, Magic_Effect = nil, Count_Shop = nil, Money_Shop = nil}, -- Gold Nugget } -- Random_min = A chance de cair o item em math.random -- Random2_min = Essa chance é menor, ou seja, mais dificil de cair. -- Random_max = É a chance maxima -- Random2_max = A mesma coisa que o de cima -- Count = A quantidade maxima que pode cair, é aleatorio -- Special_Storage = Caso voce queira que de alguma storage, para ver quantos players ja conseguiram e etc.. -- Magic_Effect = Caso queira que de algum magic effect diferente, se for nil, será o padrao. -- Count_Shop = Quantidade necessaria para poder vender o item no shop (alavanca) -- Money_Shop = Quanto que o item vai custar, por unidade ou seja, se eu colocar Count_Shop = 100 e Money_Shop = 2000, vai ser 100 * 2000. -- No final que tem esse "--" é o nome do item, é melhor se organizar assim, pois se ficar muitos items e voce querer fazer alguma manutenção, facilita muito.  
      Bom, eu acho que é isso, não tem mais nada para se explicar. Então vamos para o script.
       
      Data/lib
       
      Data/actions/scripts
      Data/actions -- Abra o actions.xml
      <action itemid="id do item" script="nome do arquivo"/>  
      Data/actions/scripts -- Esse aqui é o shop, não é obrigatório.
      Data/actions -- Abra o actions.xml
      <action actionid="id da action" script="nome do arquivo"/>  
      Caso tenha gostado, deixe seu REP+, ajuda e motiva muito trazer conteúdo para o forum.
       
    • Por lordzetros
      Olá pessoal da comunidade de Tibia!
         Bom, hoje trouxe um pequeno e simples script, mas que pode ajudar muita gente. Vi alguns posts referindo aos NPCs que trocam determinados itens por outros, então tive a ideia de fazer algo que possa ter uma função semelhante e que funcione de uma maneira rápida. Fique à vontade em utilizá-la da maneira que quiser.
      Como funciona?
          O usuário vai usar a alavanca e irá adicionar um item em troca de outra item que você configurou no script. Em outras palavras, o usuário irá ganhar uma determinada quantidade de um item em troca de outra quantidade de um item diferente. (Tudo configurável)
      VERSÃO TESTADA: 8.60 - OTX
      -->  Começando...
      Crie um arquivo com nome de changeItem.lua no diretório data/actions/scripts/
         Logo após, adicione esse código dentro do arquivo criado:
      -- Script por Lordzetros para o forum Tibia King. local config = { itemNec = 2160, -- ID do item que necessita para efetuar a troca qtNec = 50, -- Quantidade do item que necessita para efetuar a troca itemNovo = 10137, -- ID do item que sera adicionado ao efetuar a troca qtNova = 1, -- Quantidade do item que sera adicionado ao efetuar a troca stor = 25869, -- Storage, ou seja, a numeracao que identificara se o usuario fez ou nao fez a quest ainda } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getPlayerPosition(cid) if getPlayerStorageValue(cid,config.stor) ~= -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"So eh permitido fazer a troca de itens apenas uma vez!") doSendMagicEffect(pos, CONST_ME_POFF) elseif getPlayerStorageValue(cid,config.stor) == -1 then if item.itemid == 1945 then if getPlayerItemCount(cid,config.itemNec) >= config.qtNec then doPlayerAddItem(cid, config.itemNovo,config.qtNova) doPlayerRemoveItem(cid,config.itemNec,config.qtNec) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Voce acabou de trocar "..config.qtNec.." "..getItemNameById(config.itemNec).." por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doSendMagicEffect(pos, CONST_ME_HOLYAREA) setPlayerStorageValue(cid, config.stor, 1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce nao tem "..config.qtNec.." "..getItemNameById(config.itemNec).." para trocar por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doSendMagicEffect(pos, CONST_ME_POFF) end end end end Em seguida, abra o arquivo com nome actions.xml que está localizada em data/actions/
          E adicione essa linha de código no mesmo:
      <action actionid="9139" event="script" value="changeItem.lua"/>    Preste atenção, pois o actionid será o número que irá colocar na alavanca em seu editor de mapa, ou seja, no caso acima está como 9139, logo, na alavanca terá que está como a seguinte imagem:

      Obs1.: Reparem que na imagem tem outro número destacado, que é o ID 1945, CERTIFIQUE-SE que a alavanca que irá utilizar no seu OT tenha esse mesmo ID, caso não tenha, basta mudar o número no código do script para o que irá utilizar no seu servidor.
      Obs2.: O código está configurado para que o usuário efetue a troca APENAS 1 VEZ, caso queira que ele troque quantas vezes quiser, apenas remova o seguinte comando do código:
       
      setPlayerStorageValue(cid, config.stor, 1) Obs3.: O resto que tinha que explicar está no próprio código, apenas faça um esforço de ler, agradeço.
       
       
        É isso, pessoal, espero que goste e aproveite. Como falei antes, é um código simples, pois comecei agora com Script, pretendo avançar no nível e funções que os mesmos desempenham, isso é só o começo, leve isso como uma prática de uma atividade para iniciante em scripts.   
    • Por Kemmlly
      Ha um tempo atrás eu procurei um Pet System bem simples pro meu servidor, e achei um muito bacana.
       
      TFS: 0.4
      Tibia: 8.6
       
      O sistema original foi postado pelo @Luquinha no tópico:
      O script funciona corretamente, eu fiz apenas algumas alterações e queria compartilhar caso vocês tenham as mesmas exigências que eu;
       
      * Ao tentar usar o PET em PZ não da mais erro na distro, sobe um efeito FAILED! no player e manda uma mensagem.
      * Agora cada PET precisa de um storage para ser usado, no meu caso, cada PET tem sua quest individual.
       
      O script modificado:
      function onUse(cid, item, frompos, item2, topos) local dolls = { [11256] = {pet = "Rat"}, [11207] = {pet = "Demon"}, [5791] = {pet = "Dragon"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) --------------------------------------------------- if not (getTilePzInfo(getCreaturePosition(cid))) then if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1) end return true end if item.itemid == 5791 then if getPlayerStorageValue(cid, 6666) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11256 then if getPlayerStorageValue(cid, 4444) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11207 then if getPlayerStorageValue(cid, 4445) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa fazer a quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end else doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) return true end end Creditos: @Luquinha @Roksas @Kemmlly
    • Por Noninhouh
      Bom galera, hoje vim aqui trazer pra vocês um sisteminha bem legal que a PxG possui, no entanto, esse sistema eu fiz para um servidor de Tibia, então para vocês usarem em um derivado seria bom adapta-lo, devido a outros sistemas (como o fly do poketibia).
       
      Como seria esse sistema? Basicamente você digita o comando !walk e o seu personagem começará a andar na direção em que está virado até encontrar um obstáculo, ou até digitar o comando !walk novamente.
       
      Crie um arquivo chamado walk.lua em /data/talkactions/scripts/, e cole isso dentro:
       
      Em talkactions.xml coloque a tag:
      <talkaction words="!walk" event="script" value="walk.lua"/>  
      Em creaturescripts.xml, veja se já tem o evento "logout", caso não tenha coloque:
      <event type="logout" name="PlayerLogout" event="script" value="logout.lua"/>  
      Em /data/creaturescripts/scripts/, crie um arquivo chamando logout.lua (caso não tenha) e cole isso dentro:
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo