Skocz do zawartości

Tymon

Użytkownicy
  • Postów

    5 841
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    5

Treść opublikowana przez Tymon

  1. A jakby zaczerpnąć z osiągnięć OpenOffice?
  2. Tu się mylisz. Jeśli wykorzystujesz alarmy jako liczniki i sprawdzasz ich stan bez wywołania eventu alarmu to ich stan nigdy się nie zmieni. Stąd pewnie moje przyzwyczajenie. ;) W sumie równie dobrze można wsadzić komentarz do tego zdarzenia.
  3. GML (Step) if( alarm[0] == -1 ) alarm[0] = 5 * room_speed; GML (Alarm0) speed += 1; alarm[0] = -1; Jeśli już. GML (Create) alarm[0] = 5 * room_speed; GML (Alarm0) speed += 1; alarm[0] = 5 * room_speed; To samo. EDIT Dobra, widzę, że w GM8 nie ma potrzeby ustawiania alarmu na -1 po jego wywołaniu, można zostawić w metodzie 1 samo: GML (Alarm0) speed += 1;
  4. Więc napisz prostą bibliotekę w Delphim czy C++ i tyle. Masz artykuły howto na stronie. Lion, nazwa to raczej tak pi*dźwi, bez różnicy w sumie. ;)
  5. Szfak. Bo GM liczy początek stringa od 1, a nie od zera... zawsze robię ten błąd. :) GML (number) var pos; pos = string_pos( '.', argument0 ); if( pos != 0 ) return real( string_digits( string_copy( argument0, 1, pos - 1 ) ) + '.' + string_digits( string_delete( argument0, 1, pos ) ) ); else return real( string_digits( argument0 ) ); Od cały problem. Ingen, tak, ale to trochę zbyt łopatologiczne.
  6. Tymon

    GMclan-owe cytaty

    Jej. Jestem w cytatach.
  7. Nie, masz zmienne A, B i C. To Twoje inputy, użytkownik ustala ich wartość. Podaje liczbę A, podaje typ działania B, podaje liczbę C, oblicza ABC i zapisuje do A. Później nie musi podawać A, podaje tylko B i C lub wciska "Wyczyść" by rozpocząć proces od podania A. Zasada działania kalkulatora w telefonach SE. EDIT ... w ogóle tak działają kalkulatory proste.
  8. O, właśnie Dawidds, nie pamiętałem jak się nazywa ta funkcja. Nie uwzględnia kropki, ale przyda się do optymalizacji. GML (number) var pos; pos = string_pos( '.', argument0 ); if( pos != 0 ) return real( string_digits( string_copy( argument0, 1, pos - 1 ) ) + '.' + string_digits( string_delete( argument0, 1, pos ) ) ); else return real( string_digits( argument0 ) ); EDIT https://forum.gmclan.org/index.php?s=&s...st&p=299095 Fixed.
  9. https://gmclan.org/up152_12_140410_gm8_ala_icytower.html Coś takiego. ;)
  10. GML (number) for( i = 1; i <= string_length( argument0 ); i += 1 ) { char = ord( string_char_at( argument0, i ) ); if( ( char < 48 || char > 57 ) && char != 46 ) { if( i == 1 ) return 0; else return real( string_copy( argument0, 0, i - 1 ) ); } } return real( argument0 ); GML show_message( string( number( get_string( 'Podaj liczbe:', '' ) ) ) );
  11. Path do domyślnej przeglądarki w masz w rejestrze HKEY_CLASSES_ROOT\http\shell\open\command Odczytaj i uruchom. EDIT Dobra, coby nie było bo wam myślenie ciężko idzie: GML registry_set_root( 2 ); execute_program( registry_read_string_ext( '\http\shell\open\command', 0 ), 'gmclan.org', false );
  12. https://gmclan.org/up152_12_150410_gm8_linki.html Przeciągnij z obiektu na obiekt by połączyć, prawym przenoś. Było od razu się mnie posłuchać. :/
  13. To daj im parent count i szukaj count. Swoją drogą łatwiej: GML count = 0; with( objekt ) { if( x > x1 && x < x2 && y > y1 && y < y2 ) other.count += 1; } Gdzie x1, x2, y1, y2 to współrzędne regionu.
  14. O, rzeczywiście. :) Nie zmodyfikowałem warunków, 3 linia: GML (Step) if( lines[linesCount - 1,1] != -1 )i 13GML if( lines[linesCount - 1,1] != 1 )Niedopatrzenie. https://gmclan.org/up152_12_130410_gm8_lines_break.html https://gmclan.org/up152_12_130410_gm8_lines_continue.html
  15. Tymon

    Bat

    set name=lol http://ss64.com/nt/set.html @echo off ::zmienne set text[0]=hi set text[1]=elo set text[2]=jol set text[3]=cze ::wyswietlanie set i=0 :LOOP if %i% LEQ 3 ( call echo %%text[%i%]%% set /a i+=1 goto LOOP ) pause
  16. Paletka nie ma speed. :D Dobra, dodaj do script0 coś takiego: GML if( abs( other.x - other.xprevious ) >= 10 ) { speed = 17; } Powinno działać. ;)
  17. Poprawka. GML direction=point_direction(x,y,mouse_x,mouse_y); GML direction=point_direction(x,y,bohater.x,bohater.y);
  18. To zmiana kierunku, nie wpływa na prędkość. Prędkość paletki ma się zmniejszyć do 7? Najlepiej podeślij to co tam masz. Było by po prostu wygodniej.
  19. https://gmclan.org/up152_12_130410_gm8_pokemon.html Prosta wersja tekstowa. Wygląda to mniej więcej tak od strony technicznej.
  20. CTRL, mniej gadana, więcej robienia. Racja, nie pomyślałem. :) Ogólnie nie wiedzę w tym problemu. Całość dzieli się na kilka etapów: Rozpoczęcie walki Menu gracza Reakcja komputera Rozwiązanie Plus cała masa animacji. Spróbuję coś wykombinować, jednak nie licz na animacje bo zwyczajnie mi się nie chce. ;)
  21. 2 obrazki to raczej mało mówią osobie która nigdy nie grała w Pokemony. :)
  22. Ta sam sytuacja, zdarzenie kolizji kuli z obiektem: GML if( other.speed >= 10 ) { //akcja } W other przechowywane jest id obiektu z który wystąpiła kolizja. :)
  23. Piszę z głowy i nawet nie otwieram GMa, ale ok, pofatyguję się, otworzę i zaraz poprawię to co on tam ma, jak trzeba. ;)
  24. Ogólnie trochę głupie rozwiązanie, bądźmy szczerzy. Po co przypisywać x i y skoro można połączyć 2 obiekty przez ID. Wyglądało by to mniej więcej tak, w obiekcie które mają się łączyć: GML (Create) target = noone; // zmienna trzymajaca id obiektu do ktorego zostaje przywiazany</span></span> GML (Draw) draw_sprite( sprite_index, image_index, x, y ); // rysowanie sprita obiektu, coby byl widoczny if( target != noone ) // jesli nie ma obiektu do ktorego zostal przywiazany { if( instance_exists( target ) ) // jesli obiekt ten istnieje, sprawdzenia dla pewnosci gdyby zostal przez przypadek zniszczony { draw_arrow( target.x, target.y, x, y, 10 ); // rysowanie strzalki od obiektu do celu } } Przy kliknięciu LPM:GML // ten kod pozwala na wiazanie obiektow // potrzebujemy 2, wiec najpierw zapiszemy id pierwszego, a pozniej kazemy uzytkownikowi wybrac drugi if( global.target == noone ) // jesli nie wybrano jeszcze pierwszego global.target = id; // zapisujemy id pierwszego obiektu else if( global.target != id ) // jesli wybrano juz pierwszy obietk i drugi wskazany nie jest tym samym co pierwszy to... { target = global.target; // przypisz obiekt celu do obiektu global.target = noone; // wyczysc wskaznik na pierwszy } Nie zapomnijcie tylko o umieszczeniu gdzieś, gdziekolwiek:GML global.target = noone; // wskaznik na piwerwszy obiekt</span> Plus tego taki, że ma się dostęp do instancji, bez konieczności szukania jej po pozycji.
  25. Trzeba sprawdzić czy instance_position(mouse_x,mouse_y,obj_all) zwraca noone, jeśli nie to wtedy przypisać x instancji do global.xx2
×
×
  • Dodaj nową pozycję...