SOLD OUT カスタマイズに利用できる変数の説明です。
スクリプト内で使用している代表的な変数の内容を記します。
@@FUNC* 等へ独自関数を追加する際に利用してください。
また、具体的な使用方法は soldout/inc/inc-item-data.cgi
の記述を参考にしてください。
※$DT 構造体以外は参照のみです。変更した場合の動作保証は出来ません。 また、$DT 構造体の変更も、カスタマイズ可能範囲外で行った場合は変更が反映されない可能性があります。
人口(表示する場合は 1/10 に丸める)
最終更新時刻(GMT)
貿易の累積売上額
貿易の累積支払額
現在発動中のイベント情報の連想配列
この連想配列を操作することで自由にイベントの開始/停止を行えます。
%DTEvent=(イベントコード,終了時刻,イベントコード,終了時刻,...);
街全体用データの連想配列のリファレンスです。
利用の際には、この変数を直接操作せずに、
GetTownData('任意のキー')
と SetTownData('任意のキー','任意の値')
を介してください。
'任意のキー'と'任意の値' には特に制限がありません。 カンマ(,)やタブ(\t)、改行(\n)なども問題なく利用できます。 ただし、配列や連想配列、リファレンスなどは利用できません。 数値もしくは文字列のみ利用可能です。
利用されなくなったキーと値は、SetTownData('任意のキー','')
として削除してください。
削除されない限り、保持され続けます。
保持できるデータ量やデータ数に上限はありませんが、
soldout/data/data.cgi
に追加されていきますので、
サーバへの負荷と相談しながら利用してください。
関連関数
陳列棚維持費配列
添字 0~7 が陳列棚 1~8 個に対応
$SHOWCASE_COST[0]; $SHOWCASE_COST[1]; $SHOWCASE_COST[2]; $SHOWCASE_COST[3];
最大資金
商品分類名配列
$ITEM[?]->{type}に対応します。
$ITEMTYPE[$ITEM[1]->{type}];
問屋在庫
$DTwholestore[0~]が商品番号 1~に対応します。
$DTwholestore[0]; $DTwholestore[1]; $DTwholestore[2]; $DTwholestore[3];
自店データ構造体リファレンス
連想配列へのリファレンスです。$DT->{キー}でデータへアクセスできます。キーは以下の通り。
店舗個別の番号
最終作業時刻(GMT:ログインのみでは更新されません)
ユーザ名
店舗名(SJIS)
パスワード(設定により crypt される)
資金
time()-$DT->{time}==行動可能時間(マイナスなら待時間)
人気 0 〜 10000 (表示は 1/100 で%表記)
陳列棚数
コメント文字列(SJIS)
昨日売上金額
本日売上金額
昨日の維持費額
トップの回数
最後にアクセスしたときの IP アドレス
昨日の点数
昨日の順位
本日の支払総額
昨日の支払総額
過去数日間の純利益平均
郵便箱受信・返答件数
本日の維持費額(陳列棚は含まない)
最近の出来事の表示行数(廃止)
昨日の納税額
入金庫額
今期納税済みの金額
所属ギルドコード
アクセス制限&コメント
アクセス自動制限の有効無効状態 null=有効 1:無効
創業日時刻(GMT)
職業コード
陳列棚配列へのリファレンス
$DT->{showcase}[0 〜 showcasecount-1]で、各陳列棚に陳列されている商品の番号が入っている。 値が 0 の場合は未陳列。次の price と対になっている。
$DT->{showcase}[0]; $DT->{showcase}[1]; $DT->{showcase}[2];
陳列棚配列へのリファレンス
$DT->{price}[0 〜 showcasecount-1]で、各陳列棚に陳列されている商品の売値が入っている。 前の showcase と対になっている。
$DT->{price}[0]; $DT->{price}[1]; $DT->{price}[2];
商品在庫配列へのリファレンス
$DT->{item}[商品番号-1] へ商品番号の商品の在庫数が入っている。
$DT->{item}[0]; $DT->{item}[1]; $DT->{item}[2]; $DT->{item}[3];
商品昨日売上数の連想配列へのリファレンス
$DT->{itemyesterday}{商品番号}に昨日の売上数が入っている。
$DT->{itemyesterday}{1}; $DT->{itemyesterday}{2}; $DT->{itemyesterday}{3}; $DT->{itemyesterday}{4};
商品本日売上数の連想配列へのリファレンス
$DT->{itemtoday}{商品番号}に本日の売上数が入っている。
$DT->{itemtoday}{1}; $DT->{itemtoday}{2}; $DT->{itemtoday}{3}; $DT->{itemtoday}{4};
商品熟練度の連想配列へのリファレンス
$DT->{exp}{商品番号}に商品毎の熟練度(0~1000)が入っている。 1/10 で表示する。
$DT->{exp}{1}; $DT->{exp}{2}; $DT->{exp}{3}; $DT->{exp}{4};
独自データ格納用連想配列へのリファレンス
$DT->{user}->{独自キー}に独自のデータを保存できる。
ただし、独自キーとその設定値には「, : およびコントロールキャラクタ(\x00-\x1f) 」は使用できない。 また、「 _so_ 」から始まるキーはシステム予約なので使用できない。
$DT->{user}->{hp}; $DT->{user}->{weapon}; $DT->{user}->{memo};
ランキングに使用する点数(参照のみ)
全店舗データ構造体リファレンス配列
構造体は$DT と同じです。
対象店舗データ構造体リファレンス
商品使用時などに対象店舗(arg target)がある場合に有効な変数。 その他、他店や問屋との仕入などにも利用。
商品データ構造体リファレンス配列
$ITEM[商品番号]->{キー}で商品データへアクセスできます。 キーは以下の通り。
表示順
商品分類($ITEMTYPE[type]で分類名取得可)
$ITEM[1]->{type}; $ITEMTYPE[$ITEM[1]->{type}];
標準価格
維持費
問屋価格=標準価格の基準個数
問屋価格=標準価格/2 の個数
倉庫最大数
1 店舗分の問屋在庫
売れ行き率(popular 秒に 1 個売れる)
問屋補充率(plus 秒に 1 個補充)
商品コードネーム
数え単位
名称
説明
売却時の人気アップ度(1000==標準)
独自パラメータ
商品使用データ構造体リファレンス
$USE->{キー}で商品使用時データへアクセスできます。キーは以下の通り。
対応する商品のコードネーム
対応する商品別の固有番号
対応する商品の番号
使用名称
説明
数え単位
form の submit の表示
費用
使用時間
熟練度 100%時の使用時間
熟練度上昇値
必要熟練度
入力パラメータの連想配列リファレンス
target
target 店舗の ID(100~)
targetidx
target 店舗の@DT に対する添字
count
使用回数(未補正)
message
コメント(補正済)
$USE->{arg}->{target}; $USE->{arg}->{targetidx}; $USE->{arg}->{count}; $USE->{arg}->{message};
使用商品の連想配列リファレンスの配列リファレンス
$USE->{use}[0~]が使用商品の連想配列リファレンス。配列なので複数有り。その連想配列は以下の通り。
no
使用商品番号
count
使用個数
proba
消費確率 0(0%)~1000(100%)
message
消費時の表示メッセージ
$USE->{use}[0]->{no}; $USE->{use}[0]->{count}; $USE->{use}[0]->{proba}; $USE->{use}[0]->{message};
使用結果の連想配列リファレンス
create
取得商品の連想配列リファレンスの配列リファレンス
$USE->{result}->{create}[0~]が取得商品の連想配列リファレンス。 配列なので複数有り。その連想配列は以下の通り。
no
取得商品番号
count
取得可能最大数
proba
取得確率 0(0%)~1000(100%)
message
取得時の表示メッセージ
$USE->{result}->{create}[0]->{no}; $USE->{result}->{create}[0]->{count}; $USE->{result}->{create}[0]->{proba}; $USE->{result}->{create}[0]->{message};function
呼び出す関数名
message
結果表示用メッセージの連想配列リファレンス
resultok
商品取得時のメッセージ
resultng
商品非取得時のメッセージ
$USE->{result}->{message}->{resultok}; $USE->{result}->{message}->{resultng};