発言者: moon
発言日: 2003 02/04 09:06
(1)
if (@npclines) {
$npcrand = int(rand($npccount));
@prclines = &get_partner("$vid[$npcrand]");
push (@msg,"『$pnm』が現れた!!"); &partnerout;
$NPCFlag = 1; &userout; return;
}
}
(2)
sub contact_npc {
@rcdlines = &get_user("$Fm{'id'}");
print qq|<tr><td valign=top>\n|;
&partner_data;
&form('start');
if ($psp =~ /Tv/) {
&input('radio','mode','npcbuy',' checked',"買う<br>\n");
&input('radio','mode','goodbye','',"別れる\n");
}
&NOKbuttoninform("$vid[$npcrand]");
&form('end');
print qq|</td>|;
}
思い当たることがあるのですが、(1)と(2)の$npcrandは同一ですか?
つまり、(1)と(2)が別サブルーチンであり、(1)の$npcrandがmyとかlocalになっていて、(2)との繋がりがないのではないか?ということです。
この場合、(1)では正常にget_partnerされているので正しい相手が表示されますが、(2)では&NOKbuttoninform("$vid[$npcrand]");の$nccrandが0と判定され先頭のIDが入ることになります。
ただし、この場合はbuy_beforeの実行後も相手が違うということになりますが。
症状とは一致しないので違うかな?
▼関連発言
│
└◆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