Jump to content
  • 0

Sistema De Itens Parcel


chateadoagr

Question

Ola Xtibianos, queria ver algum scripter a me ajudar em um sistema bem legal ele funciona assim:

Eu tenho esses dois itens(tanto faiz usar um dos dois) post-379277-0-67345700-1455889195.png

ao dar use em um desses dois itens encima desses itens post-379277-0-98688600-1455889205_thumb.png esses itens apos serem usados pelos itens post-379277-0-67345700-1455889195.png ficaram assim post-379277-0-57072800-1455889184_thumb.png e ganhara 1 X itens configuraveis post-379277-0-01493100-1455889174.png estilo resident evil, pode aparecer algum bixo dependendo do item post-379277-0-98688600-1455889205_thumb.png

Agradeço desde ja! espero terem entendido como é o funcionamento!

OBS: apos ser usado e virado em itens post-379277-0-57072800-1455889184_thumb.png tera um tempo x para voltar a sua forma inicial post-379277-0-98688600-1455889205_thumb.png.

post-379277-0-76033100-1455889203_thumb.png

Edited by chateadoagr
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Usa esse script em actions/scripts

 

local itens = {
[5521] = 2419, -- [id da caixa] = id dela quebrada
}

local prize = { -- itens dentro do presente
[2160] = 1, -- [id] = count
}

local container = 5801 -- presente que ganha
local chancemob = 10 -- chance de abrir e vir um monstro
local mob = "Snake"
local tempo = 15 -- tempo em segundos

local function restore(uid, iditem)
	for id, trash in pairs (itens) do
		if iditem == trash then
			return doTransformItem(uid, id)
		end
	end
end

function onUse(cid, item, pos, itemEx, topos)
if itens[itemEx.itemid] then
	local restoreitem = doTransformItem(itemEx.uid, itens[itemEx.itemid])
	addEvent(restore, tempo * 1000, restoreitem, itens[itemEx.itemid])
	if math.random(1,100) <= chancemob then
		doCreateMonster(mob, topos)
	else
		local bp = doPlayerAddItem(cid, container, 1)
		for id, count in pairs (prize) do
			doAddContainerItem(bp, id, count)
		end
	end	
else 
	return false
end
return true
end

 



e em actions.xml vc coloca

<action itemid="id da machete 1;id da machete2" event="script" value="nomequevcbotounoarquivoacima.lua"/>
Link to comment
Share on other sites

  • 0

grato wolf muito bom o script bem formulado e bem apresentado REP+ precisarei de uma pessoa como voçe

 

 

da esse erro na distro :post-379277-0-73151400-1455978715_thumb.png


ele n me da o presente e a caixa usada n volta ao normal


e eu qro q qnd clickar no presente de algum item. sao varios q eu qro q de mas o player ganha so 1 item dos varios, pq qnd add varios itens ele da tds os itens

Edited by chateadoagr
Link to comment
Share on other sites

  • 0

Hehe @Night Wolf, eu disse que ia dar erro.

 

Acredito que o melhor pra fazer o item voltar ao normal é usar decay pelo itens.xml mesmo.

Já resolveria o erro que deu já que ele foi na função de fazer o item voltar ao que era.

Assim seria excluída a possibilidade de criar items iguais aos trash sem que sejam restaurados.

 

 

Vou dar uma mexida no script dps, se o wolf não se manifestar.

Link to comment
Share on other sites

  • 0

eu vou abrir pra testar esse script e ver se consigo arrumar seguindo essa lógica inicial, eu sei que dá pra fazer criando e deletando os itens mas a idéia era usar menos linhas de código :/


EDIT:

não consegui fazer pelo transform, se fosse tfs 1.x+ ia dar certo.. hahaha
usa assim q fica perfeito, ele recria o baú depois de X segundos só q se o lixo que o baú virou não estiver na posição certinha ele não vai remover.


local itens = {
[2520] = 2523, -- [id da caixa] = id dela quebrada
}

local prize = { -- itens dentro do presente
[2160] = 1, -- [id] = count
}

local container = 1990 -- presente que ganha
local chancemob = 10 -- chance de abrir e vir um monstro
local mob = "Snake"
local tempo = 15 -- tempo em segundos


local function restore(iditem, pos)
	if itens[iditem] then
		local item = getTileItemById(pos, itens[iditem])
		if item.uid > 0 then			
			doRemoveItem(item.uid)
		end
		doCreateItem(iditem, pos)
	end
end

function onUse(cid, item, pos, itemEx, topos)
if itens[itemEx.itemid] then
	local lixo = doCreateItem(itens[itemEx.itemid], topos)
	addEvent(restore, tempo * 1000, itemEx.itemid, topos)
	doRemoveItem(itemEx.uid)
	if math.random(1,100) <= chancemob then
		doCreateMonster(mob, topos)
		doSendMagicEffect(topos, 3)
	else
		local bp = doPlayerAddItem(cid, container, 1)
		for id, count in pairs (prize) do
			doAddContainerItem(bp, id, count)
		end
	end	
else 
	return false
end
return true
end

 

 

Edited by Night Wolf
Link to comment
Share on other sites

  • 0

funcionou agradeço so tem um porem eu coloquei 10 itens diferentes, eu qro q tenha % de cair 1 item, pq cai todos os itens q eu coloquei no script ao msm tempo e eu nao qro q caia tds os itens é so um como se fosse um dado tem uma probabilidade de cair os itens

Link to comment
Share on other sites

  • 0

Tenta aí

local itens = {
[2520] = 2523, -- [id da caixa] = id dela quebrada
}

local prize = { -- itens dentro do presente
2160, 1,
0000, 0,
0000, 0,
0000, 0
}

local container = 1990 -- presente que ganha
local chancemob = 10 -- chance de abrir e vir um monstro
local mob = "Snake"
local tempo = 15 -- tempo em segundos


local function restore(iditem, pos)
	if itens[iditem] then
		local item = getTileItemById(pos, itens[iditem])
		if item.uid > 0 then			
			doRemoveItem(item.uid)
		end
		doCreateItem(iditem, pos)
	end
end

function onUse(cid, item, pos, itemEx, topos)
if itens[itemEx.itemid] then
	local lixo = doCreateItem(itens[itemEx.itemid], topos)
	addEvent(restore, tempo * 1000, itemEx.itemid, topos)
	doRemoveItem(itemEx.uid)
	if math.random(1,100) <= chancemob then
		doCreateMonster(mob, topos)
		doSendMagicEffect(topos, 3)
	else
		local bp = doPlayerAddItem(cid, container, 1)
		local tSize = table.getn(prize)
		local drop = math.random(1, tSize)
		d = math.mod(drop,2)
		if d == 0 then 
			drop = drop-1
		end
		for i = 1, tSize, 2 do
			if drop == i then
				doAddContainerItem(bp, prize[i], prize[i+1])
				break
			end
		end
	end	
else 
	return false
end
return true
end
Link to comment
Share on other sites

×
×
  • Create New...