Skocz do zawartości

Snake

Użytkownicy
  • Postów

    1 445
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Snake

  1. Hm, o ile dobrze pamiętam to jpg obsługuje, tylko jakąś inną klasą się to ładowało.
  2. Utwórz 2 obiekty klasy TBitmap Załaduj do jednego z nich obraz za pomocą metody LoadFromFile Zmień rozmiar mapy bitowej drugiego obiektu za pomocą metody SetSize Rysuj pierwszą mapę bitową na płótnie drugiej za pomocą metody StrechDraw Zapisz drugą bitmapę za pomocą metody SaveToFile ??? PROFIT
  3. Bump! Jeśli ktoś pobierał teraz GMAPI to niech jeszcze raz pobierze, bo poprawiłem dość sporego buga, który uniemożliwiał wywoływanie funkcji GML w niektórych przypadkach ;p http://gmapi.googlecode.com/files/GMAPIv0_6_src.rar
  4. Aktualizacja - teraz DLL jest kompatybilny z GM8. Download: http://www.gmclan.org/up541_4_Xtend21.html
  5. Nowa wersja jest już dostępna! Zmiany: Biblioteka jest teraz kompatybilna z GM8 Dodano funkcje i stałe z GM8 Dodano nowe interfejsy, które dają dostęp do: czcionek, wbudowanych zmiennych, systemów cząsteczek, typów cząsteczek, emitterów, deflectorów, destroyerów, changerów oraz attractorów Zmodernizowano metodę podmiany funkcji GML i dodano możliwość rejestrowania własnych. Dodano nowe metody do klasy CGMVariable, dzięki którym można konwertować wartości pomiędzy string a real. Funkcje GM, które zmieniły się w GM8 (np. sprite_add) są teraz przeładowane z nowymi parametrami. Poprawiono kilka błędów w funkcjach GM, komentarzach i klasie CGMVariable Więcej informacji n.t. zmian znajdziecie w pliku changelog. (lepiej sprawdzić bo wprowadziłem kilka zmian, które prowadzą do braku kompatybilności z poprzednimi wersjami GMAPI) Od teraz nie będę już zapewniał wsparcia dla GM6 i GM7 i w przyszłej wersji zostanie ono usunięte. Projekt jest teraz hostowany na Google Code, więc jak chcecie sprawdzić kod źródłowy to zapraszam tutaj: http://code.google.com/p/gmapi/ Download wersji 0.6: http://gmapi.googlecode.com/files/GMAPIv0_6.rar Przykład dodawania/podmieniania funkcji GML: https://gmclan.org/up541_4_RegisteringGMFunctions.html Test dostępu do particli i wbudowanych zmiennych: https://gmclan.org/up541_4_ParticleTest.html EDIT: BTW, pochwalę się: już 7 projektów korzysta z GMAPI: G-pathfinding by paul23 GFFI by Clam GMOgre3D by Houdini gmPython by Hach-Que Xenon PlayGate by PsichiX Advanced console by TheMagicNumber gmLua by Kofel :D
  6. Pewnie to kolejny błąd spowodowany brakiem przystosowania Game Makera do multithreadingu. Niestety, w takim wypadku nic nie mogę zrobić.
  7. Hm, sprawdziłem to i u mnie trybi jak powinno. Jaki błąd Ci wyskoczył? Błąd kompilacji kodu? Czy "błąd 1" wątku zwrócony przez thread_get_error?
  8. Jak wyjdzie dekompilator do GM8 to może zaktualizuję. @Pablo: Ikona pozostaje bez zmian po zabezpieczeniu.
  9. Jednak nie zauważyłem wszystkich błędów w opisach :P Nazwę procesu podajemy oczywiście jako string.
  10. Nowy rok - czas na zmiany :)

  11. Snake

    W jakim to języku

    To jest język skryptowy programu "DS Game Maker".
  12. Przy funkcji window_find tytuł okna podajesz w drugim argumencie, nie pierwszym. Pewnie nie zauważyłeś poprawki: https://forum.gmclan.org/index.php?s=&s...st&p=283225 - m.in. właśnie przy tej funkcji źle podałem kolejność parametrów w opisie. A window_get_active() zwraca uchwyt aktywnego okna, więc jak będziesz - przykładowo - pisał w tym czasie coś w notepadzie to ci zwróci uchwyt okna tego notepada.
  13. Przy "AleGM_Wypelnij_Kolorem" zapomniałeś o argumencie w którym podaje się typ zwracanej.
  14. W GM-ie można zaimplementować sobie komunikację pomiędzy procesami za pomocą plików albo funkcji sieciowych (a może nawet za pomocą schowka?) ;p Chociaż pewnie np. potokami wygodniej by się operowało.
  15. process_create zwraca uchwyt procesu, nie ID. Niestety niema ATM w Xtendzie funkcji, która pozyskałaby identyfikator procesu przez uchwyt. Masz 2 wyjścia. Pierwsze: pobierzesz listę procesów za pomocą process_enumerate_processes() i przechwycisz ID wszystkich procesów o nazwie "cmd.exe". Drugie: pobierasz GFFI: http://www.messy-mind.net/2009/gffi/ i z jego pomocą importujesz funkcję o nazwie GetProcessId z WinAPI. Tak to będzie wyglądało: GML (Create) gffi_init(); global.hKernel32 = gffi_dll_load( "kernel32.dll", gffi.STDCALL ); global.pGetProcessId = gffi_function_define( global.hKernel32, "GetProcessId", gffi.UINT32, gffi.UINT32 ); a potem gdzieś w kodzie: GML hProcess = process_create( environment_get_variable( "COMSPEC" ), "/k start", "", false ); processId = gffi_function_call( global.pGetProcessId, hProcess );
  16. Hm, no to może: hProcess = process_create( environment_get_variable( "COMSPEC" ), "/k start", "", false );
  17. Powinno być: hProcess = process_create( environment_get_variable( "COMSPEC" ), "", "", false );
  18. Bezsens. Ciekawe czy to ficzer czy bug :F
  19. Otwierasz proces i szukasz adresów zmiennych wpisując ich wartość w polu wyszukiwania lub załączasz debugger i śledzisz kod aplikacji. Przykładowo: masz 123456 punktów doświadczenia (czy cuś), wpisujesz tą wartość do pola wyszukiwania, wyszukujesz, jeśli znaleziono za dużo wyników to nabywasz trochę tego EXP, wpisujesz tą nową ilość i szukasz w poprzednich wynikach, i tak w kółko dopóki nie wyeliminujesz wszystkich (bądź większość) nieprawidłowych adresów.
  20. Mała poprawka: https://gmclan.org/up541_4_Xtend20_fixed.html - poprawiłem opisy niektórych funkcji (wprowadzały w błąd np. złą kolejnością argumentów :F) i informacje o wersji pliku DLL.
  21. Nie zapomniałem. Wystarczy pomyśleć: gdy funkcja process_find_id() (szukanie ID po nazwie) zwróci 0 to oznacza, że proces o danej nazwie nie istnieje; jak process_open() zwróci błąd, to znaczy, że proces o podanym identyfikatorze albo nie istnieje albo i tak nie masz uprawnień by go otwierać. Pewnie zapomniałem zaktualizować wartość którejś zmiennej z VERSIONINFO. ;p A tą starszą wersję ze screenshota Marka.S nadal można znaleźć w pierwszym poście w temacie Xtenda.
  22. Snake

    DLL z Bilbioteki

    Upewnij się, czy na pewno projekt jest kompilowany do DLLa.
  23. Będzie, ale zaktualizuję to dopiero gdzieś za miesiąc, jak wydam nową wersję GMAPI.
  24. Pamiętaj tylko, że na prockach single-core ładowanie zasobów w kilku wątkach w tym samym czasie nie będzie wydajniejsze - wręcz przeciwnie, przez przełączanie kontekstu pomiędzy wątkami wydajność wykonywania kodu może być nieco niższa niż gdyby użyć jednego wątku. Najlepszym rozwiązaniem będzie wykorzystanie tylu wątków, ile rdzeni/procesorów jest w systemie.
×
×
  • Dodaj nową pozycję...