Skocz do zawartości

Konrad-GM

Użytkownicy
  • Postów

    2 728
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    44

Treść opublikowana przez Konrad-GM

  1. Widać loopowanie tekstury na drodze :P Zresztą ten pierwszy i tak najlepiej wygląda.
  2. Pierwszy prototyp wygląda najlepiej :)
  3. Konrad-GM

    Galeria Grafik

    "Kiedyś to było lepiej" - phi... :)) Najwyraźniej co niektórzy dalej pozostali w - komunistycznym - toku myślenia.
  4. Odwrócone powiadasz? może up-vector ustaw na -1(oś z)?
  5. Konrad-GM

    Galeria Grafik

    A to ANtY nie ma takiego prawa? Nie może mu się nie podobać grafika propaganji?
  6. Dlatego nie działa bo - do takich rzeczy używa się tylko jednego obiektu. E: obj-player??
  7. Więc wiedź, że każde wywołanie with zastąpi other na ID instancji, w którym znajduje się blok with ;)
  8. Jak dla mnie bardzo fajnie że to działa nie tylko w eventach kolizji :) Jeszcze jedno: GML (objA) // Create zmienna = "Jakis tekst"; // Jakis tam inny event np. mouse button pressed with( objB ) event_perform( ev_alarm, 0 );// Nie musi być alarm, może być userdefined lub jakiś inny event np. kolizji</span> GML (objBAlarm0) show_message( other.zmienna );Też będzie działać, dlatego other jest bardzo fajne ;)
  9. Na przyszłość staraj się używać tekstur ^2 :) @UP: Właśnie u mnie tak samo to wygląda...
  10. Spróbuj z: GML (srcgetsprite) // src_getsprite( index ) return execute_string( "return spr_tralala"+string(argument0)+"srututu;" );
  11. GML (srcgetsprite) // src_getsprite( index ) switch( argument0 ) { case 0: return spr_tralala0sru; break; case 1: return spr_tralala1srutu; break; case 2: return spr_tralala2stutu; break; case 3: return spr_tralala3srututu; break; default: return sprPlaceholder; }
  12. Nie tylko: GML zmienna = 123; with( objCostam ) { if( zmiennaOdCostam == 3 ) other.zmienna = 321; } Powinno działać... E: Sorki za dubla...
  13. Z resztą, za te inventory to się wziąłeś od du py strony... GML // Create kontrolera global.inventory = ds_grid_create( 8, 4 ); ds_grid_clear( global.inventory, -1 ); global.inventory_offset_x = 0; global.inventory_offset_y = 0; // Dodawanie do ekwipunku przedmiotu var _n, _to, _cell; _to = ds_grid_width( global.inventory )*ds_grid_height( global.inventory ); for( _n = 0; _n < _to; _n += 1 ) { _cell = ds_grid_get( global.inventory, _n mod 8, _n div 4 ); if( _cell != -1 ) // Slot nie jest wolny { if( ds_map_find_value( _cell, 'type' ) == object_index ) // Czy to nie przypadkiem ten sam typ? { ds_map_add( _cell, 'count', 1 ); instance_destroy(); break; } else continue; } _cell = ds_map_create(); ds_map_add( _cell, 'type', object_index ); ds_map_add( _cell, 'index', scr_get_indexof( object_index ) ); // *1 ds_map_add( _cell, 'count', 1 ); ds_grid_set( global.inventory, _n mod 8, _n div 4, _cell ); instance_destroy(); break; } // Usuwanie przedmiotu z ekwipunku var _x, _y, _cell; _x = scr_inventory_cell_x( mouse_x ); // *2 _y = scr_inventory_cell_y( mouse_y ); if( _x == -1 || _y == -1 ) exit; _cell = ds_grid_get( global.inventory, _x, _y ); // Edit : Jeśli nic się nie znajduje w slocie if( _cell == -1 ) exit; with( instance_create( objPlayer.x, objPlayer.y, ds_map_find_value( _cell, 'type' ) ) ) { vspeed = 1 - random( 2 ); // Taki sobie efekt 'rzucania' hspeed = 1 - random( 2 ); } ds_map_add( _cell, 'count', -1 ); if( ds_map_find_value( _cell, 'count' ) == 0 ) { ds_map_destroy( _cell ); ds_grid_set( global.inventory, _x, _y, -1 ); } Myślę, że trochę lepiej powinno się prezentować. *1 - Skrypt scr_get_indexof pobiera indeks subimage spritea przedmiotów. GML (scrgetindexof) switch( argument0 ) { case objItem_WoodenSword: return 1; case objItem_SilverSword: return 2; default: return 0; // Pod indeksem 0 kryje się placeholder :) } *2 - Skrypty scr_inventory_cell_x i scr_inventory_cell_y pobierają indeks komórki, nad którą znajduje się kursor. GML (scrinventorycellx) var _n; for( _n = 0; _n < ds_grid_width( global.inventory ); _n += 1 ) { if( argument0 > _n*32 + global.inventory_offset_x && argument0 < _n*32+32 + global.inventory_offset_x ) // Wielkość slota na itemy = 32px return _n; } return -1; Analogicznie co do scr_inventory_cell_y Pisałem wszystko bez GMa, więc mogą być drobne/większe problemy.
  14. A co, jeśli podniesie się przedmiot gdy plecak będzie widoczny? :3 Edit: GML if inventory[i,j] = 0 { inventory[i,j].visible = true; Jeśli inventory[i,j] wskazuje na 0, to zasadniczo nie wskazuje na żaden obiekt. Więc 'visible = true' nie może zadziałać.
  15. Bez sensu, po cholerę w jednym stepie ustawiasz visible na true, a następnie na false?
  16. Tru, ten kod się powtarza - bezsens, musisz go zredukować troszku.
  17. Ok, DO dwóch wymiarów :P
  18. Faktycznie, nie dopatrzyłem się, poprawione ;)
  19. 1. GML // Do jednej zmiennej można przypisywać równie liczbę jak i tekst: zmienna = 0; zmienna = "123"; 2. GML // Nie można łączyć liczb z łańcuchem znaków: zmienna = 123 + "321"; // Natomiast tak już działa: zmienna = 123 + real("321"); // Analogicznie z łańcuchem, poza funkcją real(..), w przypadku do łączenia łańcuchów z liczbami trzeba użyć string(..)</span></span> 3. GML // Istnieją zmienne globalne global.zmienna = 0; // Zmienna globalna zmienna = "NIE nadpisze global.zmienna"; // Zmienna lokalna</span></span> 4. GML // Każde wywołanie nieznanej zmiennej rzuci errorem. // Można sprawdzić czy zmienna globalna/lokalna istnieje po przez: if( !variable_global_exists( "zmienna" ) ) { global.zmienna = "jakiś tekst"; // lub variable_global_set( "zmienna", "jakiś tekst" ); } if( !variable_local_exists( "zmienna" ) ) { zmienna = "jakiś tekst"; // lub variable_local_set( "zmienna", "jakiś tekst" ); } 5. GML // Istnieją również tablice, tylko 2 wymiarowe. tablica[0] = "jakiś tekst"; tablica[1] = 123; tablica2[0,0] = "jakiś tekst"; tablica2[0,1] = 123; global.tablica[0] = "jakiś tekst"; global.tablica[1] = 123; global.tablica2[0,0] = "jakiś tekst"; global.tablica2[0,1] = 321; Po resztę odsyłam na dokumentację.
  20. SELECT * FROM rod ORDER BY id ASC LIMIT 1
  21. W GML istnieją funkcje do edycji tilemapy: np. tile_add i inne pochodne tile_*
  22. Wyszukiwanie binarne + collision_line w tym przypadku będzie szybsze ;) instance_position(...);
  23. Platyna napisał artykuł o wyszukiwaniu binarnym, szybki i efektowny sposób ;) https://gmclan.org/index.php?artykul=74
  24. Konrad-GM

    Dead End 2

    Popraw ściany, bo są płasko wyrównane z poziomem podłogi ;p
×
×
  • Dodaj nową pozycję...