ช่วยดู code ให้ทีคับ มันไม่ส่งค่าที่ได้อะคับ
my @list = ('abc','abb','acc') my $sendnum ='';
sub onNPCLog { my (undef, $args) = @_; my $msg = I18N::bytesToString(unpack("Z*", substr($args->{RAW_MSG}, 8))); my $indexnum = 0; my $i; my $submsg = substr($msg,0,1);
if($submsg eq "a"){ foreach $i (@list) { if($msg eq $i){ $sendnum = $indexnum; } $indexnumnum = $indexnum+1; } } } สมมุติ ว่า NPC ส่งข้อความมา เปนแบบใน @list ผมต้องการเขียนให้มัน รีเทินค่าใน @list ว่าอยู่ใน index ที่เท่าไร คือว่าค่า $sendnum มันเป็น 0 ตลอดเลย
เพราะ อยากจะได้ค่า $sendnum ไปใช้ใน sub อื่น
เช่น npc ส่งค่า acc มา ค่า $sendnum ที่ได้ควรจะเป็น 2 แต่ผลรับมันได้ 0 ตลอด
|