【解決済み】マップ名の変更

Amin
記事: 10
登録日時: 2016年11月19日(土) 20:35

【解決済み】マップ名の変更

投稿記事by Amin » 2016年11月19日(土) 20:43

初めまして、RPGツクールVXACEでゲームを作っているものです。
質問ですが、ワールドマップを製作したのですが、マップ名をワールドマップとしています。
これを、場所によってマップ名を変更(北に行くと○○地方、西に行くとXX地方)のような
表記にしたいのですが、マップ名の変更を手動で行えるような方法を探しています。

何か良い方法はあるでしょうか?
お返事お待ちしています。
最後に編集したユーザー Amin on 2016年11月20日(日) 19:40 [ 編集 1 回目 ]

奈々(なな)
記事: 103
登録日時: 2016年11月06日(日) 16:57

Re: マップ名の変更

投稿記事by 奈々(なな) » 2016年11月19日(土) 21:59

はじめまして。VXAceユーザーです。
質問の件ですが、まず前提としてスクリプトを使えば可能です。

それ以外の方法ですが
おそらくマップ名を手動で変更する理由は
左上に出てくるマップ名表示の方ではないでしょうか?
もしそうならば、各地方を別マップで作成するのが一番かと思います。

例えばこういうマップがあるとすれば
◇◇◇◆◇◇◇
◇西◇◆◇東◇
◇◇◇◆◇◇◇

それを、こういう2つのマップに分けます。
◇◇◇◆   ◆◇◇◇
◇西◇◆   ◆◇東◇
◇◇◇◆   ◆◇◇◇

後は、◆のところに場所移動のイベントを置くなり
コモンイベントでプレイヤーのXY座標を調べて場所移動させるなりすれば
地域移動と、個別のマップ名表示が可能です。
◆の「のりしろ」に当たる、各マップの重複部分を
半画面以上にすればマップ移動感も抑えることができます。

仮にスクリプトを使っても、同じようなイベントでマップ名を変更することになるので
労力としては大差ない(むしろ簡単)と思います。如何でしょうか?
------------------------------------------------------------------------------------
へぷたなすくろーる
http://heptanas.mamagoto.com/

VXAceのスクリプト素材及びイベント講座などをやっています。
------------------------------------------------------------------------------------
Amin
記事: 10
登録日時: 2016年11月19日(土) 20:35

Re: マップ名の変更

投稿記事by Amin » 2016年11月19日(土) 22:37

こんばんは。お返事ありがとうございます!
そうです、左上に出てくるマップの表記です。

実はその方法も最初に考えたのですが、まず追加できるマップの数が
既に足りなくなっていることと、フィールドマップを今更分割するのが難しいことと、
地方の数が多いこと、また敵にエリアを奪われたりしてころころ変わる場合の
(○○地方・現在敵エリア)のような変更を加えたほうが親切かなと思い、多少手入力の手間が
掛かってもいいので手動で管理できるものがないかと思い今回ご質問をさせていただきました。

「リージョン」で管理してマップ名を変更~というブログも最近どこかにあったのですが
それ以上の詳しい記載や作り方等がなかったので、未だにいろいろ探している感じです。
アバター
kurau
記事: 30
登録日時: 2016年4月16日(土) 23:30

Re: マップ名の変更

投稿記事by kurau » 2016年11月19日(土) 23:56

Aminさんこんばんは。
お力になれるかわかりませんがマップ名が表示されるとき、変数1番の値がそのまま表示されるように組んでみたものです。
マップ名が表示される直前(場所移動の直前)にスクリプト $game_variables[1] = "マップ名" とすればマップ名と表示されます。
また、変数1番が初期値0番の時は通常通りデータベース上のマップ名が表示されますので変数さえ管理すれば好きなマップ名が表示できます。
本当はマップ名を任意のタイミングで表示できればよかったのですがさっぱりわかりませんでした。
こんなもので役に立つかわかりませんがよかったらお試しください。


class Window_MapName < Window_Base
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
contents.clear
unless $game_map.display_name.empty?
draw_background(contents.rect)
#draw_text(contents.rect, $game_map.display_name, 1)###元々の処理
draw_text(contents.rect, $game_map.display_name, 1) if $game_variables[1] == 0#追加した処理
draw_text(contents.rect, $game_variables[1], 1) if $game_variables[1] != 0#追加した処理
end
end
end
Amin
記事: 10
登録日時: 2016年11月19日(土) 20:35

Re: マップ名の変更

