Ir para conteúdo
Tingasgo

action Pet System Simples

Posts Recomendados

 

 

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 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.

 

Indo para o assunto...

 

Vá em "data/actions/scripts", copie algum arquivo da pasta e cole, renomeie para "simple_pet" e adicione isso dentro:

 

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))) thenif #summon >= 1 thenfor _, pid in ipairs(summon) dodoRemoveCreature(pid)doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1)endreturn trueendif item.itemid == 5791 thenif getPlayerStorageValue(cid, 6666) == 1 thendoConvinceCreature(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)endend if item.itemid == 11256 thenif getPlayerStorageValue(cid, 4444) == 1 thendoConvinceCreature(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)endendif item.itemid == 11207 thenif getPlayerStorageValue(cid, 4445) == 1 thendoConvinceCreature(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)endendelsedoPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)return trueendend

 

Muito bem, agora sigamos para "actions.xml" e adicione essa tag:

 

<action itemid="11256;11207;11144;9019" event="script" value="simple_pet.lua"/>

 

Agora para você configurar:

 

Nesta parte do código:

 

local dolls = {[11256] = {pet = "Crystal Spider"},[11207] = {pet = "Ashmunrah"},[11144] = {pet = "Demon"},[9019] = {pet = "Vampire"},}

Oque está entre [ e ] nós colocamos os Item ID dos items que vão chamar o PET. Já entre { e } aonde está entre aspas, colocamos o nome do PET.

E na tag do "actions.xml" adicionamos estes MESMOS Item Ids, separando-os por ; ficando:

 

 

<action itemid="ID;ID;ID;ID" event="script" value="simple_pet.lua"/>

 

Para o PET  teleportar para você quando subir escadas, ou ficar muito longe, vá em "config.lua" e procure por:

 

 

teleportPlayerSummons

 

Se estiver false coloque true, se estiver "no", coloque "yes"

 

Demonstração:

Please login or register to see this link.

 

Obrigado pela atenção galera, espero que tenham gostado, e qualquer dúvida tentarei ajudar vocês.

 

Não tenho certeza se esse sistema não tem aqui, mas não estava achando então decidi postar :3

 

Se Ajudei Rep + :xtibia:

 

CRÈDITOS: LUQUINHA "Um Sitezinho Qualquer"

                           

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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.


  • Conteúdo Similar

    • Por Sphynx
      Olá galera, vocês conhecem as lendas dos Trolls que de baixo de uma ponte? Eles estão sempre na espreita, aguardando alguém para roubar, assassinar, estuprar e comer suas almas (as últimas partes são brincadeira). Me baseando nessa lenda eu fiz esse simples script, é um dos primeiros códigos que consigo desenvolver sozinho(tive ajuda), eu espero que ajude alguém em algum lugar do tempoespaço, é um script ótimo se você assim como eu gosta de pontes e também sempre teve a vontade de incrementar alguns de seus mapas com scripts.


      Please login or register to see this attachment.


      Please login or register to see this attachment.

        1º. Acesse a pasta raiz do seu servidor, logo após siga o seguinte caminho: data/movements e abra o arquivo movements.xml. O código que você devera adicionar dentro deste arquivo está listado abaixo.
      <movevent type="StepIn" actionid="DigiteONumeroDeUmaActionAqui" event="script" value="ponte.lua"/>  
      2º. Dentro de data/movements abra a pasta 'scripts' e crie um arquivo .lua nomeado de 'ponte', dentro deste adicione o seguinte código.
      function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) local configuration = { monstrosTime = 1*5*1000, -- tempo até a criatura aparecer tempoDeStorage = 1*20*1000, -- em quanto tempo será removido a storage e se tornará possivel as criaturas resurgirem storage = 987459, -- numero da storage monsters = { [1] = {name = "Troll Champion", pos = {x = 1001, y = 1110, z = 9}}, -- Nome, quantidade e posição dos monstros, altere a vontade [2] = {name = "Troll", pos = {x = 1000, y = 1107, z = 9}}, [3] = {name = "Troll", pos = {x = 1007, y = 1109, z = 9}} } } if isPlayer(cid) == true then if getPlayerStorageValue(cid, configuration.storage) < 1 then doCreatureSay(cid, "A ponte não parece segura e quando você dá o primeiro passo ouve um grunhido e nota a presença de um ser estranho.", TALKTYPE_ORANGE_1) -- MSG que você quer exibir addEvent(function() for k, v in pairs(configuration.monsters) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) setPlayerStorageValue(cid, configuration.storage, 1) addEvent(function() setPlayerStorageValue(cid, configuration.storage, 0) end, configuration.tempoDeStorage) end end return true end  
      3º. Inicie o seu servidor e adicione o número da 'ActionID' que você inseriu em 'movements.xml' a algum piso de sua preferência, no caso eu adicionei no meio da ponte. Seja criativo.
    • Por Sphynx
      Olá, eu vim trazer um script que eu produzi para absolutamente nada além de treino, eu estou postando pois talvez seja útil para alguém em algum momento do espaçotempo. E também vou ceder todos os créditos ao @Woox, afinal eu não ia conseguir sem ele, então meu muito obrigado.
       
      local configuration = { positionParedinso1 = {x=1067, y=1071, z=7, stackpos=1}, -- Posição do objeto que ira sumir time = 1*15*1000, -- tempo para o objeto voltar para o seu lugar devido monstrosTime = 1*10*1000, -- tempo até os monstros despertarem guardioes = { [1] = {name = "Hellfire Fighter", pos = {x = 1065, y = 1071, z = 7}}, -- Todas posições onde os monstros seram criados [2] = {name = "Massive Fire Elemental", pos = {x = 1061, y = 1069, z = 7}}, -- Bem como seus nomes e quantidade [3] = {name = "Fury", pos = {x = 1069, y = 1074, z = 7}}, [4] = {name = "Demon", pos = {x = 1069, y = 1071, z = 7}}, [5] = {name = "Diabolic Imp", pos = {x = 1066, y = 1074, z = 7}}, [6] = {name = "Fire Devil", pos = {x = 1064, y = 1075, z = 7}}, [7] = {name = "Fire Elemental", pos = {x = 1062, y = 1069, z = 7}}, [8] = {name = "Massive Fire Elemental", pos = {x = 1067, y = 1068, z = 7}} } } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 1945 then -- alavanca doTransformItem(item.uid, 1946) positionParedinso = getThingFromPos(configuration.positionParedinso1) if positionParedinso.itemid ~= 0 then doRemoveItem(positionParedinso.uid, 1) doCreatureSay(cid, "Um som terrível de engrenagens antigas se movendo pode ser ouvido imediatamente após você puxar a alavanca. \z Estrondos, chamas e vozes demoniacas estão vindo na sua direção, são ouvidos cada vez mais altos, corra por sua vida, \z você acaba fezer um mal antigo despertar.", TALKTYPE_ORANGE_1) -- Mensagem que será exibida após você puxar a alavanca addEvent(function() for k, v in pairs(configuration.guardioes) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) addEvent(doCreateItem, configuration.time, 12794, configuration.positionParedinso1) -- "12794" é o ID da parede que você quer criar após puxar a alavanca end else doTransformItem(item.uid, 1945) end end  
    • Por Emooooo
      colocar exausted ou uma storage pra poder ser usa de 10 min em 10 min tfs 0.3.6
       
      -- [( Script created by Doidin for XTibia.com )] --
      function onUse(cid, item, fromPosition, item2, toPosition)
      local monstername1 = "Dragon Lord" -- Nome dos monstros que serão sumonados após o player clicar no item!
      local monstername2 = "Dragon" -- Nome dos monstros que serão sumonados após o player clicar no item!
      local monster1 = {x=930,y=907,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord)
      local monster2 = {x=925,y=910,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord)
      local monster3 = {x=929,y=906,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord)
      local monster4 = {x=928,y=912,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon)
      local monster5 = {x=932,y=906,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon)
      function Quest()
      doPlayerSendTextMessage(cid,22,"You have found the secret item!")
      doPlayerAddItem(cid,itemid,1)
      end
      function Summon()
      doSummonCreature(monstername1,monster1)
      doSummonCreature(monstername1,monster2)
      doSummonCreature(monstername1,monster3)
      doSummonCreature(monstername2,monster4)
      doSummonCreature(monstername2,monster5)
      doSendMagicEffect(monster1,36)
      doSendMagicEffect(monster2,36)
      doSendMagicEffect(monster3,36)
      doSendMagicEffect(monster4,36)
      doSendMagicEffect(monster5,36)
      end
      doCreatureSay(cid,"You went in the wrong place, beware!",TALKTYPE_ORANGE_1)
      addEvent(Summon,100)
      addEvent(Summon,15000)
      addEvent(Summon,30000)
      addEvent(Summon,45000)
      addEvent(Summon,60000)
      addEvent(Summon,75000)
      addEvent(Quest,6000)
      end
       
       
    • Por JulianoZN
      Então eu tinha esse script de carpet em transform_to a bastante tempo desde 2016, mais simples
      Então então estou postando hoje
       
      Vamos ao Assunto.
       
      vai em data "datapack"/actions/scripts
      Crie um arquivo chamado carpet.lua
      coloque isso
      Please login or register to see this spoiler.
       
      Carpet fechado

       
      Carpet aberto

       
       
       
      DONO: PokemonZbr  ( Online )
      DONO: OtPokemonTvZ  ( Offline ) 
       
      Links do meu jogo

      Please login or register to see this link.
       (Online)  

      Please login or register to see this link.
       (Offline)  
      Eu sou:
      Scripter: 5%
      Mapper: 30%
      Programador: 4%
      Website : 50%
    • Por Sviras
      Best tibia server world, mixed map, rpg-war system.
      Server settings:
          Website:
      Please login or register to see this link.

          IP Address: xtibia.pl
          Port: 7171
          Client: 8.60     Exp Rates:
          51 - 50 level, 90x
          51 - 100 level, 50x
          101 - 150 level, 30x
          151 - 200 level, 23x
          201 - 250 level, 15x
          251 - 300 level, 8x
          301 - 350 level, 5x
          351 - 400 level, 3x
          401 - 450 level, 1x
          451+ level, 0.8x
          Skills rate: 10.5x
          Loot rate: 2,5x
          Maglevel rate: 8x
      Assasin DMG x1.3
      Warrior DMG x1.2 + DEF x1.1
      Mage's DMG 1.46 + DEF x 1.15 & MonsterDEF -6%
      Promote: + 11% DMG + 2% SKILL / MLVL when training.
          
      ~690 Quest!


      ~1200 Spawn! All levels from 8 to 600+



      Trening Room with new system!

×
×
  • Criar Novo...