Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// int hex(string);
- // if the script name "hex" collides with a variable or a resource somewhere
- // just rename it
- var result=0;
- // special unicode values
- var ZERO=ord("0");
- var NINE=ord("9");
- var A=ord("A");
- var F=ord("F");
- for (var i=1; i<=string_length(argument0); i++){
- var c=ord(string_char_at(string_upper(argument0), i));
- // you could also multiply by 16 but you get more nerd points for bitshifts
- result=result<<4;
- // if the character is a number or letter, add the value
- // it represents to the total
- if (c>=ZERO&&c<=NINE){
- result=result+(c-ZERO);
- } else if (c>=A&&c<=F){
- result=result+(c-A+10);
- // otherwise complain
- } else {
- // this will make the browser behave badly but you can leave it in
- // actual game maker if you want
- //show_error("bad input for hex(str)", true);
- }
- }
- return result;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement