Game over nie zwykly xD - szevaa - 04-01-15 02:14
Chciałbym aby użytkownik miał do wyboru powstanie w miejscu zgonu lub teleport do miasta ze 1 HP ale nie wiem jak tego dokonać pomożecie ?
Może też być bez menu tylko od razu tp do miasta.
A jeżeli by się tak dało to ze po śmierci jest na ekranie czas do respawnu i po ni tp do miasta.
No a jeżeli był by ten respawn uzależniony od levelu (np 10 sekund * level) to byłbym w niebie xD
Z góry dziękuje :) Za pomoc dodam do Crediksow (oczywiście jeśli będzie dana osoba chciała)
RE: Game over nie zwykly xD - Ayene - 04-01-15 04:56
Gdzieś już chyba było podane rozwiązanie. Przeszukaj forum, ewentualnie starą Ultimę http://www.ultimateam.pl/index.php
RE: Game over nie zwykly xD - Mateusz SSJ8 - 04-01-15 10:22
Cytat:1. Chciałbym aby użytkownik miał do wyboru powstanie w miejscu zgonu lub teleport do miasta ze 1 HP ale nie wiem jak tego dokonać pomożecie ?
2. Może też być bez menu tylko od razu tp do miasta.
3. A jeżeli by się tak dało to ze po śmierci jest na ekranie czas do respawnu i po ni tp do miasta.
4. No a jeżeli był by ten respawn uzależniony od levelu (np 10 sekund * level) to byłbym w niebie xD
Z góry dziękuje :) Za pomoc dodam do Crediksow (oczywiście jeśli będzie dana osoba chciała)
1. Jeśli ma być powstanie w miejscu zgonu, to musisz w bazie danych stworzyć przedmiot o nazwie np. "Zmartwychwstanie", użycie którego jest możliwe dopiero, kiedy postać padnie. W przypadku teleportu do miasta poważnie pomyślałbym o umieszczeniu w miastach "pseudo punktów zapisu", po interakcji z którymi gracz nie zostanie teleportowany do lokacji startowej, jeśli już z jakimś wszedł w interakcję. Podobny zabieg był już w grze, którą znajdziesz pod js.x-legend.com.tw , jednak tam za śmierć tracisz 10% drogi do następnego awansu (jeśli z potrzebnego doświadczenie zdobyłeś nie więcej, niż dokładnie 10%, to tracisz całe, jakie zdobyłeś).
2. A gdzie dokładnie ma cię teleportować?
3. Niektórzy gracze nie są zbyt cierpliwi.
4. Po co przedłużać?
Mnie by wystarczyło, gdybyś zagrał we wszystkie te gry:
http://www.mediafire.com/?vwqz1rz3k90a0#700yzz22kjlog
Może w końcu komuś się spodobają.
RE: Game over nie zwykly xD - szevaa - 04-01-15 11:51
(04-01-15 04:56)Ayene napisał(a): Gdzieś już chyba było podane rozwiązanie. Przeszukaj forum, ewentualnie starą Ultimę http://www.ultimateam.pl/index.php
szukalem ale znalazlem tylko menu w game over ... zreszta sama zobacz http://forum.ultimateam.pl/Thread-VXAce-Opcje-Game-Over?pid=107#pid107
Jezeli bys umial zmienic na sam przycisk respawn ktory po prostu respawnuje do miasta (najlepiej w postaci typowego zdarzenia) to bede wdzieczny :)
Cytat:3. Niektórzy gracze nie są zbyt cierpliwi.
4. Po co przedłużać?
Wydaje mi się że masz racje :)
jednak troche mi nie pasuje twoje rozwiazanie ;/
Cytat:1. Jeśli ma być powstanie w miejscu zgonu, to musisz w bazie danych stworzyć przedmiot o nazwie np. "Zmartwychwstanie", użycie którego jest możliwe dopiero, kiedy postać padnie. W przypadku teleportu do miasta poważnie pomyślałbym o umieszczeniu w miastach "pseudo punktów zapisu", po interakcji z którymi gracz nie zostanie teleportowany do lokacji startowej, jeśli już z jakimś wszedł w interakcję. Podobny zabieg był już w grze, którą znajdziesz pod js.x-legend.com.tw , jednak tam za śmierć tracisz 10% drogi do następnego awansu (jeśli z potrzebnego doświadczenie zdobyłeś nie więcej, niż dokładnie 10%, to tracisz całe, jakie zdobyłeś).
jezeli byscie dali rade zmienic skrypt game ove tak jak napisalem wyzej to bylbym na prawde wdzieczny :)
Pozdrawiam :)
RE: Game over nie zwykly xD - szevaa - 04-01-15 16:27
:( smuteczeg
RE: Game over nie zwykly xD - Ayene - 04-01-15 17:59
Sprawdź tę modyfikację skryptu na Game_Over:
Kod:
#=================================================
# by bStefan aka. regendo
# please give credit if used
# for use with RMVX ACE
#=================================================
# GameOver with choices
#=================================================
# adds four choices to Scene_Gameover:
# : Retry Battle (if you lost the battle)
# : Load Savegame (if there is a savefile)
# : Return to Title
# : Quit Game
#=================================================
# implement over Main
# implement under Multiple_Cols_in_Command_Window
# if existant
#=================================================
module Regendo
# [ID Mapy, X, Y]
RESPAWN = [1, 7, 7]
RESPAWN_TEXT = "Wróć do miasta"
unless @scripts
@scripts = Hash.new
def self.contains?(key)
@scripts[key] == true
end
end
@scripts["GameOver_Window"] = true
module GameOver_Window
def self.multiple_cols?
return false unless Regendo::contains?("Horizontal_Command")
USE_MULTIPLE_COLUMNS
end
#=======
#CONFIG
#=======
RETRY = true #if false, Retry Battle function will not be aviable
#==============================================
#requires Horizontal_Command script by regendo
#==============================================
if Regendo::contains?("Horizontal_Command")
USE_MULTIPLE_COLUMNS = true #use Horizontal_Command Script?
COLUMNS = 2 #requires ^ set to true
end
#=================================================
#only used if not using Horizontal_Command Script
#=================================================
WINDOW_WIDTH = 225
end
end
if Regendo::GameOver_Window::multiple_cols?
class Window_GameOver < Window_HorizontalCommand #more than one column possible
end
else
class Window_GameOver < Window_Command #only one column
end
end
class Window_GameOver
def initialize
if Regendo::GameOver_Window::multiple_cols?
if Regendo::GameOver_Window::COLUMNS
super(0, 0, Regendo::GameOver_Window::COLUMNS)
else
super(0, 0)
end
else
super(0, 0)
end
update_placement
self.openness = 0
open
end
unless Regendo::GameOver_Window::multiple_cols?
def window_width
Regendo::GameOver_Window::WINDOW_WIDTH
end
end
def update_placement
self.x = (Graphics.width - width) / 2
self.y = (Graphics.height - height) / 1.1
end
#======================================
# add your own to this list
# also requires changes at
# Scene_Gameover#create_command_window
#======================================
def make_command_list
add_command("Powtórz walkę", :tryagain) if SceneManager.scene.is_defeat?
add_command(Regendo::RESPAWN_TEXT, :respawn)
add_command("Wczytaj zapis", :load, load_enabled)
add_command(Vocab::to_title, :to_title)
add_command(Vocab::shutdown, :shutdown)
end
def load_enabled
DataManager.save_file_exists?
end
end
class Scene_Gameover < Scene_Base
attr_reader :command_window
alias start_old start
def start
start_old
create_command_window
end
def pre_terminate
super
close_command_window
end
def update
super
end
#======================================
# add your own to this list
# also requires changes at
# Window_GameOver#make_command_list
# and requires adding your own methods
#======================================
def create_command_window
@command_window = Window_GameOver.new
@command_window.set_handler(:tryagain, method(:command_retry)) if is_defeat?
@command_window.set_handler(:respawn, method(:command_respawn))
@command_window.set_handler(:load, method(:command_load))
@command_window.set_handler(:to_title, method(:goto_title))
@command_window.set_handler(:shutdown, method(:command_shutdown))
end
def close_command_window
@command_window.close if @command_window
update until @command_window.close?
end
def command_load
close_command_window
fadeout_all
SceneManager.call(Scene_Load)
end
def command_respawn
close_command_window
fadeout_all
$game_party.members.each {|actor| actor.recover_all }
$game_map.setup(Regendo::RESPAWN[0])
$game_player.moveto(Regendo::RESPAWN[1], Regendo::RESPAWN[2])
$game_player.refresh
$game_map.autoplay
SceneManager.goto(Scene_Map)
end
def goto_title
close_command_window
fadeout_all
SceneManager.goto(Scene_Title)
end
def command_shutdown
close_command_window
fadeout_all
SceneManager.exit
end
def command_retry
fadeout_all
SceneManager.goto(Scene_Battle)
BattleManager.setup(@troop_id, @can_escape, @can_lose)
$game_party.members.each do |actor|
actor.recover_all
end
$game_troop.members.each do |enemy|
enemy.recover_all
end
BattleManager.bmgs_by_regendo(@map_bgm, @map_bgs)
BattleManager.play_battle_bgm
Sound.play_battle_start
end
def is_defeat (b = true)
@defeat = b
end
def is_defeat?
Regendo::GameOver_Window::RETRY ? @defeat : false
end
def battle_setup (troop_id, can_escape = true, can_lose = false)
@troop_id = troop_id
@can_escape = can_escape
@can_lose = can_lose
end
def bgms_setup(map_bgm, map_bgs)
@map_bgm = map_bgm
@map_bgs = map_bgs
end
end
module BattleManager
class << self
alias_method :setup_old, :setup
end
def self.setup(troop_id, can_escape = true, can_lose = false)
self.setup_old(troop_id, can_escape = true, can_lose = false)
@troop_id = troop_id
end
def self.bmgs_by_regendo(map_bgm, map_bgs)
@map_bgm = map_bgm
@map_bgs = map_bgs
end
def self.process_defeat
$game_message.add(sprintf(Vocab::Defeat, $game_party.name))
wait_for_message
if @can_lose
revive_battle_members
replay_bgm_and_bgs
SceneManager.return
else
SceneManager.goto(Scene_Gameover)
SceneManager.scene.is_defeat #this is new
SceneManager.scene.battle_setup(@troop_id, @can_escape, @can_lose) #this also
SceneManager.scene.bgms_setup(@map_bgm, @map_bgs) #and this
end
battle_end(2)
return true
end
end
RE: Game over nie zwykly xD - szevaa - 05-01-15 03:48
O tak właśnie oto mi chodziło :)
Możesz mi tylko napisać jak zmienić to gdzie ma się respawnować ? Wybacz w ruby to jestem zielony :(
RE: Game over nie zwykly xD - kanumerki - 05-01-15 04:42
Kod:
# [ID Mapy, X, Y]
RESPAWN = [1, 7, 7]
RESPAWN_TEXT = "Wróć do miasta"
Sam początek, 1 odpowiada za identyfikator mapy zaś dwie siódemki za koordynaty.
RE: Game over nie zwykly xD - szevaa - 05-01-15 08:32
Dzieki :)
a ja szukalem wewnatrz command_respawn
Do zamnkniecia :)
|