Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Mapa Świata [XP]
Autor Wiadomość
R.I.P. 




Preferowany:
RPG Maker XP

Pomógł: 9 razy
Dołączył: 28 Mar 2010
Posty: 173
Skąd: Warszawa
Wysłany: Wto 13 Lip, 2010 18:51
Obrazek nie wygląda zbyt zachęcająco do dodania do swojej gry lecz napewno jest inaczej niż myśle i to wygląda troche lepiej :-D , mam nadzieje że tak właśnie jest i może dodam ten skrypcik do mojej nowej gry którą robie :mrgreen: .





Pozdr. R.I.P. :papa:
 
 
adoksz 



Preferowany:
RPG Maker XP

Dołączył: 19 Lis 2010
Posty: 23
Skąd: ;]
Wysłany: Pią 10 Gru, 2010 08:02
po włączeniu tego: $scene=Scene_WorldMap.new
na ułamek sekundy pokazuje mi się mapa a potem czarny ekran i :
 
 
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Pią 10 Gru, 2010 15:00
Coś pomieszałeś w ustawieniach (na początku skryptu). Sto procent. Wklej od siebie ten fragment, to spróbuję pomóc.
 
 
 
adoksz 



Preferowany:
RPG Maker XP

Dołączył: 19 Lis 2010
Posty: 23
Skąd: ;]
Wysłany: Sob 11 Gru, 2010 17:38
ok wszystko dziala, odkryłem że skrypt "gryzie się" z skryptem na myszkę w grze

tylko ze niewiem jak sprawdzic x i y danego miejsca na mapie;( pliss pomoz
 
 
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Sob 11 Gru, 2010 19:26
'Sprawdzic'? Zmienić? Na mapie świata, czy mapie lokacji?
 
 
 
adoksz 



Preferowany:
RPG Maker XP

Dołączył: 19 Lis 2010
Posty: 23
Skąd: ;]
Wysłany: Pon 13 Gru, 2010 18:02
ehm no chodzi o to ze jak wlacze tą twoją mapę już w grze to nie wiem jak zrobić żeby ten kursorek był w innym miejscu poniewaz wzielem swoj obrazek. I tak pewnie nie zrozumiesz o co chodzi jak jutro będę na drugim kompie wrzucę ci demko w którym będzie wszystko pokazane
 
 
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Pon 13 Gru, 2010 19:06
Przykładowy wpis wygląda tak:
Kod:
PLACES << "Wioska"; COORDINATES << [x=33, y=440]; KNOWN_PLACES << true; TELEPORTS << [map_id=1, x=13, y=1, direction=2]

33 i 440 to współrzędne punktu na twoim obrazku. Pozmieniaj, pobaw się.
 
 
 
adoksz 



Preferowany:
RPG Maker XP

Dołączył: 19 Lis 2010
Posty: 23
Skąd: ;]
Wysłany: Pon 13 Gru, 2010 19:11
sabbiku ja chcem wiedziec jak sprawdzic wspolrzedne danego miejsca na moim obrazku
________________________
Kod:
rpg xp

 
 
adoksz 



Preferowany:
RPG Maker XP

Dołączył: 19 Lis 2010
Posty: 23
Skąd: ;]
Wysłany: Pon 13 Gru, 2010 19:27
i jeszcze jedno da sie tak zrobić zeby bylo bez tych calych teleportow?
________________________
Kod:
rpg xp

 
 
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Pon 13 Gru, 2010 19:39
Spoiler:

Kod:
# ================================================================
# World Map script
# ----------------------------------------------------------------
# * by Sabikku
# * 1.05.10
# * zamthir.net/forum
# * ultimateam.pl
# ================================================================

