Ir para conteúdo
  • Cadastre-se

Programação Problema com aleatoriedade do script


Ir para solução Resolvido por Sun,

Posts Recomendados

.Qual servidor ou website você utiliza como base? 

Pokezring

 

Qual o motivo deste tópico? 

Procurar solucionar problema de variável com valor aleatório.

 

Está surgindo algum erro? Se sim coloque-o aqui. 

Quote

Estou editando um sistema de catch num server de pokémon, e preciso que toda vez que eu jogasse a pokébola uma variável recebesse um valor aleatório de 4 a 10, decidi utilizar a função math.random porém a variável está preenchendo somente uma vez quando o servidor sobe e mantém o mesmo valor sempre, em vez de gerar aleatório toda vez que a pokébola é jogada.

Alguém conseguiria me auxiliar? Preciso que a variável receba o valor aleatório constantemente. 




math.randomseed(os.time())
num1 = math.random(4,10)

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 ----------------------- actions.lua -----------------
<action itemid="15980-15996;16157" event="script" value="catch.lua" allowfaruse="1"/>

------------------------cactch.lua ------------------------------------------
math.randomseed(os.time())
num1 = math.random(4,10)

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Editado por leessandro (veja o histórico de edições)

AJUDEI? DA REP +

 

original.giftumblr_m84zj0xTC31qi8ipgo1_400.gif

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

@leessandro então amigo, eu nunca usei math.randomseed enquanto programo para tibia, pelo simples fato do tempo!

vou explicar melhor, quando não se tem algo gerando valores de tempo, não se usa math.randomseed, mas oque seria o tempo?

vou tentar explicar de uma forma mais simples sem você se perder, o console em si, já é um math.randomseed, ele já irá gerar pra você novos valores sem precisar ter que ficar usando está função! então onde se usaria ela? num OTC, que ali os valores precisam ser gerados pelo gerador e como não tem nada para que gere isso para ele como o console que já faz este processo!

 

vou te dar um exemplo de um catch que eu mesmo desenvolvi!

 

local catch 
local srand = math.random(1, x.chance)
 
if srand > Pokebals_chance["pokeball"] and srand <= Pokebals_chance["greatball"] then -- ## se o valor gerado for maior que a chance da pokebola, e que este valor seja menor que o da great ball
  catch = true
else 
  catch = false
end

if catch then
  doRemoveItem(itemEx.uid, 1)
  addEvent(doSendMagicEffect, 1, toPosition, bolaefeitoON)
  addEvent(function()
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str)
 
  item = doCreateItemEx(12664, 1)
  doItemSetAttribute(item, "poke", name)
  doItemSetAttribute(item, "nome", i)
  doItemSetAttribute(item, "description", description)
  doPlayerAddItemEx(cid, item, true)
 end, 3000)
else
   doRemoveItem(itemEx.uid, 1)
   addEvent(doSendMagicEffect, 1, toPosition, bolaefeitoOff)
   addEvent(doPlayerSendTextMessage, 3000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Escapou!.")
end

 

espero que tenha entendido!

e fica livre ai se outro tiver uma explicação melhor sobre!!!!.

claro que não postei o catch completo, é apenas um exemplo!

                                                                                                                  Have no idea!

                                                                                                  freelance? go to my discord:  sun#8860

 

Link para o post
Compartilhar em outros sites
7 minutos atrás, Sun disse:

@leessandro então amigo, eu nunca usei math.randomseed enquanto programo para tibia, pelo simples fato do tempo!

vou explicar melhor, quando não se tem algo gerando valores de tempo, não se usa math.randomseed, mas oque seria o tempo?

vou tentar explicar de uma forma mais simples sem você se perder, o console em si, já é um math.randomseed, ele já irá gerar pra você novos valores sem precisar ter que ficar usando está função! então onde se usaria ela? num OTC, que ali os valores precisam ser gerados pelo gerador e como não tem nada para que gere isso para ele como o console que já faz este processo!

 

vou te dar um exemplo de um catch que eu mesmo desenvolvi!

 


local catch 
local srand = math.random(1, x.chance)
 
if srand > Pokebals_chance["pokeball"] and srand <= Pokebals_chance["greatball"] then -- ## se o valor gerado for maior que a chance da pokebola, e que este valor seja menor que o da great ball
  catch = true
else 
  catch = false
end

if catch then
  doRemoveItem(itemEx.uid, 1)
  addEvent(doSendMagicEffect, 1, toPosition, bolaefeitoON)
  addEvent(function()
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str)
 
  item = doCreateItemEx(12664, 1)
  doItemSetAttribute(item, "poke", name)
  doItemSetAttribute(item, "nome", i)
  doItemSetAttribute(item, "description", description)
  doPlayerAddItemEx(cid, item, true)
 end, 3000)
else
   doRemoveItem(itemEx.uid, 1)
   addEvent(doSendMagicEffect, 1, toPosition, bolaefeitoOff)
   addEvent(doPlayerSendTextMessage, 3000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Escapou!.")
end

 

espero que tenha entendido!

e fica livre ai se outro tiver uma explicação melhor sobre!!!!.

claro que não postei o catch completo, é apenas um exemplo!

Eu ia fazer mas vc ja respondeu o cara, o que ele quer é que cada item tenha uma porcentagem random diferente, os item registrados no xml, eu acho

Link para o post
Compartilhar em outros sites
  • Moderador
50 minutos atrás, FlameArcixt disse:

Eu ia fazer mas vc ja respondeu o cara, o que ele quer é que cada item tenha uma porcentagem random diferente, os item registrados no xml, eu acho

sim, mas ele não queria a script em si!

ele quer uma explicação do porque da forma que ele está editando, está dando erro.

                                                                                                                  Have no idea!

                                                                                                  freelance? go to my discord:  sun#8860

 

Link para o post
Compartilhar em outros sites
57 minutes ago, Sun said:

@leessandro então amigo, eu nunca usei math.randomseed enquanto programo para tibia, pelo simples fato do tempo!

vou explicar melhor, quando não se tem algo gerando valores de tempo, não se usa math.randomseed, mas oque seria o tempo?

vou tentar explicar de uma forma mais simples sem você se perder, o console em si, já é um math.randomseed, ele já irá gerar pra você novos valores sem precisar ter que ficar usando está função! então onde se usaria ela? num OTC, que ali os valores precisam ser gerados pelo gerador e como não tem nada para que gere isso para ele como o console que já faz este processo!

 

vou te dar um exemplo de um catch que eu mesmo desenvolvi!

 


local catch 
local srand = math.random(1, x.chance)
 
if srand > Pokebals_chance["pokeball"] and srand <= Pokebals_chance["greatball"] then -- ## se o valor gerado for maior que a chance da pokebola, e que este valor seja menor que o da great ball
  catch = true
else 
  catch = false
end

if catch then
  doRemoveItem(itemEx.uid, 1)
  addEvent(doSendMagicEffect, 1, toPosition, bolaefeitoON)
  addEvent(function()
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str)
 
  item = doCreateItemEx(12664, 1)
  doItemSetAttribute(item, "poke", name)
  doItemSetAttribute(item, "nome", i)
  doItemSetAttribute(item, "description", description)
  doPlayerAddItemEx(cid, item, true)
 end, 3000)
else
   doRemoveItem(itemEx.uid, 1)
   addEvent(doSendMagicEffect, 1, toPosition, bolaefeitoOff)
   addEvent(doPlayerSendTextMessage, 3000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Escapou!.")
end

 

espero que tenha entendido!

e fica livre ai se outro tiver uma explicação melhor sobre!!!!.

claro que não postei o catch completo, é apenas um exemplo!

Fechou, eu tive que setar a variavel como local e retirar o  math.randomseed.
Obrigado

AJUDEI? DA REP +

 

original.giftumblr_m84zj0xTC31qi8ipgo1_400.gif

Link para o post
Compartilhar em outros sites
  • Moderador
1 minuto atrás, leessandro disse:

Fechou, eu tive que setar a variavel como local e retirar o  math.randomseed.
Obrigado

se tiver mais duvidas ai sobre Linguagem Lua só criar um tópico que estarei lá para te ajudar!.

                                                                                                                  Have no idea!

                                                                                                  freelance? go to my discord:  sun#8860

 

Link para o post
Compartilhar em outros sites
1 minute ago, Sun said:

sim, mas ele não queria a script em si!

ele quer uma explicação do porque da forma que ele está editando, está dando erro.

Exatamente, preciso entender como um servidor de Tibia é estruturado, e não da solução em si.

AJUDEI? DA REP +

 

original.giftumblr_m84zj0xTC31qi8ipgo1_400.gif

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.


  • Conteúdo Similar

    • Por Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo