package CustomObjectIdGenerator

int array id constant heroPrefix = 'W' constant nonheroPrefix = '%' boolean helperActivator = initHelper()

function initHelper() returns boolean for int i = 0 to 2 id[i] = '0' return true

function nextValid(int c) returns int int r = c + 1

if r == '_' or r == ','or r == '"'or r == '\' or r == '-'
    r++
    if r == '_' or r == ','or r == '"'or r == '\' or r == '-'
        r++
return r  

function fourChar(int a, int b, int c, int d) returns int return (((((a256) + b)256)+c)*256)+d

function newId(int prefix) returns int if helperActivator for i = 0 to 2 if id[i] < '~' id[i] = nextValid(id[i]) for j = 0 to i-1 id[j] = '!' return fourChar(prefix, id[2], id[1], id[0]) error("No vaild id left") return 0

public function genId() returns int return newId(nonheroPrefix)

public function genHeroId() returns int return newId(heroPrefix)


goto line:
Compare with:
text copy window edit this code post new code