Skocz do zawartości

Snake

Użytkownicy
  • Postów

    1 445
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez Snake

  1. No tak, znowu mi się nudziło więc postanowiłem napisać DLL-a w którym znajdują się funkcje - które IMO brakują w GM-ie (GM6 - tylko na tym testowałem) :)

     

    Wersja 2 here

     

    ------------------------------------------------------------------

     

    Info z poprzedniej wersji 1.5

     

    Funkcje:

     

    Rejestr:

    • registry_delete_key - Kasuje klucz i wszystkie jego wartości z rejestru.
    • registry_delete_key_value - Kasuje podana wartość klucza z rejestru.
    • registry_find_key_first &
    • registry_find_key_next - Szuka podkluczy w kluczu ( Dzięki Markowi.S )
    • registry_find_key_value_first &
    • registry_find_key_value_next - Szuka wartości w kluczu ( Dzięki Markowi.S )
    Schowek:
    • save_bmp_from_clipboard - jeśli w schowku znajduje się obrazek - zapisuje zawartość schowka do pliku bmp
    Okna itp.:
    • show_message_box - Pokazuje Message Box z wczesniej ustawionymi opcjami przez show_message_box_options
    • show_message_box_options - Ustawia opcje dla wyświetlania MessageBoxa
    • window_find - Szuka okna poprzez podana nazwe klasy i/lub okna i zwraca jego uchwyt.
    • window_find_ex - Szuka potomnego okna poprzez podana nazwę klasy i/lub nazwę okna w podanym oknie i zwraca jego uchwyt.
    Liczby:
    • real_to_hex - Konwertuje liczbę na HEX o podanej minimalnej długości stringa
    • hex_to_real - działanie odwrotne do powyższego :D
    Pliki:
    • file_get_version - Sprawdza czy w pliku jest informacja o wersji (Version Info), w plikach exe, dll itp.
    • file_read_version_info - Wyczytuje wybrane informacje o wersji pliku (Version info), w plikach exe, dll itp.
    Procesy:
    • process_find_first &
    • process_find_next - Szuka procesów ( Dzięki Moldisowi )
    • process_close - Zamyka proces ( po nazwie )
    • process_close_by_id - Zamyka proces poprzez podany ID. ( Dzięki Shyliosowi )
    • process_exists - Sprawdza czy dany proces jest uruchomiony ( Dzięki Markowi.S )
    • process_id_current - Pobiera Process ID procesu, który został właśnie wyszukany przez funkcje process_find_first/next.
    • process_id_from_name - Szuka ID procesu (PID) poprzez nazwę.
    • process_id_from_window_handle - Szuka ID procesu (PID) poprzez uchwyt okna
    • process_read_byte / short / long / double - Odczytuje zmienna typu (...) z pamięci procesu. ( Dzięki Pieterowi )
    • process_read_string - Odczytuje stringa z pamięci procesu ( Dzięki Pieterowi )
    • process_write_byte / short / long / double - Zapisuje zmienna typu (...) do pamięci procesu.
    • process_write_string - Zapisuje stringa do pamięci procesu
    • process_write_nstring - Zapisuje stringa do pamięci procesu razem z terminatorem na końcu ( dodaje zerowy bajt ) ( Dzięki Pieterowi )
    • process_protection - Ustawia dostęp do podanego regionu pamięci wybranego procesu. ( Dzięki Pieterowi )
    • xtend_set_debug_privilege - Po wywołaniu tej funkcji Xtend ma prawa dostępu do każdego procesu
    Jak używać i więcej info w skryptach :)

     

    Download v1.5:

    http://www.gmclan.org/up541_4_Xtend15.html ( DLL + Example w GM6 )

     

    A tu przykład autorstwa Pietera, pokazujący jak stworzyć bota do gier ( z Xtend.dll ):

    https://forum.gmclan.org/index.php?showtopic=12366

    Można w nim zobaczyć, jak za pomocą Xtenda można odczytać i zapisać dane do innego procesu ;P

  2. Center w gridzie ? Chodzi ci o centrowanie origina sprite'a ? Jeśli tak to:

    GML
    global.graphics[0] = sprite_add( 'sprite.gif', 0, 0, 0, 0, 0, 0, 0); // Zaladuje sprite'a

    sprite_set_offset( global.graphics[0], // nowy sprite zapisany w tablicy

    sprite_get_width( global.graphics[0] ) div 2, // pobiera szerokosc sprite'a i dzieli na 2

    sprite_get_height( global.graphics[0] ) div 2 // pobiera wysokosc sprite'a i dzieli na 2

    );

    I Jak w create obiektu na początku gdy poustawia się sprite_add wszystkich spritów z gry to będzie się puźniej szybciej ładować ? (te sprity już będą dodane ?) smile.gif

    Ładuj tylko te grafiki które są potrzebne w danym momencie, a jak nie są to wywalaj stare sprity, i wtedy szybciej gra będzie ci chodzić tzn, zajmować będzie mniej pamięci :P Jakoś ciężko mi Cię zrozumieć :)

  3. Żeby się nie pojawił na wieży ?

    Create potwora:

    GML
    while ( place_meeting(x,y,o_wieza) ) // wykonuje kod gdy potwor pojawi sie na wiezy

    {

    y = random(480); // losuje pozycje Y od nowa

    }

    albo
    GML
    while !( place_free(x,y) ) // wykonuje kod gdy potwor pojawi sie na innym obiekcie

    {

    y = random(480); // losuje pozycje Y od nowa

    }

×
×
  • Dodaj nową pozycję...