[Ajuda] Como concertar?

Seagull
em Scripts
  • 1
  • 2

Seagull

Groow???
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 20/09/12Posts: 114

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

warotserv

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/09/13Posts: 25

Explique melhor a sua dúvida,

 

Obrigado.

Seagull

Groow???
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 20/09/12Posts: 114

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

warotserv

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/09/13Posts: 25

Ah... isso eu não sei, mas se fosse o player passando em cima do SQM eu saberia =/

Seagull

Groow???
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 20/09/12Posts: 114

Obrigado mesmo assim, eu postei ali uma tentativa mas não deu muito certo.


Obrigado por tentar ajudar!


WillOliveira

One Being
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/09/12Posts: 88

Eu sei fazer transformar x quantidade de um item em x quantidade de outro item, não sei fazer transformar x quantidade de um item em y quantidade de outro item

WillOliveira

One Being
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/09/12Posts: 88

Esse tutorial não ensina como transformar x quantidade de um item em y quantidade de outro item

warotserv

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/09/13Posts: 25

Realmente, não ensina, mas os fundamentos estão lá.

Seagull

Groow???
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 20/09/12Posts: 114

Que merda cara, precisava disto...

Vinc

The white fox
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/10/11Posts: 625Gênero: Masculino

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.

^w^

Seagull

Groow???
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 20/09/12Posts: 114

Obrigado, não testei ainda pra ver se ta funcionando. Mas assim que der testo, porque to formatando a maquina.


Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347
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.

Vinc

The white fox
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/10/11Posts: 625Gênero: Masculino

^

acho que vc esqueceu de decalrar a varivel tmp

^w^

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

^

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.

  • 1
  • 2