Ir para conteúdo
  • Cadastre-se

(Resolvido)ITEM UPGRADE


Ir para solução Resolvido por Erimyth,

Posts Recomendados

E ai galera to TK suave? Seguinte,

 

 

to precisando de um item nomeado upgrade kit, a funcionalidade dele é transformar o set convencional(armor,legs,shield,boots,wand) em um set VIP, tipo, pega o item upgrade e da use nele em uma plate legs(exemplo) e ela vira uma golden legs e o mesmo com os outros, dou use na boots ela vira uma soft boots. Sei que é um script um pouco dificil, mas quem puder me ajudar, REP+ vai estralar kkk.

Link para o post
Compartilhar em outros sites

Deixa eu vê se entendi , se o player tiver com o upgrade kit ele vai dar use em uma parte do set e a mesma vai ser transformada em uma nova ?

Link para o post
Compartilhar em outros sites
1 hora atrás, Sttorm disse:

Deixa eu vê se entendi , se o player tiver com o upgrade kit ele vai dar use em uma parte do set e a mesma vai ser transformada em uma nova ?

a mesma vai se transformar em outra, vou tentar explicar melhor..

 

o player tem plate set, ele vai no npc e compra o upgrade kit por X valor(um item) ai ele pode escolher em qual item usar do seu set, exemplo: vai usar na plate legs

ele clica no upgrade kit e da use na PLATE LEGS e ela vira GOLDEN LEGS. Ai o upgrade kit some da bag do player.

 

isso tem que acontecer em todo o set, tipo no helmet,boots,armor,weapon

 

conseguiu entender?

 

Pra ficar melhor pra entender, vou usar praticamente 2 sets no meu OT, PLATE set e GOLDEN set(que é o vip).

Editado por Sotten
explicação melhor (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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.
 

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Link para o post
Compartilhar em outros sites

uma pergunta pode ser qualquer armadura ou é só em uma especifica?

 

Edit: enfim se for pra ser em qualquer armadura exemplo: usar o item X em qualquer peito transforma ele no peito Y, coloquei por vocação pra você poder colocar upgrades diferentes pra cada vocation igual o amigo ai de cima fez. não testei.

 

local geralConfig = {
	effectTrue = CONST_ME_MAGIC_RED,
	effectFalse = CONST_ME_POFF,
	messageType = MESSAGE_STATUS_DEFAULT,
	messageTrue = "Item transformado com sucesso!",
	messageFalse = "Nao eh possivel fazer a transformacao neste item!",
	messageVocation = "Sua vocação não tem upgrade!"
	
}
local itemsConfig = { --Como configurar [vocação] = {[slot] = Id do item, [slot2] = Id do item, ETC....
	[0] = {[CONST_SLOT_HEAD] = 1003, [CONST_SLOT_ARMOR] = 3548, [CONST_SLOT_LEGS] = 3545, [CONST_SLOT_FEET] = 5485},
	[1] = {[CONST_SLOT_HEAD] = 1003, [CONST_SLOT_ARMOR] = 3548, [CONST_SLOT_LEGS] = 3545, [CONST_SLOT_FEET] = 5485},
	[2] = {[CONST_SLOT_HEAD] = 1003, [CONST_SLOT_ARMOR] = 3548, [CONST_SLOT_LEGS] = 3545, [CONST_SLOT_FEET] = 5485},
	[3] = {[CONST_SLOT_HEAD] = 1003, [CONST_SLOT_ARMOR] = 3548, [CONST_SLOT_LEGS] = 3545, [CONST_SLOT_FEET] = 5485},
	[4] = {[CONST_SLOT_HEAD] = 1003, [CONST_SLOT_ARMOR] = 3548, [CONST_SLOT_LEGS] = 3545, [CONST_SLOT_FEET] = 5485}
}

function onUse(cid, item, fromPosition, item2, toPosition)
	local itemInfo = getItemInfo(item2.itemid)
	local ItemPVocation = itemsConfig[getPlayerVocation(cid)]
	if itemPVocation then
		local ItemPSlot = itemPVocation[itemInfo.wieldPosition]
		if ItemPSlot then
			doSendMagicEffect(toPosition, geralConfig.effectTrue)
			doPlayerSendTextMessage(cid, geralConfig.messageType, geralConfig.messageTrue)
			doTransformItem(item2.uid, ItemPSlot)
			doRemoveItem(item.uid, 1)
			return true
		else
			doPlayerSendTextMessage(cid, geralConfig.messageType, geralConfig.messageFalse)
			doSendMagicEffect(toPosition, geralConfig.effectFalse)
			return false
		end
	else
		doPlayerSendTextMessage(cid, geralConfig.messageType, geralConfig.messageVocation)
		doSendMagicEffect(toPosition, geralConfig.effectFalse)
		return false
	end
	return true
end

 

 

Editado por vyctor17 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
9 horas atrás, 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?

Link para o post
Compartilhar em outros sites
  • 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)

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites

@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)

Feliz daquele que ensina o que sabe, e aprende o que ensina.

 

               

star-wars-animated-gif-23.gif

Link para o post
Compartilhar em outros sites
  • 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)

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites
  • Administrador
2 minutos atrás, Sttorm disse:

Pensei já ter visto gambiarra , mas oq eu vi nesse tópico aqui hoje superou

Ta se referindo ao meu script ?

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites
46 minutos atrás, lordzetros disse:

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

 

Funcionou perfeito cara !


Uma pergunta, pra adicionar mais itens é só colocar abaixo da linha?

 

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
Link para o post
Compartilhar em outros sites
Agora, Sotten disse:

Funcionou perfeito cara !


Uma pergunta, pra adicionar mais itens é só colocar abaixo da linha?

 


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


Não irá funcionar ; recomendo usar a script do @erimyth

Link para o post
Compartilhar em outros sites
4 minutos atrás, Sttorm disse:


Não irá funcionar ; recomendo usar a script do @erimyth

mas eu testei e funcionou, qual o erro que poderá apresentar?

Link para o post
Compartilhar em outros sites
1 hora atrás, Sotten disse:

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?

voce tem que mudar no object builder e otitemeditor o item, para ser multiusavel

tumblr_o70wteR8521r9n6kzo1_400.gif

Link para o post
Compartilhar em outros sites
  • Administrador

@Sotten Funcionou da forma que esta ai. mais vc nao conseguira adicionar novos itens se nao editar a gambiarra  o script inteiro.

no meu script vc pode botar quantos item quiser sem precisar mudar nada, alem de adicionar o ID do item antigo e o Item novo.

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

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites
1 minuto atrás, Sotten disse:

mas eu testei e funcionou, qual o erro que poderá apresentar?


Não irá funcionar se você adicionar um novo item ; a script dele não é independente ; terá que fazer diversas modificações para que isso aconteça , já a outra script é só adicionar na tabela

Link para o post
Compartilhar em outros sites
3 minutos atrás, erimyth disse:

@Sotten Funcionou da forma que esta ai. mais vc nao conseguira adicionar novos itens se nao editar a gambiarra  o script inteiro.

no meu script vc pode botar quantos item quiser sem precisar mudar nada, alem de adicionar o ID do item antigo e o Item novo.

 

Testei a sua e apareceu isso:

 

 

12:05 Nao eh possivel fazer a transformacao! Voce precisa estar com o Upgrade em sua Backpack.

Link para o post
Compartilhar em outros sites
  • Administrador

poste ai como vc editou a script.
vc editou os XXXXXXX pelo id do upgrade correto ? 
esta com ele em sua backpack ou no chao ?

Aqui esta normal.

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites
1 minuto atrás, erimyth disse:

poste ai como vc editou a script.
vc editou os XXXXXXX pelo id do upgrade correto ? 
esta com ele em sua backpack ou no chao ?

Aqui esta normal.

Mudei a ID e funcionou, mas preciso retirar uma parte.

 

 

Não deve aparecer quem melhorou o item como esta aparecendo, como faço pra tirar?

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo