Postado Dezembro 24, 2014 10 anos Autor Cara na outra que você me passo abria o pokémon sem aparecer a msg, agora ta aparecendo a msg... aonde eu boto isso: setPlayerStorageValue(cid, 2765, 0) ??? Ajudei? REP+ Talvez possa te ajudar: • Launcher AutoUpdate C# - Tutorial • Sprites OtPokémon 9.4 e 10.1 • Liberando espaço de sprites no old client • Deixar OTClient com zoom padrão
Postado Dezembro 24, 2014 10 anos É porque, do jeito que está configurado, sempre que não estiver com o global storage, vai ficar aparecendo a mensagem... Tem que criar outro storage para dar a mensagem só uma vez setPlayerStorageValue(cid, key, value) Cara, o escopo que envolve a checagem da global storage só envia a mensagem caso o mesmo seja true, não tem nada a ver. E usando somente a storage, não vai dar pra determinar um "controle" geral da action, a storage se aplica em um creature ID específico e não para todos (como a global storage). O problema estava no valor da global storage, acabei esquecendo que por padrão (caso não esteja sendo usada em algum outro script), seria menor que 1 e resultaria nisso. Lembrando que o suicuide não me passo a tag da action Não tinha necessidade de eu postar uma tag, já que você tem esse action script, bastava substituir os códigos do mesmo. Enfim, tente invertendo os valores da global storage. Substitua seu action script: function onUse(cid, item) local gstor = 54321 if getGlobalStorageValue(gstor) < 1 then return doPlayerSendCancel(cid, "This system is disabled.") end if getItemAttribute(item.uid, "corpseowner") ~= cid then return doPlayerSendCancel(cid, "You're not the owner.") end local items = {} for x = 0, (getContainerSize(item.uid)) do local itens = getContainerItem(item.uid, x) table.insert(items, {i=itens.itemid, q=itens.type}) doRemoveItem(itens.uid) end for y = 1, #items do doPlayerAddItemStacking(cid, items[y].i, items[y].q) doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".") end if #items < 1 then return false end return true end Substitua os códigos do talkaction script action.lua: local t = { ['enabled'] = {evalue = 1, dvalue = 0, msg = {'The action is now enabled.', 'The action is already enabled.'}}, ['disabled'] = {evalue = 0, dvalue = 1, msg = {'The action is now disabled.', 'The action is already disabled.'}} } function onSay(cid, words, param) local p = string.lower(param) local gstor = 54321 if p == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'You can use the following parameters: enabled/disabled.') elseif not t[p] or not tostring(p) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Invalid parameter specified.') elseif getGlobalStorageValue(gstor) == t[p].dvalue then setGlobalStorageValue(gstor, t[p].evalue) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[p].msg[1]) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, t[p].msg[2]) end return true end if getPlayerStorageValue(cid, 2765) < 1 then if getGlobalStorageValue(gstor) < 1 then return doPlayerSendCancel(cid, "This system is disabled.") end else setPlayerStorageValue(cid, 2765, 1) end Se já há uma estrutura de controle que determina o retorno do callback através de um valor de uma global storage, qual a necessidade de aplicar ao creature ID um valor de uma storage? Editado Dezembro 25, 2014 10 anos por Suicide (veja o histórico de edições) The corrupt fear us. The honest support us. The heroic join us.
Postado Dezembro 24, 2014 10 anos Autor Cara na terceira linha o erro não séria ai no edvalue ??? isso ta certo ? Funciono cara.... mas não to conseguindo desativar aparece The action is already disabled. deve ser por causa desse edvalue ??? E apareceu isso na distro: [24/12/2014 20:43:38] [Error - Action Interface] [24/12/2014 20:43:38] data/actions/scripts/autoloot.lua:onUse [24/12/2014 20:43:38] Description: [24/12/2014 20:43:38] (luaDoRemoveItem) Item not found [24/12/2014 20:43:38] [Error - Action Interface] [24/12/2014 20:43:38] data/actions/scripts/autoloot.lua:onUse [24/12/2014 20:43:38] Description: [24/12/2014 20:43:38] (luaDoPlayerAddItem) Item not found [24/12/2014 20:43:38] [Error - Action Interface] [24/12/2014 20:43:38] data/actions/scripts/autoloot.lua:onUse [24/12/2014 20:43:38] Description: [24/12/2014 20:43:38] data/lib/050-function.lua:227: attempt to index a boolean value [24/12/2014 20:43:38] stack traceback: [24/12/2014 20:43:38] data/lib/050-function.lua:227: in function 'getItemNameById' [24/12/2014 20:43:38] data/actions/scripts/autoloot.lua:20: in function <data/actions/scripts/autoloot.lua:1> Ajudei? REP+ Talvez possa te ajudar: • Launcher AutoUpdate C# - Tutorial • Sprites OtPokémon 9.4 e 10.1 • Liberando espaço de sprites no old client • Deixar OTClient com zoom padrão
Postado Dezembro 24, 2014 10 anos Cara na terceira linha o erro não séria ai no edvalue ??? isso ta certo ? Veja: if getGlobalStorageValue(gstor) < 1 then return doPlayerSendCancel(cid, "This system is disabled.") end Caso a estrutura de controle seja true, ou seja, caso o valor da global storage seja menor que 1 (desativado), então retornará aquela mensagem. Aqui: local t = { ['enabled'] = {evalue = 1, dvalue = 0, msg = {'The action is now enabled.', 'The action is already enabled.'}}, ['disabled'] = {evalue = 0, dvalue = 1, msg = {'The action is now disabled.', 'The action is already disabled.'}} } Caso o parâmetro usado seja enabled e a global storage for igual a 0 (desativado), então o valor da mesma será setado para como sendo 1 (ativado). Se o parâmetro usado for disabled, o inverso acontece. Tente desse modo invertido que fiz acima, se não der, refaço tudo depois que eu voltar. Abraços e tenha um bom natal. Editado Dezembro 25, 2014 10 anos por Suicide (veja o histórico de edições) The corrupt fear us. The honest support us. The heroic join us.
Postado Dezembro 24, 2014 10 anos Autor Poxa cara não funciono valeu pela ajuda, mas não ta dando. REP+ Abraço, feliz natal !.... Editado Dezembro 24, 2014 10 anos por GabrielSapient (veja o histórico de edições) Ajudei? REP+ Talvez possa te ajudar: • Launcher AutoUpdate C# - Tutorial • Sprites OtPokémon 9.4 e 10.1 • Liberando espaço de sprites no old client • Deixar OTClient com zoom padrão
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.