Jump to content
Rpg²S Forum
  • 0

Crediti - Minigame


the-joker
 Share

Question

Ragazzi ho bisogno di un consiglio:

vorrei mettere alla fine di tutto il mio gioco uno swich in modo che nella schermata con il

titolo del gioco si possa accedere al minigioco che ho già creato.

 

 

In pratica dopo aver finito il gioco posso giocare a quel minigame.

Ho modificato lo Scene_Title in modo da collegarmi alla mappa ecc.

ma non riesco a far capire al pc che se è attivo lo swich deve ritornare allo Scene_Title.

 

 

 

Non so se sono stato chiaro....

"Quarantadue!" urlò Loonquawl. "Questo è tutto ciò che sai dire dopo un lavoro di sette milioni e mezzo di anni?"

"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

 

 

 

Gioco disponibile: Prophecy of Last Era - OPEN SOURCE

 

http://www.mediafire.com/?u6aut42ks12ixgf

 

Puoi utilizzare qualsiasi evento, mappa, chara, grafica, e programmazione contenuta nel gioco-demo.

Nessun diritto di copia.

Hope you enjoy.

http://www.rpg2s.net/awards/bestmusician3.jpg

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0
Arabo per me, te lo so fare ad aventi volendo ma non toccando il ruby.

Progetti:

Cronache del Mondo Emerso RPGVX -in progettazione-

Captain Tsubasa RPG 1 (Holly e Benji) RPG2k -ultimato-

Captain Tsubasa RPG 2 (Holly e Benji) RPGXP -in lavorazione 10%-

One Piece (All'arrembaggio) RPG2k -interrotto-

The Leggend Of Dragons RPG2k -demo rilasciata-

Arcadia Tactics RPGXP -demo rilasciata-

 

---> Visita il Mio Sito <---

 

Contest: http://rpg2s.net/gif/SCContest3Oct.gif - http://www.rpg2s.net/gif/GC_programmazione3.gif - http://www.rpg2s.net/gif/GC_premio2.gif - http://www.rpg2s.net/awards/bestpixel2.jpg

Link to comment
Share on other sites

  • 0

credo che ti basti dare un'occhiata a questo topic:

http://www.rpg2s.net/forum/index.php?showtopic=127&hl=

 

praticamente appena finisci il gioco attivi una switch.

 

poi vai in scene_title, e usando il metodo spiegato da Julo metti:

if $game_switches[n] == true (dove n è il numero della switch che hai attivato dal gioco)
  s1="Nuovo gioco"
  ..... (qui tutte le varie opzioni, che suppongo siano Carica ed Esci)
  s4="minigame"
  end
else (e qui ci metti la finestra delle opzioni normale, senza il "collegamento" per il minigame)
end

 

poi devi aggiungere il codice per fare in modo che se selezioni s4 ti apre il minigioco.. e per farlo basta copiare e adattare il codice delle altre scelte) ;)

"Dopo gli ultimi Final Fantasy, ho capito solamente una cosa: che il gioco è bello quando Nomura poco."

Making is not dead. You are dead.
RELEASE: La Bussola d'Oro | Download | Video di anteprima - La Partenza di Hanna

http://i.imgur.com/cFgc2lW.png

Prova Standrama!

Link to comment
Share on other sites

  • 0

 

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

========

# ■ Scene_Title

#------------------------------------------------------------------------------

#  タイトル画面の処理を行うクラスです。

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

 

class Scene_Title

#--------------------------------------------------------------------------

# ● メイン処理

#--------------------------------------------------------------------------

def main

# 戦闘テストの場合

if $BTEST

battle_test

return

end

# データベースをロード

$data_actors = load_data("Data/Actors.rxdata")

$data_classes = load_data("Data/Classes.rxdata")

$data_skills = load_data("Data/Skills.rxdata")

$data_items = load_data("Data/Items.rxdata")

$data_weapons = load_data("Data/Weapons.rxdata")

$data_armors = load_data("Data/Armors.rxdata")

$data_enemies = load_data("Data/Enemies.rxdata")

$data_troops = load_data("Data/Troops.rxdata")

$data_states = load_data("Data/States.rxdata")

$data_animations = load_data("Data/Animations.rxdata")

$data_tilesets = load_data("Data/Tilesets.rxdata")

$data_common_events = load_data("Data/CommonEvents.rxdata")

$data_system = load_data("Data/System.rxdata")

# システムオブジェクトを作成

$game_system = Game_System.new

# タイトルグラフィックを作成

@sprite = Sprite.new

