- 追加された行はこの色です。
- 削除された行はこの色です。
- 罪罰/変数の追加 へ行く。
[[罪罰改造]]
*罪罰/変数の追加方法 [#c18e6a0b]
-変数を保存したり、保存した変数を読み込んだりしているスクリプトは ''ore_sub-system.cgi''になりますので、このファイルを修正します。
-保存している変数には2種類があります。''キャラデータ''と''国データ''です。
--''キャラデータ''は、個人のパラメータ(HPや持っているアイテムなど)が記録されています
--''国データ''には、国力や兵糧などの国や全キャラで共通のデータが書き込まれます→参照:[[罪罰/国変数の追加]]
**キャラデータの保存 [#e3a18724]
-変数を保存しているのは下のdat_write部分になります
# キャラデータ書き込み
sub dat_write{
&error("open error no such a file!",1) if(!$nm || !$id);
$dat[0] = "la;$time,nm;$nm,pw;$pw,id;$id,sei;$sei,type;$type,age_time;$age_time,act_cnt; 〜見にくいので省略〜 $di_a,di_cnt;$di_cnt,sogo;$sogo,mes;$mes,info_mes;$info_mes,\n";
$dat[1] = "$date<>$addr<>$host<>$agent<>\n";
open (OUT,">$usrdata$id\.cgi") || &error("open error:$usrdata$id\.cgi",1);
-COLOR(red){$dat[0] = "la;$time,nm;$nm,pw;$pw,id;$id,・・・}の行が保存する変数を指定しているところです。
-それぞれの変数は、「,」で区切られていて、変数名と読み込まれている変数は「;」で区切られます
-例えば、COLOR(red){nm;$nm,}はキャラ名を保存するところですが、「nm」が変数名で、「$nm」がキャラ名が保存されている変数です
-ファイルには、「nm;あくあ,」などと$nmの部分に実際の値が書き込まれて保存されます
-新しい変数 hensu を追加する場合、COLOR(red){hensu;$hensu,}を追加する事になります
$dat[0] = "la;$time,nm;$nm,hensu;$hensu,pw;$pw,id;$id,sei;$sei,type;$type,age_time;$age_time,act_cnt; 〜見にくいので省略〜 $di_a,di_cnt;$di_cnt,sogo;$sogo,mes;$mes,info_mes;$info_mes,\n";
-新しい変数を追加する場合、info_mesより後ろだとうまく行かない場合が多いです
**キャラデータの読み込み [#ac3a5454]
-hash_dataというところで、変数に読み込まれます
# ハッシュ割り当て
sub hash_data{
$pw = $DAT{'pw'}; # パスワード
$gold = $DAT{'gold'}; # お金
$nm = $DAT{'nm'}; # 名前
$lv = $DAT{'lv'}; # レベル
$sei = $DAT{'sei'}; # 性別
$hp = $DAT{'hp'}; # 体力
$max_hp = $DAT{'max_hp'}; # 最大体力
-キャラ名(名前)なら、$nm変数にnmという変数名の値が読み込まれます
-わかりやすいように変数と変数名は同じにします
-新しい変数 hensu を追加する場合、下のように1行追加します
$nm = $DAT{'nm'}; # 名前
$hensu = $DAT{'hensu'}; # 新しい変数
$lv = $DAT{'lv'}; # レベル
-書き込む変数名と読み込む変数名(ここではhensu)は同じになるように注意して下さい