Ir para conteúdo
  • Cadastre-se

(Resolvido)[DUVIDA] Piso que remove items por slot


Ir para solução Resolvido por zipter98,

Posts Recomendados

Fala galera do TK, blz? então... é o seguinte, eu mesmo tentei fazer esse script mas não obtive sucesso, o script funciona assim, quando o player pisar na SQM ira remover os itens da HEAD, ARMOR, LEGS, LEFT e RIGHT.

 

Segue o script 

function onStepIn(cid, item, fromPosition, itemEx, toPosition)

local storage = 417345
local slot = {
getPlayerSlotItem(cid, CONST_SLOT_HEAD),
getPlayerSlotItem(cid, CONST_SLOT_ARMOR),
getPlayerSlotItem(cid, CONST_SLOT_LEGS),
getPlayerSlotItem(cid, CONST_SLOT_LEFT),
getPlayerSlotItem(cid, CONST_SLOT_RIGHT),
}

if(getCreatureStorage(cid, storage) < 0) then
doCreatureSetStorage(cid, storage, 1)
doPlayerRemoveItem(cid, slot, 1)
doSendMagicEffect(getThingPos(cid), 13)
else
doSendMagicEffect(getThingPos(cid), 2)
end
return true
end
<movevent type="StepIn" actionid="29373" event="script" value="removeitem.lua"/>

Quando eu piso no SQM ele faz o magic effect e adiciona a storage só que não remove os itens e também não da nenhum erro :(

 

HELP PLS!

Link para o post
Compartilhar em outros sites
for k, v in pairs(slot) do
doPlayerRemoveItem(cid, v, 1)
end
Editado por Matheus
Palavreado ofencivo retirado (veja o histórico de edições)

O mesmo BananaFight, mais com um novo Nick.

 

 
Abra sua mente, sangue suga não vive sem um hospedeiro, Não faça script para os outros, ensine-os a fazer.
Link para o post
Compartilhar em outros sites

Obrigado por responder.

 

Coloquei assim:

function onStepIn(cid, item, fromPosition, itemEx, toPosition)

local storage = 417345
local slot = {
getPlayerSlotItem(cid, CONST_SLOT_HEAD),
getPlayerSlotItem(cid, CONST_SLOT_ARMOR),
getPlayerSlotItem(cid, CONST_SLOT_LEGS),
getPlayerSlotItem(cid, CONST_SLOT_LEFT),
getPlayerSlotItem(cid, CONST_SLOT_RIGHT),
}


if(getCreatureStorage(cid, storage) < 0) then
doCreatureSetStorage(cid, storage, 1)
for k, v in pairs(slot) do
doPlayerRemoveItem(cid, v, 1)
doSendMagicEffect(getThingPos(cid), 13)
end
end
return true
end

mas continua a mesma coisa.

Link para o post
Compartilhar em outros sites
  • Solução

function onStepIn(cid, item, fromPosition, itemEx, toPosition)
    local storage = 417345
    local slot = {1, 4, 7, 6, 5}
    if getCreatureStorage(cid, storage) < 0 then
        doCreatureSetStorage(cid, storage, 1)
        for i = 1, #slot do
            local slot_item = getPlayerSlotItem(cid, slot[i]).uid
            if slot_item > 0 then
                doRemoveItem(slot_item, 1)
            end
        end
        doSendMagicEffect(getThingPos(cid), 13)
    else
        doSendMagicEffect(getThingPos(cid), 2)
    end
    return true
end

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites
function onStepIn(cid, item, fromPosition, itemEx, toPosition)
    local storage = 417345
    local slot = {1, 4, 7, 6, 5}
    if getCreatureStorage(cid, storage) < 0 then
        doCreatureSetStorage(cid, storage, 1)
        for i = 1, #slot do
            local slot_item = getPlayerSlotItem(cid, slot[i]).uid
            if slot_item > 0 then
                doRemoveItem(slot_item, 1)
            end
        end
        doSendMagicEffect(getThingPos(cid), 13)
    else
        doSendMagicEffect(getThingPos(cid), 2)
    end
    return true
end

 

Funcionou perfeitamente Zipter, obrigado.

REP

Link para o post
Compartilhar em outros sites
  • 5 months later...
function onStepIn(cid, item, fromPosition, itemEx, toPosition)
    local storage = 417345
    local slot = {1, 4, 7, 6, 5}
    if getCreatureStorage(cid, storage) < 0 then
        doCreatureSetStorage(cid, storage, 1)
        for i = 1, #slot do
            local slot_item = getPlayerSlotItem(cid, slot[i]).uid
            if slot_item > 0 then
                doRemoveItem(slot_item, 1)
            end
        end
        doSendMagicEffect(getThingPos(cid), 13)
    else
        doSendMagicEffect(getThingPos(cid), 2)
    end
    return true
end

Comigo funcionou normal, mas só acontece com cada personagem apenas uma vez, como se fosse uma quest.  Eu queria te pedir que me ajudasse, para que funcione sempre.

Link para o post
Compartilhar em outros sites

Usa assim

function onStepIn(cid, item, fromPosition, itemEx, toPosition)  

local slot = {1, 4, 7, 6, 5}    

for i = 1, #slot do  

local slot_item = getPlayerSlotItem(cid, slot).uid    

 if slot_item > 0 then            

    doRemoveItem(slot_item, 1)    

        end      

  end        

doSendMagicEffect(getThingPos(cid), 13)  

return true

end

Link para o post
Compartilhar em outros sites
  • 5 years later...
Em 28/06/2015 em 16:30, Wirgulino disse:

Comigo funcionou normal, mas só acontece com cada personagem apenas uma vez, como se fosse uma quest.  Eu queria te pedir que me ajudasse, para que funcione sempre.

up?

 

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo