Powered by SmartDoc

プロパティ

標準プロパティ一覧

ユーザ情報ダイアログやシステムによって提供される情報は,ツリー構造の標準プロパティに設定されます.これらの標準プロパティは,書き換えのイベントが起こった際にシステムによって強制的に書き換えられます.

ツリー構造において,各項目名をノード,ノード下のノードを子ノード,一つ上のノードを親ノードと呼びます.各ノードにはUNIXファイルシステム風の"777"からなるアクセス権が設定されます.これは,

7 7 7  
| | |  
| | 全キャラクターにおけるアクセス制御(other)
| 同一ベンダーコードのキャラクターに関するアクセス制御(group)
自キャラクターに関するアクセス制御(user)

であり,それぞれの数字は,下記の意味を持ちます.

表現 許可された動作
7 読み,書き,下層への移動
5 読み,下層への移動
4 読み

プロパティ構造

プロパティ中に指定する画像ファイルは,hp2, hp3形式のグラフィックファイルのことを指します.

\(ルート)                                   -persona.prpからのインポート
  User(555)\
      LastName                                ユーザの名字
      FirstName                               ユーザの名前
      LastNameR                               ユーザの名字のよみ
      FirstNameR                              ユーザの名前のよみ
      Gender                                  ユーザの性別
      BirthYear                               誕生年
      BirthMonth                              誕生月
      BirthDay                                誕生日
      Address                                 都道府県
      e-mail                                  e-mailアドレス
      UHID                                    User Hashed ID(MD5)
  
  System(555)\
      MajorVersion                            1   (1.00の場合)
      MinorVersion                            00  (1.00の場合)
      OptionalVersion                         a, b, c …
      Connect(000)\
          (以下,接続タブの設定)
      CommonConfig\(555)
          Hotkey(550)\                        ホットキー設定(キーバインド)  
              Show                            (元のサイズに戻す)
              Hide                            (最少化)
              LClick                          (左クリック)
              RClick                          (右クリック)
          Tray                                システムトレイに表示(1:オン,0:オフ)
          UseAlphaBlend                       半透明表示(1:オン,0:オフ)
                                              [3.10以降]
          UseAlphaEdge                        画像の端を滑らかにする(1:オン,0:オフ)
                                              [3.10以降]
  
  Vendor(777)\                              -share.prpからのインポート
          (全ベンダー共有領域)
      LF(774)\                                -vd.prpからのインポート
          (特定ベンダー内共有領域)
  
          HPX-01(774)\
              System\                             -sys.prpからのインポート
                  SysConfig(550)\
                      Action(550)\
                          AlwaysTop               常に手前に表示(0/1)
                          AutoMsgBoxClick         0/1
                          AutoMsgBoxClose         0/1
                          CGEffect                エフェクト(0?5)
                          CGSize                  サイズ(標準:0 1/2:1 2/3:2)
                          DoubleSpeed             0/1
                          FontSize                フォントのサイズ(point)
                          MsgBoxFont              フォント名
                          Sound                   0/1
                      
                      Fetch(550)\
                          AinoriFetch             相乗り更新の有無(0/1)
                          FetchMethod             手動:0 自動:1 指定:2
                          ConnectMethod           LAN:0 ダイヤルアップ:1
                          NextFetchTiming         次回更新予定(年/月/日/時/分/秒)
                                                  FetchMethod=0の場合は空文字列
                          RejectExeFile           EXEファイルを受け取らない(0/1)
                      
                      Security(550)\                  
                          ClearDustBox            利用不可:0 利用可:1
                          ClearRecentFileList     0/1
                          ConnectLine             0/1
                          ExitWindows             0/1
                          OpenWeb                 0/1
                          GetHTTP                 0/1
                          ThrowHTTP               0/1

                  DropFilePath            ドロップしたファイルのフルパス
                  ScriptUpdated
                  HttpResult              Get/ThrowHTTP関数のHTTPリザルト
                  UpdateSuspend           ScriptUpdatedが-2でかつこの値が2だった
                                          場合は相乗り更新中になんらかのエラーで
                                          処理が中断されたことを示す.
                  CancelStatus

                  TotalExecuteTime        累計の稼動時間(秒)[3.20以降]
                  ExecuteCount            累計の起動回数[3.20以降]

              Vendor\                 -aya.prpからのインポート
                  VdConfig(774)\                  
                      Name                春菜
                      NameR               はるな
                      Version(*)          0.90(文字列)
                      Profile(*)          プロフィール
                      MainWin(770)\       (キャラクターCG表示設定)
                          Place           表示スタイル
                                          (下端:0 上端:1 アクティブタイトル
                                          バー(以下ATB)上:2 Free:3 アクティブウィンドウ下端[1.50]:4 )
                          OffsetX         横オフセット値
                          OffsetY         縦オフセット値
                          PercentX        ATBモード時の表示位置の設定(0-100) 
                                          0が右端で100に近づくタイトルバーの右に表示
                          CGEffectWait(*) MergeBitmapエフェクトつき使用時のウエイト値[ms]  
                                          標準値40
                          TransparentBorder
                                          透明,不透明を分けるアルファ値の閾値(0-255)
                                          [2.00以降]
                          Fixed           キャラクターウインドウを固定する(0: 通常, 1:固定(マウスで移動不可))
                                          [2.00以降]
                          DraggableRect           ドラッグ可能領域[3.00以降]

                      MsgBox(770)\        吹き出しに関する諸設定(MsgBox以下のプロパティ構造を参照)
                      FetchDataSet(*)     更新するデータセット
                      GetHTTPStrCode(*)   GetHTTP関数で取得する文字列の文字コードを指定
                                          (自動認識:0, SJIS:1, JIS:2, EUC:3, 4: UTF-8 )[1.01]UTF-8は[3.00]

                  (個別キャラクター利用領域)
          
          HPX-02(774)\
              (以下同様)
      
      (他ベンダーコード)\
          (他キャラクター型番)\
              (以下同様)
  
  Plugin(777)\                            -プラグイン用(本体終了時に削除されます)

