Ir para conteúdo
  • 0

[Ajuda] Como concertar?


Seagull

Pergunta

Boa Noite/madrugada, estava aqui tentando fazer um moveevent, mas ta difícil, hehe.

Me ajudem

 

Queria que funcionasse da seguinte maneira:
Ao tocar, por exemplo: 100 ferros no tile que eu já defini, queria que criasse um outro item. Porem que fosse a metade do ferro.

Ou seja:

Toco 10 ferro = 5 ferro reforçado.

seria basicamente isso.

function onAddItem(moveitem, tileitem, position, cid)

local ferro = getTileItemById(position, 5880)
local divisao = ferro.type / 2

if(moveitem.itemid == ferro) then
    doCreateItem(2667, divisao, position)
    doRemoveItem(ferro.uid, divisao)
 end   
    
 
    return 
        doSendMagicEffect(position, CONST_ME_HITBYFIRE)
end

@UP me ajudem

Editado por Seagull
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Cara não é bem uma dúvida, mas tudo bem vou tentar explicar de novo. Só quero que me ajudem a fazer ou que façam pra mim.

 

É o seguinte. Digamos que você tenha 100 gold coins, você larga em cima de um SQM que já ta definido. E ele vira 50 platinum coins.

 

Ou seja, você toca em um SQM "100 items X" e vira a metade em "items Y".

Link para o comentário
Compartilhar em outros sites

  • 0

to sem tempo pra faze agora. depois volto e faso caso estaja em aberto ainda

acho que vc pode faser um evento ciclico pra chega posições predeterminadas, então remover .

 

e a parte de troca os items tem ums errinhos

 

local divisao = math.floor(ferro.type / 2) --- arrendondar, para n ter numeros com 0,5, floor porque se n vai compensa mais o cara joga um de cada ves

e troca essa parte, porque se n tira so meteda dos items

 

doRemoveItem(ferro.uid, divisao*2)

fica os exedentes

tipo 51 daria 25 ferro reforcados e sobraria 1(precisa de 2 pra fase 1, como so ha um n fais)

 

 

e no script é bom colocar if pra checa se tem 2 ou mais, pra n gasta memoria caso seja so 1.

Link para o comentário
Compartilhar em outros sites

  • 0
function onAddItem(moveItem, tileItem, position, cid)
	local tmp = moveItem.type
	if moveItem.itemid == 5880 then
		if moveItem.type < 2 then
			doPlayerSendCancel(cid, "Sorry, you need at least 2 pieces of iron.")
			doSendMagicEffect(position, CONST_ME_POFF)
			return false
		end
		
		doTransformItem(moveItem.uid, 5889, math.floor(tmp/2))
		if tmp % 2 ~= 0 then
			doCreateItem(5880, (tmp % 2), position)
		end
		doSendMagicEffect(position, CONST_ME_MAGIC_GREEN)
	end
	return true
end
<movevent type="AddItem" tileitem="1" uniqueid="12333" event="script" value="script.lua"/>

Coloque a uniqueid 12333 no chão que transforma os itens.

 

Abraços.

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

  • 0

^

acho que vc esqueceu de decalrar a varivel tmp

É mesmo. Obrigado, magnânimo lordbug99, consertei esse erro apontado por vossa ilustríssima pessoa.

 

Parabéns, irei falar do seu grande feito para toda minha família, vizinhos e colegas de trabalho, aposto que eles irão ficar muito estupefatos por causa desse seu grande feito. Acredito que dentro de alguns dias, teremos faixas aqui na rua, homenageando esse seu grande feito. Haddad já confirmou um evento especial para celebrar esse grande feito de vossa pessoa. Chris Hadfield, da Estação Espacial Internacional, notou que sua descoberta é essencial para novos patamares da ciência, e já disponibilizou um vídeo no Youtube, comentando seu grande feito. A NSA tem medo de você, te espiona todos os dias, porque você é uma ameaça aos EUA. E por fim, a presidente Dilma já confirmou que pedirá impeachment, se, apenas se, você liderar a nação a uma nova era.

 

Obrigado por existir.

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...