@sprite.bitmap = RPG::Cache.title($data_system.title_name)

# コマンドウィンドウを作成

if $game_switches[768] == true #(dove n è il numero della switch che hai attivato dal gioco)

s1 = "Inizia l'avventura"

s2 = "Continua"

s3 = "Stuta"

s4 = "Prima di iniziare"

s5 = "Boss"

@command_window = Window_Command.new(192, [s1, s2, s3, s4, s5])

@command_window.back_opacity = 160

@command_window.x = 320 - @command_window.width / 2

@command_window.y = 288

# コンティニュー有効判定

# セーブファイルがひとつでも存在するかどうかを調べる

# 有効なら @continue_enabled を true、無効なら false にする

@continue_enabled = false

for i in 0..3

if FileTest.exist?("Save#{i+1}.rxdata")

@continue_enabled = true

end

end

# コンティニューが有効な場合、カーソルをコンティニューに合わせる

# 無効な場合、コンティニューの文字をグレー表示にする

if @continue_enabled

@command_window.index = 1

else

@command_window.disable_item(1)

end

# タイトル BGM を演奏

$game_system.bgm_play($data_system.title_bgm)

# ME、BGS の演奏を停止

Audio.me_stop

Audio.bgs_stop

# トランジション実行

Graphics.transition

# メインループ

loop do

# ゲーム画面を更新

Graphics.update

# 入力情報を更新

Input.update

# フレーム更新

update

# 画面が切り替わったらループを中断

if $scene != self

break

end

end

# トランジション準備

Graphics.freeze

# コマンドウィンドウを解放

@command_window.dispose

# タイトルグラフィックを解放

@sprite.bitmap.dispose

@sprite.dispose

end

#--------------------------------------------------------------------------

# ● フレーム更新

#--------------------------------------------------------------------------

def update

# コマンドウィンドウを更新

@command_window.update

# C ボタンが押された場合

if Input.trigger?(Input::C)

# コマンドウィンドウのカーソル位置で分岐

case @command_window.index

when 0 # ニューゲーム

command_new_game

when 1 # コンティニュー

command_continue

when 2 # シャットダウン

command_shutdown

when 3 # シャットダウン

command_CT

when 4 # シャットダウン

command_Minigame

end

end

end

end

else #(e qui ci metti la finestra delle opzioni normale, senza il "collegamento" per il minigame)

s1 = "Inizia l'avventura"

s2 = "Continua"

s3 = "Stuta"

s4 = "Prima di iniziare"

@command_window = Window_Command.new(192, [s1, s2, s3, s4])

@command_window.back_opacity = 160

@command_window.x = 320 - @command_window.width / 2

@command_window.y = 288

# コンティニュー有効判定

# セーブファイルがひとつでも存在するかどうかを調べる

# 有効なら @continue_enabled を true、無効なら false にする

@continue_enabled = false

for i in 0..3

if FileTest.exist?("Save#{i+1}.rxdata")

@continue_enabled = true

end

end

# コンティニューが有効な場合、カーソルをコンティニューに合わせる

# 無効な場合、コンティニューの文字をグレー表示にする

if @continue_enabled

@command_window.index = 1

else

@command_window.disable_item(1)

end

# タイトル BGM を演奏

$game_system.bgm_play($data_system.title_bgm)

# ME、BGS の演奏を停止

Audio.me_stop

Audio.bgs_stop

# トランジション実行

Graphics.transition

# メインループ

loop do

# ゲーム画面を更新

Graphics.update

# 入力情報を更新

Input.update

# フレーム更新

update

# 画面が切り替わったらループを中断

if $scene != self

break

end

end

# トランジション準備

Graphics.freeze

# コマンドウィンドウを解放

@command_window.dispose

# タイトルグラフィックを解放

@sprite.bitmap.dispose

@sprite.dispose

end

#--------------------------------------------------------------------------

# ● フレーム更新

#--------------------------------------------------------------------------

def update

# コマンドウィンドウを更新

@command_window.update

# C ボタンが押された場合

if Input.trigger?(Input::C)

# コマンドウィンドウのカーソル位置で分岐

case @command_window.index

when 0 # ニューゲーム

command_new_game

when 1 # コンティニュー

command_continue

when 2 # シャットダウン

command_shutdown

when 3 # シャットダウン

command_CT

end

end

 

#--------------------------------------------------------------------------

# ● コマンド : ニューゲーム

#--------------------------------------------------------------------------

def command_new_game

# 決定 SE を演奏

$game_system.se_play($data_system.decision_se)

# BGM を停止

Audio.bgm_stop

