Postado Dezembro 21, 2015 9 anos Autor @dominus desculpe eu me expressei errado e já arrumei o tópico, da forma q eu me expressei o item vai ficar em um loop infinito na verdade eu quero que este item se transforme em outro item após o fim da contagem, ou seja na hora q der o use vai começar a contagem, quando ela chegar ao fim o item vai se transformar em outro item, e nesse meio tempo se a pessoa der use ou look vai mostrar a mensagem que ela ainda tem q aguardar x tempo para usa-ló desculpe por n ter me expressado corretamente Editado Dezembro 21, 2015 9 anos por wevertonvrb (veja o histórico de edições)
Postado Dezembro 21, 2015 9 anos Modifiquei o script. function onUse (cid, item) -- valor do intervalo local tempo = 2*60*60 -- 2 horas local agora = os.time () local newitem = 0000 -- ponha o id do item que ele vai se transformar if (item.actionid == 0) then doItemSetAttribute (item.uid,"aid", agora+tempo) elseif (item.actionid <= agora) then dotransformeItem (item.uid,newitem) else doPlayerSendCancel (cid,"O item sera transformado as: "..(os.date ("%H:%M:%S", item.actionid))..".") end return true end
Postado Dezembro 22, 2015 9 anos Autor @dominus a parte do tempo deu certo mas na hora q o tempo acaba esta dando este erro e o item não se transforma em outro [Error - Action Interface] [22/12/2015 13:08:16] data/actions/scripts/newitem/item1.lua:onUse [22/12/2015 13:08:16] Description: [22/12/2015 13:08:16] data/actions/scripts/newitem/item1.lua:11: attempt to call global 'dotransformeItem' (a nil value) [22/12/2015 13:08:16] stack traceback: [22/12/2015 13:08:16] data/actions/scripts/newitem/item1.lua:11: in function <data/actions/scripts/newitem/item1.lua:1> @dominus eu mudei a script e deixei assim, ele esta funcionando porem se eu tiver 2 do mesmo item eu só preciso esperar o tempo 1x depois q eu esperar uma única vez todos os outros itens se transforma sem ter que esperar o tempo function onUse (cid, item) -- valor do intervalo local tempo = 10 -- 2 horas local agora = os.time () if (item.actionid == 0) then doItemSetAttribute (item.uid,"aid", agora+tempo) elseif (item.actionid <= agora) then doTransformItem(item.uid, 15143) doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED) else doPlayerSendCancel (cid,"O item sera transformado as: "..(os.date ("%H:%M:%S", item.actionid))..".") end return true end
Postado Dezembro 22, 2015 9 anos O erro se deu por culpa do teclado do android que põe as palavras em minúsculas. Era para ficar assim: doTransformItem() Modifiquei o script adicionando stores globais. function onUse (cid, item, pos) -- valor do intervalo local tempo = 10 -- 2 horas local agora = os.time () local store = getGlobalStorageValue(#"STORE_GLOBAL") if (store <= 0) then setGlobalStorageValue(#"STORE_GLOBAL",agora+tempo) elseif (store <= agora) then doTransformItem(item.uid, 15143) doSendMagicEffect(pos, CONST_ME_MAGIC_RED) else doPlayerSendCancel (cid,"O item sera transformado as: "..(os.date ("%H:%M:%S", item.actionid))..".") end return true end Agora qualquer item que use esse script somente sera executado a ação depois do termino do tempo.
Postado Dezembro 22, 2015 9 anos Autor @dominus desta forma o item esta se transformando já no primeiro use, o tempo não esta sendo ativado, e sem erro na distro outra coisa q descobri, o outro script ta funcionando do seguinte modo vc usa o item aee ele vai contar o tempo, digamos q tenha q esperar ate 16:15:10 desta forma o jogador pode transformar quantos itens quiser ate que chegue a 16:16, ou seja ele fica 1 minuto podendo transformar o item sem esperar o tempo, talvez alguma forma de proibir o jogador de usar outro item deste por 2 minutos resolva Editado Dezembro 22, 2015 9 anos por wevertonvrb (veja o histórico de edições)
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.