[Action] Varinha Mágica *.*

MaXwEllDeN
em Actions e Talkactions

MaXwEllDeN

string.reverse("adiV a arohaD")
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 18/10/10Posts: 246Char no Tibia: Elite Pamcadaum
Nome: Varinha Mágica

Autor: MaXwEllDeN

Versão Testada: TFS 0.4.0

 

Bom, Sabe aquele varinha Mágica? 7735 ?, ainda não sabe?

7735.png

e agora? :D

 

Bom, o script faz o seguinte:

Se eu usar a varinha em uma dsm, ela vai se transformar em uma Demon Armor, se eu usar ela em uma Demon Armor ela vai virar uma DSM,

se eu usar ela em um Cat ele vai virar o npc Obi, se eu usar no Obi, ele vai virar um Cat

Transformar Demon Armor em DSM é só item de exemplo!, claro que vc pode mudar

 

em data/actions/scripts

copie um arquivo qualquer e renomeie ele para Magic_Wand.lua, abra ele com o bloco de notas apague tudo que tiver dentro e cole isso lá:

-- Script by MaXwEllDeN --
function onUse(cid,item,frompos,item2,topos)

-- Inicio das Variaveis Configuraveis (:
local item = {I_1 = 2494,-- Item 1, no caso Demon Armor
              I_2 = 2492} -- Item 2, no caso Dragon Scale Mail

local Creature = { M_1 = 'Cat', -- Monstro 1, no caso Cat 
                  M_2 = 'Obi'} -- Monstro 2, no caso não é um Monstro, é um NPC, mas vc pode por pra monstro, ´so é editar o nome ai!
-- Fim das Variaveis Configuraveis ):

local localpos = getCreaturePosition(cid)

if item2.itemid == item.I_1 then
  doTransformItem(item2.uid, item.I_2)
  doSendMagicEffect(topos, 31)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. getItemNameById(item.I_1) .." em  ".. getItemNameById(item.I_2) .. ".")

elseif item2.itemid == item.I_2 then
  doTransformItem(item2.uid, item.I_1)
  doSendMagicEffect(topos, 31)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. getItemNameById(item.I_2) .." em  ".. getItemNameById(item.I_1) .. ".")

elseif getCreatureName(item2.uid) == Creature.M_1 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_2, topos)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. Creature.M_1 .." em  ".. Creature.M_2 .. ".")

elseif getCreatureName(item2.uid) == Creature.M_2 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_1, topos)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. Creature.M_2 .." em  ".. Creature.M_1 .. ".")

else
  doPlayerSendTextMessage(cid,21,"Você só pode transformar ".. getItemNameById(item.I_1) .." em  ".. getItemNameById(item.I_2) .. ", " .. Creature.M_1 .. " em " .. Creature.M_2 .. " e vice e versa!")
  doSendMagicEffect(localpos, 2)
end
end

 

e adicione essa tag no seu actions.xml (data/actions/actions.xml)

 

<action itemid="7735" script="Magic_Wand.lua"/>

 

Dica:

poderia fazer uma quest, em que qualquer lugar no meio do caminho de uma cidade pra outra tivesse um sapo especial(teria que adicionar outro frog nos monsters, pra ficar diferenciado, e no nome do monstro, teria que por como tá no xml(eu axo))quando usasse a varinha no sapo, ele viraria um principe que poderia ser um npc, e quem sabe faria parte de uma quest, xD

(conto de fadas mesmo)

é isso ai pessoal (:

Primeiro Script 100% que eu consegui resolver alguns erros :happy:

eq9qh0.png

Kydrai

"Keep Your Mind Wide Open"
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/08/06Posts: 250

Simples mas legal.

Ainda precisa estudar um pouco mais tabelas e evitar repetições desnecessárias.

Você poderia fazer algo assim:

local items = {[2494] = 2492}
if items[item2.itemid] then
   doTransformItem(item2.uid, items[item2.itemid])
...

~ Kydrai
Programador / Scripter

 

sign.png

Saymon14

.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 05/05/10Posts: 544

Bem Legal, mais nao usaria do modo que voce deixou (porque esta non-sense).



 

Abraços

 

Não entro em equipes, já tenho meu projeto, não insista.

 

 

 

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

PedroMutter

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/01/10Posts: 15Gênero: MasculinoChar no Tibia: Zina Lee

mto bom cara,mas como poem pra por 2 monstros se trasformando por exemplo:o cat vira o obi,e o priest vira um bazir, tentei fazer + deu certo olha aew como puis

function onUse(cid,item,frompos,item2,topos)

local item = {I_1 = 6132,
              I_2 = 9933}

local Creature = { M_1 = 'Cat', -- Monstro 1 
                  M_2 = 'Antonio Nunes', -- Monstro 2
                  M_3 = 'priest', -- Monstro 3
                  M_4 = 'Bazir'} -- Monstro 4

local localpos = getCreaturePosition(cid)

if item2.itemid == item.I_1 then
  doTransformItem(item2.uid, item.I_2)
  doSendMagicEffect(topos, 31)

elseif item2.itemid == item.I_2 then
  doTransformItem(item2.uid, item.I_1)
  doSendMagicEffect(topos, 31)

elseif getCreatureName(item2.uid) == Creature.M_1 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_2, topos)

elseif getCreatureName(item2.uid) == Creature.M_2 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_1, topos)

elseif getCreatureName(item2.uid) == Creature.M_3 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_4, topos)

elseif getCreatureName(item2.uid) == Creature.M_4 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_3, topos)

else
  doPlayerSendTextMessage(cid,21,"Cuidado onde usa")
  doSendMagicEffect(localpos, 2)
end
end

MaXwEllDeN

string.reverse("adiV a arohaD")
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 18/10/10Posts: 246Char no Tibia: Elite Pamcadaum

não testei, mas tá ai:

 

-- Script by MaXwEllDeN --
function onUse(cid,item,frompos,item2,topos)

-- Inicio das Variaveis Configuraveis (:
local item = {I_1 = 6132,
              I_2 = 9933}

local Creature = { M_1 = 'Cat', -- Monstro 1, no caso Cat 
                  M_2 = 'Antonio Nunes', -- Monstro 2
                  M_3 = 'Priest', -- Monstro 3
                  M_4 = 'Bazir'} -- Monstro 4
-- Fim das Variaveis Configuraveis ):

local localpos = getCreaturePosition(cid)

if item2.itemid == item.I_1 then
  doTransformItem(item2.uid, item.I_2)
  doSendMagicEffect(topos, 31)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. getItemNameById(item.I_1) .." em  ".. getItemNameById(item.I_2) .. ".")

elseif item2.itemid == item.I_2 then
  doTransformItem(item2.uid, item.I_1)
  doSendMagicEffect(topos, 31)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. getItemNameById(item.I_2) .." em  ".. getItemNameById(item.I_1) .. ".")

elseif isCreature(item2.uid) and getCreatureName(item2.uid) == Creature.M_1 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_2, topos)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. Creature.M_1 .." em  ".. Creature.M_2 .. ".")

elseif isCreature(item2.uid) and getCreatureName(item2.uid) == Creature.M_2 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_1, topos)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. Creature.M_2 .." em  ".. Creature.M_1 .. ".")

elseif isCreature(item2.uid) and getCreatureName(item2.uid) == Creature.M_3 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_4, topos)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. Creature.M_3 .." em  ".. Creature.M_4 .. ".")

elseif isCreature(item2.uid) and getCreatureName(item2.uid) == Creature.M_4 then
  doRemoveCreature(item2.uid)
  doSendMagicEffect(topos, 31)
  doSummonCreature(Creature.M_3, topos)
  doPlayerSendTextMessage(cid,22,"Você Transformou ".. Creature.M_4 .." em  ".. Creature.M_3 .. ".")

else
  doPlayerSendTextMessage(cid,21,"Sua varinha é poderosa mas ñ faz milagres não fi!")
  doSendMagicEffect(localpos, 2)
end
end

eq9qh0.png