.\Vendor\VdConfig以下のキーで(*)印が付いている項目は,ReflectConfig関数を使用しなくても適用されます.

階層プロパティと物理ファイルの対応

各キャラクターに関するベンダーが操作しうる設定,ならびに綾織プロパティ例:(\Vendor\LF\HPX-01\Vendor\以下)は,各キャラクターディレクトリのaya.prpからインポートされます.

また,各キャラクターごとのユーザ設定例:(\Vendor\LF\HPX-01\System\以下)は,同じくsys.prpからインポートされます.この二つのファイルは,各キャラクターのpsnファイルに納められたキャラクター共通暗号鍵で暗号化され,キャラクターの切り替え・終了時にファイルに記録されます.

上記サブツリーを除く,ベンダー名ノード以下のベンダー間共有領域に設定されたプロパティは,ベンダーディレクトリ内のvd.prpに記録されます.vd.prpは,各キャラクターのpsnファイルに記録されたベンダー共通暗号鍵で暗号化されます.

また,\Share以下はpersona.exeと同じディレクトリのshare.prpに,ルート直下の\User\以下と\System\以下はpersona.prpに記録されます.share.prpとpersona.prpはpersona.exe内埋めこみの標準暗号鍵で暗号化されます.

プロパティ関数における指定例と特例処理

GetProperty,PutPropertyなどのプロパティ操作関数においては,プロパティは\からはじまるフルパスで指定します.ただし,綾織(ayacコンパイラ)では\は制御文字として扱われるので,エスケープして\\と書く必要があります.存在しないプロパティを参照した場合,NULLを返します.

Talk( GetProperty( "\\User\\LastName" ) + "さん,こんにちは\n" );

//表示モードをアクティブタイトルバー追尾モードにセット
PutProperty( "\\Vendor\\LF\HPX-01\\VdConfig\\MainWin\\Place", "2" );

ペルソナウェアVer.0.93シリーズとの互換性対策として,フルパス指定でない(\から始まらない)プロパティ指定をマッピングします.

キー マッピング先
LastName \User\以下の同名プロパティにマッピング
FirstName
Gender
BirthYear
BirthMonth
BirthDay
Address
上記以外 \Vendor\(ベンダーコード)\(キャラクター型番)\Vendor\以下の同名プロパティにマッピング

ScriptUpdatedの値

解説
0 成功
8 [実行可能ファイル配信禁止]時に,実行形式ファイルの指定があった
-2 ユーザによる中止
-6 サーバのデータが未更新
-12 mirror.fetの異常
-18 ミラーサイトの消失
-32

[2.00系]MD5の不一致エラー又はファイルの差し替えに失敗

[3.00以降]ファイルの差し替えに失敗(ファイルがロックされていて削除 or 移動できない)

-35 [3.00以降]キャラクター更新時のMD5不一致エラーの検出(MD5エラー)
その他の値 HTTPのエラーコードに-1をかけて符号反転したもの
-32(更新データファイル不整合),-35について

サーバにアップロードされたindex.fetファイルに記録された更新データファイルの情報が,実際にアップロードされたファイルと異なる場合に発生します.

index.fetを作成するときのファイルと,実際にサーバ上にアップロードしたファイルに違いがないか確認してください.違いがあれば,index.fetを作成するときのファイルをアップロードするか,もう一度index.fetを作成してアップロードしなおすことで解決できます.

更新データの条件分岐

index.fetに記載された追加データセット名をコンマ区切りで指定することで,更新時にダウンロードするデータセットの分岐および追加が可能です.追加データセットは,1セット=1サブディレクトリとし,データセット名と同名のディレクトリ以下に配置されます.

標準セットは必ずダウンロードされ,それに指定したセットを加えたものが更新時にダウンロードされます.前回更新時から,あるデータセット指定を削除した場合,更新を行った時点でそのデータセットに含まれるファイルが実際にローカルから削除されます.

DraggableRect

キャラクターウインドウドラッグ時にキャラクターを移動できる領域の指定を行います.

指定された部分以外をドラッグしてもキャラクターウインドウは移動しません.このプロパティキーには ドラッグ可能な矩形領域を"[左上x座標], [左上y座標], [右下x座標], [右下y座標]"の形式でコンマ区切りで指定します.

また,ドラッグ可能領域の指定は画像中の位置情報"Draggable"でも行えます. 但しプロパティの指定がある場合はこの指定は無視されます.

いずれのドラッグ可能領域の指定がない場合は,ウインドウのどこをドラッグしても移動することができます(従来どおり)

また,これらのプロパティはReflectConfig(W)指定時に適用されます.

MsgBox以下のプロパティ構造

