Jump to content
  • 0

[Resolvido] Sacrificio por alavanca cria um item no mapa


M i s s
 Share

Question

Boa noite a todos, eu procurei por essa script pois achei ter visto em algum lugar mas não encontrei, ela funciona assim:

O jogador coloca 1 item em um altar, proximo dali tem uma alavanca, ao gira-la o altar vai consumir o item (se possível o altar seria bloqueado por um tempo, tipo uma coal basin que vai pegar fogo depois de ativado), assim que o item for sacrificado será criado um item em determinada parte do mapa que vai sumir depois de um tempo (ele some assim que a coal basin voltar ao normal).

Espero que nao seja algo mt complicado >.< Obrigada a todos desde já ❤️ 

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 1
Em 11/09/2021 em 13:47, R e d disse:

Eu não tinha pensado nisso hehe

Se o player clicar no item e depois no altar já consumiria o item automaticamente não precisando ir até a alavanca? Acho que pode ser da forma que você achar mais facil, pode ser com o multi-use ou colocar o item no altar e depois usar alanvanca :)

 

 

Usando um item no altar, deixei comentado as configurações do codigo, dai tu so configura ai

 

<action itemid="2033" script="other/abc.lua"/>

 

 

local mConfig = {
	mTime     = 5000, -- tempo que vai sumir o item e o altar
	mAltar    = {1485, 1484}, -- IDS do altar
	mItemID   = 2160, -- ID do item que vai aparecer na posicao X
	mQTDE     = 100, -- quantidade de item que vai aparecer na posição X
	mItem     = 2033, -- item que vai usar em cima do altar
	mPoss     = {{x = 77, y = 38, z = 7}, {x = 78, y = 38, z = 7}}, -- Primeira posição é a do altar e a segunda a do item que vai aparecer
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if item.itemid == mConfig.mItem and itemEx.itemid == mConfig.mAltar[1] then
		doRemoveItem(item.uid, 1)
		doTransformItem(itemEx.uid, mConfig.mAltar[2])
		doSendMagicEffect(getThingPos(itemEx.uid), 3)
		doCreateItem(mConfig.mItemID, mConfig.mQTDE, mConfig.mPoss[2])
		doSendMagicEffect(mConfig.mPoss[2], 10)
		addEvent(function()
			mItem    = getTileItemById(mConfig.mPoss[1],mConfig.mAltar[2]).uid
			mItemTwo = getTileItemById(mConfig.mPoss[2],mConfig.mItemID).uid
			if mItem > 0 then 
			    doTransformItem(mItem, mConfig.mAltar[1])
				doSendMagicEffect(getThingPos(mItem), 2)
				
				if mItemTwo > 0 then
				  doRemoveItem(mItemTwo, mConfig.mQTDE)
				end  
			end	
		end, mConfig.mTime)   
    else
	    doSendMagicEffect(getThingPos(cid), 2)
    end	
end	

 

Edited by Kuro o Shiniga
Link to comment
Share on other sites

  • 0
15 horas atrás, Yan Oliveira disse:

Entendi, e no caso esse altar é um item também?

Sim, por exemplo o altar é o numero 1, e após consumir o item ele vira o 2, depois de um tempo quandoa passagem sumir o altar volta para o 1 para poder ser usado novamente
image.png.db666c775cbba4df9b7ba858dbaf6c3c.png

Link to comment
Share on other sites

  • 0
23 minutos atrás, Yan Oliveira disse:

Entendi, e sobre colocar o item no altar é o player clicar com o direito no item e mirar no altar (item multi-use)?

Eu não tinha pensado nisso hehe

Se o player clicar no item e depois no altar já consumiria o item automaticamente não precisando ir até a alavanca? Acho que pode ser da forma que você achar mais facil, pode ser com o multi-use ou colocar o item no altar e depois usar alanvanca :)

 

Link to comment
Share on other sites

  • 0
Em 15/09/2021 em 00:11, Kuro o Shiniga disse:

 

Usando um item no altar, deixei comentado as configurações do codigo, dai tu so configura ai

 




<action itemid="2033" script="other/abc.lua"/>

 

 




