-
Postów
9 823 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
143
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez gnysek
-
Ja też nie przypominam sobie takiej funkcji. Najszybszy sposób to zdecydowanie GML sekunda = string(current_second); if (current_second<10) sekunda = '0'+sekunda; // ew. string_lenght(sekunda)<2</span>
-
Przypisywanie zmiennej drugiemu obiektowi
gnysek odpowiedział(a) na PoxiPol temat w Pytania początkujących
to dodaj if variable_local_exists('color') przed execute :) A zmienne powinny być zawsze zdefiniowane w create :) -
Przypisywanie zmiennej drugiemu obiektowi
gnysek odpowiedział(a) na PoxiPol temat w Pytania początkujących
w variable_local_set(); nazwa zmiennej jest w apostrofach z tego co wiem :) Do tego w kazdym obiekcie jest wykonywany kod create w momencie stworzenia, a nadane kodem zmienne są do odczytu dopiero od następnego stepa z tego co kojarzę, ew od End Step. -
To po co zakładasz temat? https://forum.gmclan.org/index.php?showtopic=8157 https://forum.gmclan.org/index.php?showtopic=10474
-
I to chyba lepiej niż japonki, przynajmniej w filmach.
-
Mejl nie mógł aktywować sam z siebie programu. Widocznie miałeś pirata, albo mylisz advanced mode z PRO.
-
W tym mejlu musiał być klucz, oraz link do pliku EXE z game makerem, dodatkowo samego GMa trzeba zarejestrować do wersji pro - wynika więc, że miałeś ciągle LITE i nigdy nie skorzystałeś z klucza!
-
jak to nie dostałeś klucza? To jak zarejestrowałeś go za pierwszym razem? trzeba było zapisać klucz wtedy :)
-
HTTP - RM_HTTP, albo 39dll :)
-
Oho, masz rogi jak diabeł jakiś!
-
Tak, to "RB", bo znalazłem w sieci jakiś inny program który to robi, kod nieczytelny, ale samo fread wyłapałem :P void CalculateFileMD5(char *fname, char *checksum) { int i; MD5_CTX m_md5; unsigned char buffer[1024]; FILE *plik; int bytes=0; plik = fopen( fname , "rb"); if ( plik == NULL ) { return; } MD5Init(&m_md5, 0); while( ( bytes = fread( buffer, 1, 1024, plik ) ) ) { MD5Update(&m_md5, buffer, bytes); } MD5Final(&m_md5); for (i = 0; i < 16; i++) sprintf(checksum+i*2,"%02x", m_md5.digest[i]); fclose( plik ); }
-
Modyfikuję sobie źródło 39Dlla, zeby sobie policzyć MD5 pliku. W delphi miałem kod na sumę kontrolną, to sobie przerobiłem pod C++: (dla małych plików jest OK (np. 200B), problem jest chyba po drugim przejściu przez pętlę While). void CalculateFileMD5(char *fname, char *checksum) { int i; MD5_CTX m_md5; char buffer[1024]; FILE *plik; int bytes=0, totalBytes = 0,size = 0; plik = fopen( fname , "r"); fseek (plik , 0 , SEEK_END); size = ftell (plik); rewind (plik); MD5Init(&m_md5, 0); while( ( bytes = fread( buffer, sizeof( char ), sizeof( buffer ) - 1, plik ) ) > 0 && totalBytes<size ) { totalBytes+=bytes; MD5Update(&m_md5, (unsigned char*)buffer, bytes); } //MD5Update(&m_md5, (unsigned char*)buffer, length); MD5Final(&m_md5); for (i = 0; i < 16; i++) sprintf(checksum+i*2,"%02x", m_md5.digest[i]); fclose( plik ); } Oryginał delphi: function MD5Stream(const Stream: TStream): TMD5Digest; var Context: TMD5Context; Buffer: array[0..4095] of Byte; Size: Integer; ReadBytes : Integer; TotalBytes : Integer; SavePos: Integer; begin MD5Init(Context); Size:=Stream.Size; SavePos:=Stream.Position; TotalBytes:=0; try Stream.Seek(0, soFromBeginning); repeat ReadBytes:=Stream.Read(Buffer, SizeOf(Buffer)); Inc(TotalBytes, ReadBytes); MD5Update(Context, @Buffer, ReadBytes); until (ReadBytes = 0) or (TotalBytes = Size); finally Stream.Seek(SavePos, soFromBeginning); end; MD5Final(Result, Context); end;
-
ojej, jak chcesz 30 - 400 to piszesz: zmienna := 30 + Losuj(370); jak chcesz 100 - 150 to piszesz: zmienna := 100 + Losuj(50);
-
Wracając do pierwszego postu: function Losuj(liczba: integer): integer; begin randomize; result := Random( round(liczba / 10) + 1 )*10; end; dla 270 losuje 0,10,20,...,260,270 :) Edit: tu kolejna wada, bo C,C++ czy Java zaokrągli w dół Inta gdy wyjdzie ułamek.
-
Widocznie źle coś napisałeś.
-
Wiem, wiem :P Losuje to samo :)
-
Z tego co pamiętam rand()%28 losuje z zakresu 0- 27 (tak działa modulo), dla tego upieram się przy ++zakres lub zakres+1. A ze zmiennymi to racja, nie mówia o tym, że musisz pisać integer zamiast int :P
-
C++ jest lepsze, piszę w Delphi czasem i naprawdę to jest kiepski język (ot chociażby begin i end zamiast { }, konieczność pisania then, słowo result które nie działa jak return i owszem, zwraca wartość, ale nie przerywa działania funkcji, trzeba pisać naprawdę sporo niepotrzebnego kodu, do tego nadawanie wartości poprzez :=, zamiast =, a przyrównywanie poprzez = zamiast ==, problemy z logicznym AND dla ifów (trzeba dać w nawiasie, albo są problemy) i setki takich pierdół, które na dłuższą metę są denerwujące, jak się zna chociaż jeden inny język). Ten kod w C: #include <time.h> // zapomniales int losuj(int zakres) { zakres /= 10; srand(time(NULL)); return (rand()%++zakres) * 10; // jednak preinkrementacja musi byc aby wylosowal z pelnego zakresu, sorki gnysku;p } i dla np. losuj (270) losuje nam jedną z liczb: 0,10,20,30,...,260,270. zes na szybko pisal ;p ΨΧΞ
-
Poradnik: Jak dodać kolor do GM'a
gnysek odpowiedział(a) na XxMichałxX temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Nie, wygodniej jest napisać tak: GML draw_set_color($FFCC00); GM przyjmuje wartości szesnastkowo, można więc normalnie kolory jak w HTMLu podawać :) Ew. z painta, do tego wystarczy kalkulator windowsa który zamienia Dec na Hex :) Jak napisałem, GM obsługuje szesnastkowe liczby, z prefixem $ :) -
https://forum.gmclan.org/index.php?s=&s...st&p=274158
-
czyli tak w skrócie GML if siedze_w_samochodzie = false { // losuje gdzie jedzie samochod } else { // kod odpowiedzialny za jazdę samochodem przez gracza }
-
Problem z odczytywaniem danych z pliku ini
gnysek odpowiedział(a) na Arekadiusz temat w Pytania początkujących
if nick=nicki zamień na if nick=nickpo co do sejva, to poczytaj w helpie, że jak testujesz grę, program directory jest w tempie, zatem zamień zmienną na working directiory i wtedy zawsze będzie ok :) -
Problem z odczytywaniem danych z pliku ini
gnysek odpowiedział(a) na Arekadiusz temat w Pytania początkujących
chociażby... GML nickpo=odszyfruj(nicki) show_message(nickpo); i już wiesz. -
Problem z odczytywaniem danych z pliku ini
gnysek odpowiedział(a) na Arekadiusz temat w Pytania początkujących
To sprawdź co zwraca skrypt i będziesz wiedział jakie hasło odczytał. -
Problem z odczytywaniem danych z pliku ini
gnysek odpowiedział(a) na Arekadiusz temat w Pytania początkujących
game_save( program_directory + '/nazwa.sav');