\Vendor\LF\HPX-01\Vendor\VdConfig\MsgBox\
    SizeW                   一行の文字数( 5-50 )
    SizeH                   一頁の行数( 1-32 )
    PositionX               原点からの横位置
    PositionY               原点からの縦位置
    BGColor                 背景色( RRGGBB形式 )
    FontColor               標準のフォント色指定( RRGGBB形式 ) 例. 赤色: FF0000
    DisableCancel(*)        1でChoice,Select,Message,Talk,EditBoxの
                            入力待ちキャンセル禁止.
    DisableSkip(*)          1でTalk中の左クリック,CTRLによるメッセージスキップ禁止
    ChoiceTimeLimit
    EditTimeLimit
    HighlightText[1.50]     選択肢での選択された文字列の色を指定( RRGGBB形式 )
                            ""を指定した場合はシステムデフォルト値になる.
    Highlight[1.50]         選択肢での選択色の指定( RRGGBB形式 )
                            ""を指定した場合はシステムデフォルト値になる.
    UrlColor[1.50]          クリッカブルURLの色指定( RRGGBB形式 )
                            ""を指定した場合はシステムデフォルト値になる.
    UrlStyle[1.50]          クリッカブルURLに下線を引くかどうか.
                            0なら下線なし,1あるいは""なら下線あり.
    Style[1.50]                   表示スタイル
    DrawRange[1.50]               描画領域
    FrameTopBMP[1.50]             背景画像1
    FrameMiddleBMP[1.50]          背景画像2
    FrameBottomBMP[1.50]          背景画像3
    BackgroundBMP[1.50]           背景画像
    WaitCursorBMP[1.50]     クリック待ち時のカーソルにする画像ファイル
    PageCursorBMP[1.50]     ページ送り待ち時のカーソルにする画像ファイル
                             (画像ファイル名 or ""(標準カーソル))
    WaitCursorPos[1.50]     クリック待ち時のカーソルの表示座標を指定
    PageCursorPos[1.50]     ページ送り待ち時のカーソルの表示座標を指定
                             ("" or "x座標,y座標" 例:"200,300")
    WaitCursorBlink[1.50]   クリック待ち時にカーソルを点滅させるかどうかの指定
    PageCursorBlink[1.50]   ページ送り待ち時にカーソルを点滅させるかどうかの指定
                             (0:非点滅 1:点滅)
    ScrollUpBMP[1.50]              座標と画像ファイルの指定
    ScrollUpPos[1.50]              同上
    ScrollDownBMP[1.50]            同上
    ScrollDownPos[1.50]            同上
    CloseBMP[3.00]                 同上
    ClosePos[3.00]                 同上

    EditTimeLimitMode[3.00]  EditBoxのタイムアウトモード
                             0:EditTimeLimit時間経過したら終了する(従来どおり)
                             1:EditTimeLimit時間入力がなかったら終了する(新規)

    PositionMode[3.00]            吹き出しの表示位置の制御を行うため以下の数字の指定
                            が可能です.
                            0: デフォルト表示(従来と同様,このプロパティが
                               未指定の場合もこのモードが適用されます)
                            1: キャラクタウィンドウからの相対位置指定
                               キャラクターウインドウの左上を基準に
                               PositionX, PositionYずらした場所に表示します.
                               PositionMode=0のときと違い,と吹き出し表示方
                               向の制御,及び画面外に出た際の補正処理も入り
                               ません
                            2: スクリーン座標の絶対位置指定
                               スクリーン座標におけるPositionX, PositionY
                               座標に吹き出しを表示する
    PositionXL[3.00]              PositionMode=0の場合に吹き出しが左側に表示する際の
                            み適用するPositionXです.この値の指定がある場合は,
                            PositionXの指定は無効となります.
    PositionXR[3.00]              PositionMode=0の場合に吹き出しが右側に表示する際の
                            み適用するPositionXです.この値の指定がある場合は,
                            PositionXの指定は無効となります.

.\Vendor\VdConfig以下のキーで(*)印が付いている項目は,ReflectConfig関数を使用しなくても適用されます.

