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])
...
Por MaXwEllDeN, 18 de out. de 2010 em Actions e Talkactions
info
Grupo: Visconde
Registrado: 20/08/06
Posts: 250
Reputação: +146

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])
...
Editado Outubro 19 por kydrai
Bem Legal, mais nao usaria do modo que voce deixou (porque esta non-sense).
Abraços
info
Grupo: Campones
Registrado: 27/01/10
Posts: 15
Reputação: 0
Gênero: Masculino
Char 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
Editado Outubro 20 por Mutter3
info
Grupo: Barão
Registrado: 18/10/10
Posts: 246
Reputação: +89
Char 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
info
Grupo: Barão
Registrado: 18/10/10
Posts: 246
Reputação: +89
Char no Tibia: Elite Pamcadaum
Bom, Sabe aquele varinha Mágica? 7735 ?, ainda não sabe?
e agora?
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
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é isso ai pessoal (:
Primeiro Script 100% que eu consegui resolver alguns erros :happy:
Editado Outubro 18 por MaXwEllDeN