perl2exe forRO
レス数が1000を超えています。これ以上書き込みはできません。
0951デフォルトの名無しさん
NGNG>>722
若干コードを追加すれば出来ないことはないけど、チャットばかり開いてると
余計怪しまれるかと。
>>768
JKore独自仕様です。
>>843
JKoreはそのあたり設定済なんですが…(version 5)
升スレでJKoreをexe化したヤシに文句たれて下さい。
>>886
JKoreはconfig.txt内のsleepTimeを大きめに設定してるので、Koreと比べると
反応が遅れる傾向があるためだと思います。
>>895
効率を求めようとするからみんなattackAutoを1にする。
効率を求めようとするからあっさりBOTと見破られる。
…反撃のみだとBOTだと気付く人少ないですよね…
もっともJKoreもKoreであることには変わりないので、特徴さえわかれば
簡単に見破れるはずなんですが。
>>932
ciコマンドは解決済み。cartコマンド関係は実装が適当なので知らん。
>899あたりを参照して自分で直してください。
>>945
情報交換スレッドだと使い方とかそっちの情報交換に陥ると思うので
開発・改良スレッドのほうがいいかと。
あと、次スレ建てるならJKoreの文字は消してください(´Д`;)
Kore2だろうとJKoreだろうと、Koreの改造品なんですから。
0953デフォルトの名無しさん
NGNGスレ立ってるし
0954デフォルトの名無しさん
NGNG次スレhttp://pc3.2ch.net/test/read.cgi/tech/1033031207/
09551
NGNG0956デフォルトの名無しさん
NGNG変なのがきたんだけど
>hina_gengengenki
>karen_desu
0957デフォルトの名無しさん
NGNGマナーポイント貰った。当然マイナスだろうな
0958デフォルトの名無しさん
NGNG4B 01 01 〜
なんだけど
0959デフォルトの名無しさん
NGNGIDにマナーポイントを与える。type=00 プラス type=01 マイナス
R 014a <fail>.l
マナーポイントを与えた結果。fail=0 成功 fail=1 失敗
R 014b <type>.B <nick>.24B
マナーポイントを貰った。type=00 プラス type=01 マイナス
表記法に関しては以下略
0960デフォルトの名無しさん
NGNGちょっと調べてみよ。
0961デフォルトの名無しさん
NGNG罵倒メッセージが入りまくってるんですが、これはどうにかならないのでしょうか?
0962デフォルトの名無しさん
NGNG個人的に溜め込みVit嫌いなのでBotのルーチンには不満はありませんがw
0963名無しさん@Emacs
NGNG> でさ、アイテムナンバーなんだけど
> 付け直しはせずに
> ROEみたく inc したらどうだろう?
> 必ずしも0〜の連番でなくてもいいと思うのだが
ROE というのを知らないのでどういう動作をするのか説明かソースを見せて。
0964名無しさん@Emacs
NGNGsub removeInventory {
my $r_inventorys = shift;
my $arrayIndex = shift;
my $itemIndex = $$r_inventorys[$arrayIndex]->{'index'};
my $limit;
# splice(@$r_inventorys, $arrayIndex, 1);
undef($$r_inventorys[$arrayIndex]);
$limit = scalar(@$r_inventorys);
# for (my $i = 0; $i < $limit; $i++) {
# if ($itemIndex < $$r_inventorys[$i]->{'index'}) {
# $$r_inventorys[$i]->{'index'}--;
# }
# }
}
} elsif ($switch eq "0119") {
$ID = substr($msg, 2, 4);
$status = unpack("C1", substr($msg, 8, 1));
$unknown = unpack("C1", substr($msg, 10, 1));
if ($ID eq $accountID) {
if ($status & 0x01) {
## 解毒なり緑色ハーブなり緑ポーションなり
} else {
dumpData(substr($msg, 0, $msg_size));
}
}
} elsif ($switch eq "011F") {
$coords{'x'} = unpack("S1",substr($msg, 10, 2));
$coords{'y'} = unpack("S1",substr($msg, 12, 2));
$ID = substr($msg, 6, 4);
$type = unpack("C1", substr($msg, 14, 1));
$fail = unpack("C1", substr($msg, 15, 1));
if ($fail) {
if ($type == 0x81) {
print "Portal opened at $coords{'x'}, $coords{'y'}\n";
if ($config{'PortalAvoid'}
&& $coords{'x'} eq $chars[$config{'char'}]{'pos_to'}{'x'}
&& $coords{'y'} eq $chars[$config{'char'}]{'pos_to'}{'y'}) {
sendTeleport(\$remote_socket, "Random") if $config{'PortalAvoid'};
}
} elsif ($type == 0x8d) {
print "Ice Wall setup at $coords{'x'}, $coords{'y'}\n";
} else {
dumpData(substr($msg, 0, $msg_size));
}
} else {
dumpData(substr($msg, 0, $msg_size));
}
とりあえずJKoreではsub initConnectVarsの中に
>undef $chars[$config{'char'}]{'inventory'};
とか書いておきましたが、効果があるのかどうかは不明。
接続切れる→再接続→繋がる→アイテムリスト重複のパターンだけは
避けられるとは思うんですが、根拠は全く無し。
0968名無しさん@Emacs
NGNG> 取りあえず、原典の動作に戻してみた。これだと売ってくれるので、問題の原因がさっぱり。
あ。このままだと配列がどんどん長くなっていくから、index の制限にでも引っかかるのかな。
0969デフォルトの名無しさん
NGNGプレイヤーの発言やwis、GMのメッセージとかtxtにして出力させたいんですが
どうやればいいか教えてもらえませんか?
0970デフォルトの名無しさん
NGNGJKoreで実装されてますのでjkore.plを読みましょう
0971969
NGNGどこがどうなってるのか分かりませんでした…。
自分の場合jkore.plいじる前にperlの勉強しないといけないっぽいです…。
0972デフォルトの名無しさん
NGNGNPCやPlayerの座標みれたらmoveしやすいし、
相手の座標確認しながらポタれるし便利だと思う。
でも相手の座標取得ロジックがわからず断念(つД`)
だれか相手の座標取得を教えてください。
0973デフォルトの名無しさん
NGNG$players{$ID}{'pos'}{'x'},$players{$ID}{'pos'}{'y'}
plでの#とIDの対応は@playersIDから取得
0974デフォルトの名無しさん
NGNG某698.txt見ながらActivePerlインストしたりしたんですけど。
コマンドプロンプトからppm install Time-HiResとppm install HTTP-Liteを
実行というのもうまくできないです。
こういう質問って初心者板とかそっちのほうがいいのかな?
0975デフォルトの名無しさん
NGNG>>2
コマンドラインも使えないやつがBOTなんて使b、な
0977デフォルトの名無しさん
NGNGこのスレみていろいろやってたらわかるようになった。
優良スレage
0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNGprint "Ice Wall setup at $coords{'x'}, $coords{'y'}\n";
sendTeleport(\$remote_socket, "Random") if $config{'PortalAvoid'};#追加
} else {
これでアイスワールに対応してテレポできる?
098173歳BOTWiz
NGNGパッチ当ててそれなら
ai_skill_useとかai_attack_auto、ai_attack_giveup
あたりを短くしてみればうまくいくかも。
>>961
もしかして移動型?
定点狩り型(というか撒き餌型)にしたほうが
他の「BOTみたいに黙々と魔法撃ってるPCマジ」が
カモフラージュしてくれるからばれにくいと思うよ。
そこに剣士が来ても「俺領域を発動させてるPC」に見えるだろうし。
0982デフォルトの名無しさん
NGNGVBで書かれてるけどね
If Asc(Mid(RecvData, 4, 1)) < 1 Then
If Asc(Mid(RecvData, 31, 1)) > 3 And Asc(Mid(RecvData, 31, 1)) <> 10 Then
If MakePort(Mid(RecvData, 3, 2)) > UBound(Equip) Then ReDim Preserve Equip(MakePort(Mid(RecvData, 3, 2)))
If MakePort(Mid(RecvData, 3, 2)) > UBound(Inventory) Then ReDim Preserve Inventory(MakePort(Mid(RecvData, 3, 2)))
Equip(MakePort(Mid(RecvData, 3, 2))).Name = MakeString(Mid(RecvData, 7, 24))
Equip(MakePort(Mid(RecvData, 3, 2))).EquipID = 0
Equip(MakePort(Mid(RecvData, 3, 2))).Amount = MakePort(Mid(RecvData, 5, 2))
Equip(MakePort(Mid(RecvData, 3, 2))).Where = Mid(RecvData, 32, 1)
Inventory(MakePort(Mid(RecvData, 3, 2))).Use = 3
ElseIf (Asc(Mid(RecvData, 31, 1)) <= 3 Or Asc(Mid(RecvData, 31, 1)) = 10) Then
If MakePort(Mid(RecvData, 3, 2)) > UBound(Inventory) Then ReDim Preserve Inventory(MakePort(Mid(RecvData, 3, 2)))
Inventory(MakePort(Mid(RecvData, 3, 2))).Name = MakeString(Mid(RecvData, 7, 24))
Inventory(MakePort(Mid(RecvData, 3, 2))).Amount = Inventory(MakePort(Mid(RecvData, 3, 2))).Amount + MakePort(Mid(RecvData, 5, 2))
Inventory(MakePort(Mid(RecvData, 3, 2))).Use = Asc(Mid(RecvData, 31, 1))
Stat "You got " + MakeString(Mid(RecvData, 7, 24)) + " " + CStr(MakePort(Mid(RecvData, 5, 2))) + " EA" + vbCrLf
End If
UpdateInventory
End If
0983デフォルトの名無しさん
NGNGてのはitems.txtが古いせい?
0984デフォルトの名無しさん
NGNGi
で、リスト表示
is #(iで、表示される0〜の番号) で、使う
0985デフォルトの名無しさん
NGNGこっちだったかも
Case &H3D
If Len(RecvData) >= 6 Then
For x = 0 To UBound(Items) - 1
If Mid(RecvData, 3, 4) = Items(x).ID Then
If Items(x).ID = CurrItem Then
SkillUse = False
CurrItem = ""
End If
Items(x).Exist = False
If Items(x).Whose = True Then
YourItems = YourItems - 1
If YourItems < 0 Then
YourItems = 0
End If
End If
Stat MakeHex(Items(x).ID) + " (" + MakeString(Items(x).Name) + ") disappears" + vbCrLf
For y = x To UBound(Items) - 1
Items(y) = Items(y + 1)
Next
ReDim Preserve Items(UBound(Items) - 1)
Exit For
End If
Next
RecvData = Right(RecvData, Len(RecvData) - 6)
Else
NoJump = True
End If
0986デフォルトの名無しさん
NGNGありが�d
0987デフォルトの名無しさん
NGNGそろそろ次スレに・・・
0988デフォルトの名無しさん
NGNGどうしても0〜にしたいんであれば
0.退避テーブルを作る
1.退避テーブルにアイテムテーブルから有効なものを移動
2.アイテムリストあぼ〜ん(初期化)
3.退避テーブルからアイテムリストへ移動&番号付ける
4.退避テーブルを消すor初期化
これをアイテム取得時等アイテムが変わるときに毎回やる
モンスターリストもやれば結構いけると思うのだが
0989デフォルトの名無しさん
NGNG怨念システム健在です
モンスター倒しても同じID持ってるモンスターに対して攻撃再開するようです
*すぐ近くに復活(?)した場合
0990デフォルトの名無しさん
NGNG兄貴D見れば言われずともわかるよ
大抵の場合、元のタゲに向かってくるけど、たまに違う奴に行くのが頭痛の種
HPが微妙に少ないことぐらいしか違いが無い
0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG糞スレ立てんな
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。