Ir para conteúdo

Featured Replies

Postado
1 hora atrás, lordzetros disse:

@louco3626 por nada!
Claro que tem, aqui o código:
 


-- Script por Lordzetros para o forum Tibia King. 

local config = {
itemNovo = 10137, -- ID do item que sera adicionado ao efetuar a troca
qtNova = 1, -- Quantidade do item que sera adicionado ao efetuar a troca
telePosicao = {x=155, y=54, z=7}, -- Local que o player ira se teleportar ao usar a alavanca
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
pos = getPlayerPosition(cid)
if item.itemid == 1945 then -- id da alavanca
	doPlayerAddItem(cid, config.itemNovo,config.qtNova)
	doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Voce acabou de ganhar "..config.qtNova.." "..getItemNameById(config.itemNovo)..".")
	doTeleportThing(cid,config.telePosicao)
	doSendMagicEffect(pos, CONST_ME_HOLYAREA)			
end
end

Onde tem telePosicao, você irá colocar as coordenadas de onde o player irá se teletransportar. ^^ 

 

Obg. <3

  • 3 weeks later...
  • Respostas 18
  • Visualizações 3.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Olá pessoal da comunidade de Tibia!    Bom, hoje trouxe um pequeno e simples script, mas que pode ajudar muita gente. Vi alguns posts referindo aos NPCs que trocam determinados itens por outros, ent

  • Então, cimmeria, tudo bem? Está no tópico como remover o storage, assim o player poderá fazer mais de uma vez, certo? Basta apenas você remover do código o seguinte comando:   setPlayerStorageVa

  • @louco3626 por nada! Claro que tem, aqui o código:   -- Script por Lordzetros para o forum Tibia King. local config = { itemNovo = 10137, -- ID do item que sera adicionado ao efetuar a troca

  • 4 weeks later...
Postado
Em 17/06/2017 em 17:23, lordzetros disse:

   Olá pessoal da comunidade de Tibia!
   Bom, hoje trouxe um pequeno e simples script, mas que pode ajudar muita gente. Vi alguns posts referindo aos NPCs que trocam determinados itens por outros, então tive a ideia de fazer algo que possa ter uma função semelhante e que funcione de uma maneira rápida. Fique à vontade em utilizá-la da maneira que quiser.

Como funciona?

    O usuário vai usar a alavanca e irá adicionar um item em troca de outra item que você configurou no script. Em outras palavras, o usuário irá ganhar uma determinada quantidade de um item em troca de outra quantidade de um item diferente. (Tudo configurável)

VERSÃO TESTADA: 8.60 - OTX

-->  Começando...

Crie um arquivo com nome de changeItem.lua no diretório data/actions/scripts/

   Logo após, adicione esse código dentro do arquivo criado:


-- Script por Lordzetros para o forum Tibia King. 

local config = {
itemNec = 2160, -- ID do item que necessita para efetuar a troca
qtNec = 50, -- Quantidade do item que necessita para efetuar a troca
itemNovo = 10137, -- ID do item que sera adicionado ao efetuar a troca
qtNova = 1, -- Quantidade do item que sera adicionado ao efetuar a troca
stor = 25869, -- Storage, ou seja, a numeracao que identificara se o usuario fez ou nao fez a quest ainda
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
pos = getPlayerPosition(cid)
if getPlayerStorageValue(cid,config.stor) ~= -1 then
	doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"So eh permitido fazer a troca de itens apenas uma vez!")
	doSendMagicEffect(pos, CONST_ME_POFF)
elseif getPlayerStorageValue(cid,config.stor) == -1 then
	if item.itemid == 1945 then
		if getPlayerItemCount(cid,config.itemNec) >= config.qtNec then
				doPlayerAddItem(cid, config.itemNovo,config.qtNova)
				doPlayerRemoveItem(cid,config.itemNec,config.qtNec)
				doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Voce acabou de trocar "..config.qtNec.." "..getItemNameById(config.itemNec).." por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".")
				doSendMagicEffect(pos, CONST_ME_HOLYAREA)
				setPlayerStorageValue(cid, config.stor, 1)				
		else
			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce nao tem "..config.qtNec.." "..getItemNameById(config.itemNec).." para trocar por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".")
			doSendMagicEffect(pos, CONST_ME_POFF)
end
end
end	
end

Em seguida, abra o arquivo com nome actions.xml que está localizada em data/actions/

    E adicione essa linha de código no mesmo:


<action actionid="9139" event="script" value="changeItem.lua"/>

   Preste atenção, pois o actionid será o número que irá colocar na alavanca em seu editor de mapa, ou seja, no caso acima está como 9139, logo, na alavanca terá que está como a seguinte imagem:

ttIfaqN.png

Obs1.: Reparem que na imagem tem outro número destacado, que é o ID 1945, CERTIFIQUE-SE que a alavanca que irá utilizar no seu OT tenha esse mesmo ID, caso não tenha, basta mudar o número no código do script para o que irá utilizar no seu servidor.

Obs2.: O código está configurado para que o usuário efetue a troca APENAS 1 VEZ, caso queira que ele troque quantas vezes quiser, apenas remova o seguinte comando do código:
 


setPlayerStorageValue(cid, config.stor, 1)	

Obs3.: O resto que tinha que explicar está no próprio código, apenas faça um esforço de ler, agradeço.

 

 

  É isso, pessoal, espero que goste e aproveite. Como falei antes, é um código simples, pois comecei agora com Script, pretendo avançar no nível e funções que os mesmos desempenham, isso é só o começo, leve isso como uma prática de uma atividade para iniciante em scripts. :)  

 

como pego pra pegar muitas veses..

 

qero qe pege infinito nao troca apenas 1 ves nao..

 

qe troqe infinito

 

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