Ir para conteúdo

Featured Replies

Postado
  • Autor
  Em 10/03/2018 em 03:40, lordzetros disse:

Deixei ele bem longo pela troca de ser fácil configurável, tá tudo comentado no script, espero que ajude-o.
Testei na versão 8.6 TFS 0.4 e tá 100%
Em data/actions/scripts, crie um arquivo chamado itemUpgrade.lua  e coloque o código dentro:
 


--[[
Script feito por Lordzetros para o fórum TibiaKing - pedido do usuario Sotten
]]

local configItems = {
idItem = 12661, -- Id do item que sera responsavel em clickar em cima do set para transforma-lo
amountItem = 1, -- quantidade que sera removida apos ser usada no set para transformar
message = "Item transformado com sucesso!" -- mensagem quando o item for transformado
}

local knight = { -- Itens do knight
oldHelmet = 2474, -- Antigo helmet, antes de transformar
oldArmor = 2503, -- Antiga armor, antes de transformar
oldLegs = 2504, -- Antiga legs, antes de transformar
oldBoots = 2641, -- Antiga boots, antes de transformar
newHelmet = 9778, -- Novo helmet, apos transformar
newArmor = 9776, -- Nova armor, apos transformar
newLegs = 9777, -- Nova legs, apos transformar
newBoots = 9931 -- Nova boots, apos transformar
}

local paladin = { -- Itens do paladin
oldHelmet = 2474, -- Antigo helmet, antes de transformar
oldArmor = 2503, -- Antiga armor, antes de transformar
oldLegs = 2504, -- Antiga legs, antes de transformar
oldBoots = 2641, -- Antiga boots, antes de transformar
newHelmet = 9778, -- Novo helmet, apos transformar
newArmor = 9776, -- Nova armor, apos transformar
newLegs = 9777, -- Nova legs, apos transformar
newBoots = 9931 -- Nova boots, apos transformar
}

local sorcerer = { -- Itens do sorcerer
oldHelmet = 2474, -- Antigo helmet, antes de transformar
oldArmor = 2503, -- Antiga armor, antes de transformar
oldLegs = 2504, -- Antiga legs, antes de transformar
oldBoots = 2641, -- Antiga boots, antes de transformar
newHelmet = 9778, -- Novo helmet, apos transformar
newArmor = 9776, -- Nova armor, apos transformar
newLegs = 9777, -- Nova legs, apos transformar
newBoots = 9931 -- Nova boots, apos transformar
}

local druid = { -- Itens do druid
oldHelmet = 2474, -- Antigo helmet, antes de transformar
oldArmor = 2503, -- Antiga armor, antes de transformar
oldLegs = 2504, -- Antiga legs, antes de transformar
oldBoots = 2641, -- Antiga boots, antes de transformar
newHelmet = 9778, -- Novo helmet, apos transformar
newArmor = 9776, -- Nova armor, apos transformar
newLegs = 9777, -- Nova legs, apos transformar
newBoots = 9931 -- Nova boots, apos transformar
}


function onUse(cid, item, fromPosition, item2, toPosition)

pos = getCreaturePosition(cid)
efeito = CONST_ME_MAGIC_RED

if (item2.itemid == knight.oldHelmet) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,knight.newHelmet)
elseif (item2.itemid == knight.oldArmor) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,knight.newArmor)
elseif (item2.itemid == knight.oldLegs) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,knight.newLegs)
elseif (item2.itemid == knight.oldBoots) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)	
	return doTransformItem(item2.uid,knight.newBoots)

	
elseif (item2.itemid == paladin.oldHelmet) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,paladin.newHelmet)
elseif (item2.itemid == paladin.oldArmor) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,paladin.newArmor)
elseif (item2.itemid == paladin.oldLegs) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,paladin.newLegs)
elseif (item2.itemid == paladin.oldBoots) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,paladin.newBoots)


elseif (item2.itemid == sorcerer.oldHelmet) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,sorcerer.newHelmet)
elseif (item2.itemid == sorcerer.oldArmor) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,sorcerer.newArmor)
elseif (item2.itemid == sorcerer.oldLegs) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,sorcerer.newLegs)
elseif (item2.itemid == sorcerer.oldBoots) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,sorcerer.newBoots)

 
elseif (item2.itemid == druid.oldHelmet) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,druid.newHelmet)
elseif (item2.itemid == druid.oldArmor) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,druid.newArmor)
elseif (item2.itemid == druid.oldLegs) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,druid.newLegs)
elseif (item2.itemid == druid.oldBoots) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,druid.newBoots)


else
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Nao eh possivel fazer a transformacao neste item!")
	doSendMagicEffect(pos, CONST_ME_POFF)
	return true
end
return true
end

Após ter feito isso, vá em data/actions/ e abra o arquivo actions.lua, coloque esse trecho de código em baixo de algum outro do mesmo:


<action itemid="12661" script="itemUpgrade.lua"/>

Em itemid="12661" será o ID do item que você vai tá utilizando para fazer o upgrade, no meu caso, eu utilizei o 12661, que também está no script, configure nos dois arquivos.
Abraço.
 

Cara, eu editei os itens pra fazer, mas de qualquer forma ta apresentando isso:

 

10:06 Nao eh possivel fazer a transformacao neste item!

 

E não ta mostrando a opção de dar use.

 

Deixa eu te falar, na verdade vai ser apenas 2 sets no OT, não por vocação.

Segue os ID dos sets:

 

SET COMUM

 

HELMET
7903
ARMOR
7884
LEGS
7885
BOOTS
7886

 

VIP SET

 

HELMET
2343
ARMOR
9776
LEGS
9777
BOOTS
9932

 

 

Tem mais alguns itens pra eu colocar, coloquei esses ai só pra vc ter uma noção e entender, ai depois eu consigo ir adicionando o restante dos itens?

  • Respostas 22
  • Visualizações 1.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Deixei ele bem longo pela troca de ser fácil configurável, tá tudo comentado no script, espero que ajude-o. Testei na versão 8.6 TFS 0.4 e tá 100% Em data/actions/scripts, crie um arquivo chamado it

  • @Sotten Aqui:   --[[ Script feito por Lordzetros para o fórum TibiaKing - pedido do usuario Sotten ]] local configItems = { idItem = 12661, -- Id do item que sera responsavel em clickar em c

Postado
  • Administrador

@Sotten

me diga os ID dos Itens... 
ITEM ANTIGO  -  ITEM NOVO.

e me explica uma coisa após usar em 1 item do set ele é removido ai o player tem que comprar outro pra usar em outra parte ? é isso ?

 

E me fala qual o ID do item que vc vai usar para ser o upgrade. lembre-se de escolher um Item com MultipleUSE

Editado por erimyth (veja o histórico de edições)

Postado

@Sotten
Aqui:
 

--[[
Script feito por Lordzetros para o fórum TibiaKing  - pedido do usuario Sotten
]]

local configItems = {
idItem = 12661, -- Id do item que sera responsavel em clickar em cima do set para transforma-lo
amountItem = 1, -- quantidade que sera removida apos ser usada no set para transformar
message = "Item transformado com sucesso!" -- mensagem quando o item for transformado
}

local set = { -- Sets - antigo e novo
oldHelmet = 7903, -- Antigo helmet, antes de transformar
oldArmor = 7884, -- Antiga armor, antes de transformar
oldLegs = 7885, -- Antiga legs, antes de transformar
oldBoots = 7886, -- Antiga boots, antes de transformar
newHelmet = 2343, -- Novo helmet, apos transformar
newArmor = 9776, -- Nova armor, apos transformar
newLegs = 9777, -- Nova legs, apos transformar
newBoots = 9932 -- Nova boots, apos transformar
}



function onUse(cid, item, fromPosition, item2, toPosition)

pos = getCreaturePosition(cid)
efeito = CONST_ME_MAGIC_RED

if (item2.itemid == set.oldHelmet) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,set.newHelmet)
elseif (item2.itemid == set.oldArmor) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,set.newArmor)
elseif (item2.itemid == set.oldLegs) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)
	return doTransformItem(item2.uid,set.newLegs)
elseif (item2.itemid == set.oldBoots) and doPlayerRemoveItem(cid,configItems.idItem,configItems.amountItem) then
	doSendMagicEffect(pos, efeito)
	doCreatureSay(cid, configItems.message, TALKTYPE_ORANGE_1)	
	return doTransformItem(item2.uid,set.newBoots)

else
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Nao eh possivel fazer a transformacao neste item!")
	doSendMagicEffect(pos, CONST_ME_POFF)
	return true
end
return true
end

Você DEVE usar um item que permita a interação com outro item, por exemplo, uma pá (shovel) ela permite isso, caso você for adicionar um item para tal, necessita ter a CID de uma pá ou qualquer outro item permitindo essa interação.
Caso ficou confuso, teste primeiro com o ID de uma pá, ou seja, onde tem 12661, substitua por 2554 e faça o teste. Estou no aguardo.

Editado por lordzetros (veja o histórico de edições)

Postado
  • Administrador

@Sotten

 Se funfa nao se esqueça de um like :)

 

ATENÇÃO: -- onde esta XXXXXXXX substitua pelo ID do item que vai ser usado para upgrade  

 

local upgradeID = {
		[7903] = {2343},  -- COMO EDITAR: [ITEM ANTIGO] = {ITEM NOVO}
		[7884] = {9776},  -- COMO EDITAR: [ITEM ANTIGO] = {ITEM NOVO}
		[7885] = {9777},  -- COMO EDITAR: [ITEM ANTIGO] = {ITEM NOVO}
		[7886] = {9932},  -- COMO EDITAR: [ITEM ANTIGO] = {ITEM NOVO} .... Para adicionar um item novo basta copiar o modelo feito você pode por quantos item quiser
		}
  

  
function onUse(cid, item, fromPosition, itemEx, toPosition)

 if getPlayerItemCount(cid, XXXXXXXX) >= 1 then -- onde esta XXXXXXXX substitua pelo ID do item que vai ser usado para upgrade  
for itemid, info in pairs(upgradeID) do
  if (itemEx.itemid == info[1]) then
     return doPlayerSendTextMessage(cid, 27, "Nao eh possivel fazer a transformacao aqui.")
  end
  
  if (itemEx.itemid == itemid) then
      doSetItemSpecialDescription(itemEx.uid, "Special edition. \nEste item foi melhorado por "..getCreatureName(cid)..".")
      doPlayerSendTextMessage(cid, 4, 'UPGRADE! Item transformado com sucesso!')
      doSendMagicEffect(getThingPos(cid), 41)
      doTransformItem(itemEx.uid, info[1])
      doPlayerRemoveItem(cid, XXXXXXXX, 1)    -- onde esta XXXXXXXX substitua pelo ID do item que vai ser usado para upgrade                                  
  end

end

 else
     return doPlayerSendTextMessage(cid, 27, "Nao eh possivel fazer a transformacao! Voce precisa estar com o Upgrade em sua Backpack.")
 end
return true
end

 

Editado por erimyth (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo