Ir para conteúdo

Featured Replies

Postado

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.

Resolvido por Erimyth

Ir para solução
  • 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
  • Autor
  Em 09/03/2018 em 13:46, 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)

Postado

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.
 

Postado

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)

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