Добавлен scopterectus
Написал небольшую системку, которая делает что-то при касте разных способностей. И если что-то пошло не так, она через:
BJDebugMsg(msg)
пишет ид скила через:
I2S(GetSpellAbilityId())
В итоге в игре я вижу равкод скила в десятичной СС. Есть ли какая-нибудь функция или наработка, которая конвертировала бы это в 256-ую СС, как у скилов в редакторе объектов.
Воспользовался этим, но он иногда возвращает такие равкоды скила: A06, A0F и т.д. (3-ех значные числа), когда в самом редакторе объектов все скилы имуют 4-ех значный равкод.
globals
string array sOutput
endglobals
private function Init takes nothing returns nothing
set sOutput['0'] = "0"
set sOutput['1'] = "1"
set sOutput['2'] = "2"
set sOutput['3'] = "3"
set sOutput['4'] = "4"
set sOutput['5'] = "5"
set sOutput['6'] = "6"
set sOutput['7'] = "7"
set sOutput['8'] = "8"
set sOutput['9'] = "9"
set sOutput['a'] = "a"
set sOutput['b'] = "b"
set sOutput['c'] = "c"
set sOutput['d'] = "d"
set sOutput['e'] = "e"
set sOutput['f'] = "f"
set sOutput['g'] = "g"
set sOutput['h'] = "h"
set sOutput['i'] = "i"
set sOutput['j'] = "j"
set sOutput['k'] = "k"
set sOutput['l'] = "l"
set sOutput['m'] = "m"
set sOutput['n'] = "n"
set sOutput['o'] = "o"
set sOutput['p'] = "p"
set sOutput['q'] = "q"
set sOutput['r'] = "r"
set sOutput['s'] = "s"
set sOutput['t'] = "t"
set sOutput['u'] = "u"
set sOutput['v'] = "v"
set sOutput['w'] = "w"
set sOutput['x'] = "x"
set sOutput['y'] = "y"
set sOutput['z'] = "z"
set sOutput['A'] = "A"
set sOutput['B'] = "B"
set sOutput['C'] = "C"
set sOutput['D'] = "D"
set sOutput['E'] = "E"
set sOutput['F'] = "F"
set sOutput['G'] = "G"
set sOutput['H'] = "H"
set sOutput['I'] = "I"
set sOutput['J'] = "J"
set sOutput['K'] = "K"
set sOutput['L'] = "L"
set sOutput['M'] = "M"
set sOutput['N'] = "N"
set sOutput['O'] = "O"
set sOutput['P'] = "P"
set sOutput['Q'] = "Q"
set sOutput['R'] = "R"
set sOutput['S'] = "S"
set sOutput['T'] = "T"
set sOutput['U'] = "U"
set sOutput['V'] = "V"
set sOutput['W'] = "W"
set sOutput['X'] = "X"
set sOutput['Y'] = "Y"
set sOutput['Z'] = "Z"
endfunction
function modulo takes integer dividend, integer divisor returns integer
return dividend - (dividend/divisor)*divisor
endfunction
function raw2s takes integer raw returns string
local string s = ""
loop
set s = sOutput[modulo(raw,256)] + s
set raw = raw/256
exitwhen raw==0
endloop
return "'"+s+"'"
endfunction
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован MpW