Ir para conteúdo
  • 0

Action remove e adiciona items


Duuhzinhow

Pergunta

Eae galera do xtibia, eu precisa de uma action que funcionaria assim, voce usa o edo pergaminho (id: 2153) em um corpo de player morto no chao (id: 6022). O pergaminho, e o corpo irão sumir, e sera adicionado outro tipo de pergaminho( id: 2154) na bp do player.

PS: Apenas uma vocaçao(varios ids) irá poder usar o pergaminho no corpo de player morto.

Espero que possam me ajduar, rep+!

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Em actions.xml adicione a seguinte tag:

<action itemid="2153" script="pergaedotensei.lua"/>

Em actions/scripts crie um arquivo com o nome pergaedotensei.lua e coloque dentro do arquivo o seguinte script:

 

 

local vocation = getPlayerVocation(cid)

 

function onUse(cid, item, frompos, item2, topos)

if vocation == XX then

if item2.itemid == 6022 then

doRemoveItem(item2.uid,6022)

doRemoveItem(cid,2153)

doPlayerAddItem(cid,2154,1)

 

elseif

doPlayerSendCancel(cid, You can't do this.)

 

end

end

end

 

 

 

Se der erro me diz não testei o script '-'

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

  • 0


function onUse(cid, item, frompos, item2, topos)


local vocation = 50


if getPlayerVocation(cid) >= vocation then
doRemoveItem(item.uid, 1)
doPlayerAddItem(cid,2154,1)
else
doPlayerSendTextMessage(cid, "Sua vocação não pode usar", 22)
end

return TRUE
end

Link para o comentário
Compartilhar em outros sites

  • 0

Eryrrel usando 3 end e nenhum return e um elseif que nem sei porque estava ali?

 

 

 

function onUse(cid, item, frompos, item2, topos, item3)
if getPlayerVocation(cid) == 1 then
doRemoveItem(item.uid, 1)
doPlayerAddItem(cid,2154,1)
else
doPlayerSendTextMessage(cid, "Sua vocação não pode usar", 22)
return true
end

 

 

Em if getPlayerVocation(cid) == 1 then aonde tem o 1 e a vocação que vai usala

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

  • 0

Eryrrel, quando você não tem certeza que vá funcionar , não poste ..

 

local vocation = getPlayerVocation(cid)

function onUse(cid, item, frompos, item2, topos)

if vocation == XX then

if item2.itemid == 6022 then

doRemoveItem(item2.uid,6022)

doRemoveItem(cid,2153)

doPlayerAddItem(cid,2154,1)

elseif

doPlayerSendCancel(cid, You can't do this.)

end

end

end

"doRemoveItem(item2.uid,6022)" <- pior de tudo que eu já vi

parametros do doRemoveItem.. doRemoveItem(uid[, count]) ele ia remover 6022 do item2..

"elseif

doPlayerSendCancel(cid, You can't do this.)" <- cara realmente, estude mais

Link para o comentário
Compartilhar em outros sites

  • 0

Eryrrel usando 3 end e nenhum return e um elseif que nem sei porque estava ali?

function onUse(cid, item, frompos, item2, topos, item3)
if getPlayerVocation(cid) == 1 then
doRemoveItem(item.uid, 1)
doPlayerAddItem(cid,2154,1)
else
doPlayerSendTextMessage(cid, "Sua vocação não pode usar", 22)
return true
end

Em if getPlayerVocation(cid) == 1 then aonde tem o 1 e a vocação que vai usala

Shoguns, quando eu clickei com botao direito no item (id:2153) eu tomei debug...

Link para o comentário
Compartilhar em outros sites

  • 0

 

local ids = {...}   --Coloque o ID das vocations nesta tabela.
local id = {6022, 2154}
function onUse(cid, item, frompos, item2, topos)
    if isInArray(ids, getPlayerVocation(cid)) and item2.itemid == id[1] then
        doRemoveItem(item.uid, 1)
        doRemoveItem(item2.uid, 1)
        doPlayerAddItem(cid, id[2], 1)
    else
        return doPlayerSendCancel(cid, "Você não pertence à uma das vocações adequadas, ou está usando o pergaminho no item errado.")
    end
    return true
end
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...