# プレイ時間計測用のフレームカウントをリセット

Graphics.frame_count = 0

# 各種ゲームオブジェクトを作成

$game_temp = Game_Temp.new

$game_system = Game_System.new

$game_switches = Game_Switches.new

$game_variables = Game_Variables.new

$game_self_switches = Game_SelfSwitches.new

$game_screen = Game_Screen.new

$game_actors = Game_Actors.new

$game_party = Game_Party.new

$game_troop = Game_Troop.new

$game_map = Game_Map.new

$game_player = Game_Player.new

# 初期パーティをセットアップ

$game_party.setup_starting_members

# 初期位置のマップをセットアップ

$game_map.setup($data_system.start_map_id)

# プレイヤーを初期位置に移動

$game_player.moveto($data_system.start_x, $data_system.start_y)

# プレイヤーをリフレッシュ

$game_player.refresh

# マップに設定されている BGM と BGS の自動切り替えを実行

$game_map.autoplay

# マップを更新 (並列イベント実行)

$game_map.update

# マップ画面に切り替え

$scene = Scene_Map.new

end

#--------------------------------------------------------------------------

# ● コマンド : コンティニュー

#--------------------------------------------------------------------------

def command_continue

# コンティニューが無効の場合

unless @continue_enabled

# ブザー SE を演奏

$game_system.se_play($data_system.buzzer_se)

return

end

# 決定 SE を演奏

$game_system.se_play($data_system.decision_se)

# ロード画面に切り替え

$scene = Scene_Load.new

end

#--------------------------------------------------------------------------

# ● コマンド : シャットダウン

#--------------------------------------------------------------------------

def command_shutdown

# 決定 SE を演奏

$game_system.se_play($data_system.decision_se)

# BGM、BGS、ME をフェードアウト

Audio.bgm_fade(800)

Audio.bgs_fade(800)

Audio.me_fade(800)

# シャットダウン

$scene = nil

end

def command_CT

$scene = Scene_PreTitle.new

end

#--------------------------------------------------------------------------

# ● コマンド : ニューゲーム

#--------------------------------------------------------------------------

def command_Minigame

$game_system.se_play($data_system.decision_se)

Audio.bgm_stop

Graphics.frame_count = 0

$game_temp = Game_Temp.new

$game_system = Game_System.new

$game_switches = Game_Switches.new

$game_variables = Game_Variables.new

$game_self_switches = Game_SelfSwitches.new

$game_screen = Game_Screen.new

$game_actors = Game_Actors.new

$game_party = Game_Party.new

$game_troop = Game_Troop.new

$game_map = Game_Map.new

$game_player = Game_Player.new

$game_party.setup_starting_members

$game_map.setup(346) # Qui ho messo 4 (cioè l'id) al posto della variabile; ovviamente metti l'id che vuoi

$game_player.moveto($data_system.start_x, $data_system.start_y)

$game_player.refresh

$game_map.autoplay

$game_map.update

$scene = Scene_Map.new

end

#--------------------------------------------------------------------------

# ● 戦闘テスト

#--------------------------------------------------------------------------

def battle_test

# データベース (戦闘テスト用) をロード

$data_actors = load_data("Data/BT_Actors.rxdata")

$data_classes = load_data("Data/BT_Classes.rxdata")

$data_skills = load_data("Data/BT_Skills.rxdata")

$data_items = load_data("Data/BT_Items.rxdata")

$data_weapons = load_data("Data/BT_Weapons.rxdata")

$data_armors = load_data("Data/BT_Armors.rxdata")

$data_enemies = load_data("Data/BT_Enemies.rxdata")

$data_troops = load_data("Data/BT_Troops.rxdata")

$data_states = load_data("Data/BT_States.rxdata")

$data_animations = load_data("Data/BT_Animations.rxdata")

$data_tilesets = load_data("Data/BT_Tilesets.rxdata")

$data_common_events = load_data("Data/BT_CommonEvents.rxdata")

$data_system = load_data("Data/BT_System.rxdata")

# プレイ時間計測用のフレームカウントをリセット

Graphics.frame_count = 0

# 各種ゲームオブジェクトを作成

$game_temp = Game_Temp.new

$game_system = Game_System.new

$game_switches = Game_Switches.new

$game_variables = Game_Variables.new

$game_self_switches = Game_SelfSwitches.new

$game_screen = Game_Screen.new

$game_actors = Game_Actors.new

$game_party = Game_Party.new

$game_troop = Game_Troop.new

$game_map = Game_Map.new

$game_player = Game_Player.new

# 戦闘テスト用のパーティをセットアップ

$game_party.setup_battle_test_members

# トループ ID、逃走可能フラグ、バトルバックを設定

$game_temp.battle_troop_id = $data_system.test_troop_id

$game_temp.battle_can_escape = true

$game_map.battleback_name = $data_system.battleback_name

# バトル開始 SE を演奏

$game_system.se_play($data_system.battle_start_se)

# バトル BGM を演奏

$game_system.bgm_play($game_system.battle_bgm)

# バトル画面に切り替え

$scene = Scene_Battle.new

end

end

 

Ho provato a fare come hai detto tu....

pero' mi da' errore : nello script Window_base sulla linea 17 di tipo NoMethodError-undefined

method "windowskin_name" for nil:NilClass.

 

 

ecco come ho fatto: potresti vedere dove ho sbagliato?

"Quarantadue!" urlò Loonquawl. "Questo è tutto ciò che sai dire dopo un lavoro di sette milioni e mezzo di anni?"

"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

 

 

 

Gioco disponibile: Prophecy of Last Era - OPEN SOURCE

 

http://www.mediafire.com/?u6aut42ks12ixgf

 

Puoi utilizzare qualsiasi evento, mappa, chara, grafica, e programmazione contenuta nel gioco-demo.

Nessun diritto di copia.

Hope you enjoy.

http://www.rpg2s.net/awards/bestmusician3.jpg

Link to comment
Share on other sites

  • 0

al momento non ho qui rmxp, cmq hai sbagliato perchè hai messo l'else nel metodo più in basso, quando invece dovrebbe essere tutto nel metodo "def initialize"

 

if $game_switches[768] == true 
s1 = "Inizia l'avventura"
s2 = "Continua"
s3 = "Stuta"
s4 = "Prima di iniziare"
s5 = "Boss"
@command_window = Window_Command.new(192, [s1, s2, s3, s4, s5])
end
else
s1 = "Inizia l'avventura"
s2 = "Continua"
s3 = "Stuta"
s4 = "Prima di iniziare"
@command_window = Window_Command.new(192, [s1, s2, s3, s4])
end

 

poi più in basso vai in "def update" e devo usare lo stesso metodo per gestire pure i comandi appena ci clicchi sopra.. ovvero dove c'è questa roba qui:

when 0 # ニューゲーム
command_new_game
when 1 # コンティニュー
command_continue
when 2 # シャットダウン
command_shutdown
when 3 # シャットダウン
command_CT
when 4 # シャットダウン
command_Minigame

devi mettere

if $game_switches[768] == true
when 1
ecc... (e qui metti tutti i comandi se è attivata a switch, ovvero da 1 a 5)
end
else 
when 1
ecc... (e qui metti tutti i comandi se la switch è disattivata, ovvero da 1 a 4)
end

 

purtroppo non ho qui rmxp perciò non posso provare, però la logica dovrebbe essere questa :ohmy:

"Dopo gli ultimi Final Fantasy, ho capito solamente una cosa: che il gioco è bello quando Nomura poco."

Making is not dead. You are dead.
RELEASE: La Bussola d'Oro | Download | Video di anteprima - La Partenza di Hanna

http://i.imgur.com/cFgc2lW.png

Prova Standrama!

Link to comment
Share on other sites

  • 0

Niente, non va nemmeno così...

 

ho provato a fare in un altro modo: quando mi dice

 

@continue_enabled = false

for i in 0..3

if FileTest.exist?("Save#{i+1}.rxdata")

@continue_enabled = true

end

end

# コンティニューが有効な場合、カーソルをコンティニューに合わせる

# 無効な場合、コンティニューの文字をグレー表示にする

if @continue_enabled

@command_window.index = 1

else

@command_window.disable_item(1)

end

 

dove praticamente c'è scritto di andare a cercare un salvataggio e se non c'è disabilita

la scelta 2 cioè "continua",

ho messo così:

 

 

for i in 0..3

if FileTest.exist?("Save#{i+1}.rxdata")

@continue_enabled = true

end

end

# コンティニューが有効な場合、カーソルをコンティニューに合わせる

# 無効な場合、コンティニューの文字をグレー表示にする

if @continue_enabled

@command_window.index = 1

else

@command_window.disable_item(1)

end

if $game_switches[768] == true

@command_window.index = 1

else

@command_window.disable_item(5)

end

 

 

 

 

in questo modo dovrebbe prima verificare se c'è un salvataggio e disabilitare la scelta 2,

poi vedere se lo swich 768 è attivo e di conseguenza disabilitare la scelta 5.

 

