Ir para conteúdo

Featured Replies

Postado

ola eu tenho este script mais nao consigo edita-lo..

ele junta 2 itens para formar 1..

eu quero alterar esta parte..

 

["fire sword"] = {t1=2230,   quero adicionar quantidade nele tipo 100..

 

e porem esta parte ta dizendo que vai remover somente 1

doRemoveItem(q1.uid, 1)
doRemoveItem(q2.uid, 1)

 

oque posso fazer pra ele remover 100 configurável pela primeira parte ali??

 

 

 

    <action uniqueid="16451" event="script" value="forjar/forjarespadas.lua"/>
function onUse(cid, item, item2, frompos, topos, pos)
local config = {
["fire sword"] = {t1=2230,t2=2409,t3=2392}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --
["fire axe"] = {t1=2489,t2=2487,t3=2432},
}

local r1 = {x = 79, y = 402, z = 6, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )
local r2 = {x = 81, y = 402, z = 6, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )
local r3 = {x = 80, y = 402, z = 6} -- Posição do Item a Ser Criado

local q1 = getThingfromPos(r1)
local q2 = getThingfromPos(r2)
for i, x in pairs(config) do
if (q1.itemid == x.t1 and q2.itemid == x.t2) or (q1.itemid == x.t2 and q2.itemid == x.t1) then
addEvent(doCreateItem, 1000, x.t3, 1, r3)
doRemoveItem(q1.uid, 1)
doRemoveItem(q2.uid, 1)
doSendMagicEffect(r3, 47)
addEvent(doSendMagicEffect, 900, r3, 39)
doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
break
end
end
return TRUE
end

 

eu consigui editar com ajuda de um menbro.. porem se vc inverte os itens de lugar ele nao faz nada.. teria como colocar um texto informando..
" altere a posição dos itens..

ou

" voce nao tem todos os itens necessarios..

 

function onUse(cid, item, item2, frompos, topos, pos)
local config = {
["fire sword"] = {t1 = 2230, t2 = 2409, t3 = 2392, qnt1 = 100, qnt2 = 1}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --
["fire axe"] = {t1 = 2489, t2 = 2487, t3= 2432, qnt1 = 100, qnt2 = 1},
}

local r1 = {x = 79, y = 402, z = 6, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )
local r2 = {x = 81, y = 402, z = 6, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )
local r3 = {x = 80, y = 402, z = 6} -- Posição do Item a Ser Criado

local q1 = getThingfromPos(r1)
	local q2 = getThingfromPos(r2)
	
	for i, x in pairs(config) do
		if q1.itemid == x.t1 and q2.itemid == x.t2 then
			if q1.type >= x.qnt1 and q1.type >= x.qnt2 then
				doRemoveItem(q1.uid, x.qnt1)
				doRemoveItem(q2.uid, x.qnt2)
				addEvent(doCreateItem, 1000, x.t3, 1, r3)
				doSendMagicEffect(r3, 47)
				addEvent(doSendMagicEffect, 900, r3, 39)
				doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
				break
			end
		elseif q1.itemid == x.t2 and q2.itemid == x.t1 then
			if q1.type >= x.qnt2 and q1.type >= x.qnt1 then
				doRemoveItem(q1.uid, x.qnt1)
				doRemoveItem(q2.uid, x.qnt2)
				addEvent(doCreateItem, 1000, x.t3, 1, r3)
				doSendMagicEffect(r3, 47)
				addEvent(doSendMagicEffect, 900, r3, 39)
				doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
				break
			end
		end
	end
return TRUE
end

 

Postado


Tente assim:

 

function onUse(cid, item, item2, frompos, topos, pos)
local config = {
["fire sword"] = {t1=2230,t2=2409,t3=2392}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --
["fire axe"] = {t1=2489,t2=2487,t3=2432},
}
local quantidade = {100}

local r1 = {x = 79, y = 402, z = 6, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )
local r2 = {x = 81, y = 402, z = 6, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )
local r3 = {x = 80, y = 402, z = 6} -- Posição do Item a Ser Criado

local q1 = getThingfromPos(r1)
local q2 = getThingfromPos(r2)
for i, x in pairs(config) do
if (q1.itemid == x.t1 and q2.itemid == x.t2) or (q1.itemid == x.t2 and q2.itemid == x.t1) then
addEvent(doCreateItem, 1000, x.t3, 1, r3)
doRemoveItem(q1.uid, quantidade)
doRemoveItem(q2.uid, quantidade)
doSendMagicEffect(r3, 47)
addEvent(doSendMagicEffect, 900, r3, 39)
doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
break
end
end
return TRUE
end

 

Postado
  • Autor

@EddyHavoc oi, este

local quantidade = {100}

 

que voce colocou é para que item ?

 

 

@EddyHavoc

 

amigo eu fiz assim

 

Só que o sistema ta removendo somente o item T2

eu troco ele de posição e ele só remove o T2

function onUse(cid, item, item2, frompos, topos, pos)
local config = {
["fire sword"] = {t1 = 2230, t2 = 2409, t3 = 2392, qnt1 = 100, qnt2 = 1}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --
["fire axe"] = {t1 = 2489, t2 = 2487, t3= 2432, qnt1 = 100, qnt2 = 1},
}

local r1 = {x = 79, y = 402, z = 6, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )
local r2 = {x = 81, y = 402, z = 6, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )
local r3 = {x = 80, y = 402, z = 6} -- Posição do Item a Ser Criado

local q1 = getThingfromPos(r1)
local q2 = getThingfromPos(r2)
for i, x in pairs(config) do
if (q1.itemid == x.t1 and q2.itemid == x.t2) or (q1.itemid == x.t2 and q2.itemid == x.t1) then
addEvent(doCreateItem, 1000, x.t3, 1, r3)
doRemoveItem(q1.uid, x.qnt1)
doRemoveItem(q2.uid, x.qnt2)
doSendMagicEffect(r3, 47)
addEvent(doSendMagicEffect, 900, r3, 39)
doPlayerSendTextMessage(cid, 22, "Parabéns, Voce Forjou Um " .. i .. ".")
break
end
end
return TRUE
end

 

@EddyHavoc

Depois de tenta muito consegui fazer desta forma amigoo...

 

function onUse(cid, item, item2, frompos, topos, pos)
local config = {
["fire sword"] = {t1 = 2230, t2 = 2409, t3 = 2392, qnt1 = 100, qnt2 = 1}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --
["fire axe"] = {t1 = 2489, t2 = 2487, t3= 2432, qnt1 = 100, qnt2 = 1},
}

local r1 = {x = 79, y = 402, z = 6, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )
local r2 = {x = 81, y = 402, z = 6, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )
local r3 = {x = 80, y = 402, z = 6} -- Posição do Item a Ser Criado

local q1 = getThingfromPos(r1)
local q2 = getThingfromPos(r2)
	
	for i, x in pairs(config) do
		if q1.itemid == x.t1 and q2.itemid == x.t2 then
				doRemoveItem(q1.uid, x.qnt1)
				doRemoveItem(q2.uid, x.qnt2)
				addEvent(doCreateItem, 1000, x.t3, 1, r3)
				doSendMagicEffect(r3, 47)
				addEvent(doSendMagicEffect, 900, r3, 39)
				doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
				break
		elseif q1.itemid == x.t2 and q2.itemid == x.t1 then
				doRemoveItem(q1.uid, x.qnt2)
				doRemoveItem(q2.uid, x.qnt1)
				addEvent(doCreateItem, 1000, x.t3, 1, r3)
				doSendMagicEffect(r3, 47)
				addEvent(doSendMagicEffect, 900, r3, 39)
				doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
				break
				end
			end
return TRUE
end

 

Postado

@robi123 O sistema anterior ele está removendo a mesma quantidade para os dois itens, testa da seguinte forma e me fala o resultado.

 

function onUse(cid, item, item2, frompos, topos, pos)
local config = {
["fire sword"] = {t1=2230,qnt1=100,t2=2409,qnt2=100,t3=2392}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --
["fire axe"] = {t1=2489,qnt1=100,t2=2487,qnt2=100,t3=2432}, -- qnt1 = QUANTIDADE a ser retirada do ITEM 1 | --- | qnt2 = QUANTIDADE a ser retirada do ITEM 2 --
}

local r1 = {x = 79, y = 402, z = 6, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )
local r2 = {x = 81, y = 402, z = 6, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )
local r3 = {x = 80, y = 402, z = 6} -- Posição do Item a Ser Criado

local q1 = getThingfromPos(r1)
local q2 = getThingfromPos(r2)
for i, x in pairs(config) do
if (q1.itemid == x.t1 and q2.itemid == x.t2) then
addEvent(doCreateItem, 1000, x.t3, 1, r3)
doRemoveItem(q1.uid, x.qnt1)
doRemoveItem(q2.uid, x.qnt2)
doSendMagicEffect(r3, 47)
addEvent(doSendMagicEffect, 900, r3, 39)
doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
else
doPlayerSendTextMessage(cid, 22, "A posição do item " .. q1.itemid .. " e do item " ..q2.itemid.." está invertida.")
break
end
end
return TRUE
end

 

Alterei o código obrigando o jogador colocar em uma determinada ordem.

Postado
  • Autor

 

Eu fiz esta alteração agora ele aceitou mesmo o item estando em lugar diferente  :D

 

vlw ai @EddyHavoc

function onUse(cid, item, item2, frompos, topos, pos)
local config = {
["fire sword"] = {t1 = 2230, t2 = 2409, t3 = 2392, qnt1 = 100, qnt2 = 1}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --
["fire axe"] = {t1 = 2489, t2 = 2487, t3= 2432, qnt1 = 100, qnt2 = 1},
}

local r1 = {x = 79, y = 402, z = 6, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )
local r2 = {x = 81, y = 402, z = 6, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )
local r3 = {x = 80, y = 402, z = 6} -- Posição do Item a Ser Criado

local q1 = getThingfromPos(r1)
local q2 = getThingfromPos(r2)
	
	for i, x in pairs(config) do
		if q1.itemid == x.t1 and q2.itemid == x.t2 then
				doRemoveItem(q1.uid, x.qnt1)
				doRemoveItem(q2.uid, x.qnt2)
				addEvent(doCreateItem, 1000, x.t3, 1, r3)
				doSendMagicEffect(r3, 47)
				addEvent(doSendMagicEffect, 900, r3, 39)
				doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
				break
		elseif q1.itemid == x.t2 and q2.itemid == x.t1 then
				doRemoveItem(q1.uid, x.qnt2)
				doRemoveItem(q2.uid, x.qnt1)
				addEvent(doCreateItem, 1000, x.t3, 1, r3)
				doSendMagicEffect(r3, 47)
				addEvent(doSendMagicEffect, 900, r3, 39)
				doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
				break
				end
			end
return TRUE
end

 

Editado por robi123 (veja o histórico de edições)

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