win32 rand_max

Indította Csedwik, 2017-06-27, 18:26:20

2017-06-27, 18:26:20 Utolsó szerkesztés: 2017-06-27, 18:46:44 Szerző: Csedwik
Sziasztok!

Adott ez a dolog:
[spoiler]
Idézetet írta: [VIP]P3NG3R Dátum 2016-03-06, 18:57:11
Windows szerver esetén a random szám generálás is egy elég érdekes történet.
Erre akkor jöttem rá mikor tanácstalanul álltam a hatalmas drop előtt, holott a lehető legkisebbre lett beállítva(GF like), majd belenéztem a questlib.lua fájlba és...
-- This function will return true always in window os,
--  but not in freebsd.
-- (In window os, RAND_MAX = 0x7FFF = 32767.)
function drop_gamble_with_flag(drop_flag)
local dp, range = pc.get_killee_drop_pct()
local dp = 40000 * dp / (game.get_event_flag(drop_flag) or 100)
if dp < 0 or range < 0 then return false end
return dp >= number(1, range)
end


libthecore projectben kell ütyködni.

#nem-ajánlom-a-win-szervert-livera
[/spoiler]

Na utána néztem és egy új rand bevezetésével megoldható lenne a dolog?
Maybe itt?
http://prntscr.com/fotd5n

Bármilyen ötletet szívesen fogadnék. Köszönöm.

ui: vagy esetleg a RAND_MAX értékével?
Skype:Csedwik