Tom Jones
N/A
- Reaction score
- 437
So this thread made me wonder:
What base are orderids? Or are they even part of a base system?
I can't come up with any results whatsoever, this is what I've used to test:
What base are orderids? Or are they even part of a base system?
I can't come up with any results whatsoever, this is what I've used to test:
JASS:
function S2Hex takes string value, integer base returns integer
local string map = " !\"#$%&039;()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ "
local string first
local string s
local integer i = 0
local integer a = 0
local integer hex = R2I(Pow(base,StringLength(value)-1))
local integer result = 0
loop
set first = SubString(value,i,i+1)
exitwhen first == ""
set a = 0
loop
set s = SubString(map,a,a+1)
exitwhen s == ""
if s == first then
set result = result+((a+32)*hex)
set hex = hex/base
exitwhen true
endif
set a = a+1
endloop
set i = i+1
endloop
return result
endfunction
function Hex2S takes integer value, integer base returns string
local string map = " !\"#$%&039;()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ "
local integer i = value
local integer a = 0
local string result = ""
loop
set a = (i-(i/0x100)*base)-32
set i = i/base
set result = SubString(map,a,a+1)+result
exitwhen i <= 1
endloop
return result
endfunction
function Trig_Test_Actions takes nothing returns nothing
local string s = "slow"
local integer base = 2
local integer id = OrderId(s)
call BJDebugMsg("OrderID = "+I2S(id))
loop
exitwhen base > 256 or S2Hex(s,base) > id
call BJDebugMsg("Calculated OrderID = "+I2S(S2Hex(s,base)))
set base = base+2
endloop
call BJDebugMsg("Base = "+I2S(base))
endfunction
//===========================================================================
function InitTrig_Test takes nothing returns nothing
set gg_trg_Test = CreateTrigger( )
//call TriggerRegisterPlayerChatEvent( gg_trg_Test, Player(0), "test", true )
call TriggerRegisterTimerEvent(gg_trg_Test,1,false)
call TriggerAddAction( gg_trg_Test, function Trig_Test_Actions )
endfunction