2012年1月14日土曜日

スクリプト「経験値二倍」

#$game_switches[1]の1の場所を変えればスイッチの番号を変えれます。
#スイッチ一番がONの時に経験値を二倍にするスクリプトです。

#==============================================================================
# ■ Game_Troop
#------------------------------------------------------------------------------
#  敵グループおよび戦闘に関するデータを扱うクラスです。バトルイベントの処理も
# 行います。このクラスのインスタンスは $game_troop で参照されます。
#==============================================================================

class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● 経験値の合計計算
#--------------------------------------------------------------------------
def exp_total
if $game_switches[1] == true
dead_members.inject(0) {|r, enemy| r += enemy.exp } * 2
else
dead_members.inject(0) {|r, enemy| r += enemy.exp }
end
end
end

2012年1月9日月曜日

スクリプト「メモ」の説明

スクリプト「メモ」
""で囲われているテストの部分を変えることで文章をウィンドで表示させることが可能です。
¥Nや¥Vなども使用できます。
使用例としては、主人公の解説や世界観の説明などはどうでしょう?

スクリプトが分かる人なら分かると思いますが
Scene_original_memo1やWindow_original_memo1の
後ろの1の数字を変えて、
コピペすることで複数作れたり、
文章自体を変数分岐で分けて歴史の書物、地理の書物などと
長文の本を書いたりするときに使えます。
それはまたの機会に説明しようと思います。

著作権は放棄します。

自分もスクリプトにすごく詳しいわけではないので、
ここが間違ってるなどがあれば教えてください。ではでは。

スクリプト「メモ」

#素材と呼べるモノではありませんので。
#テストの部分を変更して
#スクリプトからSceneManager.call(Scene_original_memo1)
#を使用すると、メモが表示されます。
#文章は必ず""で囲ってください。


class Scene_original_memo1 < Scene_MenuBase
def start
super
@story_window = Window_original_memo1.new
@story_window.set_handler(:cancel, method(:return_scene))
end
end



class Window_original_memo1 < Window_Selectable
def initialize
super(0, 0, Graphics.width, Graphics.height)

memo1="テスト
テスト
テスト"
draw_text_ex(4, 0, memo1)
activate
end
end

2012年1月6日金曜日

変数とスクリプト

VXAceでもVXでも通用する小ネタを紹介。

スクリプトにて
$game_variables[変数番号]  = 数値

で、変数番号の変数に数値を代入できます。
上記は別に数値じゃなくて、文字列でも可能です。
その場合は""で囲ってあげてください。
そうしないと反応してくれません。

$game_variables[変数番号]  = "文字列"

これで出来ます。
文字列なんて代入して何すんの?
¥N[アクター番号]でアクター名を文字列にしている人は
その分アクターを作らないといけまんせんが。
変数に文字列を代入して¥V[変数番号]で呼び出した方が
節約になります。

私の場合はコレをスクリプトの方で使って
カルマ値なんかの隠しパラメーターを作ってたりします。
変数のお得な所はややこしいスクリプトで呼び出して代入とかよりも
イベントで変数操作から楽に出来るのが良いと思います。

どうでしょうか?スクリプトが難しいと思ってる人も
少しは自分でも出来るかもって思いませんか?

使用したテクまとめ
$game_variables[変数番号]  = 数値
変数番号に数値を代入
$game_variables[変数番号]  = "文字列"
変数番号に文字列を代入

※注意
文字列を代入した変数をイベントなどで計算はしないでください。
スクリプトエディタからではなく、イベントの上級スクリプトからです。