投稿記事by Amin » 2016年11月20日(日) 00:17

Kurauさん、ありがとうございます!
まさに、このスクリプトは自分のやりたい動作です!
是非使わせていただきたいと思います。本当に助かります。

質問ですが、ゲームの公開の際に(いつになるか不明ですが)このスクリプトの
著作権の表記をしたいのですが、どのように記載すれば良いでしょうか?

お返事お待ちしてます。
アバター
kurau
記事: 30
登録日時: 2016年4月16日(土) 23:30

Re: マップ名の変更

投稿記事by kurau » 2016年11月20日(日) 09:38

説明不足ですみません。
表記は不要です。自由に使ってくださって大丈夫です。
Amin
記事: 10
登録日時: 2016年11月19日(土) 20:35

Re: マップ名の変更

投稿記事by Amin » 2016年11月20日(日) 15:37

ありがとうございます。
表記の件、了解いたしました。今後ガンガン使わせて頂きます。
変数1は既に使っているため、変数8番を使おうと思い、スクリプトは
$game_variables[1] を[8]にしてみました。
スクリプトに関しては初心者なので、これであってるか不安ですが
今のところ問題なく動いています。

追記になりますが、一つスクリプトのことで1点だけ質問があります。
このスクリプトは、変数で管理できるとのことですが、例えば変数の値が
1の場合と2の場合でマップの表記が値の数だけ作れるということも出来たりするのでしょうか?

「変数が0でない場合、別の表記をする」というコマンドなのかな?と思い
「ある場所」から「東京」に行く場合、変数を1代入して
$game_variables[1] = "東京"
「ある場所」に戻ったら変数を0にしてマップ移動でデフォルトの表記に
そして「名古屋」に行く場合は、また先ほど「東京」と同値の1を
変数に代入して
$game_variables[1] = "名古屋"と切り替えています。

もし「それ使いこなせてないよ!」ということでしたら、概要だけ
教えていただけると助かります。せっかくスクリプトを作っていただいたので
十全に使っていきたいと思い、質問させていただきました。
アバター
kurau
記事: 30
登録日時: 2016年4月16日(土) 23:30

Re: マップ名の変更

投稿記事by kurau » 2016年11月20日(日) 18:40

ありがとうございます。
表記の件、了解いたしました。今後ガンガン使わせて頂きます。
変数1は既に使っているため、変数8番を使おうと思い、スクリプトは
$game_variables[1] を[8]にしてみました。
スクリプトに関しては初心者なので、これであってるか不安ですが
今のところ問題なく動いています。

変更していただいたように好きな変数を使って大丈夫です。

追記になりますが、一つスクリプトのことで踏み込んだ質問です。
このスクリプトは、変数で管理できるとのことですが
例えば変数の値が1の場合と2の場合でマップの表記が
値の数だけ作れるということも出来たりするのでしょうか?

説明が下手ですみませんが、この方法はひとつの変数を使いまわししています。
複数の変数に別々のマップ名を保存しても良いのですが、結局場面にあわせて表示するマップ名を分岐することになるため手間は変わらないかなと・・・
管理のために複数のマップ名をスクリプト内で用意しておくことは可能ですが、同じようなことはコモンイベントでもできますのであらかじめコモンイベント[1]に$game_variables[1] = "東京" コモンインベント[2]に$game_variables[1] = "名古屋"としておけば後から変更するのも楽になると思います。
(同じコモンイベント内で条件分岐しておいても良い)

「変数が0でない場合、別の表記をする」というコマンドなのかな?
と思い、ある場所から東京に行く場合、変数を1代入して
$game_variables[1] = "東京"
ある場所に戻ったら変数を0にしてマップ移動でデフォルトの表記に
そして名古屋に行く場合は、また先ほど東京で使った同じ値の1を変数に
代入して
$game_variables[1] = "名古屋"と切り替えています。
もし「それ使いこなせてないよ!」ということでしたら、概要だけ
教えていただけると助かります。せっかくスクリプトを作っていただいたので
十全に使っていきたいと思い、質問させていただきました。

使い方はこれで合ってます。
Amin
記事: 10
登録日時: 2016年11月19日(土) 20:35

Re: マップ名の変更

投稿記事by Amin » 2016年11月20日(日) 19:39

詳しい説明ありがとうございます!

教えて頂いた通り、コモンでの条件分岐等で工夫して、いろいろ
作ってみたいと思います!

本当にありがとうございました!

“VX / Ace:質問” へ戻る