YU-RIS サポート掲示板

0476 2 0.213でも、そしてコードのコピーペー
投稿者:Deathworks 2006/05/30(火) 00:09

今日は、Deathworksです。
2 0.213でテストしても、同じ結果になりました。以下はルーチンの「大丈夫」のVersionですけど、問題を直ってくれたら嬉しいです。
ルーチンA(メインが「GOSUB」で呼び出すルーチンです。自分のファイルに入っています。)


LABEL[#="DW_Item_Distributor01"]
//
// アイテムの管理
//
INT[@DW_Number_Length=0]
LABEL[#="DW_Item_Dist_Display01"]
IF[@DW_Item_Current_Item<1]
@DW_Item_Current_Item=1
ELSE[@DW_Item_Current_Item>=\[Item_Index_Size]]
@DW_Item_Current_Item=\[Item_Index_Size] -1
IFEND[]
$DW_Item_Curr_Item=$@DW_Item_Current_Item
VARINFO[LET=@DW_Number_Length SET=$DW_Item_Curr_Item LENGTH=1]
LOOP[SET=3-@DW_Number_Length]
$DW_Item_Curr_Item="0"+$DW_Item_Curr_Item
LOOPEND[]
\[p]アイテムを選んで下さい。\[r]
IF[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_None]]
GOSUB[#="DW_Item_Ov_None01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Special]]
GOSUB[#="DW_Item_Ov_Special01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Weapon]]
GOSUB[#="DW_Item_Ov_Weapon01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Armor_Torso]]
GOSUB[#="DW_Item_Ov_A_Torso01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Armor_Head]]
GOSUB[#="DW_Item_Ov_A_Head01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Armor_Feet]]
GOSUB[#="DW_Item_Ov_A_Feet01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Shield]]
GOSUB[#="DW_Item_Ov_Shield01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Neck]]
GOSUB[#="DW_Item_Ov_Neck01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Ring]]
GOSUB[#="DW_Item_Ov_Ring01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Ammunition]]
GOSUB[#="DW_Item_Ov_Ammu01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_One_Shot]]
GOSUB[#="DW_Item_Ov_Once01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Reusable]]
GOSUB[#="DW_Item_Ov_Reusable01"]
ELSE[@DW_Item_Index(@DW_Item_Current_Item,\[Item_Index_Type])==\[Item_Type_Event]]
GOSUB[#="DW_Item_Ov_Event01"]
IFEND[]
@DW_Changes=0
GO[#="DW_Dist_Loop01"]
LABEL[#="DW_Dist_Loop01"]
\[r]_
IF[(@DW_DOWN == 0) && ((@_PAD_DOWN(@DW_Pad_Number) > 0) || (@_KEY_DOWN > 0))]
@DW_DOWN=1
@DW_Changes=1
@DW_Item_Current_Item+=1
ELSE[(@DW_UP == 0) && ((@_PAD_UP(@DW_Pad_Number) > 0) || (@_KEY_UP > 0))]
@DW_UP=1
@DW_Changes=1
@DW_Item_Current_Item-=1
ELSE[(@DW_MARU == 0)&&((\[Button_Maru] > 0)||(\[Key_Maru] > 0))]
@DW_MARU = 1
ELSE[(@DW_BATU == 0)&&((\[Button_Batu] > 0)||(\[Key_Batu] > 0))]
@DW_BATU = 1
GO[#="DW_Item_Distributor_End"]
IFEND[]
IF[(@DW_LEFT != 0) && ((@_PAD_LEFT(@DW_Pad_Number) < 0)&&(@_KEY_LEFT < 0))]
@DW_LEFT=0
IFEND[]
IF[(@DW_RIGHT != 0) && ((@_PAD_RIGHT(@DW_Pad_Number) < 0)&&(@_KEY_RIGHT < 0))]
@DW_RIGHT=0
IFEND[]
IF[(@DW_DOWN != 0) && ((@_PAD_DOWN(@DW_Pad_Number) < 0)&&(@_KEY_DOWN < 0))]
@DW_DOWN=0
IFEND[]
IF[(@DW_UP != 0) && ((@_PAD_UP(@DW_Pad_Number) < 0)&&(@_KEY_UP < 0))]
@DW_UP=0
IFEND[]
IF[(@DW_MARU != 0) && ((\[Button_Maru] < 0)&&(\[Key_Maru] < 0))]
@DW_MARU=0
IFEND[]
IF[(@DW_BATU != 0) && ((\[Button_Batu] < 0)&&(\[Key_Batu] < 0))]
@DW_BATU=0
IFEND[]
IF[@DW_Changes!=0]
GO[#="DW_Item_Dist_Display01"]
ELSE[]
GO[#="DW_Dist_Loop01"]
IFEND[]
GO[#="DW_Dist_Loop01"]
LABEL[#="DW_Item_Distributor_End"]
_\[p]
RETURN[]


そして、呼び出したルーチンは以下のようになります(こちらも別のファイルになりますね。)。


LABEL[#="DW_Item_Ov_None01"]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]まだ作られていない。
RETURN[]
LABEL[#="DW_Item_Ov_Special01"]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Special])]
\[r]これ以上のデータが必要ではありません。\[r]
RETURN[]
LABEL[#="DW_Item_Ov_Weapon01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Weapon])]
LOOP[SET=\[Item_Data_Weapon_Size]]
\[r]_[$DW_Weapon_Data_Name(@I)] _[@DW_Weapon_Data(@I)]
@I+=1
LOOPEND[]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_A_Torso01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Armor_Torso])]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_A_Head01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Armor_Head])]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_A_Feet01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Armor_Feet])]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_Shield01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Shield])]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_Neck01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Neck])]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_Ring01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Ring])]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_Ammu01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Ammunition])]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_Once01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_One_Shot])]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_Reusable01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Reusable])]
\[r]
RETURN[]
LABEL[#="DW_Item_Ov_Event01"]
INT[@I=0]
\[r]ID番号:_[$DW_Item_Curr_Item]
\[r]名前:_[$DW_Item_Name_Index(@DW_Item_Current_Item)]
\[r]タイプ:_[$DW_Item_Type_Name(\[Item_Type_Event])]
\[r]
RETURN[]


Globalでの関係のものは


G_INT[@DW_Changes=0]

G_INT[@DW_Item_Index(\[Item_Index_Size],\[Item_Index_Dimension])]
G_STR[$DW_Item_Name_Index(\[Item_Index_Size])]
G_INT[@DW_Item_Current_Item=1]
G_STR[$DW_Item_Curr_Item="001"]
G_INT[@DW_Weapon_Data(\[Item_Data_Weapon_Size])]

G_STR[$DW_Item_Type_Name(\[Item_Types])]
G_STR[$DW_Weapon_Data_Name(\[Item_Data_Weapon_Size])]


Initでの準備は

$DW_Item_Type_Name(\[Item_Type_None])="未決定"
$DW_Item_Type_Name(\[Item_Type_Special])="ダミー"
$DW_Item_Type_Name(\[Item_Type_Weapon])="武器"
$DW_Item_Type_Name(\[Item_Type_Armor_Torso])="鎧"
$DW_Item_Type_Name(\[Item_Type_Armor_Head])="兜"
$DW_Item_Type_Name(\[Item_Type_Armor_Feet])="靴"
$DW_Item_Type_Name(\[Item_Type_Shield])="盾"
$DW_Item_Type_Name(\[Item_Type_Neck])="首輪"
$DW_Item_Type_Name(\[Item_Type_Ring])="指輪"
$DW_Item_Type_Name(\[Item_Type_Ammunition])="弾"
$DW_Item_Type_Name(\[Item_Type_One_Shot])="使い捨て"
$DW_Item_Type_Name(\[Item_Type_Reusable])="再使い"
$DW_Item_Type_Name(\[Item_Type_Event])="イベント"
$DW_Weapon_Data_Name(\[Weapon_Data_Subtype])="細かいタイプ"
$DW_Weapon_Data_Name(\[Weapon_Data_Min_STR])="必要な強さ"
$DW_Weapon_Data_Name(\[Weapon_Data_Min_DEX])="必要な器用さ"
$DW_Weapon_Data_Name(\[Weapon_Data_Damage])="ダメージ"
$DW_Weapon_Data_Name(\[Weapon_Data_Element])="属"
$DW_Weapon_Data_Name(\[Weapon_Data_Easiness])="難しさ"

そして、新しいMACROは
//
// アイテムリスト用の便利な
// 「Constant」
//
MACRO[NAME="Item_Index_Type" STR="0"]
MACRO[NAME="Item_Index_Disposition" STR="1"]
MACRO[NAME="Item_Index_Price" STR="2"]
MACRO[NAME="Item_Index_Icon_Number" STR="3"]
//
MACRO[NAME="Item_Index_Size" STR="500"]
MACRO[NAME="Item_Index_Digits" STR="3"]
MACRO[NAME="Item_Index_Dimension" STR="4"]
//
MACRO[NAME="Item_Type_None" STR="0"]
MACRO[NAME="Item_Type_Special" STR="1"]
MACRO[NAME="Item_Type_Weapon" STR="2"]
MACRO[NAME="Item_Type_Armor_Torso" STR="3"]
MACRO[NAME="Item_Type_Armor_Head" STR="4"]
MACRO[NAME="Item_Type_Armor_Feet" STR="5"]
MACRO[NAME="Item_Type_Shield" STR="6"]
MACRO[NAME="Item_Type_Neck" STR="7"]
MACRO[NAME="Item_Type_Ring" STR="8"]
MACRO[NAME="Item_Type_Ammunition" STR="9"]
MACRO[NAME="Item_Type_One_Shot" STR="10"]
MACRO[NAME="Item_Type_Reusable" STR="11"]
MACRO[NAME="Item_Type_Event" STR="12"]
//
MACRO[NAME="Item_Types" STR="13"]
//
MACRO[NAME="Weapon_Data_Subtype" STR="0"]
MACRO[NAME="Weapon_Data_Min_STR" STR="1"]
MACRO[NAME="Weapon_Data_Min_DEX" STR="2"]
MACRO[NAME="Weapon_Data_Damage" STR="3"]
MACRO[NAME="Weapon_Data_Element" STR="4"]
MACRO[NAME="Weapon_Data_Easiness" STR="5"]
//
MACRO[NAME="Item_Data_Weapon_Size" STR="6"]
//


使っているアイテムリストはまだ全て「0」(=未決定)になります

ルーチンAの中の

\[p]アイテムを選んで下さい。\[r]

というラインを消せば、スクリーンの変更が行わなくなりますけど、KEYの仕業をちゃんと聞きます。
でも、LABEL[#="DW_Dist_Loop01"]の後の

\[r]_

がなくなりますと、Freezeになります。

\[r]

だけならも駄目です。テキストがなければ、\[r]が無視されるらしいです。

AUTOCLICKもAUTOPAGEもAUTORETURNがOFFになります。

どうか確かめて下さい。

Deathworks


- 関連一覧ツリー (■ をクリックするとツリー全体を一括表示します)