Project1
标题:
脚本
[打印本页]
作者:
youzts
时间:
2009-3-14 04:16
标题:
脚本
我想要一些任务说明的脚本像轩辕剑四的那种,还有物品分类像仙剑一那样的脚本,{/ka}有的发个啊谢谢了啊{/jie} [LINE]1,#dddddd[/LINE]
此贴于 2009-3-22 8:54:01 被版主zh99998提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
此贴于 2009-4-4 11:50:11 被版主木葬枫提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
版务信息:版主帮忙结贴~
作者:
木葬枫
时间:
2009-3-14 09:34
任务脚本主站上找…分类脚本在原创技术发布区搜索“分类”
作者:
smj336521
时间:
2009-3-14 21:34
{/fd}
# 冒険メモ(RGSS2)
# (C)2007 TYPE74RX-T
# 〓〓★〓〓冒险笔记〓〓★〓〓
# 〓〓★〓〓汉化:柳佳淇〓〓★〓〓
# 〓〓★〓〓原作者:TYPE74RX-T〓〓★〓〓
# 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
# ★ 以下内容为再定义部分,如有相关脚本可能冲突
# 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
# class Scene_Menu
# def create_command_window
# def update_command_selection
# class Scene_File
# def return_scene
# class Scene_End
# def return_scene
# 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
#【事件的設定方法】
#柳佳淇记录:
#在事件里面的注释里面使用,上面文字之后的文字会记录到笔记里面
#柳佳淇擦去:
#【柳佳淇记录:】的内容消除。
#请确保与【柳佳淇记录:】之后的内容一致才能删除。最好用复制来解决。
#柳佳淇分段:
#为了区别各个笔记内容,看起来方便
#想消除分段标志请按照下列步骤来执行:
#柳佳淇擦去:(←这里一定要用全角空格)
#〓〓★〓〓柳佳淇的分界线〓〓★〓〓(或者是自己定义的东西)
# (←这里一定要用全角空格)
#柳佳淇销毁笔记
#所有笔记内容清空。
#==============================================================================
# ★ RX_T(C)2007 TYPE74RX-T
#------------------------------------------------------------------------------
# 需要设置的部分。
#==============================================================================
module RX_T
#〓〓★〓〓笔记模式:〓〓★〓〓
#1为新登录的消息在最上面显示
#2为新登录的消息在最下面显示
#〓〓★〓〓
RX_MemoOption = 1 # 1:新しく登録されたメモが一番上に来る
# 2:新しく登録されたメモが一番下に来る
#〓〓★〓〓 不同笔记之间用来区分的符号(可以自由替换)
RX_Delimitation = " ---------------章节分界线---------------" # 区切りの印。
#〓〓★〓〓 在菜单画面上显示的选项名称(可以自由替换)
RX_MemoCommand = "日记" # メニュー上に表示するメモコマンド名
end
# 以下部分为组合的核心脚本无需改动,和主脚本不影响。
#使用和设置方法部分上面已经足够。
# 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
#
# 注釈を使ったイベントコマンド拡張用必須スクリプト(RGSS2)
# (C)2007 TYPE74RX-T
#
class Game_Interpreter
#--------------------------------------------------------------------------
# ● イベントコマンドの実行
#--------------------------------------------------------------------------
alias rx_rgss2ic_execute_command execute_command
def execute_command
# 実行内容リストの最後に到達しておらず、コマンドコードが「注釈」である場合
if not @index >= @list.size - 1 and
@list[@index].code == 108
# イベントコマンドのパラメータを @parameters で参照可能に
@parameters = @list[@index].parameters
# 「注釈」処理へ
return command_108
end
# メソッドを呼び戻す
rx_rgss2ic_execute_command
end
#--------------------------------------------------------------------------
# ★ 注釈(コモンメソッド)
#--------------------------------------------------------------------------
def command_108
# aliasに対応しやすくするためのコモンメソッドです。
# 注釈を使ったオリジナルイベントコマンドに対応するため
# このメソッド自体の末尾にはtrueもfalseも返しません。
end
end
# 注释脚本结束
# 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
#
# 冒険メモ(RGSS2)
# (C)2007 TYPE74RX-T
# 〓〓★〓〓冒险笔记〓〓★〓〓
# ★ カスタマイズポイント:27~30行目
#==============================================================================
# ★ 再定義ポイント
#------------------------------------------------------------------------------
# class Scene_Menu
# def create_command_window
# def update_command_selection
# class Scene_File
# def return_scene
# class Scene_End
# def return_scene
#==============================================================================
#==============================================================================
# ■ Game_Party
#------------------------------------------------------------------------------
# パーティを扱うクラスです。ゴールドやアイテムなどの情報が含まれます。このク
# ラスのインスタンスは $game_party で参照されます。
#==============================================================================
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias rx_rgss2m1_initialize initialize
def initialize
# メソッドを呼び戻す
rx_rgss2m1_initialize
@rx_memo = ""
end
#--------------------------------------------------------------------------
# ★ メモ
#--------------------------------------------------------------------------
def rx_memo
return @rx_memo
end
#--------------------------------------------------------------------------
# ★ メモの取得
#--------------------------------------------------------------------------
def rx_memo=(memo)
@rx_memo = memo
end
end
#==============================================================================
# ■ Interpreter
#------------------------------------------------------------------------------
# イベントコマンドを実行するインタプリタです。このクラスは Game_System クラ
# スや Game_Event クラスの内部で使用されます。
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ★ 注釈
#--------------------------------------------------------------------------
alias rx_rgss2m1_command_108 command_108
def command_108
# メモに記入する
if @parameters[0].include?("笔记:")
# メモの内容を取得(コマンド名は排除)
get_memo = @parameters[0].sub("笔记:", "")
i = 1
loop do
# 次の行に文字列がある場合
if @list[@index+i].code == 408
get_memo += "\n" + @list[@index+i].parameters[0]
i += 1
else
break
end
end
case RX_T::RX_MemoOption
when 1
# 既存のメモを待避
copy_memo = $game_party.rx_memo
# 新しく登録したメモが一番上に来るようにする
$game_party.rx_memo = get_memo + "\n" + copy_memo
when 2
# 新しく登録したメモが一番下に来るようにする
$game_party.rx_memo += get_memo + "\n"
end
# 継続(競合対策)
return true
end
# メモに区切りをつける
if @parameters[0].include?("笔记分段")
# メモに区切りをつける
case RX_T::RX_MemoOption
when 1
# 既存のメモを待避
copy_memo = $game_party.rx_memo
# 新しく登録したメモが一番上に来るようにする
$game_party.rx_memo = " " + "\n" + RX_T::RX_Delimitation + "\n" + " " + "\n" + copy_memo
when 2
# 新しく登録したメモが一番下に来るようにする
$game_party.rx_memo += " " + "\n" + RX_T::RX_Delimitation + "\n" + " " + "\n"
end
# 継続(競合対策)
return true
end
# 指定のメモを消去する
if @parameters[0].include?("笔记擦去:")
# メモの内容を取得(コマンド名は排除)
get_memo = @parameters[0].sub("笔记擦去:", "")
i = 1
loop do
# 次の行に文字列がある場合
if @list[@index+i].code == 408
get_memo += "\n" + @list[@index+i].parameters[0]
i += 1
else
break
end
end
# 指定のメモを消去する
$game_party.rx_memo = $game_party.rx_memo.sub(get_memo, "")
return true
end
# メモを全消去する
if @parameters[0].include?("销毁笔记")
# メモを全消去する
$game_party.rx_memo = ""
# 継続(競合対策)
return true
end
# メソッドを呼び戻す
rx_rgss2m1_command_108
end
end
#==============================================================================
# ■ Window_RX_Memo
#------------------------------------------------------------------------------
# メモ画面で表示する、メモウィンドウです。
#==============================================================================
class Window_RX_Memo < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# actor : アクター
#--------------------------------------------------------------------------
def initialize
super(0, 0, Graphics.width, Graphics.height)
@memo_index = 0
@draw_limit = false
@lines = (Graphics.height - 32) / WLH
# メモを配列化
@memo = $game_party.rx_memo.split(/\s*\n\s*/)
refresh
end
#--------------------------------------------------------------------------
# ● メモのインデックス
#--------------------------------------------------------------------------
def memo_index
return @memo_index
end
#--------------------------------------------------------------------------
# ● メモのインデックスの取得
#--------------------------------------------------------------------------
def memo_index=(index)
@memo_index = index
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# メモの最終行が見えたら進めたインデックスを戻す
if @memo_index + @lines - 1 > @memo.size
@memo_index -= 1
end
# メモの初期位置から更に上に行こうとしたらインデックスを戻す
@memo_index = 0 if @memo_index < 0
draw_memo_info
end
#--------------------------------------------------------------------------
# ● メモ情報の描画
# x : 描画先 X 座標
# y : 描画先 Y 座標
#--------------------------------------------------------------------------
def draw_memo_info
x = 0
y = 0
y2 = 0
self.contents.font.color = normal_color
# 一行ずつ出力(画面に出力できる範囲のみ)
for i in @
[email protected]
self.contents.draw_text(x, y + WLH * y2, Graphics.width - 32, WLH, @memo[i])
# 描画中の Y 座標を求める
drawing_y_locate = WLH * y2 + WLH + 32
# 最終行まで描画したら(一画面分ギリギリの場合を除く)
if drawing_y_locate >= Graphics.height - WLH and @memo.size > @lines - 1
# メモの最終位置まで描画したらリミットフラグを立てる
@draw_limit = true if @lines + @memo_index - 1 >= @memo.size
# ウインドウの最下段に上下の操作方法を表示
@draw_limit ? mes = "↑:返回" : mes = "↓:前进"
mes = "↑:返回 ↓:前进" if @memo_index > 0 and not @draw_limit
self.contents.draw_text(x, y + WLH * (y2 + 1), Graphics.width - 32, WLH, mes)
# リミットフラグを解除してループを抜ける
@draw_limit = false if @draw_limit
break
end
y2 += 1
end
end
end
#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
# メニュー画面の処理を行うクラスです。
#==============================================================================
#~ class Scene_Menu < Scene_Base
#~ #--------------------------------------------------------------------------
#~ # ● コマンドウィンドウの作成
#~ #--------------------------------------------------------------------------
#~ def create_command_window
#~ s1 = Vocab::item
#~ s2 = Vocab::skill
#~ s3 = Vocab::equip
#~ s4 = Vocab::status
#~ s5 = "加点"
#~ s6 = RX_T::RX_MemoCommand
#~ s7 = Vocab::save
#~ s8 = Vocab::game_end
#~ @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8])
#~ @command_window.index = @menu_index
#~ if $game_party.members.size == 0 # パーティ人数が 0 人の場合
#~ @command_window.draw_item(0, false) # アイテムを無効化
#~ @command_window.draw_item(1, false) # スキルを無効化
#~ @command_window.draw_item(2, false) # 装備を無効化
#~ @command_window.draw_item(3, false) # ステータスを無効化
#~ end
#~ if $game_system.save_disabled # セーブ禁止の場合
#~ @command_window.draw_item(5, false) # セーブを無効化(元は4)
#~ end
#~ end
#~ #--------------------------------------------------------------------------
#~ # ● コマンド選択の更新
#~ #--------------------------------------------------------------------------
#~ def update_command_selection
#~ if Input.trigger?(Input::B)
#~ Sound.play_cancel
#~ $scene = Scene_Map.new
#~ elsif Input.trigger?(Input::C)
#~ if $game_party.members.size == 0 and @command_window.index < 4
#~ Sound.play_buzzer
#~ return
#~ elsif $game_system.save_disabled and @command_window.index == 5 # 元は4
#~ Sound.play_buzzer
#~ return
#~ end
#~ Sound.play_decision
#~ case @command_window.index
#~ when 0 # 物品
#~ $scene = Scene_Item.new
#~ when 1,2,3 # 技能、装备、状态
#~ start_actor_selection
#~ when 4 #属性加点
#~ $scene = Scene_Lvup.new
#~ when 5 # 冒险笔记
#~ $scene = Scene_RX_Memo.new
#~ when 6 # 存档
#~ $scene = Scene_File.new(true, false, false)
#~ when 7 # 结束游戏
#~ $scene = Scene_End.new
#~ end
#~ end
#~ end
#~ end
#==============================================================================
# ■ Scene_File
#------------------------------------------------------------------------------
# ファイル画面の処理を行うクラスです。
#==============================================================================
class Scene_File < Scene_Base
#--------------------------------------------------------------------------
# ● 元の画面へ戻る
#--------------------------------------------------------------------------
def return_scene
if @from_title
$scene = Scene_Title.new
elsif @from_event
$scene = Scene_Map.new
else
$scene = Scene_Menu.new(5) # 元は4
end
end
end
#==============================================================================
# ■ Scene_End
#------------------------------------------------------------------------------
# ゲーム終了画面の処理を行うクラスです。
#==============================================================================
class Scene_End < Scene_Base
#--------------------------------------------------------------------------
# ● 元の画面へ戻る
#--------------------------------------------------------------------------
def return_scene
$scene = Scene_Menu.new(6) # 元は5
end
end
#==============================================================================
# ■ Scene_RX_Memo
#------------------------------------------------------------------------------
# メモ画面の処理を行うクラスです。
#==============================================================================
class Scene_RX_Memo < Scene_Base
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
def start
super
create_menu_background
@status_window = Window_RX_Memo.new
end
#--------------------------------------------------------------------------
# ● 終了処理
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_background
@status_window.dispose
end
#--------------------------------------------------------------------------
# ● 元の画面へ戻る
#--------------------------------------------------------------------------
def return_scene
$scene = Scene_Menu.new(4)
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
update_menu_background
@status_window.update
if Input.trigger?(Input::B)
Sound.play_cancel
return_scene
elsif Input.repeat?(Input::DOWN)
Sound.play_cursor
@status_window.memo_index += 1
@status_window.refresh
elsif Input.repeat?(Input::UP)
Sound.play_cursor
@status_window.memo_index -= 1
@status_window.refresh
end
super
end
end
复制代码
记事本 [LINE]1,#dddddd[/LINE]
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者:
youzts
时间:
2009-3-15 02:32
谢谢2楼3楼的,我现在马上去试试~~{/qiang}
作者:
zh99998
时间:
2009-3-22 16:53
如果解决的话,请结帖
作者:
youzts
时间:
2009-4-27 00:50
3楼的,全是日语,看不懂啊~~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1