Style,DrawRange,FrameTopBMP,FrameMiddleBMP,FrameBottomBMPについて

    Style:            表示スタイルの設定
     [設定可能な値] 0 or "": 通常表示
                       背景に画像を貼り付けたい場合は,
                       BackgroundBMPを使用することができます.
                    1: 画像ファイルによる固定枠表示BackgroundBMPで指
                       定したグラフィックファイルの左下を透明色として,
                       吹き出しの形状を変更します.
                       BackgroundBMPとDrawRangeを必ず指定する必要があ
                       ります.この形式の場合のみSizeW,SizeHで指定し
                       た幅は無視されます.
                    2: 画像ファイルによる可変枠表示
                       FrameBitmapに必ず吹き出しの枠となる画像ファイル
                       を指定する必要があります.
                       FrameTopBMP, FrameMiddleBMP, FrameBottomBMPと
                       DrawRangeを必ず指定する必要があります.

    BackgroundBMP:    吹き出しの背景に貼り付ける画像ファイル
     [設定可能な値]   "" or [画像ファイル名]

    DrawRange:        Style指定が1の際に使用される吹き出しの表示可能
                      領域を指定します.
     [設定可能な値]   [描画領域左上点X座標],[左上点Y座標],
                        [描画可能領域左下点X座標],[左下点Y座標]

                      指定方法は表示可能領域の左上点 x,y座標
                      右下点x,y座標をそれぞれコンマ区切りで指定する
                      また,値をマイナスに指定することにより画面右端
                      からのドット数を指定することができます

                      ex) 1.左上点 20, 20 右下点 200, 200の場合
                            PutProperty( "VdConfig\\MsgBox\\DrawRange", "20,20,200,200");
                          2.左上点 20, 20 右端から 20, 20の場合
                            PutProperty( "VdConfig\\MsgBox\\DrawRange", "20,20,-20,-20");

    FrameTopBMP:      Style指定が2の際に使用される吹き出し枠上部のグラ
                      フィックファイルを指定します.
     [設定可能な値]   (左側画像ファイル),(中央画像ファイル),(右側画像ファイル)

                      吹き出しを以下のように9分割して考えた場合の0,1,2
                      部分に相当する画像ファイルをコンマ区切
                      りで指定します.また,各画像ファイルの高さを合わ
                      せる必要があります.
                                   -------------
                                   | 0 | 1 | 2 |
                                   -------------
                                   | 3 | 4 | 5 |   (図1)
                                   -------------
                                   | 6 | 7 | 8 |
                                   -------------

    FrameMiddleBMP:   Style指定が2の際に使用される吹き出し枠中央部のグラ
                      フィックファイルを指定します.
     [設定可能な値]   (左側画像ファイル),(中央画像ファイル),(右側画像ファイル)

                      吹き出しを図1のように9分割して考えた場合の3,4,5
                      部分に相当する画像ファイルをコンマ区切
                      りで指定します.また,3,5に指定した画像ファイル
                      の高さは合わせる必要があります.4に指定した画像
                      ファイルは吹き出し全体の背景として,吹き出し全
                      体サイズの中央に配置されます.

    FrameBottomBMP:   Style指定が2の際に使用される吹き出し枠下部のグ
                      ラフィックファイルを指定します.
     [設定可能な値]   (左側画像ファイル),(中央画像ファイル),(右側画像ファイル)

                      吹き出しを図1のように9分割して考えた場合の6,7,8
                      部分に相当する画像ファイルをコンマ区切
                      りで指定します.また,6,7,8に指定した画像ファイ
                      ルの高さは合わせる必要があります.

ScrollUpBMP,ScrollUpPos,ScrollDownBMP,ScrollDownPosについて

transparentborder

    ScrollUpBMP:      スクロールアップボタンに指定する画像ファイル(hp2,hp3)
    ScrollDownBMP:    スクロールダウンボタンに指定する画像ファイル
    CloseBMP:         閉じるボタンに指定する画像ファイル
      [設定可能な値]  "" or [画像ファイル名] or
                      [通常時の画像], [ボタンにフォーカスがきた時の画像], 
                      [ボタンを押した時の画像]

                      空白を指定した場合はシステム標準の画像が使われ
                      ます.
                      また,3つの画像ファイルをコンマ区切りで指定する
                      ことで,通常表示時画像ファイル,ボタンにマウスが
                      乗りフォーカス時が来た際の画像ファイル,ボタンを
                      押した時の画像ファイルをそれぞれ指定することがで
                      きます.

    ScrollUpPos:      スクロールアップボタンの表示座標を指定
    ScrollDownPos:    スクロールダウンボタンの表示座標を指定
    ClosePos:         閉じるボタンの表示座標を指定
      [設定可能な値]  "" or [表示X座標],[表示Y座標]

                      ボタンの表示座標ををコンマ区切りで指定する
                        ex) 座標( 200, 300 )に表示する場合
                            PutProperty( "VdConfig\\MsgBox\\ScrollDownPos", "200,300");

吹き出しプロパティ設定時の特殊な指定方法

位置情報による描画範囲,位置指定

文字描画領域,ScrollUpボタン,ScrollDownボタン,クリック待ちカーソル,ページ送りカーソルに関しては,?Posプロパティでの指定のほかに,画像に埋め込んだ位置情報によりその表示位置を設定することができます.指定方法としては各ボタンを表示させたい位置を基点とした矩形の位置情報を作成し,「位置情報」の欄に該当するプロパティ名をScrollUpPos等の位置指定を行うプロパティと同名のものを指定します.

描画文字領域DrawRangeの場合は,左上点だけでなく,矩形で指定した領域全体が文字の描画範囲となります.

