Skocz do zawartości

PsichiX

Użytkownicy
  • Postów

    5 647
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    12

Treść opublikowana przez PsichiX

  1. Hehe, tyle ze to jest OpenSource gry juz ponad rok temu ukonczonej :D https://forum.gmclan.org/index.php?showtopic=2956
  2. Tytuł: PlayGate Framework Gatunek: C++ & GML Framework Opis: PlayGate to: System dzięki któremu można połączyć GML z C++ co pozwoli na większościowe (a nawet całkowite) zabezpieczenie gier przed dekompilacją oraz poprawi wydajność działania aplikacji. W tej wersji na razie nie ma algorytmu szyfrującego, więc jest możliwa tylko i wyłącznie częściowa dekompilacja wygenerowanego modułu (takzwany posiekany kod GML ale raczej nie da się skleic calej aplikacji GML tylko z kawalkow kodu - reszta waznego kodu przeciez pozostaje w module jako zmienne aktywne ;p). Licencja, informacje i przykład używania są umieszczone w pliku "PlayGateFramework.cpp". Framework został napisany w Dev-C++ IDE 4.9.9.2 i jego polecam używać (bo po co babrać się w Visuala dla zwyklego dllka o malej zawartosci kodu), a także przydała by się chociaż podstawowa wiedza na temat C++ (do prostych czynności nie az tak wymagana, ale wiedziec conieco o srodowisku w ktorym bedziemy pisac aplikacje na prawde warto). Jak ogólem możemy wykorzystywać PlayGate? Najprosciej można umieścić polecenia wykonywania poszczególnego kodu GML przez co będzie sie zachowywać jak zwykła aplikacja GMa, ale można też pobierać informacje z GMa, gromadzić je i potem wykorzystywać z innymi komponentami C++ (rożne zaawansowane obliczenia, które będą wykonywać się szybciej niż miałoby to miejsce w GM - daje to ogromne pole dzialań dla bardziej obeznanych koderów C++ :D). PlayGate wykorzystuje GMThreads Snake'a dzięki czemu możemy wywoływać kod GML kiedy tylko zechcemy oraz czekać na rezultat i odpowiednio wykonywać następne polecenia. Download: RAR: https://gmclan.org/up1105_4_PlayGate_Framework_1_0.html ZIP: https://gmclan.org/up1105_3_PlayGate_Framework_1_0.html Rozmiar pliku: 1475KB Autorzy: Programowanie: PsichiX (PlayGate Framework) + Snake (GMThreads) Grafika: PsichiX Screeny: http://xs130.xs.to/xs130/08333/screen01875.jpg http://xs130.xs.to/xs130/08333/screen02955.jpg Temat na YoYoGames: http://gmc.yoyogames.com/index.php?showtopic=392408 Do wykonania w kolejnej wersji: ^ Narzędzia do tworzenia zaszyfrowanych zasobów które będzie ładował i deszyfrował PlayGate. ^ Przykłady różnych metod tworzenia aplikacji z użyciem PlayGate.
  3. Pamietam ze z tym zyciem to chodzilo o realizm, zeby zmusic gracza do myslenia, bo na przeciwnikow jest sposob - podkradanie sie, strzal i chowanie
  4. Witajcie :) Oddaję w Wasze ręce plik źródłowy (GM6) mojej chyba najlepszej gry zrobionej na klockach (+ nieraz z kodem) dawno dawno temu kiedy jeszcze sie kodowaniem nie interesowalem. Wiem że na forum jest wiele osób które wolą klocki od kodu lub nie chce im sie uczyć na razie kodu, a przecież nie mówimy klockom "nie", więc od teraz klockomaniacy będą mogli podpatrzeć jak to się robi różne rzeczy, których jeszcze nie potrafią, a które można znaleść w tejże gierce :) Download: https://gmclan.org/up1105_11_HeavyBullet.html Enjoy! ΨΧΞ
  5. radze autorowi zamknac temat i poprosic jakiegos redaktora by to po prostu dodal do FAQ.
  6. No ja na nie szczescie nie mam nic do gadania a tez jestem za tym 10 stopniowym ocenianiem, no ale w sumie to i tak nie wykonalne: teraz musialby sie znalesc ktos kto by napisal ten modul a zawsze robil to Tymon a go nie ma, poza tym trzeba by bylo przeskalowac obecne oceny na nowy system, a baza jest ogromna i to by zajelo (oczywiscie nie recznie). Wiec pomysl nie wyjdzie (a szkoda)
  7. To aplikacja: https://gmclan.org/up1105_4_PlayGateBeta_unsec_.html A tu jest kod (C++ & GML) (czesc ktora sie dobiera do zmiennej): start: PlayGate.ExecuteResult(3,"global.player=PlayGateReturnDouble(instance_create(0,0,logo));"); player.id=PlayGate.GetResultDouble(); MessageBox(GMappHandle,"PlayGate Framework: system test.\nPlayGate system start!","PlayGate",MB_OK); PlayGate.ExecuteResult(3,"PlayGateReturnChar('PlayGate User');"); player.nick=PlayGate.GetResultChar(); player.x=320; player.y=240; MessageBox(GMappHandle,player.nick,"PlayGate: Welcome!",MB_OK); gdzie obiekt player ma nastepujaca zawartosc: double id; double x; double y; char* nick; koniec: MessageBox(GMappHandle,player.nick,"PlayGate: Good bye!",MB_OK); Tak to sie robi, na starcie zawsze pokazuje dobrze "PlayGate User", ale nie wiem czemu sie tak kaszani - dziwne ze za kazdym razem reaguje inaczej, raz pokazuje na koncu "PlayGate User" a raz nic nie pokazuje albo taki smiec: "240." O.o EDIT: A zaraz, cos mi tu niegra - moze blad jest w tym ze pobieram tylko wskaznik do lancucha znakow w pamieci GMa ("PlayGate User")? Moze jednak to bedzie dzialac jak przepisze to do zmiennej po prostu :D TAAA to chyba musi dzialac - zaraz sprawdze ;D EDIT2: LOL DZIALA! ^^ tak jak myslalem - wystarczylo przepisac ze wskaznika znaki do tablicy w aplikacji
  8. jak wiesz (bo widziales szkielet aplikacji w gm) mam 3 funkcje: jedna wykonywana na starcie, jedna na zakonczeniu a trzecia wykonywana co step i jak umiescilem kod z wykrywaniem bledow w funkcji tworzenia watku i dalem wykonywanie w funkcji na starcie to mi blokowalo aplikacje, ale jak dalem w stepie to spoko dzialalo. wiec po prostu dalem kod z wykrywaniem bledow do osobnej funkcji i dalem jej wykonywanie spowrotem na startup i wszystko o dziwo dzialalo. nadal nie wiem czego wtedy tak blokowalo ale grunt ze juz dziala, jak na razie nie mam zadnych skarg. EDIT: i znalazlo sie cos w koncu - czy ten dll kasuje aby na pewno pamiec zajmowana przez watki? bo do PlayGate'a zwracam pewna wartosc i ta wartosc wyswietla poprawnie, a po wywolaniu innego watku w jakis sposob dane w zmiennej zostaja nadpisane(?) bo wyskakuje mi zupelnie inna wartosc niz byla na poczatku a nigdzie nie reallocowalem zmiennej ani nie zmienialem jej wartosci O.o
  9. No w końcu dziala jak należy :D teraz pozostała reszta testów EDIT: w c++ nie dziala funkcja last error a plik naglowkowy i ladowanie funkcji z dlla mam dobrze napisane :/ wyglada normalnie jakby wykonywal jakas nieskonczona petle EDIT2: hmm, ale tak sie dzieje tylko w jednym miejscu w pliku, zaraz to inaczej sprobuje rozwiazac
  10. to nie jest tylko do trybu 3D, nawet nie sprawdziles wiec nie mow co ile efektu daje. to chyba jedyny najmniej prockozerny sposob na antyaliasing w gm. mozesz tez sprobowac zrobic blura - render do surfaces i drawowanie normalnie surfaces a potem na nie obok siebie kilka z lekkim alpha
  11. GML x = view_xview[0] y = 416 +view_yview[0] ten kod wykonuj w draw a nie step to nie bedzie "skakac"
  12. w opcjach mozesz wlaczyc interpolacje pixeli (dla efektu antyaliasingu)
  13. z tym od razu sobie poradzilem. Mam nadzieje ze update do gm6.1 wyjdzie w miare szybko bo coraz bardziej przesuwa mi sie koniec roboty z frameworkiem :)
  14. PsichiX

    Blad w kodzie

    Podal Ci rozwiazanie -.- #include <iostream.h> using namespace std; int main( ) { cout <<"Witaj.Jestem Zenek.Zadam ci kilka pytan bo chcem sie dowiedziec o swiecie i stworzeniach na nim zyjacych.Moge zaczynac zadawac pytania?\n\n1.tak\n2.nie"; int a; cin >> a; if ( a < 2 ) cout << "\nDzieki.Wiec 1 pytanie:"; else cout << "\nA tam i tak mi odpowiesz :P"; char name [30]; cout <<"\n\nJak masz na imie?"; cin >> name; cout <<"hmm...masz bardzo ladne imie " << name; // tu miales 'imie' char mieszkasz [30]; cout <<"A gdzie mieszkasz " << name; // i tu tez cin >> mieszkasz; cout <<"CO??!! " << mieszkasz; cout <<"??!!Te zadupie??!!Wspolczoje!"; char zal[30]; cout <<"Jak ma na imie twoj chlopak?"; cin >> zal; cout << "O korwa!To ja juz wole " << mieszkasz; system("PAUSE"); return 0; } badz konsekwentny w tym co robisz i czytaj tresci bledow
  15. Snake: ciagle sprawdzam funkcje i musze powiedziec ze zuzycie procka siega max 25% (co jest dla mnie zadowalajace) ale za to co sekunde zuzycie pamieci wzrasta o 90-110 k :/ a uzywam co stepa wylacznie tych funkcji co podalem
  16. podam Ci funkcje jakie uzywam w aplikacji (ich wartosc od razu wyslam do dlla): instance_create(0,0,logo) keyboard_check(ord('W')) keyboard_check(ord('S')) keyboard_check(ord('A')) keyboard_check(ord('D')) EDIT: przydalo by sie zrobic mozliwosc przypisania watku do danego obiektu (bez zabawy w with()) - zeby mozna bylo uzywac zmiennych lokalnych PS. Chyba jestem jedynym ktory na powaznie zajal sie testowaniem tego dlla xD
  17. Tyle ze ja wogole nie tworze zmiennych lokalnych, tworze same globale - i to jest zastanawiajace.. :0 To wracam do testowania reszty funkcji
  18. w gmie wogole przydloby sie cos jak w c++ makra z grupy va_list - dalo by to mozliwosc nieskonczonej ilosci argumentow co by znacznie ulatwilo prace
  19. jesli chodzi o jedynke to najpierw zapisz wszystkie karty do listy, potem losuj z tej listy i wylosowana karte usuwaj z listy.
  20. jak dla mnie to gwiazdki powinny byc popierane komentarze do tego (niejawnym autorem rzecz jasna tylko dla userow, a modzi i admini mieli by wglad do tego kto ocenil i dal komentarz). tylko kto zrobi takie cos to forum? wczesniej Tymcio robil takie rzeczy a teraz nie wime kto sie tym by zaja
  21. Temat przeniesiony - ciesz sie ze bez warna
  22. PsichiX

    Almora 0.7.4

    probuje sie polaczyc z serwerem i mi blad wywala ze musze sprawdzic port O.o
  23. Video - Idę na plażę Co prawda najblizsza plaża jest 4 km ode mnie, ale slucham tego tak dla odstresowania - piosenka odpedza dolujace mysli ;P
×
×
  • Dodaj nową pozycję...