発言者: ナム〜ン
発言日: 2003 02/04 09:32
一番上にも書いていますがまず
elsif ($wana <= $def_npc) {
require 'trap.pl'; &creatnpcs;
・
・
・Aへ
によりtrap.pl内の&creatnpcsが呼び出されます。
そして
sub creatnpcs {
&get_file; &list_in;
foreach $line (@lstlines) {
($vid,・・・,$others) = split(/<>/,$line);
push(@npclines,$line);
}
ここでまずキャラデータを一通り認識して実際はnextを使っているので
該当しないキャラデータは飛ばします。
次に
if (@npclines) {
$npccount = $#npclines + 1;
foreach (0 .. $#npclines) {
($vid[$_],$others) = split(/<>/,$npclines[$_]);
}
}
return($npccount)
}
$vid[$_]とはキャラクターのIDです。
これが$Fm{'pd'}の変わりです。
・A
・
・
if (@npclines) {
$npcrand = int(rand($npccount));
@prclines = &get_partner("$vid[$npcrand]");
push (@msg,"『$pnm』が現れた!!");
$NPCFlag = 1; &userout; last; return;
}
}
となりキャラクターが呼び出されます。
ここまでは問題なくID0000だろうが、0005だろうがNNNNだろうが
呼び出されます。
問題はこのあとのbuy_beforeとbuy_afterの
@prclines = &get_partner("$vid[$npcrand]");という
呼び出し方がいまいち・・・。
("この中")を$Fm{'pd'}にしようが$vid[$npcrand]しようが
呼び出してくれないのです。
ここがどうにかなればできると思うのですが・・・。
あとpartneroutの意味わかりました・・・。たしかに意味が・・・。
▼関連発言
│
└◆325:ランダム [ナム〜ン] 01/31 16:45
└◆327:Re:ランダム [moon] 01/31 20:02
└◆328:Re[2]:ランダム [ナム〜ン] 02/03 16:57
└◆330:Re[3]:ランダム [ナム〜ン] 02/03 17:06
└◆331:Re[4]:ランダム [moon] 02/03 19:07
├◆332:追加 [moon] 02/04 09:06
└◆333:Re[5]:ランダム [ナム〜ン] 02/04 09:32
└◆334:原因解明! [ナム〜ン] 02/04 14:30
└◆335:Re:原因解明! [moon] 02/04 19:33<-last