Ir para conteúdo
  • Cadastre-se

Alavanca que troca item


Posts Recomendados

Olá. Estou montando meu servidor e preciso da ajuda de vocês. Preciso de uma lavanca que o player precise ter 10 moedas vip (item id: 10552), e mais outro item (exemplo: 2184), e após apertar a lavanca, aparecer outro item. Entenderam?!

Te ajudei? Dê um REP+! (:

 

 

@tibiaking.

Link para o post
Compartilhar em outros sites

sim, pode até ser, mas prefiro que os itens possam estar na backpack. fica ao teu critério, como for mais fácil pra vc.

Te ajudei? Dê um REP+! (:

 

 

@tibiaking.

Link para o post
Compartilhar em outros sites

testa ae..

--By Cerberus--
local Sto = ????   ---- storage da quest 
local itens = ?????  -- item que vai ganhar muda aqui
local item2 = getPlayerItemCount(cid, 10552)  -- precisa ter esse item
local item3 = getPlayerItemCount(cid, 2184)  -- precisa ter esse item


function onUse(cid, item, frompos, item2, topos)
if item.itemid == 1946 then
                doTransformItem(item.uid,1945)
                elseif item.itemid == 1945 then
                doTransformItem(item.uid,1946)
end
 if getPlayerStorageValue(cid, Sto) <= 0 then
 if item2 > 0 then
 if item3 > 0 then
 local item = doPlayerAddItem(cid, itens, 1)
  doItemSetAttribute(item, "description", "Este Item pertence a " .. getCreatureName(cid))
 else
 doPlayerSendCancel(cid, "vc nao tem item 2184.")
 end
 else
 doPlayerSendCancel(cid, "vc nao tem 10552.")
 end
 else
 doPlayerSendCancel(cid, "vc ja fez.")
 end
 return true
 end

Editado por kbpaulo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Se o do cara não der, tenta assim:

local req = {
{i=10552, q=10}, -- i = id do item, q=quantidade
{i=2184, q=1} -- i = id do item, q=quantidade
}
local win = {i=2160, q=1} -- i = id do item, q = quantidade que vai receber
function onUse(cid, item, frompos, item2, topos)
for x=1, (#req-1) do
if getPlayerItemCount(cid, req[x].i) < req[x].q and getPlayerItemCount(cid, req[x + 1].i) < req[x + 1].q then
--doPlayerRemoveItem(cid, req[x].i, req[x].q)
--doPlayerRemoveItem(cid, req[x+1].i, req[x+1].q) Se quiser pra remover, tira os --
doPlayerSendTextMessage(cid, 20, "Voce recebeu "..win.q.."x "..win.i..".")
break
else
doPlayerSendTextMessage(cid, 20, "Voce precisa de "..req[x].q.."x "..req[x].i.." e "..req[x+1].q.."x "..req[x+1].i..".")
end
end
return true
end
Editado por Gabrielbsales (veja o histórico de edições)

Att. Featzen.

Link para o post
Compartilhar em outros sites

e so vc escoler qual tag usar xD , fica em actions cria o arquivo alavancaItem.lua.

e so por o numero que vc poe na tag, por na alavanca que quer puxar tambem.

<action actionid="xxxx" event="script" value="alavancaItem.lua"/>  -- se quiser em action
<action uniqueid="xxxx" event="script" value="alavancaItem.lua"/>  -- se quiser em unique
Editado por kbpaulo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Você colocou a actionid/uniqueid na alavanca?

 

Coloquei sim. Será que não tem um script mais simples que estes dois citados não?

No script usado pelo gabriel, diz assim quando uso a alavanca:

14:54 Voce precisa de 10x 10552 e 1x 2184.

 

Só que tenho os itens já.

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

Te ajudei? Dê um REP+! (:

 

 

@tibiaking.

Link para o post
Compartilhar em outros sites

Tenta assim:

local req = {
{i=10552, q=10}, -- i = id do item, q=quantidade
{i=2184, q=1} -- i = id do item, q=quantidade
}
local win = {i=2160, q=1} -- i = id do item, q = quantidade que vai receber
function onUse(cid, item, frompos, item2, topos)

if getPlayerItemCount(cid, req[1].i) < req[1].q and getPlayerItemCount(cid, req[2].i) < req[2].q then
--doPlayerRemoveItem(cid, req[x].i, req[x].q)
--doPlayerRemoveItem(cid, req[x+1].i, req[x+1].q) Se quiser pra remover, tira os --
doPlayerAddItem(cid, win.i, win.q)
doPlayerSendTextMessage(cid, 20, "Voce recebeu "..win.q.."x "..win.i..".")
break
else
doPlayerSendTextMessage(cid, 20, "Voce precisa de "..req[1].q.."x "..req[1].i.." e "..req[2].q.."x "..req[2].i..".")
end
return true
end

Att. Featzen.

Link para o post
Compartilhar em outros sites

 

Tenta assim:

local req = {
{i=10552, q=10}, -- i = id do item, q=quantidade
{i=2184, q=1} -- i = id do item, q=quantidade
}
local win = {i=2160, q=1} -- i = id do item, q = quantidade que vai receber
function onUse(cid, item, frompos, item2, topos)

if getPlayerItemCount(cid, req[1].i) < req[1].q and getPlayerItemCount(cid, req[2].i) < req[2].q then
--doPlayerRemoveItem(cid, req[x].i, req[x].q)
--doPlayerRemoveItem(cid, req[x+1].i, req[x+1].q) Se quiser pra remover, tira os --
doPlayerAddItem(cid, win.i, win.q)
doPlayerSendTextMessage(cid, 20, "Voce recebeu "..win.q.."x "..win.i..".")
break
else
doPlayerSendTextMessage(cid, 20, "Voce precisa de "..req[1].q.."x "..req[1].i.." e "..req[2].q.."x "..req[2].i..".")
end
return true
end

 

[03/09/2014 17:47:16] [Error - LuaScriptInterface::loadFile] data/actions/scripts/alavanca.lua:14: no loop to break near 'else'

[03/09/2014 17:47:16] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/alavanca.lua)
[03/09/2014 17:47:16] data/actions/scripts/alavanca.lua:14: no loop to break near 'else'
 
Tá dando um erro ainda.

Te ajudei? Dê um REP+! (:

 

 

@tibiaking.

Link para o post
Compartilhar em outros sites

Ah, esqueci.

local req = {
{i=10552, q=10}, -- i = id do item, q=quantidade
{i=2184, q=1} -- i = id do item, q=quantidade
}
local win = {i=2160, q=1} -- i = id do item, q = quantidade que vai receber
function onUse(cid, item, frompos, item2, topos)

if getPlayerItemCount(cid, req[1].i) < req[1].q and getPlayerItemCount(cid, req[2].i) < req[2].q then
--doPlayerRemoveItem(cid, req[x].i, req[x].q)
--doPlayerRemoveItem(cid, req[x+1].i, req[x+1].q) Se quiser pra remover, tira os --
doPlayerAddItem(cid, win.i, win.q)
doPlayerSendTextMessage(cid, 20, "Voce recebeu "..win.q.."x "..win.i..".")
else
doPlayerSendTextMessage(cid, 20, "Voce precisa de "..req[1].q.."x "..req[1].i.." e "..req[2].q.."x "..req[2].i..".")
end
return true
end

Att. Featzen.

Link para o post
Compartilhar em outros sites

Cara, o foda é que não quer comprar os itens, estou com os dois na backpack e diz que não possuo ainda.

17:56 Voce precisa de 10x 10552 e 1x 2184.

 

Não tem algum erro no script não? Não quer pegar de modo algum. ;s

Te ajudei? Dê um REP+! (:

 

 

@tibiaking.

Link para o post
Compartilhar em outros sites

Erro meu novamente, coisa básica.

local req = {
{i=10552, q=10}, -- i = id do item, q=quantidade
{i=2184, q=1} -- i = id do item, q=quantidade
}
local win = {i=2160, q=1} -- i = id do item, q = quantidade que vai receber
function onUse(cid, item, frompos, item2, topos)

if getPlayerItemCount(cid, req[1].i) >= req[1].q and getPlayerItemCount(cid, req[2].i) >= req[2].q then
--doPlayerRemoveItem(cid, req[x].i, req[x].q)
--doPlayerRemoveItem(cid, req[x+1].i, req[x+1].q) Se quiser pra remover, tira os --
doPlayerAddItem(cid, win.i, win.q)
doPlayerSendTextMessage(cid, 20, "Voce recebeu "..win.q.."x "..win.i..".")
else
doPlayerSendTextMessage(cid, 20, "Voce precisa de "..req[1].q.."x "..req[1].i.." e "..req[2].q.."x "..req[2].i..".")
end
return true
end

Att. Featzen.

Link para o post
Compartilhar em outros sites

 

Erro meu novamente, coisa básica.

local req = {
{i=10552, q=10}, -- i = id do item, q=quantidade
{i=2184, q=1} -- i = id do item, q=quantidade
}
local win = {i=2160, q=1} -- i = id do item, q = quantidade que vai receber
function onUse(cid, item, frompos, item2, topos)

if getPlayerItemCount(cid, req[1].i) >= req[1].q and getPlayerItemCount(cid, req[2].i) >= req[2].q then
--doPlayerRemoveItem(cid, req[x].i, req[x].q)
--doPlayerRemoveItem(cid, req[x+1].i, req[x+1].q) Se quiser pra remover, tira os --
doPlayerAddItem(cid, win.i, win.q)
doPlayerSendTextMessage(cid, 20, "Voce recebeu "..win.q.."x "..win.i..".")
else
doPlayerSendTextMessage(cid, 20, "Voce precisa de "..req[1].q.."x "..req[1].i.." e "..req[2].q.."x "..req[2].i..".")
end
return true
end

 

Agora está indo muito bem, só que os itens não estão removendo ao clicar na alavanca. E agora?

Te ajudei? Dê um REP+! (:

 

 

@tibiaking.

Link para o post
Compartilhar em outros sites
local req = {
{i=10552, q=10}, -- i = id do item, q=quantidade
{i=2184, q=1} -- i = id do item, q=quantidade
}
local win = {i=2160, q=1} -- i = id do item, q = quantidade que vai receber
function onUse(cid, item, frompos, item2, topos)

if getPlayerItemCount(cid, req[1].i) >= req[1].q and getPlayerItemCount(cid, req[2].i) >= req[2].q then
doPlayerRemoveItem(cid, req[1].i, req[1].q)
doPlayerRemoveItem(cid, req[2].i, req[2].q) 
doPlayerAddItem(cid, win.i, win.q)
doPlayerSendTextMessage(cid, 20, "Voce recebeu "..win.q.."x "..win.i..".")
else
doPlayerSendTextMessage(cid, 20, "Voce precisa de "..req[1].q.."x "..req[1].i.." e "..req[2].q.."x "..req[2].i..".")
end
return true
end

Att. Featzen.

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo