Top / リファレンスマニュアル / フラグ一覧

ユーザーデータ

  • 各変数が<>で連結され、データファイルの1行目に記述される。
  • 相手キャラクターの変数名には、$ の後ろに p が付く。($pid、$pnm など)
インデックス変数名説明凡例
0$idキャラクターID。通常は4桁の数値で表される。0000
1$nmキャラクター名。名前
2$psパスワード。パスワード
3$jb職業名。戦士
4$ig職業画像。fi.gif
5$sp所有スキル(略字)。TfSwShJwYwYaYsYt?
6$bp一時使用アイテム効果。略字と効果量(数値)で表される。死亡時の蘇生時間カウントとしても使用される。通常:Hb2、蘇生時間カウント:1
7$bn一時使用アイテム名。ハーブ
8$ak攻撃力。0
9$dd防御力。0
10$hp体力(現在値)。11
11$xp体力(最大値)。11
12$ab攻撃力補正。武器装備などで増減。0
13$db防御力補正。防具装備などで増減。0
14$av状態。通常:alive、毒:poison、死:dead
15$wn戦闘勝利回数。0
16$lz戦闘敗北回数。0
17$dt死亡回数。0
18$mn所持金。0
19$bg所持アイテム。アイテム1つは「アイテム名△効果(△販売価格)」で表される。複数所持している場合はカンマで連結されている。ポテト△00010100Fd,パン△00030300Fd
20$xi最大所持量。6
21$tm最終アクセス時刻。買い物をされたりなどの相手からの行動時にも更新される。1167577200
22$lf最後に戦いを挑んできた相手のID。0001
23$fe治療費。「毒治療費△蘇生費」で表される。5△10
24$cmコメント。コメント
25$is所持ステラツィオ。小文字は交換可能な状態。大文字は交換に出していない状態。ATGCLVBORNQPatgclvbornqp
26$htキャラクター作成時のリモートホスト。ホストが取得できない場合はリモートアドレス(IP)。IPは先頭から3項目。user.hoge.domain(or 127.0.0.)
27$fg保存状態。保存されていると'S'が含まれる(町で保存:NS、人里離れて保存:HS、セーブ系アイテムを使用して保存:SS)、何かの行動前は'B'が含まれる(アイテム使用前:UB、捨てる前:DB、その他)、使用中:空
28$rw懸賞金額。0
29$kl殺害回数。0
30変数なし改行コード(\n)。

アイテムデータ

  • ユーザーデータの$bgに格納されており、1つのアイテムは「アイテム名△効果(△販売価格)」で表される。
  • アイテムを複数所持している場合はカンマで連結されている。 「&splititem('i');」 (相手のアイテムは「&splititem('I');」) を実行すると、@items (相手のアイテムは@pitems) という配列変数に所持アイテムが格納される。
  • 取得したいアイテムをリストから選択し、△を区切り文字としてsplit関数でデータを得ることができる。
変数名説明
$itemアイテム名。
$stsアイテム効果。8桁の数字と略字で表される。
$price販売価格。非戦闘系職業が販売金額を設定している場合のみ使用される。

取得方法例

  • foreach (0 .. $#items) { のブロック内の場合
    ($item,$sts,$price) = split(/△/,$items[$_]);
  • FORMからの入力(SELECTタグ、INPUT TYPE="radio")の場合
    ($item,$sts,$price) = split(/△/,$items[$Fm{'hoge'}]);
    # 'hoge' はNAME属性。VALUE属性には数値(@itemsの添え字)を設定。
  • FORMからの入力(INPUT TYPE="checkbox")の場合
    ($item,$sts,$price) = split(/△/,$items[$Fm{"$_"}]);
    # "$_" はNAME属性(通常は数値(@itemsの添え字)を設定)。

アイテム効果($sts)

  • 8桁の数字と略字(アルファベット)で表され、substr関数で取得できる。
変数名説明
$pc質屋に売るときの金額。数字部分の先頭から4桁。(オフセット=0、長さ=4)
$iak攻撃力または効果量。数字部分の5~6桁目。(オフセット=4、長さ=2)
$idd防御力。数字部分の7~8桁目。(オフセット=6、長さ=2)
変数なしアイテム略字。9桁目以降のアルファベット部分。(オフセット=8)

取得方法例

$pc = int(substr($sts,0,4));
$iak = int(substr($sts,4,2));
$idd = int(substr($sts,6,2));
$hoge = substr($sts,8); # 必要がある場合のみ。この方法は実際には使用されていない。

代入方法例

$sts = sprintf("%04d%02d%02d",$pc,$Iak,$idd);
# 「%」の後ろは、「0」= 0で桁埋め。「4」=4桁。「d」= 10進整数。
$sts .= '略字';

コメント

コメントはありません。 Comments/リファレンスマニュアル/フラグ一覧?

お名前:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-04-30 (火) 00:57:41 (718d)