Non me ne intando molto di script, però cerco di osservare il meccanismo di quelli

già esistenti per poi modificarli come dico.

ma non funziona: dove sbaglio?

 

quando hai tempo me lo potresti fare tu? :ohmy:

grazie per l'aiuto che mi hai dato finora, anche se non ha funzionato. :ohmy:

"Quarantadue!" urlò Loonquawl. "Questo è tutto ciò che sai dire dopo un lavoro di sette milioni e mezzo di anni?"

"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

 

 

 

Gioco disponibile: Prophecy of Last Era - OPEN SOURCE

 

http://www.mediafire.com/?u6aut42ks12ixgf

 

Puoi utilizzare qualsiasi evento, mappa, chara, grafica, e programmazione contenuta nel gioco-demo.

Nessun diritto di copia.

Hope you enjoy.

http://www.rpg2s.net/awards/bestmusician3.jpg

Link to comment
Share on other sites

  • 0
Ragazzi???

"Quarantadue!" urlò Loonquawl. "Questo è tutto ciò che sai dire dopo un lavoro di sette milioni e mezzo di anni?"

"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

 

 

 

Gioco disponibile: Prophecy of Last Era - OPEN SOURCE

 

http://www.mediafire.com/?u6aut42ks12ixgf

 

Puoi utilizzare qualsiasi evento, mappa, chara, grafica, e programmazione contenuta nel gioco-demo.

Nessun diritto di copia.

Hope you enjoy.

http://www.rpg2s.net/awards/bestmusician3.jpg

Link to comment
Share on other sites

  • 0

ehm, quella parte non credo che c'entri molto con quello che vuoi fare tu °°

cmq, l'errore credo che sia qui:

@command_window.disable_item(5)

perchè l'indice (i) parte da 0, perciò finisce un numero prima (cioè la prima scelta è 0, la seconda è 1.. perciò finisce con 4 e devi mettere il 4 fra perentesi).

ad ogni modo, lo script che hai aggiunto tu, fa questo:

- controlla se la switch è attiva

- se è attiva, appena sei alla schermata del titolo, il cursore è sulla seconda scelta (ovvero "Continua")

- se non è attiva, la scritta dell'ultima opzione (che devi correggere mettendo un 4 invece del 5), è disattivata;

 

perciò, volendo ti basterebbe mettere:

- controlla se la switch NON è attiva (ovvero metti false invece di true)

- se non è attiva, disattiva l'ultima opzione

(e poi l'else non lo metti)

 

cmq l'unico errore credo che sia quello del numero.. pure io non sono espertissimo di rgss, però non trovo nient'altro di sbagliato XD

 

tra l'altro, ho scoperto un errore che ho fatto io nello script che ti ho dato prima, che ora dovrebbe essere così:

 

if $game_switches[768] == true
s1 = "Inizia l'avventura"
s2 = "Continua"
s3 = "Stuta"
s4 = "Prima di iniziare"
s5 = "Boss"
@command_window = Window_Command.new(192, [s1, s2, s3, s4, s5])
else
s1 = "Inizia l'avventura"
s2 = "Continua"
s3 = "Stuta"
s4 = "Prima di iniziare"
@command_window = Window_Command.new(192, [s1, s2, s3, s4])
end
end

dovrebbe essere così (avevo messo un end prima dell'else, ormai sono abituato al linguaggio di programmazione C XD )

"Dopo gli ultimi Final Fantasy, ho capito solamente una cosa: che il gioco è bello quando Nomura poco."

Making is not dead. You are dead.
RELEASE: La Bussola d'Oro | Download | Video di anteprima - La Partenza di Hanna

http://i.imgur.com/cFgc2lW.png

Prova Standrama!

Link to comment
Share on other sites

  • 0

Vabbè non ci riesco proprio...vuol dire che lo metto ad eventi nel gioco (faccio che parli con qualcuno

e ti porta al minigioco).

Grazie lo stesso davvero per la disponibilità!

"Quarantadue!" urlò Loonquawl. "Questo è tutto ciò che sai dire dopo un lavoro di sette milioni e mezzo di anni?"

"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

 

 

 

Gioco disponibile: Prophecy of Last Era - OPEN SOURCE

 

http://www.mediafire.com/?u6aut42ks12ixgf

 

Puoi utilizzare qualsiasi evento, mappa, chara, grafica, e programmazione contenuta nel gioco-demo.

Nessun diritto di copia.

Hope you enjoy.

http://www.rpg2s.net/awards/bestmusician3.jpg

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...