-
Total de itens
2187 -
Registro em
-
Última visita
-
Dias Ganhos
58
Tudo que Yan Oliveira postou
-
[Resolvido] [PEDIDO] Scripts de spawn no mapa
pergunta respondeu ao rafersiq de Yan Oliveira em Resolvidos
Ok, testa e me avisa! -
[Resolvido] [PEDIDO] Scripts de spawn no mapa
pergunta respondeu ao rafersiq de Yan Oliveira em Resolvidos
Saquei! Funcionou o script? Populou a tabela corretamente? Coloquei posições genéricas. -
[Resolvido] [PEDIDO] Scripts de spawn no mapa
pergunta respondeu ao rafersiq de Yan Oliveira em Resolvidos
Substitui o código por esse: local pokemon_derrotar = "Charizard" -- NOME DO POKÉMON QUE PRECISA DERROTAR NA TASK local total = 50 -- TOTAL DE POKEMON QUE PRECISA DERROTAR local random_porcentagem = 50 -- PORCENTAGEM QUE TEM DO POKEMON SPAWNAR AO TERMINAR A TASK -- TABELA COM OS POKEMONS QUE APARECERÃO AO DERROTAR A QUANTIDADE DO POKÉMON QUE COLOCOU NA VARIÁVEL pokemon_derrotar -- local pokemons_spawn = { {pokemon = "Mewtwo", position = {x= 1000, y= 1000, z= 7}}, {pokemon = "Mew", position = {x= 1000, y= 1000, z= 7}}, {pokemon = "Articuno", position = {x= 1000, y= 1000, z= 7}}, {pokemon = "Zapdos", position = {x= 1000, y= 1000, z= 7}}, {pokemon = "Moltres", position = {x= 1000, y= 1000, z= 7}}, } function onKill(cid, target) local contador = 0 local random_chance = math.random(100) if getCreatureName(target) == pokemon_derrotar then if (total - contador) > 0 then contador = contador + 1 end if contador == total then if (random_chance >= random_porcentagem) then for i = 1, #pokemons_spawn do doCreateMonster(pokemons_spawn[i].pokemon, pokemons_spawn[i].position) end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você despertou a fúria de alguns pokémons, fuja para sobreviver!") contador = 0 return true else return true end end else return true end end Lembrando que assim que matar a quantidade de pokémons que você colocou nas variáveis total e pokemon_derrotar vai ter a porcentagem de summonar todos os pokémons da tabela pokemons_spawn. Só colocar os pokémons e as posições que vão aparecer dentro da tabela. Mas se é ilimitado esse evento/task, então não faz mais sentido com que sempre aparece o boss em vez de ter uma chance? Testa o código e qualquer problema você me avisa. -
[Resolvido] [PEDIDO] Scripts de spawn no mapa
pergunta respondeu ao rafersiq de Yan Oliveira em Resolvidos
Tem sim, mas quantas vezes você quer? Da para limitar uma quantidade de vezes que o player faz. -
Muito bem observado, é isso mesmo, como foi feito por actions, então só vai funcionar na primeira vez que der use no item e até deslogar. Faz o seguinte, substitui o código de actions por esse: function buffEffect(cid, time, effect, duration) duration = math.floor(duration) if not cid then return true end if duration > os.time() then return doSendMagicEffect(getThingPos(cid), effect) and addEvent(buffEffect, 1000 * time, cid.uid, time, effect, duration) else return true end end local items = { [19268] = {percentExtra = 50, timeType = "hours", time = 1}, -- 1 hora [19269] = {percentExtra = 100, timeType = "hours", time = 1}, -- 1 hora [19270] = {percentExtra = 50, timeType = "days", time = 7}, -- 1 semana [19271] = {percentExtra = 100, timeType = "days", time = 7}, -- 1 semana [19272] = {percentExtra = 50, timeType = "days", time = 30}, -- 1 Mês [19273] = {percentExtra = 100, timeType = "days", time = 30}, -- 1 Mês } local effect = 28 -- EFEITO QUE SAI NO PLAYER AO USAR O ITEM local storage_time = 45144 -- STORAGE QUE ARMAZENA O TEMPO QUE O BUFF VAI DURAR function onUse(cid, item, fromPosition, itemEx, toPosition) loop_effect_segundos = math.floor(loop_effect_segundos) local expItem = items[item.itemid] if not expItem then return true end local tempo = 0 local death = false if expItem.timeType == "days" then tempo = expItem.time * 60 * 60 * 24 else -- Hours tempo = expItem.time * 60 * 60 end if getPlayerStorageValue(cid, storage_time) - os.time() > 1 then doPlayerSendTextMessage(cid, 20, "Você ainda tem um Experience Booster ativo de "..getPlayerStorageValue(cid, 45145).."%. Ele irá acabar em "..convertTime(getPlayerStorageValue(cid, 45144) - os.time())..".") return false end --doSendMagicEffect(getThingPos(cid), effect) -- FUNÇÃO QUE SAI EFEITO NO PLAYER AO USAR O ITEM buffEffect(cid, loop_effect_segundos, effect, storage_time) -- FUNÇÃO QUE SAI EFEITO NO PLAYER ENQUANTO ELE ESTÁ COM BUFF doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, storage_time, tempo + os.time()) setPlayerStorageValue(cid, 45145, expItem.percentExtra) doPlayerSendTextMessage(cid, 20, "Você ativou um Experience Booster de "..expItem.percentExtra.."% a mais, que durará "..(death and "até morrer" or convertTime(tempo))..".") return true end Agora vai em Data/Creaturescripts/Scripts ou Data/Creaturescripts/Scripts/Player e abre o arquivo login.lua embaixo de: function onLogin(cid) adicione esse bloco: local storage_buff = 45144 -- STORAGE QUE ARMAZENA O TEMPO QUE O BUFF VAI DURAR local effect_buff = 28 if getPlayerStorageValue(cid, storage_buff) > os.time() then buffEffect(cid, 3, effect_buff, storage_buff) end Reinicia a distro, e usa o item novamente e testa, ai testa uns minutos online, depois desloga e loga de novo. Qualquer problema você me avisa.
-
Da algum erro na distro?
-
Sim, eu ia usar while, mas ai achei melhor usar de outra forma, mas esqueci de tirar. Não entendi o problema que está dando, como assim pegou mas o buff não está fazendo efeito?
-
Esqueci um while ali haha, substitui o código por esse: local function buffEffect(cid, time, effect, duration) duration = math.floor(duration) if not cid then return true end if duration > os.time() then return doSendMagicEffect(getThingPos(cid), effect) and addEvent(buffEffect, 1000 * time, cid.uid, time, effect, duration) else return true end end local items = { [19268] = {percentExtra = 50, timeType = "hours", time = 1}, -- 1 hora [19269] = {percentExtra = 100, timeType = "hours", time = 1}, -- 1 hora [19270] = {percentExtra = 50, timeType = "days", time = 7}, -- 1 semana [19271] = {percentExtra = 100, timeType = "days", time = 7}, -- 1 semana [19272] = {percentExtra = 50, timeType = "days", time = 30}, -- 1 Mês [19273] = {percentExtra = 100, timeType = "days", time = 30}, -- 1 Mês } local effect = 28 -- EFEITO QUE SAI NO PLAYER AO USAR O ITEM local storage_time = 45144 -- STORAGE QUE ARMAZENA O TEMPO QUE O BUFF VAI DURAR function onUse(cid, item, fromPosition, itemEx, toPosition) loop_effect_segundos = math.floor(loop_effect_segundos) local expItem = items[item.itemid] if not expItem then return true end local tempo = 0 local death = false if expItem.timeType == "days" then tempo = expItem.time * 60 * 60 * 24 else -- Hours tempo = expItem.time * 60 * 60 end if getPlayerStorageValue(cid, storage_time) - os.time() > 1 then doPlayerSendTextMessage(cid, 20, "Você ainda tem um Experience Booster ativo de "..getPlayerStorageValue(cid, 45145).."%. Ele irá acabar em "..convertTime(getPlayerStorageValue(cid, 45144) - os.time())..".") return false end --doSendMagicEffect(getThingPos(cid), effect) -- FUNÇÃO QUE SAI EFEITO NO PLAYER AO USAR O ITEM buffEffect(cid, loop_effect_segundos, effect, storage_time) -- FUNÇÃO QUE SAI EFEITO NO PLAYER ENQUANTO ELE ESTÁ COM BUFF doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, storage_time, tempo + os.time()) setPlayerStorageValue(cid, 45145, expItem.percentExtra) doPlayerSendTextMessage(cid, 20, "Você ativou um Experience Booster de "..expItem.percentExtra.."% a mais, que durará "..(death and "até morrer" or convertTime(tempo))..".") return true end Testa e veja se continua dando erro.
-
[Resolvido] [PEDIDO] Scripts de spawn no mapa
pergunta respondeu ao rafersiq de Yan Oliveira em Resolvidos
Mas a task funcionou? Somente quando spawna o boss ele fica bugado? Substitui o código por esse: local pokemon_derrotar = "Charizard" -- NOME DO POKÉMON QUE PRECISA DERROTAR NA TASK local total = 50 -- TOTAL DE POKEMON QUE PRECISA DERROTAR local pokemon_spawn = "Mewtwo" -- NOME DO POKEMON QUE VAI SPAWNAR local position_spawn = {x= 1000, y= 1000, z= 7} -- POSIÇÃO ONDE VAI SPAWNAR O POKEMON local storage = 15879 -- STORAGE PARA VER SE JÁ FEZ A TASK local random_porcentagem = 50 -- PORCENTAGEM QUE TEM DO POKEMON SPAWNAR AO TERMINAR A TASK function onKill(cid, target) local contador = 0 local random_chance = math.random(100) if getCreatureName(target) == pokemon_derrotar then if getPlayerStorageValue(cid, storage) < 1 then if (total - contador) > 0 then contador = contador + 1 end if contador == total then setPlayerStorageValue(cid, storage, 1) if (random_chance >= random_porcentagem) then doCreateMonster(pokemon_spawn, position_spawn) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você despertou a fúria de um pokémon, se prepare para o combate!") return true else return true end end else return true end else return true end end -
[Resolvido] [PEDIDO] Scripts de spawn no mapa
pergunta respondeu ao rafersiq de Yan Oliveira em Resolvidos
Cara, vamos focar primeiro no seu tópico aqui, eu fiz o script que você pediu e você não disse se funcionou ou não. Sobre sua outra dúvida, já adianto que terá que criar um outro tópico para essa dúvida porque não tem relação com a dúvida deste tópico -
[Resolvido] [PEDIDO] Scripts de spawn no mapa
pergunta respondeu ao rafersiq de Yan Oliveira em Resolvidos
Sobre a versão, então no seu caso muito provavelmente é 0.3.6, que é a versão atualmente de todos os Poketibia. Se é evento, provavelmente é um pokémon que não terá em respawn, então não precisa de storage para deixa específica a kill dele (quando não tem storage, em qualquer situação vai contar como kill nesse script que vou fazer, por exemplo matar em respawn) Vai em Data/Creaturescripts/Scripts e crie um arquivo chamado task_event.lua (ou o nome que preferir) e adicione o código dentro: local pokemon_derrotar = "Charizard" -- NOME DO POKÉMON QUE PRECISA DERROTAR NA TASK local total = 50 -- TOTAL DE POKEMON QUE PRECISA DERROTAR local pokemon_spawn = "Mewtwo" -- NOME DO POKEMON QUE VAI SPAWNAR local position_spawn = {x= 1000, y= 1000, z= 7} -- POSIÇÃO ONDE VAI SPAWNAR O POKEMON local storage = 15879 -- STORAGE PARA VER SE JÁ FEZ A TASK local random_porcentagem = 50 -- PORCENTAGEM QUE TEM DO POKEMON SPAWNAR AO TERMINAR A TASK function onKill(cid, target) local contador = 0 local random_chance = math.random(100) if getCreatureName(target) == pokemon_derrotar then if getPlayerStorageValue(cid, storage) < 1 then if (total - contador) > 0 then contador = contador + 1 end if contador == total then setPlayerStorageValue(cid, storage, 1) if (random_chance >= random_porcentagem) then doSummonCreature(pokemon_spawn, position_spawn) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você despertou a fúria de um pokémon, se prepare para o combate!") return true else return true end end else return true end else return true end end Agora vai em creaturescripts.xml e adicione a tag: <event type="kill" name="task_event" script="task_event.lua" /> OBS: Caso tenha colocado um arquivo com nome diferente do que sugeri não se esqueça de trocar na tag xml. E por fim em Data/Creaturescripts/Scripts abra o arquivo login.lua e procura seção de eventos e adiciona o evento: registerCreatureEvent(cid, "task_event") Deixei tudo comentado nas variáveis, só vai precisar trocar os valores. Lembrando que na variável random_porcentagem é a chance que vai ter de nascer o pokémon, como eu deixei 50, da tanto para verificar se vai ser maior que 50 ou menor, mas no caso deixei maior ou igual a 50, então qualquer valor acima de 50 gerado pela variável random_chance vai sumonar o pokémon. Se quer que tenha menos de 50% de chance, mude o valor da variável random_porcentagem e nessa verificação: if (random_chance >= random_porcentagem) then Mude para o valor desejado menor que 50, mas tem que mudar o if para: if (random_chance <= random_porcentagem) then Teste, e se der algum erro ou problema, me avise. -
[Resolvido] [PEDIDO] Scripts de spawn no mapa
pergunta respondeu ao rafersiq de Yan Oliveira em Resolvidos
Qual a versão da TFS? E isso é um evento ou task? -
Você só precisa colocar o tempo em segundos para o efeito sair novamente no player. Ou seja, se você colocar 3, a cada 3 segundos vai repetir o efeito. Por exemplo, eu sei que o buff tem duração de 1 dia, então dentro desse intervalo de 24 horas, quando o player está online, se eu quiser que nesse tempo o efeito do buff fique repetindo a cada 5 segundos, eu coloco 5: buffEffect(cid, 5, effect, storage_time) -- FUNÇÃO QUE SAI EFEITO NO PLAYER ENQUANTO ELE ESTÁ COM BUFF Mas, vou te facilitar a vida, já que está confuso, vou criar uma variável que repete o efeito a cada X segundos, substitui o código por esse: local loop_effect_segundos = 3 -- INTERVALO DE TEMPO EM SEGUNDOS QUE VAI SAIR EFEITO NO PLAYER ENQUANTO POSSUIR O BUFF local function buffEffect(cid, time, effect, duration) duration = math.floor(duration) if not cid then return true end if duration > os.time() then return doSendMagicEffect(getThingPos(cid), effect) and addEvent(buffEffect, 1000 * time, cid.uid, time, effect, duration) else return true end end local items = { [19268] = {percentExtra = 50, timeType = "hours", time = 1}, -- 1 hora [19269] = {percentExtra = 100, timeType = "hours", time = 1}, -- 1 hora [19270] = {percentExtra = 50, timeType = "days", time = 7}, -- 1 semana [19271] = {percentExtra = 100, timeType = "days", time = 7}, -- 1 semana [19272] = {percentExtra = 50, timeType = "days", time = 30}, -- 1 Mês [19273] = {percentExtra = 100, timeType = "days", time = 30}, -- 1 Mês } local effect = 28 -- EFEITO QUE SAI NO PLAYER AO USAR O ITEM local storage_time = 45144 -- STORAGE QUE ARMAZENA O TEMPO QUE O BUFF VAI DURAR function onUse(cid, item, fromPosition, itemEx, toPosition) loop_effect_segundos = math.floor(loop_effect_segundos) local expItem = items[item.itemid] if not expItem then return true end local tempo = 0 local death = false if expItem.timeType == "days" then tempo = expItem.time * 60 * 60 * 24 else -- Hours tempo = expItem.time * 60 * 60 end if getPlayerStorageValue(cid, storage_time) - os.time() > 1 then doPlayerSendTextMessage(cid, 20, "Você ainda tem um Experience Booster ativo de "..getPlayerStorageValue(cid, 45145).."%. Ele irá acabar em "..convertTime(getPlayerStorageValue(cid, 45144) - os.time())..".") return false end while --doSendMagicEffect(getThingPos(cid), effect) -- FUNÇÃO QUE SAI EFEITO NO PLAYER AO USAR O ITEM buffEffect(cid, loop_effect_segundos, effect, storage_time) -- FUNÇÃO QUE SAI EFEITO NO PLAYER ENQUANTO ELE ESTÁ COM BUFF doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, storage_time, tempo + os.time()) setPlayerStorageValue(cid, 45145, expItem.percentExtra) doPlayerSendTextMessage(cid, 20, "Você ativou um Experience Booster de "..expItem.percentExtra.."% a mais, que durará "..(death and "até morrer" or convertTime(tempo))..".") return true end Pronto, agora a única coisa que você precisa se preocupar e alterar, é o valor na variável loop_effect_segundos na primeira linha do código. Altere lá o valor em segundos que quer que repita o efeito no player (loop) enquanto ele possuir buff.
-
Ah sim, tem como sim. Substitui o código por esse: local function buffEffect(cid, time, effect, duration) duration = math.floor(duration) if not cid then return true end if duration > os.time() then return doSendMagicEffect(getThingPos(cid), effect) and addEvent(buffEffect, 1000 * time, cid.uid, time, effect, duration) else return true end end local items = { [19268] = {percentExtra = 50, timeType = "hours", time = 1}, -- 1 hora [19269] = {percentExtra = 100, timeType = "hours", time = 1}, -- 1 hora [19270] = {percentExtra = 50, timeType = "days", time = 7}, -- 1 semana [19271] = {percentExtra = 100, timeType = "days", time = 7}, -- 1 semana [19272] = {percentExtra = 50, timeType = "days", time = 30}, -- 1 Mês [19273] = {percentExtra = 100, timeType = "days", time = 30}, -- 1 Mês } local effect = 28 -- EFEITO QUE SAI NO PLAYER AO USAR O ITEM local storage_time = 45144 -- STORAGE QUE ARMAZENA O TEMPO QUE O BUFF VAI DURAR function onUse(cid, item, fromPosition, itemEx, toPosition) local expItem = items[item.itemid] if not expItem then return true end local tempo = 0 local death = false if expItem.timeType == "days" then tempo = expItem.time * 60 * 60 * 24 else -- Hours tempo = expItem.time * 60 * 60 end if getPlayerStorageValue(cid, storage_time) - os.time() > 1 then doPlayerSendTextMessage(cid, 20, "Você ainda tem um Experience Booster ativo de "..getPlayerStorageValue(cid, 45145).."%. Ele irá acabar em "..convertTime(getPlayerStorageValue(cid, 45144) - os.time())..".") return false end while --doSendMagicEffect(getThingPos(cid), effect) -- FUNÇÃO QUE SAI EFEITO NO PLAYER AO USAR O ITEM buffEffect(cid, 3, effect, storage_time) -- FUNÇÃO QUE SAI EFEITO NO PLAYER ENQUANTO ELE ESTÁ COM BUFF doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, storage_time, tempo + os.time()) setPlayerStorageValue(cid, 45145, expItem.percentExtra) doPlayerSendTextMessage(cid, 20, "Você ativou um Experience Booster de "..expItem.percentExtra.."% a mais, que durará "..(death and "até morrer" or convertTime(tempo))..".") return true end Eu alterei o código e criei uma função para ficar soltando o efeito no player enquanto ele tem buff. Na função que criei buffEffect, tem os seguintes parâmetros: cid = Player time = A cada quantos segundos vai sair o efeito no player novamente effect = Id do efeito duration = Duração do buff O que você vai precisar mudar, praticamente é o segundo e terceiro parâmetro, que é o intervalo do efeito e o id do efeito. Testa e fala se der algum erro.
-
Que bom que funcionou ?.
-
Considerando que esse script está funcionando é só substituir o código por esse: local items = { [19268] = {percentExtra = 50, timeType = "hours", time = 1}, -- 1 hora [19269] = {percentExtra = 100, timeType = "hours", time = 1}, -- 1 hora [19270] = {percentExtra = 50, timeType = "days", time = 7}, -- 1 semana [19271] = {percentExtra = 100, timeType = "days", time = 7}, -- 1 semana [19272] = {percentExtra = 50, timeType = "days", time = 30}, -- 1 Mês [19273] = {percentExtra = 100, timeType = "days", time = 30}, -- 1 Mês } local effect = 28 -- EFEITO QUE SAI NO PLAYER AO USAR O ITEM function onUse(cid, item, fromPosition, itemEx, toPosition) local expItem = items[item.itemid] if not expItem then return true end local tempo = 0 local death = false --[[if expItem.timeType == "death" then tempo = "death" death = true else]] if expItem.timeType == "days" then tempo = expItem.time * 60 * 60 * 24 else -- Hours tempo = expItem.time * 60 * 60 end if getPlayerStorageValue(cid, 45144) - os.time() > 1 then doPlayerSendTextMessage(cid, 20, "Você ainda tem um Experience Booster ativo de "..getPlayerStorageValue(cid, 45145).."%. Ele irá acabar em "..convertTime(getPlayerStorageValue(cid, 45144) - os.time())..".") return false end doSendMagicEffect(getThingPos(cid), effect) -- FUNÇÃO QUE SAI EFEITO NO PLAYER AO USAR O ITEM doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 45144, tempo + os.time()) setPlayerStorageValue(cid, 45145, expItem.percentExtra) doPlayerSendTextMessage(cid, 20, "Você ativou um Experience Booster de "..expItem.percentExtra.."% a mais, que durará "..(death and "até morrer" or convertTime(tempo))..".") return true end Só colocar o id do efeito na variável effect que coloquei lá em cima. Avisa se der algum erro
-
Cara é como te falei por PM, você tem que falar qual erro que deu porque eu nunca mexi com OTS. Mostra a print do erro quando tentou inserir o script que fiz.
-
Wall que verificar se o Player tem storage
pergunta respondeu ao vitorelias de Yan Oliveira em Scripts
Qual é a versão da TFS? -
Nunca mexi com OTS. Tenta usar esse script no OTS e se der erro manda print da distro.
-
Qual é a versão da sua TFS?
-
Se deu certo é o que importa ☺️. Mas, poste a solução que descobriu para ajudar outras pessoas com problemas parecidos.
-
Posta esse script startup.lua da pasta GlobalEvents.
-
Está estranho o jeito que você está usando o addEvent. Primeiro que só tem duas formas de usar o addEvent, sendo uma que é usando uma função anônima, ou seja, você cria uma função dentro do addEvent no primeiro parâmetro como você fez, e a segunda é usando uma função já existente. Só que, independente de qual maneira que você vai usar, não pode usar parâmetro dentro da função no primeiro parâmetro do addEvent como você está fazendo com: addEvent(function(flag) ... Até porque você já criou a variável flag, não faz sentido passar ela como parâmetro sendo que já é uma variável existente. E a segunda maneira de usar uma função existente que tem parâmetros, é você modular esses parâmetros a partir do terceiro parâmtro do addEvent, porque o primeiro é a função e o segundo é o tempo que o addEvent será executado novamente em milissegundos: function teste(message) return message // RETORNA PARÂMETRO PASSADO end local mensagem = "Essa é minha mensagem." // VARIÁVEL PARA RECEBER UMA STRING PARA FICAR MAIS LEGÍVEL O ADDEVENT addEvent(teste, 60000, mensagem) // ORDEM DOS PARÂMETROS DO addEvent(FUNÇÃO, TEMPO, PARÂMETRO1, PARÂMETRO2, ...) Fiz um exemplo para você acima sobre o addEvent com uma função existente, a função apenas retorna o parâmetro e o addEvent executa a mensagem a cada 1 minuto, pois está em milissegundos. Lembrando que se a função existente passada como parâmetro no addEvent tiver parâmetros, todos os parâmetros devem ser inseridos no addEvent, exemplo: function broadcast(storage, vezes) if (vezes > 0) and (storage <= os.time()) then doBroadcastMessage("Essa mensagem será repetida por mais " .. vezes .. " vezes.") // TFS 0.X addEvent(broadcast, 60000, storage, vezes - 1) else doBroadcastMessage("As mensagens foram encerradas por hoje!") setPlayerStorageValue(cid, storage, os.time() + (24*60*60)) end end function onThink(cid, interval) local storage = 12548 broadcast(storage, 5) // A MENSAGEM SERÁ REPETIDA 5 VEZES return true end Acima tem um exemplo de usar uma função existente de forma recursiva no addEvent que será repetida 5 vezes sendo um evento global executado uma vez por dia. Agora acho que ficou mais claro sobre o addEvent, então você pode usar assim o addEvent no seu caso: local function executaFlag(flag, valor) jogadorCasa[flag] = valor end local flag = 1 local valor = 0 local tempo = (getPlayerStorageValue(cid, storageFish + flag) - os.time()) * 1000 addEvent(executaFlag, tempo, flag, valor) Testa e fala se ainda continua dando problema.
-
[Item Editor] A cadeia de caracteres de entrada não estava em um formato correto.
pergunta respondeu ao Hine de Yan Oliveira em Clients
Está usando item editor novo? Os antigos só dão problemas.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.