Hallo GM'ler,
da der Game Maker keine Möglichkeit hat Adressen in IPs aufzulösen, habe ich hier eine Lösung dafür programmiert. Es kommt ohne eine DLL aus - ist daher direkt lauffähig.
Einschränkungen:
Vielleicht unter Windows Vista. Da ich das System nicht besitze kann ich es hierunter nicht testen.
Hinweis:
Zur Zeit gibt es leider eine Sicherheitslücke in nslookup - solange diese nicht gepacht ist, solltet ihr nur vertrauenswürdige Adressen auflösen.
Alles anzeigen
da der Game Maker keine Möglichkeit hat Adressen in IPs aufzulösen, habe ich hier eine Lösung dafür programmiert. Es kommt ohne eine DLL aus - ist daher direkt lauffähig.
Einschränkungen:
Vielleicht unter Windows Vista. Da ich das System nicht besitze kann ich es hierunter nicht testen.
Hinweis:
Zur Zeit gibt es leider eine Sicherheitslücke in nslookup - solange diese nicht gepacht ist, solltet ihr nur vertrauenswürdige Adressen auflösen.
GML-Quellcode
- /**
- Function: net_address_to_ip
- @author Foo
- @param string Die Internetadresse
- @return string Die IP, oder leer wenn es nicht aufgelöst werden konnte
- **/
- var tmp, handle, str, domain, ip;
- domain = argument0;
- tmp = "out.tmp";
- ip = "";
- execute_program("cmd.exe /c nslookup.exe " + domain + " > " + tmp, 0, 1);
- if(!file_exists(tmp)) {
- return ip;
- }
- handle = file_text_open_read(tmp);
- while(!file_text_eof(handle)) {
- str = file_text_read_string(handle)
- if(string_pos(domain, str) != 0) {
- file_text_readln(handle);
- str = file_text_read_string(handle);
- //If there a are more than one ip addresses - drop the rest
- if(string_pos(",", str) != 0) {
- str = string_copy(str, 0, (string_pos(",", str) - 1));
- }
- // Search the ip address
- var i, size, char;
- size = string_length(str)
- for(i = 0; i < size; i += 1) {
- char = string_char_at(str, i);
- char = real(ord(char));
- if((char >= 48) && (char <= 57)) {
- ip = string_copy(str, i, size);
- break;
- }
- }
- }
- file_text_readln(handle);
- }
- file_text_close(handle);
- file_delete(tmp);
- return ip;
On teh internet u pwn noobs - but in real life noobs own you.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Foo ()