| | |
|
投稿者: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
| | |
| |
| | |
|