local mConfig = {
	mTime     = 5000, -- tempo que vai sumir o item e o altar
	mAltar    = {1485, 1484}, -- IDS do altar
	mItemID   = 2160, -- ID do item que vai aparecer na posicao X
	mQTDE     = 100, -- quantidade de item que vai aparecer na posição X
	mItem     = 2033, -- item que vai usar em cima do altar
	mPoss     = {{x = 77, y = 38, z = 7}, {x = 78, y = 38, z = 7}}, -- Primeira posição é a do altar e a segunda a do item que vai aparecer
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if item.itemid == mConfig.mItem and itemEx.itemid == mConfig.mAltar[1] then
		doRemoveItem(item.uid, 1)
		doTransformItem(itemEx.uid, mConfig.mAltar[2])
		doSendMagicEffect(getThingPos(itemEx.uid), 3)
		doCreateItem(mConfig.mItemID, mConfig.mQTDE, mConfig.mPoss[2])
		doSendMagicEffect(mConfig.mPoss[2], 10)
		addEvent(function()
			mItem    = getTileItemById(mConfig.mPoss[1],mConfig.mAltar[2]).uid
			mItemTwo = getTileItemById(mConfig.mPoss[2],mConfig.mItemID).uid
			if mItem > 0 then 
			    doTransformItem(mItem, mConfig.mAltar[1])
				doSendMagicEffect(getThingPos(mItem), 2)
				
				if mItemTwo > 0 then
				  doRemoveItem(mItemTwo, mConfig.mQTDE)
				end  
			end	
		end, mConfig.mTime)   
    else
	    doSendMagicEffect(getThingPos(cid), 2)
    end	
end	

 


Boa noite, perdão pela demora, tive um problema com meu PC e consegui testar só hoje. Deu certo, primeiramente eu tinha esquecido que iria funcionar com use hehe

@yan oliveira Obrigada também pelo suporte ❤️

 

Edited by R e d
Link to comment
Share on other sites

  • 0
23 horas atrás, R e d disse:


Boa noite, perdão pela demora, tive um problema com meu PC e consegui testar só hoje. Deu certo, primeiramente eu tinha esquecido que iria funcionar com use hehe

@yan oliveira Obrigada também pelo suporte ❤️

 

No caso você não queria que colocasse o item no altar e clicasse na alavanca para realizar o sacrifício?

Link to comment
Share on other sites

  • 0
Em 18/09/2021 em 21:57, Yan Oliveira disse:

No caso você não queria que colocasse o item no altar e clicasse na alavanca para realizar o sacrifício?


A principio sim, ai em seguida você perguntou se seria com a alavanca ou ao dar use com o item no altar, mas poderia ser qualquer um dos modos

Link to comment
Share on other sites

  • 0
25 minutos atrás, R e d disse:


A principio sim, ai em seguida você perguntou se seria com a alavanca ou ao dar use com o item no altar, mas poderia ser qualquer um dos modos

Entendi, bom eu fiz para você que funciona sacrifício ao clicar na alavanca. Se fosse só dar target no altar com o item seria bem fácil, mas com alavanca fica um pouco mais chato. Aí você que vê como vai querer, se vai querer com clique na alavanca ou como fizeram para você. Preciso que me informe para fechar o tópico ou não dependendo da sua escolha.

Link to comment
Share on other sites

  • 0
6 minutos atrás, Yan Oliveira disse:

Entendi, bom eu fiz para você que funciona sacrifício ao clicar na alavanca. Se fosse só dar target no altar com o item seria bem fácil, mas com alavanca fica um pouco mais chato. Aí você que vê como vai querer, se vai querer com clique na alavanca ou como fizeram para você. Preciso que me informe para fechar o tópico ou não dependendo da sua escolha.

Eu iria usar a alavanca por ser mais comum (e talvez mais facil), não sabia que dava pra fazer com o use (e achei que seria mais complexo), mas obrigada, pode fechar o tópico. ❤️ 

 

Link to comment
Share on other sites

  • 0
3 minutos atrás, R e d disse:

Eu iria usar a alavanca por ser mais comum (e talvez mais facil), não sabia que dava pra fazer com o use (e achei que seria mais complexo), mas obrigada, pode fechar o tópico. ❤️ 

 

Não, com a alavanca fica mais complexo porque você está realizando duas ações diferentes com use (por mais que estejam interligadas), então tem que fazer dois scripts.

 

O pedido neste tópico de foi atendido e/ou o autor do tópico resolveu sua duvida. Este tópico está fechado e foi movido para Pedidos - Resolvidos. Se você tiver outros pedidos, crie um novo tópico.

 

Tópico movido de Pedidos > OTServ > Scripts para Pedidos > OTServ > Resolvidos.

Fique atento às regras do fórum. 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...