ただし,プロパティによる指定の方が優先度が高いため,プロパティによる位置設定がなされていた場合は位置情報による位置設定は無視されます.

FrameTopBMP,FrameMiddleBMP,FrameBottomBMPのワイルドカード指定

吹き出し形状がStyle=2の場合,FrameTop,Middle,Bottomの各プロパティにファイル名を指定する必要があります.その際,ワイルドカード'?'を用いた省略指定が行えます.

PutProperty( "VdConfig\\MsgBox\\FrameTopBMP", "vb?.hp2" );

上の設定の'?'の部分に自動的に数字が挿入され,以下の設定を行ったのと同様になります.

PutProperty( "VdConfig\\MsgBox\\\FrameTopBMP", "vb0.hp2, vb1.hp2, vb2.hp2" \
    );
PutProperty( "VdConfig\\MsgBox\\\FrameMiddleBMP", "vb3.hp2, vb4.hp2, \
    vb5.hp2" );
PutProperty( "VdConfig\\MsgBox\\\FrameBottomBMP", "vb6.hp2, vb7.hp2, \
    vb8.hp2" );

これにより簡単に複数のファイルを指定することができます.

Choice,Select,EditBoxのタイムアウト処理

プロパティに制限時間を指定することにより,一定時間後に入力をタイムアウトさせることが可能です.

AddItem-Choice構文,Select関数の場合はVdConfig\MsgBox\ChoiceTimeLimitに,EditBox関数の場合はVdConfig\MsgBox\EditTimeLimitにタイムアウト時間をms単位で指定します.

タイムアウトした際,各関数は右クリックによるキャンセル時と同じ値を返します.キャンセルによる終了か,タイムアウトによる終了かを判断するには,プロパティ\Vendor\(VdCode)\(TYPE)\System\CancelStatusの値を参照します.タイムアウトした場合,この値は0以外にセットされます.

また,ChoiceTimeLimit, EditTimeLimitともに,タイムアウトを行うと自動的に値が0(時間制限なし)にセットされます.

またVer3.00からEditTimeLimitModeプロパティにてEditBoxのタイムアウトの方法を変更することができます.あわせて参照してください。

PutProperty( "VdConfig\\MsgBox\\ChoiceTimeLimit", "3000" ); 
Talk("この選択肢は3秒で自動的に終了します\n"); 
AddItem("手動終了") 
{ 
    Talk("手動で終了しました.\n"); 
} 
AddCancelItem 
{ 
    if( GetProperty("\\Vendor\\LF\HPX-01\\System\\CancelStatus") == "0" ) 
        Talk("キャンセルされました.\n"); 
    else 
        Talk("タイムアウトで終了しました.\n"); 
}Choice; 
  
//時間の設定 
PutProperty( "VdConfig\\MsgBox\\EditTimeLimit", "5000" ); 
Talk("この入力ボックスは5秒で自動的に終了します.\n"); 
str = EditBox( 0, 0, "" ); 
if( str != NULL ) { 
    Talk("以下の文字が入力されました.\n"); 
    Talk( str ); 
} else { 
    if( GetProperty( P + "System\\CancelStatus") == "0" ) 
        Talk("入力はキャンセルされました.\n"); 
    else 
        Talk("タイムアウトで終了しました.\n"); 
    } 
}

TransparentBorderについて

アルファチャンネルつき画像をキャラクター画像として使用すると,透明部分との 境目に太く黒い線がでることがあります.これはアルファ値が1以上のピクセルが不透明として処理している為, 特に境目などの薄く色が入っている部分(アルファ値が小さい部分)でも黒として表示される為に起こります.

この現象を緩和する為に透明,不透明を分けるアルファ値の閾値をこのパラメータで指定できます.この値には0〜255の値を代入することが可能で,0に近づくほど薄い色でも不透明と判断する為黒い部分が増えます(薄い色は黒になります).逆に255に近づくほど濃い色でないと不透明と判断しないので黒い部分が減ります.標準値は1です.この設定を行うことで"端を滑らかにする"の設定がオフの場合でもαチャンネル付き画像をそこそこ綺麗に画像の端を表示することが可能になります.