# Constants.
PLACES = []; COORDINATES = []; KNOWN_PLACES = []; TELEPORTS = []
PLACES << "Wioska"; COORDINATES << [x=33, y=440]; KNOWN_PLACES << true; TELEPORTS << [map_id=1, x=13, y=1, direction=2]
PLACES << "Las"; COORDINATES << [x=85, y=377]; KNOWN_PLACES << true; TELEPORTS << [map_id=4, x=1, y=15, direction=6]
PLACES << "Ścieżka"; COORDINATES << [x=195, y=257]; KNOWN_PLACES << true; TELEPORTS << [map_id=5, x=64, y=68, direction=8]
PLACES << "Góra"; COORDINATES << [x=325, y=172]; KNOWN_PLACES << true; TELEPORTS << [map_id=7, x=44, y=83, direction=8]
MAP_NAME = "mapa2.png"
CURSOR_NAME = "glowka.png"
FIRST_PLACE = "Wioska"
COMMAND_WINDOW_OPACITY = 175
COMMAND_WINDOW_BOTTOM_ALING = true

# In-event script commands.
# learn(place_string) - learning a new place.
# set_place(place_string) - setting a current place string.

# ================================================================
# MODIFICATIONS
# ================================================================

class Game_System
  attr_accessor :known_places, :last_place
  # Initialize. --------------------------------------------------
  alias sab_initialize initialize
  def initialize
    sab_initialize
    @known_places=KNOWN_PLACES
    @last_place=FIRST_PLACE
  end
end

# ================================================================

class Game_Player
  attr_accessor :direction
end
 
# ================================================================

class Window_Command
  # Getting command content --------------------------------------
  def get_command(index=@index)
    if index==:all then
      return @commands
    else
      return @commands[index]
    end
  end
end
 
# ================================================================

class Interpreter
  # Learning a place. --------------------------------------------
  def learn(string)
    if PLACES.include?(string)
      $game_system.known_places[PLACES.index(string)]=true
    end
  end
 
  # Setting a current place --------------------------------------
  def set_place(string)
    $game_system.last_place=string
  end
end

# ================================================================

class Game_Map
  attr_reader :map_id
end

# ================================================================

class Scene_Save < Scene_File
  alias sab_write_save_data write_save_data
  def write_save_data(file)
    sab_write_save_data(file)
    file=File.open('mapinfo '+make_filename(@file_index).to_s, "w")
    Marshal.dump($game_system.known_places, file)
    Marshal.dump($game_system.last_place, file)
    file.close
  end
end

# ================================================================

class Scene_Load < Scene_File
  alias sab_read_save_data read_save_data
  def read_save_data(file)
    sab_read_save_data(file)
    file=File.open('mapinfo '+make_filename(@file_index).to_s, "r")
    $game_system.known_places = Marshal.load(file)
    $game_system.last_place = Marshal.load(file)
    file.close
  end
end

# ================================================================
# ACTUAL SCRIPT
# ================================================================

class Scene_WorldMap
  attr_reader :command_window
  # Main. --------------------------------------------------------
  def main
    # Bgm/bgs fade out.
    $game_system.bgm_fade(2)
    $game_system.bgs_fade(2)
    # Command window place settings.
    places=[]
    for i in 0...PLACES.size
      if $game_system.known_places[i]
        places << PLACES[i]
      end
    end
    # Windows.     
    @command_window=Window_Command.new(192, places) # Command window.
    @command_window.opacity=COMMAND_WINDOW_OPACITY   
    if COMMAND_WINDOW_BOTTOM_ALING
      @command_window.y=480-@command_window.height
    end
    @command_window.index = $game_system.last_place=="" ? 0 : @command_window.get_command(:all).index($game_system.last_place)
    @bg_window=Window_WorldMap.new # Background.
    @bg_window.z-=10
    check_command_window_position
    # Settings.       
    Graphics.transition
    # Main loop.
    while $scene==self
      Graphics.update
      Input.update
      update
    end
    # Disposing.
    Graphics.freeze
    @command_window.dispose
    @bg_window.dispose
  end
 
  # Update. ------------------------------------------------------
  def update
    @command_window.update
    @bg_window.refresh
    # Moving command_window.
    check_command_window_position
    # Checking keyboard.
    if Input.trigger?(Input::C)
      return_to_map
    elsif Input.trigger?(Input::B)
      return_to_map
    end
  end
 
  # Returning to the actual map ----------------------------------
  def return_to_map
    $game_system.se_play($data_system.cancel_se)
    # Teleport - old place.
    $scene=Scene_Map.new
    # Playing map bgm/bgs.
    $game_map.autoplay
  end
 
  # Checking command_window position. ----------------------------
  def check_command_window_position
    x, y = @bg_window.cursor_position
    if x >= 320
      @command_window.x=0
    else
      @command_window.x=640-@command_window.width
    end
  end
end

# ================================================================

class Window_WorldMap < Window_Base
  # Initialize. --------------------------------------------------
  def initialize
    super(-32,-32, 704,544)
    self.contents = Bitmap.new(width, height)
    # Settings.
    self.opacity=0
    self.back_opacity=0
    self.contents_opacity=255
    @cursor_opacity=100
    @cursor_fading=true
    # Refresh.
    refresh
  end
 
  # Refresh. -----------------------------------------------------
  def refresh
    # Cursor fading.
    if @cursor_fading
      @cursor_opacity=[@cursor_opacity+6, 180].min
      if @cursor_opacity==180
        @cursor_fading=false
      end
    else
      @cursor_opacity=[@cursor_opacity-6, 100].max
      if @cursor_opacity==100
        @cursor_fading=true
      end
    end
    # Map drawing.
    self.contents.clear
    self.contents.blt(16, 16, RPG::Cache.picture(MAP_NAME), Rect.new(0, 0, 640, 480), 255)
    # Actual index cursor drawing.
    p=COORDINATES[PLACES.index($scene.command_window.get_command)]
    x=p[0]; y=p[1]
    self.contents.blt(x, y, RPG::Cache.picture(CURSOR_NAME), Rect.new(0, 0, 32, 32), @cursor_opacity)
    # Actual player place cursor drawing.
    p=COORDINATES[PLACES.index($game_system.last_place)]
    x=p[0]; y=p[1]
    self.contents.blt(x, y, RPG::Cache.picture(CURSOR_NAME), Rect.new(0, 0, 32, 32), 200)
  end
 
  # Getting cursor_x ---------------------------------------------
  def cursor_position
    p=COORDINATES[PLACES.index($game_system.last_place)]
    return p[0], p[1]
  end
end

# ================================================================


Try it out.
 
 
 
barmen 




Preferowany:
RPG Maker XP

Pomógł: 7 razy
Dołączył: 16 Gru 2010
Posty: 52
Skąd: Wawa
Wysłany: Pią 17 Gru, 2010 09:33
Da się jakoś inaczej zrobić żeby podczas rozgrywki dodawać nowe lokacje do mapy, oczywiście bez potrzeby bawienia się w przełączniki tylko dzięki wywołaniom skryptu??
________________________
Pomogłem? Daj
Rock & Dubstep & Electro House
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pią 17 Gru, 2010 09:39
Kod:
# In-event script commands.
# learn(place_string) - learning a new place.
# set_place(place_string) - setting a current place string.
________________________


 
 
 
barmen 




Preferowany:
RPG Maker XP

Pomógł: 7 razy
Dołączył: 16 Gru 2010
Posty: 52
Skąd: Wawa
Wysłany: Pią 17 Gru, 2010 09:46
Dziex
 
 
 
HESEE 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 31 Mar 2010
Posty: 145
Wysłany: Sob 18 Gru, 2010 09:16
Da rade robić tak źe jak kliknę M to się mapa pokazuje?
I tak że mapę da rade wyłączyć tylko Esc?
________________________
http://www.poomoc.pl/
Kilka kliknięć a pomożesz innym!
Czy naprawdę to jest duża strata czasu?
W ten sposób pomożesz innym!

Pomagam bezinteresownie!
 
 
 
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Sob 18 Gru, 2010 12:31
Stwórz równoległe zdarzenie, wrzuć do niego warunek naciśnięcia przycisku; kiedy warunek będzie spełniony, wywołaj przeniesienie na mapę świata.
Ofc w ten sposób możesz użyć tylko kilku podstawowych przycisków (A - Z/Shift, B - X/Esc/Ins, C - C/Enter/spacja, X - A, Y - S, Z - D, L - Q, R - W). Jeśli chcesz tego swojego M, musisz poszukać skryptu poszerzającego obsługę klawiatury.
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene