Ir para conteúdo
  • Cadastre-se

(Resolvido)Fazer item sumir


Ir para solução Resolvido por Storm,

Posts Recomendados

Galera alguém poderia me dizer porque esse item não esta sumindo, logo depois que o tempo do script acaba,

aparece a mensagem dizendo que ele sumiu porem não acontece nada.

 Uso 0.4

 

 

Script :

Citar

local config = {
    storage = 49607, -- salva o tempo do item expirar
    tempo = 10, -- tempo pro item expirar
    itemid = 11615, -- id do item
    storagedelay = 49608, -- onde salva o tempo pra usar dnv a spell
    delayquant = 10 -- quantidade de tempo em segundos q fica sem poder usar uma vez q teleporta de volta.
}

local positions = {}

function onCastSpell(cid, var)
    if getPlayerStorageValue(cid, config.storagedelay) - os.time() <= 0 then
        if getPlayerStorageValue(cid, config.storage) <= 0 then
            -- procura a primeira posicao livre
            local index = 0
            repeat 
                index = index + 1                
            until (not positions[index])
            -- salva a pos na primeira posicao livre do hash
            positions[index] = getThingPos(cid)
            -- salva a posicao livre no storage do player para referencia
            doPlayerSetStorageValue(cid, config.storage, index)
            doCreateItem(config.itemid, getThingPos(cid))
            doSendMagicEffect(getThingPos(cid), 3)
            addEvent(function()
                if isCreature(cid) then
                    doPlayerSendTextMessage(cid, 22, "A kunai sumiu.")
                    doPlayerSetStorageValue(cid, config.storage, 0)
                    positions[getPlayerStorageValue(cid, config.storage)] = nil
                end
            end, 1000*config.tempo)
        elseif getPlayerStorageValue (cid, config.storage) > 0 then
            doTeleportThing(cid, positions[getPlayerStorageValue(cid, config.storage)])
            doPlayerSetStorageValue(cid, config.storagedelay, config.delayquant + os.time())
            -- tratamento pra remover a pos salva        
            doPlayerSetStorageValue(cid, config.storage, 0)
            positions[getPlayerStorageValue(cid, config.storage)] = nil
            --
            doSendMagicEffect(getThingPos(cid), 10)
        end
    else
        doPlayerSendCancel(cid, "You have to wait ".. getPlayerStorageValue(cid, config.storagedelay) - os.time() .." seconds to use this spell again.")
    end
return true
end

item.xml

Citar

    </item>
    <item id="11615" article="a" name="kunai teleport">
        <attribute key="decayTo" value="0" />
        <attribute key="duration" value="10" />

 

Editado por leozincorsair
fds (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Respostas 21
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

@leozincorsair Hiraishin Kunai né, enfim ano passado eu fiz uma script assim, não sei se funciona e se ta do jeito que você quer, testa ai:    

 -- tratamento pra remover a pos salva        
            doPlayerSetStorageValue(cid, config.storage, 0)
            positions[getPlayerStorageValue(cid, config.storage)] = nil

 

Veja se funciona deixando assim:

 

 -- tratamento pra remover a pos salva        
            doPlayerSetStorageValue(cid, config.storage, 0)
            doRemoveItem(item.uid, 1)
            positions[getPlayerStorageValue(cid, config.storage)] = nil

 

Link para o post
Compartilhar em outros sites
1 hora atrás, DdJs disse:

 -- tratamento pra remover a pos salva        
            doPlayerSetStorageValue(cid, config.storage, 0)
            positions[getPlayerStorageValue(cid, config.storage)] = nil

 

Veja se funciona deixando assim:

 


 -- tratamento pra remover a pos salva        
            doPlayerSetStorageValue(cid, config.storage, 0)
            doRemoveItem(item.uid, 1)
            positions[getPlayerStorageValue(cid, config.storage)] = nil

 

 

ja tentei isso também porem nao some.

Link para o post
Compartilhar em outros sites
3 horas atrás, leozincorsair disse:

ja tentei isso também porem nao some.

 

Claro, doRemoveItem(item.uid, count) o item.uid tem que ser declarado na callback da função, tente usar \/

doPlayerRemoveItem(cid, itemid, quantidade)
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.

  • Estatísticas dos Fóruns

    96846
    Tópicos
    519605
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo