Jde nějak toto ?

Zde najdete typy na práci v RPG Makeru XP.

Moderátor: Moderátoři

Uživatelský avatar
 
Příspěvky: 1416
Registrován: červen 13, 2007, 11:05 am
Bydliště: Brno, snad někde na kopečku.

Jde nějak toto ?

Příspěvek od Grim » květen 22, 2009, 8:33 pm

Existuje způsob jak změnit tileset mapy bez toho, aby se udělala nová mapa?
Příklad z RMK2K3:
Z tohoto:

Obrázek
Toto:
Obrázek

V RMK2K3 to jde jednim příkazem a to Change Map Tileset. Existuje ře?ení skrz script :?:
Obrázek

Uživatelský avatar
 
Příspěvky: 1282
Registrován: duben 27, 2009, 6:54 pm
Bydliště: SR

Příspěvek od JKlena » květen 22, 2009, 9:51 pm

Co tak udělat místa co chce? aby se zmenili jako event?? (je to zdlouhavé, nevim co má? proti víc mapám...)

Uživatelský avatar
 
Příspěvky: 1416
Registrován: červen 13, 2007, 11:05 am
Bydliště: Brno, snad někde na kopečku.

Příspěvek od Grim » květen 22, 2009, 11:02 pm

Ale mě jde změnu vzhledu mapy a ne o přesun na jinou. Proto se ptám a eventama je to zdlouhavé.
Obrázek

Uživatelský avatar
 
Příspěvky: 232
Registrován: leden 14, 2008, 3:39 pm
Bydliště: Brno

Příspěvek od Drago » květen 23, 2009, 1:29 pm

Tady je na to script:
Kód: Vybrat vše
class Game_System
  attr_accessor :tileset_settings
 
  alias tileset_initialize initialize
  def initialize
    tileset_initialize
    @tileset_settings = Hash.new
  end
end

class Game_Map
  attr_accessor :tileset_flag
 
  def setup(map_id)
    # Put map ID in @map_id memory
    @map_id = map_id
    # Load map from file and set @map
    @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
    # set tile set information in opening instance variables
    if $game_system.tileset_settings[@map_id] != nil
      tileset_id = $game_system.tileset_settings[@map_id]
    else
      tileset_id = @map.tileset_id
    end
   
    tileset = $data_tilesets[tileset_id]
    @tileset_name = tileset.tileset_name
    @autotile_names = tileset.autotile_names
    @panorama_name = tileset.panorama_name
    @panorama_hue = tileset.panorama_hue
    @fog_name = tileset.fog_name
    @fog_hue = tileset.fog_hue
    @fog_opacity = tileset.fog_opacity
    @fog_blend_type = tileset.fog_blend_type
    @fog_zoom = tileset.fog_zoom
    @fog_sx = tileset.fog_sx
    @fog_sy = tileset.fog_sy
    @battleback_name = tileset.battleback_name
    @passages = tileset.passages
    @priorities = tileset.priorities
    @terrain_tags = tileset.terrain_tags
    # Initialize displayed coordinates
    @display_x = 0
    @display_y = 0
    # Clear refresh request flag
    @need_refresh = false
    # Set map event data
    @events = {}
    for i in @map.events.keys
      @events[i] = Game_Event.new(@map_id, @map.events[i])
    end
    # Set common event data
    @common_events = {}
    for i in 1...$data_common_events.size
      @common_events[i] = Game_CommonEvent.new(i)
    end
    # Initialize all fog information
    @fog_ox = 0
    @fog_oy = 0
    @fog_tone = Tone.new(0, 0, 0, 0)
    @fog_tone_target = Tone.new(0, 0, 0, 0)
    @fog_tone_duration = 0
    @fog_opacity_duration = 0
    @fog_opacity_target = 0
    # Initialize scroll information
    @scroll_direction = 2
    @scroll_rest = 0
    @scroll_speed = 4
  end
 
  def change_tileset(tileset_id)
    $game_system.tileset_settings[@map_id] = tileset_id
   
    tileset = $data_tilesets[tileset_id]
    @tileset_name = tileset.tileset_name
    @autotile_names = tileset.autotile_names
    @panorama_name = tileset.panorama_name
    @panorama_hue = tileset.panorama_hue
    @fog_name = tileset.fog_name
    @fog_hue = tileset.fog_hue
    @fog_opacity = tileset.fog_opacity
    @fog_blend_type = tileset.fog_blend_type
    @fog_zoom = tileset.fog_zoom
    @fog_sx = tileset.fog_sx
    @fog_sy = tileset.fog_sy
    @battleback_name = tileset.battleback_name
    @passages = tileset.passages
    @priorities = tileset.priorities
    @terrain_tags = tileset.terrain_tags
   
    @tileset_flag = true
  end
end

class Spriteset_Map
  alias tileset_update update
  def update
    if $game_map.tileset_flag
      @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
      for i in 0..6
        autotile_name = $game_map.autotile_names[i]
        @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
      end
      @tilemap.map_data = $game_map.data
      @tilemap.priorities = $game_map.priorities
      $game_map.tileset_flag = false
    end
    tileset_update
  end
end

Ale jak to funguje, to netu?ím, i kdy? tam myslím jsou nějaký popisky.
Aktuální projekty:

D.Soul [start projektu - 22.2.2008]
- Hotovo |||||||||| 30%

eXperiment [start projektu - netu?ím]
- Hotovo |||||||||| 50%

Uživatelský avatar
 
Příspěvky: 567
Registrován: květen 10, 2009, 7:49 pm
Bydliště: Sluneční soustava > planeta Země > Evropa > Česká republika > Moravskoslezský kraj...

Příspěvek od lekiller » květen 23, 2009, 2:02 pm

no, jde o to, ?e RPG MAKER XP podporuje různé velikostí tilesetů a zapamatovává si jejich přesné pozice, tak?e pokud někdo vytvoří nový tileset, musí dát ty dané políčka na místo těch původních... jinak to nejde, teda, aspoň nevím jak... jednodu?e přesuň ty jednotlivá políčka tam, kde byly původní. Dům na dům, zemi na zemi, atd...
Dělám v RPG MAKERU XP
http://www.lekiller.ic.cz - MŮJ WEB

Uživatelský avatar
 
Příspěvky: 1416
Registrován: červen 13, 2007, 11:05 am
Bydliště: Brno, snad někde na kopečku.

Příspěvek od Grim » květen 23, 2009, 2:06 pm

@ Drago: díky.
@ lekiller: mám na mysli stejnou velikost mapy jenom jiné prostředí tj. mo?nost udělat střídání ročních období.
Obrázek

Uživatelský avatar
 
Příspěvky: 567
Registrován: květen 10, 2009, 7:49 pm
Bydliště: Sluneční soustava > planeta Země > Evropa > Česká republika > Moravskoslezský kraj...

Příspěvek od lekiller » květen 23, 2009, 2:59 pm

já nemyslím velikost mapy ale toho tilesetu...
Dělám v RPG MAKERU XP
http://www.lekiller.ic.cz - MŮJ WEB

Uživatelský avatar
 
Příspěvky: 1416
Registrován: červen 13, 2007, 11:05 am
Bydliště: Brno, snad někde na kopečku.

Příspěvek od Grim » květen 23, 2009, 3:05 pm

srry měl jsem na mysli tilesetu né mapy. A snad půjde ten script.
@ Drago: Dá? mi link kde jsi to vzal :?: Pro lep?í pochopení. Díky.
Obrázek

Uživatelský avatar
 
Příspěvky: 567
Registrován: květen 10, 2009, 7:49 pm
Bydliště: Sluneční soustava > planeta Země > Evropa > Česká republika > Moravskoslezský kraj...

Příspěvek od lekiller » květen 23, 2009, 3:13 pm

tak to by mělo fungovat... představ si tileset (nazvěme ho léto) jeho? rozlo?ení bude vypadat takto
D-D-D-T-T-T-V-V-N
D-D-D-L-L-L-V-V-N
D-D-D-T-T-T-N-N-N

D= dům
T= tráva
L= lavička
V= voda (jezírko)
N= nic (bílá plocha)

no a kdy? chcu udělat tileset s názvem zima, zkopčím tenhle a přebarvuju jedno políčko po druhým bez změny umístění jednotlivých dílků... snad to chápe?...
Dělám v RPG MAKERU XP
http://www.lekiller.ic.cz - MŮJ WEB

Uživatelský avatar
 
Příspěvky: 881
Registrován: srpen 25, 2008, 9:01 pm

Příspěvek od Sorc » květen 23, 2009, 3:21 pm

On to chpáe, on potřbuje nastavit aby se v mapě změnil jeden tileset na druhý.

Uživatelský avatar
 
Příspěvky: 1416
Registrován: červen 13, 2007, 11:05 am
Bydliště: Brno, snad někde na kopečku.

Příspěvek od Grim » květen 23, 2009, 4:34 pm

Vím s tím tilesetem, ale potřebuji jak dát příkaz nebo ten script do hry.
Obrázek

Uživatelský avatar
 
Příspěvky: 567
Registrován: květen 10, 2009, 7:49 pm
Bydliště: Sluneční soustava > planeta Země > Evropa > Česká republika > Moravskoslezský kraj...

Příspěvek od lekiller » květen 23, 2009, 7:01 pm

jo takhle, tak?e ty chce? aby během hraní se změnil tileset mapy? tak to nevím sry... :(
Dělám v RPG MAKERU XP
http://www.lekiller.ic.cz - MŮJ WEB

Uživatelský avatar
 
Příspěvky: 232
Registrován: leden 14, 2008, 3:39 pm
Bydliště: Brno

Příspěvek od Drago » květen 24, 2009, 1:08 pm

Grim píše:Dá? mi link kde jsi to vzal :?: Pro lep?í pochopení. Díky.

To je právě problém, ono k tomu ?ádný vysvětlení nebylo. Někdo to poslal jako odpověd na dotaz ohledně změny tilesetu. Bylo to tohle téma, jestli to nějak pomů?e.
Aktuální projekty:

D.Soul [start projektu - 22.2.2008]
- Hotovo |||||||||| 30%

eXperiment [start projektu - netu?ím]
- Hotovo |||||||||| 50%


Zpět na Problémy, tipy, rady, tutoriály k RPG Makeru XP

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků