Granado Espadaち〜とすれっど12

このエントリーをはてなブックマークに追加
1ネトゲ廃人@名無し
誰が新スレなんかたてるかよwww ねーよwww
2ネトゲ廃人@名無し:2008/01/28(月) 12:19:39 ID:???
前スレ
Granado Espadaち〜とすれっど11
http://game13.2ch.net/test/read.cgi/mmosaloon/1195488657/

<<チートスレ汎用テンプレ>>定番解析ソフトと解析勉強サイト

●デバッガOllyDbg
http://www.ollydbg.de/

●プロセスメモリエディタ兼デバッガスペシャルねこまんま57号
http://www.vector.co.jp/soft/win95/hardware/se254476.html

●プロセスメモリエディタ兼デバッガうさみみハリケーン
http://www.vector.co.jp/soft/win95/prog/se375830.html

●ヘキサエディタStirling
http://www.vector.co.jp/soft/win95/util/se079072.html

●PCゲーム解析指南+OllyDbg日本語化パッチDigitalTravesia
http://hp.vector.co.jp/authors/VA028184/

●参考書
DigitalTravesia推薦図書一覧
http://www.k3.dion.ne.jp/~dt2/
3ネトゲ廃人@名無し:2008/01/28(月) 12:20:15 ID:???
●AIチート上達手順
1.策敵範囲拡大
2.オートヒール範囲拡大
3.スカだけ拾い
4.三人拾い
5.JOB指定拾い
6.JOB指定スキル使用(タゲあり)
7.JOB指定スキル使用(タゲなし)
8.タゲ共通化
9.ITEM使用
10.オートバフ使用(使用間隔設定付き)
11.リソースエリア節約
以上は過去ログ参照
4ネトゲ廃人@名無し:2008/01/28(月) 12:29:32 ID:???
>>1つんでれ乙
一番最初の手順

ResourceHackerをインストール
releaseフォルダ内ge.exeを開いて適当に編集
スクリプトをコンパイルのボタンを押してから上書き保存する

みじんこ
ttp://mizinco.cocolog-nifty.com/
5ネトゲ廃人@名無し:2008/01/28(月) 14:17:30 ID:???
>>3
1〜10は分かるんだが、11のリソースエリア節約ってなんだ?
出来るだけ短いプログラムにするってこと?
6ネトゲ廃人@名無し:2008/01/28(月) 14:42:26 ID:???
改AIばれて晒される奴増えてきたなw
トポロとかビアで放置してる大手党員の挙動チェックするかな。
7ネトゲ廃人@名無し:2008/01/28(月) 15:23:50 ID:???
古代のチケットきれて外に出されてもキープ維持してる奴いるよな。
8ネトゲ廃人@名無し:2008/01/28(月) 16:21:40 ID:???
>>1乙です
前スレ>>982乙です

>>6-7確かに多いですねぇ

だが、一般の方々は改AIくらいで何をそんなに騒いでいるのだろう。
ここまで改AIが浸透しているんだから、監獄がどうとかどうでもいいと思うが。
2階直行への確立が下がって、イラついてるのかな。

一般ざまあwwwwwwwwww   とでも言ってみようか。
9ネトゲ廃人@名無し:2008/01/28(月) 17:20:30 ID:???
前スレ996
997と998はまぁスイッチを書こうとしてるんだよな。
実際の拾う動作は999のNEARITEMだけど、LIB_NEARITEMは読んだか?
ヒント:デフォルトではハーベストモードでアイテム拾った後は棒立ちになる。

それから997だが、これだとg_auto_getItemは1以外にならない。
10ネトゲ廃人@名無し:2008/01/28(月) 20:09:37 ID:???
>>9 どうも ちとやってくる
11ネトゲ廃人@名無し:2008/01/28(月) 22:03:56 ID:???
みじんこのブログをデザインいじったからたぶん壊れて表示されてた人も正しく見えると思う。
IE7と一部のFirefox?で変だった模様。
12ネトゲ廃人@名無し:2008/01/28(月) 22:17:19 ID:???
みじんこぶろぐのおかげで彼氏できた
13ネトゲ廃人@名無し:2008/01/29(火) 02:34:19 ID:???
var Switch = 0;
//AUTO GET ITEM CHANGE SETTING
func SCR_AI_LIB_CHANGE_SETTING_AUTOGETITEM()
{
// declare variables
var g_auto_getItem = 0;
g_auto_getItem = g_auto_getItem + 1;
if(g_auto_getItem >= 6){
g_auto_getItem = 0;
}
SysMsg('[Setting Change]Auto Get Item Setting :: ' .. g_auto_getItem);
SysMsg('0:Disabled 1:Adjacent only 2:Lisa only 3:Gracielo only 4:Leader only 5:Everyone');
}

どうすれば1〜0 まで変えていけるんだでうsか'A`)

いじったらログでないようなった
14ネトゲ廃人@名無し:2008/01/29(火) 02:40:39 ID:???
>>13を要約すると
グローバル変数でSwitchを定義

AUTOGETITEM関数を呼び出すと、まずg_auto_getItemをローカル変数で定義し0で初期化。
g_auto_getItemに1を加える。(つまり1になった)

この関数を呼び出すたびに☆の間を毎回実行するのわかるよな?
15ネトゲ廃人@名無し:2008/01/29(火) 02:44:20 ID:???
さらにSwitchを定義してる意味がないね。使ってないから。

スイッチとして変数の値を切り替えたいだけならここみれ
ttp://mizinco.cocolog-nifty.com/blog/2008/01/hotkeyif_b8c2.html
16ネトゲ廃人@名無し:2008/01/29(火) 03:13:53 ID:???
みじんこぶろぐ、大体思いついてたの書き終わったんだけどなんかネタないかな

同職業の分離かね・・・前スレで少し話題になってたけど俺理解してないんだ(´・ω・`)
g_self1〜3に値をセットする関数を自分で作って、ifでGetAiIndexと比較すればいいのか?
17ネトゲ廃人@名無し:2008/01/29(火) 10:52:20 ID:???
構造体の利用についてはなんか情報ないんかね・・・・
好きなように構造体定義して使えたら、もっとAiすっきりするんだけれども
18ネトゲ廃人@名無し:2008/01/29(火) 10:59:51 ID:???
var gTarget = nil;

// Near Target Check
func SCR_AI_LIB_NEARTARGET(self, selfAi)
{
 if(gTarget != nil && IsExist(gTarget) == 'YES'){
  SetAiTarget(selfAi, gTarget);
   return 'ChangeTS_BATTLE';
  }else if( gTarget == nil){
   var curTarget = GetNearAtkableEnemy(selfAi, vAttackRange);
   if( curTarget != nil ) {
    //saved grobal target
    gTarget = curTarget;
    SetAiTarget(selfAi, gTarget);
    return 'ChangeTS_BATTLE';
   }
  }else if(IsExist(gTarget) != 'YES'){
   gTarget = nil;
   return ;
  }
}

タゲ共通化って、ニアターゲットで共通化してアタッカー以外も同じ関数使ったほうが便利じゃね?
条件分岐ちょっと考えなきゃだけどな
19ネトゲ廃人@名無し:2008/01/29(火) 11:01:53 ID:???
あ、変なの残った。 vAttackRange は可変にしてあるoption.keepRangeね
20ネトゲ廃人@名無し:2008/01/29(火) 13:25:13 ID:???
なるほどね
curTarget必要なくね?あと最後のgTarget = nilも。
21ネトゲ廃人@名無し:2008/01/29(火) 13:33:17 ID:???
curTarget は個人的にあった方が分かりやすいからこれでおk
最後のgTarget=nil はとっても重要。
実体が無いのにターゲットしてしまう場合 (エリア移動したのに前のエリアのターゲットとか)の
gTargetの初期化なんで 無いとエラーで落ちてしまうぜ。
22ネトゲ廃人@名無し:2008/01/29(火) 13:37:09 ID:???
あとはアサルトモードのときの挙動も条件で通常動作するとかにしとけばおk

とにかく、方法は1個じゃないって事なんです。ミジンコの皆さん。完成形は自分で書きたいように書いて動作することです。
23ネトゲ廃人@名無し:2008/01/29(火) 13:41:21 ID:???
//saved grobal target
って表現が変じゃね?grobal targetに保存するっていう意味でsave使うなら過去形なのは変
24ネトゲ廃人@名無し:2008/01/29(火) 14:40:43 ID:???
本気で過去形だと思ってるのか?w
25ネトゲ廃人@名無し:2008/01/29(火) 15:04:24 ID:???
grobalって何?
26ネトゲ廃人@名無し:2008/01/29(火) 15:17:53 ID:???
コメントなんだし放っといてやろうぜwwwww
勢い余ってうpしたのに涙目な結果でざまぁwwww
コードは参考になったからそれでいいよwwwwwwwwざまぁwww
27ネトゲ廃人@名無し:2008/01/29(火) 15:49:19 ID:???
これだと、対空できないキャラが飛んでるキャラタゲったり、
場合によっては不安定になったりすると思うが。
28ネトゲ廃人@名無し:2008/01/29(火) 18:02:23 ID:???
うぁ・・・涙目・・・・・・ 俺のソース切なさ全開だな・・・

>>27
えっと、NearAtkableでとってきてAiのターゲットにセットして返してるだけなんで、
近接キャラはAtkableでnilを返す滞空をタゲッたりしないと思うよ。
共通ターゲットが滞空にセットされてたら共通化でタゲっちゃうけど
攻撃の部分は通常AiのAttackTargetに任せてるから、あとはそっちで判断しればいいんじゃないでしょうか

今まで出てる方法でも共通化タゲが滞空の敵にあったら近接もそれ攻撃しようとするんじゃないの?
29ネトゲ廃人@名無し:2008/01/29(火) 23:59:16 ID:???
IsAbleToAttack(selfAi)つかって、攻撃できなかったらその場でタゲ再取得してセットして返せばいいんじゃね?
30ネトゲ廃人@名無し:2008/01/30(水) 00:07:33 ID:???
○○の場合は共通タゲを使用しない。
とかなんか複雑にしてるだけだな。。。共通化の先にある1個の形なだけだな
31ネトゲ廃人@名無し:2008/01/30(水) 00:43:13 ID:???
だよね。そこまでは入れなくていいや。
32ネトゲ廃人@名無し:2008/01/30(水) 01:55:07 ID:???
関数一覧ってどっかのファイルに格納されてたりしない?
あとGetAiIndexについて誰かkwskお願いします。
33ネトゲ廃人@名無し:2008/01/30(水) 02:02:10 ID:???
自動収集をスムーズにしたいんだけどうまくいかない・・・
ライブラリのpick item項目にsleep入れたんですが
拾ってから次に移るのにかかる時間でした
34ネトゲ廃人@名無し:2008/01/30(水) 02:23:08 ID:???
ゾンビアイテム回避=収集前にsleep入れる
スムーズ・・・?どういうのを言いたいんだろう
35ネトゲ廃人@名無し:2008/01/30(水) 02:30:57 ID:???
目の前に出たアイテム空中キャッチ防止です
func SCR_AI_LIB_NEARITEM(selfAi)
{
var nearItem = GetNearItem(selfAi, 900);
if(nearItem != 0){
         sleep(600);PickItem(selfAi, nearItem);
ChangeTacticsAi(selfAi, 'TS_HARVEST_PICK');
return 'ChangeTS';
}
}

sleepの場所が違うんだと思うんですが
36ネトゲ廃人@名無し:2008/01/30(水) 02:31:50 ID:???
俺はそれにしてから一度もゾンビアイテムでてないぞ。sleep(800)だけど。
37ネトゲ廃人@名無し:2008/01/30(水) 02:35:25 ID:???
ゾンビアイテムは出ないんですが
空中キャッチだけは治らないんですよねぇ

どうみても目の前にアイテム出たらすぐ取る→sleep分だけ停止後→次のアイテム
の無限ループって感じです
38ネトゲ廃人@名無し:2008/01/30(水) 02:57:35 ID:???
俺みじんこだからよくわかんないけど
じゃあLIB_NEARITEMに飛ばす前にsleepいれたら?
39ネトゲ廃人@名無し:2008/01/30(水) 03:34:03 ID:???
んー変わんない・・・
もっと探ってみます
ありでした
40ネトゲ廃人@名無し:2008/01/30(水) 08:30:15 ID:???
前から思ってたんだけどタゲ共通化する必要性は何?
41ネトゲ廃人@名無し:2008/01/30(水) 08:47:11 ID:???
バカだなお前w↑
42ネトゲ廃人@名無し:2008/01/30(水) 08:48:39 ID:???
はぃぃぃいいI!?
43ネトゲ廃人@名無し:2008/01/30(水) 09:22:40 ID:???
>>41 おい!
スルーすな
44ネトゲ廃人@名無し:2008/01/30(水) 12:05:54 ID:???
シージキャノンのIDどなたかお願いします
45ネトゲ廃人@名無し:2008/01/30(水) 12:42:44 ID:???
話題の無限ループって怖いなwwwwww
過去見れば分かるけど、バグアイテムの発生はPCスペックとかネットワークラグとかで
発生要因が色々あるから一概にいえないですよ。

拾うところで対処するなら、拾う前にsleep入れる
バグアイテム発生した後で対処するなら、拾う動作のループのリミットを決める
こんな感じがトレンドだと思う

ファイターが勝手に敵を索敵する → 一人走りしてどっか行く
タゲ共通化 → 3人で団体行動、共通ターゲットなので火力集中で個体殲滅速度うp
こんなところかね
46ネトゲ廃人@名無し:2008/01/30(水) 12:55:24 ID:???
>>44
みじんこぶろぐで晒してあるからみてこいよ
47ネトゲ廃人@名無し:2008/01/30(水) 14:03:46 ID:???
>>44
もしかして・・・ホセのほうか?w
48ネトゲ廃人@名無し:2008/01/30(水) 15:35:50 ID:???
ホセです・・・お願いします
ジャックはいらないです
49ネトゲ廃人@名無し:2008/01/30(水) 15:38:56 ID:???
誰が教えてやるもんか

11315 SiegecannonShot
50ネトゲ廃人@名無し:2008/01/30(水) 15:43:38 ID:???
おお!即レスありがとうございました
51ネトゲ廃人@名無し:2008/01/30(水) 16:42:40 ID:???
円滑なコミュニケーション過ぎて自演に見えてきたwww
52ネトゲ廃人@名無し:2008/01/30(水) 17:14:03 ID:???
高級シルバーコントローラーレベル 96 - 編入キャラクターのみ使用可能
人形を操縦する時、使う高級シルバーで作ったコントローラ。人形の攻撃等級と防御等級が上がる。 [召喚類攻撃/防御等級 +1]

iesみてたらこんなんはいってたwwいらねぇww
ビキのスタンスのスキルIDってどこにのってんの?見当たんなかったんだけど
53ネトゲ廃人@名無し:2008/01/30(水) 17:25:58 ID:???
普通にiesに入ってるよ
54ネトゲ廃人@名無し:2008/01/30(水) 17:43:01 ID:???
datatable_stance.iesであってる?
55ネトゲ廃人@名無し:2008/01/30(水) 20:00:36 ID:???
見つけた。ies.ipfの中身の1900個のファイルを端から見ていったぜ・・・w
56ネトゲ廃人@名無し:2008/01/30(水) 20:23:18 ID:???
うはwwwこれエクセルにつっこんだらやべぇwww全部一目瞭然www
ttp://mizinco.cocolog-nifty.com/file/skillid.jpg
57ネトゲ廃人@名無し:2008/01/30(水) 21:21:30 ID:???
何をいまさら
58ネトゲ廃人@名無し:2008/01/30(水) 21:29:15 ID:???
みじんこだもの
59ネトゲ廃人@名無し:2008/01/30(水) 21:42:50 ID:???
ホセの自動攻撃についてなんですが
パペットのTS_KEEPに
// Auto Cannon
if(job == 'Jose'){
if('ChangeTS_BATTLE' == SCR_AI_LIB_NEARTARGET(self, selfAi)){
ChangeTacticsAi(selfAi, 'TS_KEEP_BATTLE');
return;
} 
}
パペットのキープバトルをアタッカーを元に
60ネトゲ廃人@名無し:2008/01/30(水) 21:43:10 ID:???
SCR_PUPPET_TS_KEEP_BATTLE(self)
{
sleep(100);
// start log
AiLog('ATTACKER_TS_KEEP_BATTLE : Start!!!');
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
//Hold Check
SCR_AI_LIB_UNHOLD(selfAi, prevTS);
// Attack Target
SCR_AI_LIB_ATTACKTARGET(selfAi);
// Main Loop
while(1){
//Common Target Check
var layer = GetMyAtkLayer(selfAi);
if(layer == 2){
gTarget = GetAiTarget(selfAi);
}
if(gTarget == nil || IsExist(gTarget) != 'YES'){
gTarget = GetAiTarget(selfAi);
}
SCR_AI_LIB_ATTACKTARGET_CHECK(selfAi,gTarget);
// User Skill Check
61ネトゲ廃人@名無し:2008/01/30(水) 21:44:38 ID:???
過去スレ見たんですが
アタッカーが攻撃を行う、Attack(selfAi,gTarget);の次に
UseSkill(selfAi,gTarget,[シージバーストのID]);
となってました。が、Attack(selfAi,gTarget);を探したんですが見つかりませんでした

LIBのどこにあるのでしょう
62ネトゲ廃人@名無し:2008/01/30(水) 22:21:06 ID:???
Attackっていう関数は見えないところだと思うんだけどな
てかそれって必要なの?UseSkillだけでいいように思えるのは俺がみじんこだからだろうか
63ネトゲ廃人@名無し:2008/01/30(水) 23:56:05 ID:???
ためしにやったけど
自動キープが解除された。。。

んんんん〜
64ネトゲ廃人@名無し:2008/01/31(木) 16:57:05 ID:???
みじんこ君かわいいな。
65ネトゲ廃人@名無し:2008/01/31(木) 17:02:13 ID:???
死ね塵w
66ネトゲ廃人@名無し:2008/01/31(木) 17:03:27 ID:???
サーセン調子のりました('A`)
67ネトゲ廃人@名無し:2008/01/31(木) 17:12:01 ID:???
本スレの皆さん、なんだかんだいいながらもぶろぐのなか結構見回っててワロタw
やっぱみんな興味あるよね・・・w
68ネトゲ廃人@名無し:2008/01/31(木) 17:28:54 ID:???
     \___________/
           ○
            。
            .

        彡川三三三ミ              _
       川川 ::::::⌒ ⌒ヽ          /  ̄   ̄ \
      川川::::::::ー◎-◎-)         /、          ヽ
     .川(6|::::::::  ( 。。))         |・ |―-、       |
   , ―-、川;;;::∴ ノ  3  ノ        q -´ 二 ヽ      | はぁ・・・
   | -⊂) \_;;;;;;;;;;;;;;;;ノ          ノ_ ー  |     |
    | ̄ ̄|/ (_ ∧  / 、 \        \. ̄`  |      /
    ヽ  ` ,.|     ̄  |  |         O===== |
      `− ´ |       | _|        /          |
         |       (t  )       /    /      |
69ネトゲ廃人@名無し:2008/01/31(木) 19:15:36 ID:???
皆自分のやり方と比べてるだけだろ。
70ネトゲ廃人@名無し:2008/01/31(木) 20:07:12 ID:???
お前らもなんだかんだでみじんこ
AIじゃなくdllいじってBOT作った俺こそ勝ち組
71ネトゲ廃人@名無し:2008/01/31(木) 20:19:47 ID:???
     \___________/
           ○
            。
            .

        彡川三三三ミ              _
       川川 ::::::⌒ ⌒ヽ          /  ̄   ̄ \
      川川::::::::ー◎-◎-)         /、          ヽ
     .川(6|::::::::  ( 。。))         |・ |―-、       |
   , ―-、川;;;::∴ ノ  3  ノ        q -´ 二 ヽ      | はぁ・・・
   | -⊂) \_;;;;;;;;;;;;;;;;ノ          ノ_ ー  |     |
    | ̄ ̄|/ (_ ∧  / 、 \        \. ̄`  |      /
    ヽ  ` ,.|     ̄  |  |         O===== |
      `− ´ |       | _|        /          |
         |       (t  )       /    /      |
72ネトゲ廃人@名無し:2008/01/31(木) 20:55:58 ID:???
凄いな。お前凄いよ。勝ち組に間違いないよ。俺尊敬するよ。マジで。
だってただのゲームで必死に有利になろうとしてるんだろ。マジで尊敬するよ。
73ネトゲ廃人@名無し:2008/01/31(木) 21:11:13 ID:???
スゴススゴス
74ネトゲ廃人@名無し:2008/01/31(木) 21:15:34 ID:???
>>70凄いよ。>>70凄いよ。勝ち組だよ俺も尊敬するよマジで。






ゲームで勝ち組(笑)
75ネトゲ廃人@名無し:2008/01/31(木) 23:19:50 ID:???
func SCR_AI_LIB_AUTOPOTION(selfAi)
{
var need = GetNeedHealFriend(selfAi,1,50);
var layer = GetMyAtkLayer(selfAi);
if(need != nil) {
if(layer == 1) {
UseItem(0,0);
}
else if(layer == 2) {
UseItem(1,0);
}
else if(layer == 3) {
UseItem(2,0);
}

}
}
キープに
// AUTO POTION CHECK
SCR_AI_LIB_AUTOPOTION(selfAi);
突っ込んだらエラー落ちしちゃいます。
ここをこうすれば治るという感じでヒントお願いします
76ネトゲ廃人@名無し:2008/01/31(木) 23:32:29 ID:???
keepいじったらできました
すまそ
77ネトゲ廃人@名無し:2008/01/31(木) 23:45:15 ID:???
layer == 3 って存在したっけ?
78ネトゲ廃人@名無し:2008/02/01(金) 02:23:36 ID:???
人が画面ないに移ったらログオフとかできない?
79ネトゲ廃人@名無し:2008/02/01(金) 02:45:23 ID:???
できるよ
80ネトゲ廃人@名無し:2008/02/01(金) 13:51:16 ID:???
VMwareで仮想化すれば多重起動できる?
OS 2ついるけど。
81ネトゲ廃人@名無し:2008/02/01(金) 14:26:34 ID:???
無理
82ネトゲ廃人@名無し:2008/02/01(金) 15:49:16 ID:SGGFOaxo
>75
GetMyAtkLayerって、キャラクタスロット番号得る関数じゃないとおもったけど
83ネトゲ廃人@名無し:2008/02/02(土) 03:08:44 ID:???
>>75
何やりたいのかわからんが、意味もなく冗長

if(nil != GetNeedHealFriend(selfAi,0,50)){
UseItem(GetMyAtkLayer(selfAi),0);
}

でいいんじゃないの。
決定的な間違いが2ヶ所あるけど、、、
84ネトゲ廃人@名無し:2008/02/02(土) 10:20:58 ID:???
各Layerが1人ずつで固定パーティーで放流すんじゃねーの?
柔軟じゃないAiを作ろうとしてるのは確か。
85ネトゲ廃人@名無し:2008/02/02(土) 10:48:26 ID:???
GetMyAtkLayer(selfAi);はキャラスロットを返す関数じゃない。
近接キャラは1、遠距離は2を返す関数だ。3が返ることはない
86ネトゲ廃人@名無し:2008/02/02(土) 10:50:33 ID:???
防御値とかのステを取得する関数ってないんかね
iesみてたらSCR_GET_AtkLayerに並んでSCR_GET_DEFみたいなんがあったから
GetMyDefとか打ち込んだけど動かなかったわorz
87ネトゲ廃人@名無し:2008/02/02(土) 14:43:16 ID:???
Layerで言うと、ヒーラーとパペットも遠距離になるんだなこれが。
88ネトゲ廃人@名無し:2008/02/02(土) 16:30:03 ID:???
今から始めようと思うんだが
これっていきなり垢BANされる?
それとも1ヶ月停止で警告とかですか
89ネトゲ廃人@名無し:2008/02/02(土) 16:31:05 ID:???
>>86
たぶんdefineかdefaultだな
90ネトゲ廃人@名無し:2008/02/02(土) 18:20:21 ID:???
>>88
いきなり垢BANも、他プレイヤーの申告食らって監獄行きもある。
一ヶ月停止とか意味ないよ。ベテラン3キャラ育成なんか1週間でおk。
91ネトゲ廃人@名無し:2008/02/02(土) 18:29:53 ID:???
うん。1週間で3キャラともベテランにできる。
92ネトゲ廃人@名無し:2008/02/02(土) 18:34:54 ID:???
ねえよ
93ネトゲ廃人@名無し:2008/02/02(土) 18:35:28 ID:???
ども
AIは出来たんで
GMのいなさそうな夜に放流してみるわ
94ネトゲ廃人@名無し:2008/02/02(土) 19:18:30 ID:???
だいなのキャッシュとかログ
見る方法ありますか?
95ネトゲ廃人@名無し:2008/02/02(土) 19:33:05 ID:???
まだグーグルのキャッシュに残ってるね
96ネトゲ廃人@名無し:2008/02/02(土) 21:56:23 ID:???
func SCR_HEALER_TS_SWITCH(self)
{
sleep(100);
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
var job = GetJobName(selfAi);
//Change Switch
if(Switch == 0){
Switch = 1;
SysMsg('Switch ON1 : ' .. job);
sleep(100);
}else{
Switch = 0;
SysMsg('Switch OFF : ' .. job);
sleep(100);
}
97ネトゲ廃人@名無し:2008/02/02(土) 22:00:14 ID:???
while(1){
if(Switch == 0){
デフォの行動

}else if(Switch == 1){
デフォの行動
// Near Item
if('ChangeTS' == SCR_AI_LIB_NEARITEM(selfAi)){
return;
}

でやったんですがうまくできませんでした。
ぶろぐの方も見させてもらったんですが。
お願いします

で、
98ネトゲ廃人@名無し:2008/02/02(土) 22:50:23 ID:???
どんな風にうまくいかないのかを書いて

みじんこだけど、スイッチは実はブログに書いてるのを使ったことが無いんだw
スイッチ切り替えたあとにNONEにでも戻るように書いておくといいかもなぁと今思った
99ネトゲ廃人@名無し:2008/02/02(土) 22:51:24 ID:???
追記:当然Switchはグローバルで宣言してるよな?
100ネトゲ廃人@名無し:2008/02/03(日) 02:55:03 ID:???
var Change Switch = 0;
func SCR_ATTACKER_TS_KEEP(self)
{

だよね
101ネトゲ廃人@名無し:2008/02/03(日) 03:30:21 ID:???
Changeはいらないね
102ネトゲ廃人@名無し:2008/02/03(日) 04:36:42 ID:???
みじんこだけど、ちゃんとスイッチ切り替えの関数の最後でNONEに戻るように書いてたなw
>>96だとその部分抜けてるけどw
103ネトゲ廃人@名無し:2008/02/03(日) 05:31:33 ID:???
>>99 >>101-102
どもです。宣言してます

括弧の数も合ってるんだけどなぜかログインして数秒でフリーズする・・・
104ネトゲ廃人@名無し:2008/02/03(日) 05:33:52 ID:???
ログイン直後で落ちるんだと・・・問題があるのはAIの内容じゃないと思うんだがどうだろう・・・
105ネトゲ廃人@名無し:2008/02/03(日) 05:36:04 ID:???
func SCR_HEALER_TS_SWITCH(self)
{
sleep(100);
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
var job = GetJobName(selfAi);
//Change Switch
if(Switch == 0){
Switch = 1;
SysMsg('Switch ON1 : ' .. job);
sleep(100);
}else{
Switch = 0;
SysMsg('Switch OFF : ' .. job);
sleep(100);
}
}
106ネトゲ廃人@名無し:2008/02/03(日) 05:37:31 ID:???
var Switch = 0;
func SCR_HEALER_TS_KEEP(self)
{
デフォ省略
// Main Loop
while(1){
if(Switch == 0){
デフォ省略
}else if(Switch == 1){
// User Skill Check
if('ChangeTS' == SCR_AI_LIB_USERSKILL(selfAi)){
return;
}
// HEALER Healing Check
if('ChangeTS' == SCR_AI_LIB_HEALING(self, selfAi)){
return;
}
// Near Item
if('ChangeTS' == SCR_AI_LIB_NEARITEM(selfAi)){
return;
}
// Keep Position Check
SCR_AI_LIB_KEEPPOSITION(selfAi);
// Main Sleep
sleep(100);
}
}
}
107ネトゲ廃人@名無し:2008/02/03(日) 05:39:17 ID:???
あれ・・・>>100ではアタッカーのところで宣言してることになってるけど、100がミスってるんだよな?
>>105の最後の閉じる前にNONEへ飛ぶように書いてみてテストよろ
108ネトゲ廃人@名無し:2008/02/03(日) 05:42:07 ID:???
それから>>106の最後のKeepPositionCheckがSwitch==1のときしか読まないから括弧の位置が不適切
109ネトゲ廃人@名無し:2008/02/03(日) 06:17:01 ID:???
お陰さまでシステムメッセージ出てGEフリーズなくなりました
ありがとうごじあました

チャント動作してくれるかやってみます
110ネトゲ廃人@名無し:2008/02/03(日) 07:23:43 ID:???
var Switch = 0;
func SCR_HEALER_TS_HARVEST_PICK(self)
{
sleep(100);
// start log
AiLog('HEALER_TS_HARVEST_PICK : Start!!!');
// declare variables
var selfAi = GetAiActor(self);
// Main Loop
while(1){
if(Switch == 0){
デフォ

}else if(Switch == 1){
デフォ
デフォのTS_HARVESTをKEEPに置き換え

// Main Sleep
sleep(500);
}
}
でやると、システムメッセージが出なくなり、
>>105>>106だけでは効果がなしでシステムメッセージonly

NONEの終わりに無理やり
ChangeTacticsAi(selfAi, 'TS_KEEP');
のが悪いんですかね
111ネトゲ廃人@名無し:2008/02/03(日) 16:12:09 ID:???
何がしたいんだ?自動的にアイテムを拾いたいだけ?
112ネトゲ廃人@名無し:2008/02/03(日) 16:27:19 ID:???
そうです
113ネトゲ廃人@名無し:2008/02/03(日) 16:44:38 ID:???
それならスイッチなんて要らんよ。
TS_KEEPのSub healingとNear target checkの間に↓でもいれてみ。

// Near Item Check Unk Version for Mizinko
while(1) {
var nearItem = GetNearItem(selfAi, 500);
if(nearItem == 0) { break; }
PickItem(selfAi, nearItem);
while(IsExistItem(pickItem) == 'YES') { sleep(100); }
}
114ネトゲ廃人@名無し:2008/02/03(日) 17:07:08 ID:???
適当にコピペして間違えた、pickItemじゃなくてnearItemな。

// Near Item Check Unk Version for Mizinko
while(1) {
var nearItem = GetNearItem(selfAi, 500);
if(nearItem == 0) { break; }
PickItem(selfAi, nearItem);
while(IsExistItem(nearItem) == 'YES') { sleep(100); }
}
115ネトゲ廃人@名無し:2008/02/03(日) 18:27:28 ID:???
ぶろぐにスイッチの使い方のサンプル書いておいたよ
頭の中では動いてるけど実際にHotkeyにスイッチあててないから、間違ってるって思ったら指摘おね

アイテム回収の書き方は何通りもあるしもちろん>>114でもおk
>>110だと変数の定義が不十分かもしれない・・・けどよくわかんねw
116ネトゲ廃人@名無し:2008/02/03(日) 18:55:03 ID:???
グローバル変数の値変えるだけなら↓でおk。この場合、中でsleepは使えない。

var g_switch = 0;

func SCR_AI_LIB_SWITCH()
{
g_switch = g_switch + 1;
if(g_switch > 最大値) { g_switch = 0; }
SysMsg('g_switch = ' .. g_switch);
}

<HotKey Name="SWITCH " Scp="SCR_AI_LIB_SWITCH()"
117ネトゲ廃人@名無し:2008/02/03(日) 19:01:51 ID:???
無駄に冗長だったな・・・>>116な感じにしておくか
LIBで定義したグローバル変数ってTSでも使えるのか?
118ネトゲ廃人@名無し:2008/02/03(日) 19:05:08 ID:???
試したことがないが、TS内はLIBの関数呼ぶだけにして、関数から変数参照するのが良いと思う。
119ネトゲ廃人@名無し:2008/02/03(日) 19:06:36 ID:???
ならreturn使うべきかもな
120ネトゲ廃人@名無し:2008/02/03(日) 19:17:42 ID:???
今書いてて思ったんだが、LIBだと変数1つの場合、操作が若干わかりにくい気がw
直感的にはTSでスイッチいじったほうがいい気もするんだが
121110:2008/02/03(日) 22:01:00 ID:???
助かりました
どうも。
122ネトゲ廃人@名無し:2008/02/03(日) 22:45:32 ID:???
グローバル変数TSのほうで宣言してる香具師って多いみたいだが
どんなメリットあるの?
123ネトゲ廃人@名無し:2008/02/03(日) 22:56:35 ID:???
TSで使うスイッチ・カウンターはTSで宣言するし
LIBで使うcurTargetとかはLIBで宣言してるけど?
124ネトゲ廃人@名無し:2008/02/03(日) 22:57:04 ID:???
あ、ミス。LIBで宣言してるのもカウンターだった
125ネトゲ廃人@名無し:2008/02/04(月) 00:23:17 ID:???
>>123
ふ〜ん、そんなこともあるんだ。
ありがとうごじあました
126ネトゲ廃人@名無し:2008/02/04(月) 02:24:56 ID:???
イッジのスペルてYedge であってます?
127ネトゲ廃人@名無し:2008/02/04(月) 02:25:41 ID:???
自己解決
すまそ
128ネトゲ廃人@名無し:2008/02/04(月) 03:59:08 ID:???
10秒置きにKEEPでコールしたいんですが
Call()どこに入れればいいんですか?

sleepとかの直前に入れても応答しませんでした
129ネトゲ廃人@名無し:2008/02/04(月) 04:09:48 ID:???
ttp://mizinco.cocolog-nifty.com/blog/2008/01/post_5b08.html
ここら参考にしてくれ。
Call自体はF4押すのと同じだからAIの流れ把握すればどこに入れるといいかわかるだろ。
130ネトゲ廃人@名無し:2008/02/04(月) 04:44:51 ID:???
10秒でコールされたら狩り効率悪いだろw
一定の範囲から出ないように組んだほうが良いと思われ。
131ネトゲ廃人@名無し:2008/02/04(月) 04:57:30 ID:???
>>129>>130 そうだね。。すみませんどうも
132ネトゲ廃人@名無し:2008/02/04(月) 05:15:34 ID:???
近接がばらけないようにしたいだけなら、策敵範囲減らしたLIB_NEARTARGET2とかを書いて
job指定で近接だけそっちで策敵させればおkかな
133ネトゲ廃人@名無し:2008/02/04(月) 06:56:29 ID:???
クレイジーヒールてなんだ?
134ネトゲ廃人@名無し:2008/02/04(月) 08:13:10 ID:???
>>133
MCC全員のHP監視判別して、マスキュアとかキュアオールをオートで喰らわせるスクリプトの事だな。
135ネトゲ廃人@名無し:2008/02/04(月) 08:15:50 ID:???
ありがと
ちょっくら試してくる
136ネトゲ廃人@名無し:2008/02/04(月) 09:01:48 ID:???
imclang::Init() エラーて何?
137136:2008/02/04(月) 11:50:23 ID:???
AI追加するのはいいのに消すのはだめなの?
138ネトゲ廃人@名無し:2008/02/04(月) 12:13:16 ID:???
無理に決まってんだろはげ
139ネトゲ廃人@名無し:2008/02/04(月) 14:25:49 ID:???
>>134
マスキュアって味方が範囲内にいるか調べるのは難しいよな
140ネトゲ廃人@名無し:2008/02/04(月) 21:46:30 ID:???
細かい事は気にするなw
141ネトゲ廃人@名無し:2008/02/04(月) 22:19:42 ID:???
パケ付きBOT使ってるやつなんているのかな

そろそろクエ受けてはやり直して の繰り返しで疲れてきた
142ネトゲ廃人@名無し:2008/02/05(火) 11:42:14 ID:???
このゲーム自体終わりだろ

大体テンプレしかかえってこねーしなw

運営が最悪だ
143ネトゲ廃人@名無し:2008/02/05(火) 11:50:04 ID:???
>>142
全員が知ってることを熱弁しないで^^
144ネトゲ廃人@名無し:2008/02/05(火) 12:13:54 ID:???
メンテで暇だからソース見直してみた。
コメントアウトされた
//Chat('Kill me if you can')
が微笑ましくて痛々しかった。
145ネトゲ廃人@名無し:2008/02/05(火) 12:15:49 ID:???
暇すぐる
146ネトゲ廃人@名無し:2008/02/05(火) 14:30:10 ID:???
改AI vs 改AIでデュエルでもさせとけ
147ネトゲ廃人@名無し:2008/02/05(火) 14:32:55 ID:???
うちの改AIはMAP移動でよく強制終了するんだけど、なんでかなぁ・・・
148ネトゲ廃人@名無し:2008/02/05(火) 14:57:28 ID:???
GetAiIndexの実装がまずいんじゃね?
マップ移動するとselfの値が変わる。
149ネトゲ廃人@名無し:2008/02/05(火) 15:53:45 ID:???
GEって接続IDかIP表示できるようなチートないかな?
BOTとメイン垢特定できそうだが
って自分の首しめるようなことはしないかスレ住人も
150ネトゲ廃人@名無し:2008/02/05(火) 16:25:06 ID:???
接続IDハックしたらリアルで手が後ろに回るぜ
151ネトゲ廃人@名無し:2008/02/05(火) 16:27:45 ID:???
パスはわからないが。
152ネトゲ廃人@名無し:2008/02/05(火) 16:35:53 ID:???
OCNマンションタイプの俺には関係ないな
153ネトゲ廃人@名無し:2008/02/05(火) 16:57:12 ID:???
>>147
>>18 >>21
ここらあたり参考にならないか?
実体の無いターゲットをアタックしようとしてるとか
154ネトゲ廃人@名無し:2008/02/05(火) 17:21:12 ID:???
俺もマップ移動とかでjob初期化する時たまに落ちるな。
155ネトゲ廃人@名無し:2008/02/05(火) 17:45:28 ID:???
むぅ、NearTagetのとこだけ>>18に書き換えたら改AI自体が働かなくなった;;
156ネトゲ廃人@名無し:2008/02/05(火) 17:48:33 ID:???
>>155
おまえ改Aiに向いてないよ
157ネトゲ廃人@名無し:2008/02/05(火) 22:11:20 ID:???
不正者申告ウィンドウを検知して文字認識もできるようになったけど、
肝心のキー入力ができず回答できない…
みんなX罠解除してんのか
158ネトゲ廃人@名無し:2008/02/05(火) 22:41:14 ID:???
>>157
ヒント:saitek
159ネトゲ廃人@名無し:2008/02/06(水) 00:08:15 ID:???
申告きたらBEEP音鳴らす方法はないでしょうか。
できたらヒントお願いします。
160ネトゲ廃人@名無し:2008/02/06(水) 03:35:54 ID:???
>>159
ヒント:fraps
161ネトゲ廃人@名無し:2008/02/06(水) 06:52:13 ID:???
誰だよジャック3人配置してるの
162ネトゲ廃人@名無し:2008/02/06(水) 10:43:39 ID:qFSSuX0L
ラピスのぽぴ党ってのは、他党の人間見たら不正申告だすように言われてるってマジ?
163ネトゲ廃人@名無し:2008/02/06(水) 12:06:15 ID:???
晒しからなのか、変なの沸いたなw
まぁオレもかww
164ネトゲ廃人@名無し:2008/02/06(水) 13:25:43 ID:qFSSuX0L
まー素人が手を出すと監獄にいくんだよw
みてみー賢い奴ははたからBOT臭いいわれながらも尻尾出さない
証拠もつかませない、申告制度きてから逆にBOTやりやすくなってるよ。

申告来ても答えりゃいいのだからwどんなにBOTの動きしても答えればOKなんだからw
165ネトゲ廃人@名無し:2008/02/06(水) 13:55:35 ID:???
>>157
そこまでやったのかw
素直に凄いと思うが結論
無駄。
166ネトゲ廃人@名無し:2008/02/06(水) 14:14:46 ID:???
ぽぴのお蔭で、ラピスがキチガイ鯖認定受けておりますw
167ネトゲ廃人@名無し:2008/02/06(水) 14:24:09 ID:???
ラピスサーバーには「ぽぴ党」と言う嫌われ度No1党があります。
その党は、誰彼かまわずインビジまで使って不正者申告を送ってきます
このような党は各サーバーにも居るのでしょうか?
168ネトゲ廃人@名無し:2008/02/06(水) 15:04:24 ID:qqTRRz+x
BOTwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
169ネトゲ廃人@名無し:2008/02/06(水) 15:05:15 ID:???
鯖連結したらいやだなぁ
ぽぴ党とか言うの来ちゃう^^@
170ネトゲ廃人@名無し:2008/02/06(水) 15:15:38 ID:???
たのむ、来ないでくれw
171ネトゲ廃人@名無し:2008/02/06(水) 16:43:48 ID:???
ほぴのおかげか知らんけれど、ラピ鯖は古くから基地外鯖ですよ。
ほぴだけがそうなのかしらんけどBOT申告って個人の解釈で申告するんだから別におかしいことじゃないんじゃね?
そういう仕様にした運営がおかしいだけ
172ネトゲ廃人@名無し:2008/02/06(水) 16:47:13 ID:???
マジレスするとカンニングは黙認
その場でチクられた場合のみ対処
173ネトゲ廃人@名無し:2008/02/06(水) 18:55:57 ID:???
どうみても誤爆だろカス
174ネトゲ廃人@名無し:2008/02/07(木) 15:05:27 ID:???
何かもうどうでも良くなってきた。
アイテム拾いONでメイン垢放置で出勤してきた\(^0^)/
175ネトゲ廃人@名無し:2008/02/07(木) 15:09:15 ID:???
わかるその気持ちw
176ネトゲ廃人@名無し:2008/02/07(木) 15:12:18 ID:???
とりあえず昨日から初めて30になりました
このスレにお世話になりそうです
177ネトゲ廃人@名無し:2008/02/07(木) 15:31:15 ID:???
監獄も疲れたぜ・・・・
アイテム拾わせたり拾わせなかったり切り替えながらも投獄3回でミジンコ俺な涙目
178ネトゲ廃人@名無し:2008/02/07(木) 15:47:13 ID:???
パケット作れば対処できる?
179ネトゲ廃人@名無し:2008/02/07(木) 15:52:40 ID:???
>>178
何を言っているのか分からないが、君にチートは無理だと言うことは分かる。
180ネトゲ廃人@名無し:2008/02/07(木) 15:54:57 ID:???
春休みにしてはちょっと早いな
181ネトゲ廃人@名無し:2008/02/07(木) 16:31:25 ID:???
俺は明日のテスト終わったら春休み
182ネトゲ廃人@名無し:2008/02/07(木) 18:38:18 ID:???
俺は3〜5月が春休み、6〜8月が夏休み、9〜11月が秋休み、12〜2月が冬休み。
183ネトゲ廃人@名無し:2008/02/07(木) 20:49:20 ID:???
そんな区別してるのか。めんどくせーな
ボクは毎日が日曜日\(^o^)/ 毎日がエヴリデイだぜ
184ネトゲ廃人@名無し:2008/02/08(金) 07:48:47 ID:???
それを言うなら毎日がホリd(うわ何をするやm
185ネトゲ廃人@名無し:2008/02/08(金) 13:24:47 ID:???
お前 毎日がエブリデイ知らないのか・・・・
186ネトゲ廃人@名無し:2008/02/09(土) 11:18:51 ID:???
知りません教えてもらえませんか?
187ネトゲ廃人@名無し:2008/02/10(日) 17:38:57 ID:???
ぶろぐで、一部で話題のココロを飼い始めてみますた
使い方よくわからんけどw
188ネトゲ廃人@名無し:2008/02/10(日) 22:57:26 ID:???
みじんこ以下の糞ですが、質問です。

// Near Target Check
func SCR_AI_LIB_NEARTARGET(self, selfAi)
{
var option = GetOption(self);
var curTarget = GetNearAtkableEnemy(selfAi, 10000);
if( curTarget != nil ) {
SetAiTarget(selfAi, curTarget);
return 'ChangeTS_BATTLE';
}
}

このように索敵範囲を増やして、コンパイルし、保存してからGE起動しても索敵範囲は以前のままです。
昨日から少しずつ勉強している糞ですので、あまり深いところはわかっていないのですが、
記述的に間違えているのでしょうか?ご指南よろしくお願いします。
189ネトゲ廃人@名無し:2008/02/10(日) 23:10:21 ID:3pFAuiSa
保存したファイル名を良く見てみろバカタレ
190ネトゲ廃人@名無し:2008/02/10(日) 23:59:17 ID:???
D:\Program Files\Granado Espada\release\ge.exe ですよね?
191ネトゲ廃人@名無し:2008/02/11(月) 02:12:03 ID:???
自己解決しました。ファイルのどこか一箇所でも記述ミスがあると適用されないみたいですね・・・。

それとグローバル変数についてなのですが、どこからでもアクセスできるSUGE奴らしいのですが、
これはどこに配置したらよいのでしょうか?よろしくお願いします。

192ネトゲ廃人@名無し:2008/02/11(月) 03:18:07 ID:???
関数の外側。ソースの一番上で書けばおk
193ネトゲ廃人@名無し:2008/02/11(月) 03:22:31 ID:???
var gTarget = nil;
func SCR_ATTACKER_TS_KEEP_BATTLE(self)
{
sleep(100);
// start log
AiLog('ATTACKER_TS_KEEP_BATTLE : Start!!!');
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
//Hold Check
SCR_AI_LIB_UNHOLD(selfAi, prevTS);
// Common Target Check
if(gTarget == nil || IsExist(gTarget) != 'YES'){
 gTarget = GetAiTarget(selfAi);
}
// Attack Target
SCR_AI_LIB_ATTACKTARGET_CHECK(selfAi, gTarget);
// Main Loop

例えば上のような記述の仕方で合ってますか?
194ネトゲ廃人@名無し:2008/02/11(月) 04:14:01 ID:???
それで動くかどうかはしらないけど、グローバル変数は一番最初のTS_KEEPの前でやるんじゃね?
みじんこだから常識はわからないけど。
195ネトゲ廃人@名無し:2008/02/11(月) 06:18:11 ID:???
var auto_keepatt = 'OFF';
func SCR_ATTACKER_TS_KEEP(self)

俺のはこんな感じ
196ネトゲ廃人@名無し:2008/02/11(月) 11:25:16 ID:???
ミジンコ以下の糞野郎にご教授ありがとうございます。タゲ共通化が5時間ぐらいやっても出来なかったので
グローバル変数を間違えているのかと思いました。
先輩のみじんこブログ様のタゲ共通化がうまくいかないもので・・・

//Hold Check
SCR_AI_LIB_UNHOLD(selfAi, prevTS);
// Attack Target
SCR_AI_LIB_ATTACKTARGET(selfAi);
// Main Loop
while(1){略

//Hold Check
SCR_AI_LIB_UNHOLD(selfAi, prevTS);
// Common Target Check
if(gTarget == nil || IsExist(gTarget) != 'YES'){
 gTarget = GetAiTarget(selfAi);
}
// Attack Target
SCR_AI_LIB_ATTACKTARGET_CHECK(selfAi, gTarget);
// Main Loop
while(1){
に書き換えればよいということですよね?このように書き換えても共通化してくれません・・・
糞野郎のわたしにご教授お願いします。
197ネトゲ廃人@名無し:2008/02/11(月) 11:54:38 ID:???
死ねばいいと思うよ
198ネトゲ廃人@名無し:2008/02/11(月) 12:13:15 ID:???
その部分はあってる。
全角スペースがはいってない?
199ネトゲ廃人@名無し:2008/02/11(月) 12:27:37 ID:???
>>198
仰るとおりLIBのほうに全角スペースがふんだんに使われていました。
機能するようになりました。ありがとうございました。
200ネトゲ廃人@名無し:2008/02/11(月) 12:52:36 ID:???
ぶろぐのトップページに一応全角スペースで書いてるからそのままじゃダメよって載せたんだがなぁw
201ネトゲ廃人@名無し:2008/02/11(月) 12:53:07 ID:???
コンパイルしたときに全角が入ってると文字のフォント変わらないからそれでわかる
202ネトゲ廃人@名無し:2008/02/11(月) 12:57:30 ID:???
バイト行ってる間に監獄送りにされた俺が来ましたよ
203ネトゲ廃人@名無し:2008/02/11(月) 13:06:47 ID:???
>>注)このサイトにあるサンプルコードの文頭には全角スペースを使っているので、そのままコピペしても使えません。
よく読んでいませんでした。100回読んできました・・・。

武器持ちヒールについてなのですが、それをスイッチでやるときとやらないときに分けることは可能なのでしょうか?
204ネトゲ廃人@名無し:2008/02/11(月) 13:20:32 ID:???
可能です
205ネトゲ廃人@名無し:2008/02/11(月) 13:25:21 ID:???
できるよ
<HotKey Name=" test78 " Scp="SCR_AI_LIB_SUBHEAL()" Key="P" UseAlt="NO" UseCtrl="NO" UseShift="YES" OnEdit="NO" />

俺のはこんな感じ

ただ、サブヒールやって放置ってると俺みたいに監獄送りにされるよ
206ネトゲ廃人@名無し:2008/02/11(月) 13:36:27 ID:???
さっき改AIを監獄送ってやったw
そんな俺はミジンコ改AI
ふひひ
207ネトゲ廃人@名無し:2008/02/11(月) 13:39:24 ID:???
SUBHEALの部分を該当するifの中にいれればおkじゃね?
あるいは>>205のようにSUBHEAL専用のスイッチつくっておいてそれを切り替えるか

むしろそれを可能かどうか聞く時点でifのことわかってなさそうだからぶろぐでなら
・変数の定義とスイッチ
・Hotkeyの設定とif文の使い方
・スイッチのサンプル
この3つの記事あたり参考にじっくり考えて
208ネトゲ廃人@名無し:2008/02/11(月) 13:46:28 ID:???
// Sub Healing Healing Check
func SCR_AI_LIB_SUBHEALING(self, selfAi)
{
var option = GetOption(self);
var job = GetJobName(selfAi);
if(job == 'Soho' || job=='Emilia' || job== 'Scout' || job== 'EmiliaSage' || job== 'Viki'){
var needHealFriend = GetNeedHealFriend(selfAi, rangheal, option.Heal);
if( needHealFriend != nil ){
InstantHold(selfAi);
UseSkill(selfAi, needHealFriend, 1003);
ChangeTacticsAi(selfAi, 'TS_USER_SKILL');
return 'ChangeTS';
}
}
}

>>206 いや、お前じゃないな
209ネトゲ廃人@名無し:2008/02/11(月) 13:46:52 ID:???
つーか看守の優しさに涙(´;ω;`)ウッ…
210ネトゲ廃人@名無し:2008/02/11(月) 13:47:58 ID:???
>>208 別のスイッチいるだろwq
211ネトゲ廃人@名無し:2008/02/11(月) 13:50:10 ID:???
2度目は監獄Lv2になるのか
つーかゴーストアイテム出過ぎで誰が入ってるか分かるんだな
なんか感動した
212ネトゲ廃人@名無し:2008/02/11(月) 13:53:14 ID:???
>>208はただのLIBのSUBHEALINGのコメントアウトはずしてジョブ判定増やしただけだよな
213206:2008/02/11(月) 14:10:57 ID:???
つうかさっき監獄送った奴が
もう戻ってきてるんだが
肉入り監視に労力費やすほどでは無いのか?
監獄ノルマ
214205:2008/02/11(月) 14:18:25 ID:???
kjgdj とかいう家門多分日本人だな
215ネトゲ廃人@名無し:2008/02/11(月) 14:24:52 ID:???
チートやり始めてほやほやなんだけど
やっぱりチーター同士で不正申告バトルしたりするの?w
216ネトゲ廃人@名無し:2008/02/11(月) 14:26:03 ID:???
ここは鯖別のスレじゃないし、同じ鯖に仲間は少ねぇよw
下手なAIつくってるやつとかたまにいるからそういうのは送ってやるw
217203:2008/02/11(月) 14:35:25 ID:???
if文の外側に大きなif文がかけたとしたら、自分なりに構想が出来るのですが・・・
おそらく出来ませんよね・・・。そういうようなもの書いてありませんし・・・。
218ネトゲ廃人@名無し:2008/02/11(月) 14:39:26 ID:???
できるからwwwwwwwwwwwwできなかったらまともなプログラムかけねえよwwww
219ネトゲ廃人@名無し:2008/02/11(月) 14:41:21 ID:???
ミジンコとかってレベルじゃねーぞ。
CでもJAVAでもなんでもいいから1週間なんか言語勉強しろ。

改造AIなんていくらでもオリジナル書けるようになるから。
220ネトゲ廃人@名無し:2008/02/11(月) 14:42:55 ID:???
いきなりAI改造しようとするな
うん>>219のとおり、1週間Cあたり勉強してこいw
221ネトゲ廃人@名無し:2008/02/11(月) 14:46:20 ID:???
理系じゃないならCすらきついだろう
222ネトゲ廃人@名無し:2008/02/11(月) 14:47:29 ID:???
var Switch = 0;

// Main Loop
while(1){
if(Switch == 0){
// User Target Check
if('ChangeTS' == SCR_AI_LIB_USERTARGET(selfAi)){
return;
}
// User Skill Check
if('ChangeTS' == SCR_AI_LIB_USERSKILL(selfAi)){
return;
}
// SUBHEALING Healing Check
if('ChangeTS' == SCR_AI_LIB_SUBHEALING(self, selfAi)){
return;
}
// Near Target Check
if('ChangeTS_BATTLE' == SCR_AI_LIB_NEARTARGET(self, selfAi)){
ChangeTacticsAi(selfAi, 'TS_KEEP_BATTLE');
return;
}
// Keep Position Check
SCR_AI_LIB_KEEPPOSITION(selfAi);
}
223ネトゲ廃人@名無し:2008/02/11(月) 14:47:50 ID:???
else if(Switch == 1){
// User Target Check
if('ChangeTS' == SCR_AI_LIB_USERTARGET(selfAi)){
return;
}
// User Skill Check
if('ChangeTS' == SCR_AI_LIB_USERSKILL(selfAi)){
return;
}
// SUBHEALING Healing Check
/*if('ChangeTS' == SCR_AI_LIB_SUBHEALING(self, selfAi)){
return;
}*/
// Near Target Check
if('ChangeTS_BATTLE' == SCR_AI_LIB_NEARTARGET(self, selfAi)){
ChangeTacticsAi(selfAi, 'TS_KEEP_BATTLE');
return;
}
// Keep Position Check
SCR_AI_LIB_KEEPPOSITION(selfAi);
}
// Main Sleep
sleep(100);
}
}
224ネトゲ廃人@名無し:2008/02/11(月) 14:48:07 ID:???
1週間でわかるなんとかみたいな入門書ならそこまでじゃないとおもう
しかしこのAI書いてる言語はすげぇわかりやすいよな・・・w
225ネトゲ廃人@名無し:2008/02/11(月) 14:48:11 ID:???
func SCR_ATTACKER_TS_SWITCH(self)
{
sleep(100);
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
//Change Switch
Switch = Switch + 1;
if(Switch > 2){
Switch = 0;
}
SysMsg('Switch : ' .. Switch);
ChangeTacticsAi(selfAi, prevTS);
}

これで合ってますかね?
226ネトゲ廃人@名無し:2008/02/11(月) 14:50:24 ID:???
まず動かせよ
思ったとおり動かなかったらそのとき聞けよ




>>222の最後と>>223の最後両方でKeepPositionCheckがかいてあるが、その部分をif文からはずせば記述が1回ですむ。MainSleepも同様
227ネトゲ廃人@名無し:2008/02/11(月) 14:51:44 ID:???
これで合ってますかね? ×
やってみたんだけど変わりないんですがこれで合ってますかね? ○
228ネトゲ廃人@名無し:2008/02/11(月) 14:53:47 ID:???
監獄から戻ってきたと思ったら即申告かよ
ラピス鯖の奴、ぽぴに釣られて申請厨か?
229ネトゲ廃人@名無し:2008/02/11(月) 15:15:31 ID:???
先輩方ありがとうございました。こんな糞の私でもできるようになりました。
スイッチについてほんの少しだけ理解できたかもしれません。
これからもご教授お願いします。
230ネトゲ廃人@名無し:2008/02/11(月) 15:33:40 ID:???
たまに改Aiで移動すると蔵落ちするんだが
ミッションロビー行ったら落ちて涙目
231ネトゲ廃人@名無し:2008/02/11(月) 15:41:07 ID:???
申告厨って無差別申告する奴の事だろ?
監獄行くような奴を申告するのはどの鯖でも普通じゃねwwwww
232ネトゲ廃人@名無し:2008/02/11(月) 15:47:45 ID:???
スキルID一覧表のっけたよ〜
233ネトゲ廃人@名無し:2008/02/11(月) 15:57:12 ID:???
>>232
おぉ〜すばらしいです。とっても尊敬しちゃいます。

先ほどのスイッチをブログから少しいじくって
func SCR_ATTACKER_TS_HEALSWITCH(self)
{
sleep(100);
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
//Change HEALSwitch
if(HEALSwitch == 0){
HEALSwitch = 1;
SysMsg('ヒールON');
sleep(100);
}else if(HEALSwitch == 1){
HEALSwitch = 0;
SysMsg('ヒールOFF');
sleep(100);
}
ChangeTacticsAi(selfAi, prevTS);
}
なんてコマンドにしてやってみたら成功して、とっても達成感がありました。
234ネトゲ廃人@名無し:2008/02/11(月) 15:58:38 ID:???
おめw
235ネトゲ廃人@名無し:2008/02/11(月) 16:03:12 ID:???
技術的ではないのですが質問です。
2.オートヒール範囲拡大

これってヒールの射程を延ばすということですか?
それとも、離れている味方のそばまで歩いてヒールする距離を伸ばすということですか?
よろしくお願いします。
236ネトゲ廃人@名無し:2008/02/11(月) 16:04:23 ID:???
HP減ってるキャラがいないか探索する範囲が広がるだけ
237ネトゲ廃人@名無し:2008/02/11(月) 16:10:41 ID:???
>>236
なるほど、それならば必要性はあまりないですね。

自分は糞なので、まだタゲ共通、索敵範囲向上、武器持ちヒール、スカキープ拾いを導入しているのですが、
みなさんはどのようなものを導入なさっていますか?
参考までに教えていただけると嬉しいです。
238ネトゲ廃人@名無し:2008/02/11(月) 16:14:15 ID:???
かとり、じゃっくの自動だけだなw
239ネトゲ廃人@名無し:2008/02/11(月) 16:20:55 ID:???
メインの放置用は、ノックバック対策、HPバグ対策、銃キャラ押され対策、トレイン対策、暴走対策。
手動狩り&PvP用は、自動ヒール改、タゲ補助、特定スキルオート連打、自動POT、スタンス登録の自動化。
サブ垢BOT用は、敵を集めてプロヴォして範囲スキルで一掃してアイテム拾うの自動リピート。
召喚系のキャラは使ってない。弱いし。
240ネトゲ廃人@名無し:2008/02/11(月) 16:25:14 ID:???
自動ポーション
自動リビテ
自動バフ
自動レビテ
自動ジャック
サブヒル
自動プロテ
スウィッチKEEP HARVEST
スウィッチカトリ・ジャック

ぐらいか
241ネトゲ廃人@名無し:2008/02/11(月) 16:26:56 ID:???
>>239 暴走禁止対策取るとニアタゲでいったり来たり繰り返さないか?
242ネトゲ廃人@名無し:2008/02/11(月) 16:28:19 ID:???
ついていけなす
243ネトゲ廃人@名無し:2008/02/11(月) 16:32:13 ID:???
>>241
それは作り方が悪いんじゃね?
わざと放置つぶしに来る馬鹿もいるから、ばれない程度にやってるよ。
244ネトゲ廃人@名無し:2008/02/11(月) 16:33:47 ID:???
(゚Д゚)ポカーン

半分以上理解できない\(^o^)/
ヒール改は導入してうまく動いています。

それと、ブログのほうにあるタゲ共通化すると、一回敵をタゲってキープ解除しその敵が離れた後再びキープするとその前タゲってた敵に走っていってしまう。
これは改善する方法ありますかね?
245ネトゲ廃人@名無し:2008/02/11(月) 16:34:11 ID:???
オートキープ
オートハーベストだけで十分な俺
246ネトゲ廃人@名無し:2008/02/11(月) 16:44:08 ID:???
>>244
targetをグローバル変数に入れてるからだろ。
それやると下手するとマップ移動で落ちるぞ。
改善する方法は、ある。
247ネトゲ廃人@名無し:2008/02/11(月) 16:51:36 ID:???
var gTarget = nil;
をグローバル変数に入れています。やはり、上辺だけの理解ではこのような難しいものは無理なのですかね。
レンジをいじくる、とかの問題ではないような気がするので・・・
248ネトゲ廃人@名無し:2008/02/11(月) 16:51:43 ID:???
レーダーに丸かなんかで人が範囲内に来たら映るようにできませんか?
249ネトゲ廃人@名無し:2008/02/11(月) 17:52:35 ID:???
>>247
自分の場合ブログので問題なくできてたと思うけど。
共通化したい理由はバラバラになるの防ぎたいだけ?
共通化よりキープ位置の一定範囲内から出ないようにすればいいと思うよ。
250ネトゲ廃人@名無し:2008/02/11(月) 18:31:02 ID:???
>>249
共通化は出来ればして欲しいぐらいで、一番重要なのはそのキープ範囲から離れないということなのですが、
そちらは、おそらく糞の私では到底出来なさそうなので、諦めております。
251ネトゲ廃人@名無し:2008/02/11(月) 18:43:34 ID:???
ヒント:// Keep Position Check
みじんこの想像では、実験はしてないけどこれで実装できると思う。
252ネトゲ廃人@名無し:2008/02/11(月) 19:09:42 ID:???
IsNearFromKeepDestPositionが何を指しているのかがわかったらこの左の100という数字を変えられるというのに・・・。
DESTなんて単語見たことありませんし・・orz
253ネトゲ廃人@名無し:2008/02/11(月) 21:05:41 ID:???
Destinationの略じゃない?dst/src ⇒ 送り先/送り元、みたいな感じで。
ちなみに今からAI入学生だから関数の使い方は意味不明('A`)
254ネトゲ廃人@名無し:2008/02/11(月) 21:12:23 ID:???
この2時間上げたり下げたりしてみたけど、何もわからなかった\(^o^)/ スカのキープの脆さは異常です/(^o^)\
255ネトゲ廃人@名無し:2008/02/11(月) 21:46:37 ID:???
destを1000にしてみな
256ネトゲ廃人@名無し:2008/02/11(月) 22:43:50 ID:???
みじんこだからよくわかってないけど
キープとして記憶してる位置からどれだけ離れたらキープ位置に戻るか、だと思う
それがキープのループの最後にはいってるけど、それをBATTLEのほうにつっこんで
距離を調整すればいいんじゃないかなって思ったわけだ

あくまでも想像ね
257ネトゲ廃人@名無し:2008/02/11(月) 22:48:32 ID:???
再キープすると前のタゲをタゲるっていう場合の
柔軟じゃないけど簡単な対処は Callに引っ掛けて共通ターゲットをnilに戻すとかがいいと思うよ。
func_call_gtarget_init(){
 call();
 gtarget = nil;
}

久々に書いたから構文あってるかわからん
あと、エリア移動したら前のタゲってのはこのすれの最初の方かなんかに載ってた気がする
258ネトゲ廃人@名無し:2008/02/11(月) 23:28:20 ID:???
>>256
俺が下手なのか、キープモード→ターゲット→敵を追っていく→設定した距離以上になったらキープ位置に帰ってくる→タゲはそのまま(キープはしていない)

こんな動きをするんだが、うまくはさんだら、いけそうなきがするのだが・・・
259ネトゲ廃人@名無し:2008/02/11(月) 23:34:05 ID:???
>>258
キープ位置から離れすぎたら→キープ位置に戻り、KEEPに遷移
こう書けばいいんじゃね?
KEEPに飛ばす前に少しのsleepが必要かも?
260ネトゲ廃人@名無し:2008/02/11(月) 23:49:23 ID:???
リソースハッカーでGe.exeを開いたけど丸分かりだろ・・・・
改AIハジマタ\(^o^)/
261ネトゲ廃人@名無し:2008/02/11(月) 23:50:26 ID:???
くそしてネロ
262ネトゲ廃人@名無し:2008/02/12(火) 04:32:49 ID:???
大手の6割くらい改変AI使ってるような気がしてきた。
そんな俺もその一人\(^o^)/
263ネトゲ廃人@名無し:2008/02/12(火) 06:44:33 ID:???
AUTO POTIONを作るときに
if(nil != GetNeedHealFriend(selfAi,0,50)){
UseItem(ここに何入れるか),0);
}

上の部分の情報(HPを回復したいキャラクター)はどのような関数で拾ってこられますかね?
>>75-85あたりで書かれているようにGetMyAtkLayer(selfAi)は違う関数らしいので・・
よろしくお願いします。
264ネトゲ廃人@名無し:2008/02/12(火) 07:23:40 ID:???
つまりjob指定ではなく、キャラスロット指定がしたいってことだな?
ヒント:GetAiIndexみたいだけど詳しいことわかんねww
265ネトゲ廃人@名無し:2008/02/12(火) 07:56:25 ID:???
用意されていた関数が廃止されたから、同程度の機能を自分で作るのがトレンド
ヒント群
・SelectMyPC()
・IsReader()
・グローバルな変数
・初期化作業

あとは過去ログさらってください
266ネトゲ廃人@名無し:2008/02/12(火) 07:57:15 ID:???
リーダーのつづりはゆとり脳の産物だと思ってください。
267ネトゲ廃人@名無し:2008/02/12(火) 08:59:31 ID:???
廃止された関数って何?

蔵落ちがもしかしてこれに関連してるのか
268ネトゲ廃人@名無し:2008/02/12(火) 09:05:32 ID:???
GetAiIndexってのは、自分でそういうの定義しろっていうことだったのかな?w

リーダー判定を使って左から順にキャラID?を変数に保存
ifで判定してオートPOT関数に分岐、かな?
269ネトゲ廃人@名無し:2008/02/12(火) 09:06:04 ID:???
ちょっとサンプル作ってみるぜ
270ネトゲ廃人@名無し:2008/02/12(火) 09:24:32 ID:???
var Slot0 = 0;
var Slot1 = 0;
var Slot2 = 0;
func SCR_ATTACKER_TS_GETSLOT(self)
{

// Main Loop
while(1){
SelectMyPc(0);
sleep(100);
if(IsLeader(selfAi) == 'YES'){
slot0 = self;
SysMsg('Slot0 OK :' .. job);
ChangeTacticsAi(selfAi, prevTS);
}
SelectMyPc(1);
sleep(100);
if(IsLeader(selfAi) == 'YES'){
slot1 = self;
SysMsg('Slot1 OK :' .. job);
ChangeTacticsAi(selfAi, prevTS);
}
SelectMyPc(2);
sleep(100);
if(IsLeader(selfAi) == 'YES'){
slot2 = self;
SysMsg('Slot2 OK :' .. job);
ChangeTacticsAi(selfAi, prevTS);
}
}
271ネトゲ廃人@名無し:2008/02/12(火) 09:26:27 ID:???
func SCR_ATTACKER_TS_CLEAR()
{
sleep(100);
//declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
//Main
gTarget = nil;
slot0 = nil;
slot1 = nil;
slot2 = nil;
ChangeTacticsAi(selfAi, 'TS_NONE');
}
272ネトゲ廃人@名無し:2008/02/12(火) 09:28:04 ID:???
テストもなんもしてない(というかメンテでできないw)
とりあえず書いてみたんだけど・・・
これだと個別選択で1キャラずつ関数実行しないといけない気がするんだがどうなんだろ
273ネトゲ廃人@名無し:2008/02/12(火) 09:30:51 ID:???
補足:というのは、複数キャラがアタッカーだとSelectMyPcが複数でバラバラに行われて・・・カオス?w
274ネトゲ廃人@名無し:2008/02/12(火) 09:47:44 ID:???
関数実行するだけで状態遷移とかいらないんじゃないの?
命名規則は人それぞれだが、遷移の必要がない関数まで
わざわざくっつけてる感じがなんか嫌だ
275ネトゲ廃人@名無し:2008/02/12(火) 09:47:52 ID:???
>>271で引数入れ忘れたw
276ネトゲ廃人@名無し:2008/02/12(火) 10:02:41 ID:???
CLEARはエリア移動準備用だからバラックいけるようNONEに
変数にセットするほうは、その後直前のモードに戻ったほうがいいかなと・・・

どうすればスマートなんだろ
277ネトゲ廃人@名無し:2008/02/12(火) 10:04:06 ID:???
・・・NONEはいらないっすねサーセンw
278ネトゲ廃人@名無し:2008/02/12(火) 10:46:58 ID:B+f1tLtM
KEEPモードのまま棒立ちになるのは対策できるんですかね?
吹っ飛ばされて、NONEになった分にはKEEPに戻るようにできたんですが
誰か教えて><
279ネトゲ廃人@名無し:2008/02/12(火) 10:48:57 ID:???
定期的にcallで呼べば治るじゃない?
知らんけど
280ネトゲ廃人@名無し:2008/02/12(火) 11:08:54 ID:???
あ、アゲてスマソン
そうか
他のキャラがcallすればいいのか
なんか、変な思い込みしてました><
後でやってみます。さんくす
281ネトゲ廃人@名無し:2008/02/12(火) 14:08:02 ID:???
スカがキープ切れるときってオートヒール詠唱中に転ばされるからだよね?
それで、無い頭使って考えてみたのですが、
スカのNONEのところに、「もし前の動作がオートヒールならキープに移行」
みたいにすればいいのかな?なんて思っているのですが、
if(prevTS == 'この関数') このオートヒールの関数ってどう記述するのかな?
よろしくお願いします。
282ネトゲ廃人@名無し:2008/02/12(火) 15:35:23 ID:???
>>280
スキル発動でもうまくいってますよ。
>>281
良くわからないなら、とりあえずNONE内をキープのコード全部と入れ替えればいいと思うよ。
283ネトゲ廃人@名無し:2008/02/12(火) 15:45:37 ID:???
>>282
仮にそうした場合、スイッチかなんか作っておかないと街中でも常時キープみたいになりませんか?
284ネトゲ廃人@名無し:2008/02/12(火) 16:36:15 ID:???
メイン垢で使うなら不便だが、サブ垢BOTならそれでもよくね。
BOT用はHoldの索敵をコメントアウトして停止ボタン代わりにしてるよ。
285ネトゲ廃人@名無し:2008/02/12(火) 16:43:07 ID:???
やっべ、綿花のあるマップに改変放置してきた
俺涙目
286ネトゲ廃人@名無し:2008/02/12(火) 17:08:49 ID:???
スイッチ作って制御できるようになった・・でもスイッチ入ってるとHP減ってたらキープしてないのに勝手にオートヒールしてくれる。
不自然すぎる・・・・これは使い道あるのだろうか・・

ちょっとカトリの自動召喚をログから漁ってきたのですが、カトリが棒立ちなのでアドバイスいただけたら嬉しいです。
287ネトゲ廃人@名無し:2008/02/12(火) 17:10:17 ID:???
func SCR_AI_LIB_AUTOSAMMON(selfAi)
{
if(g_sammon_mode == 0) {
return;
}
var job = GetJobName(selfAi);
var curTarget = GetNearAtkableEnemy(selfAi, 1200);
var curTarget2 = GetNeedHealFriend(selfAi, 1, 101);
g_sammon_timer = g_sammon_timer + 1;
if( curTarget != nil ) {
if(job == 'CatherineREAL' && g_sammon_timer >= 30){
InstantHold(selfAi);
g_cat_count = g_cat_count + 1;
if(g_cat_count == 1) {
UseSkill(selfAi, curTarget2, 30311);
} else if(g_cat_count == 2) {
UseSkill(selfAi, curTarget2, 30315);
} else if(g_cat_count == 3) {
UseSkill(selfAi, curTarget2, 30314);
} else if(g_cat_count == 4) {
UseSkill(selfAi, curTarget2, 30313);
} else {
UseSkill(selfAi, curTarget2, 30312);
g_cat_count = 0;
}
288ネトゲ廃人@名無し:2008/02/12(火) 17:10:40 ID:???

sleep(300);
g_sammon_timer = 0;
ChangeTacticsAi(selfAi, 'TS_USER_SKILL');
return 'ChangeTS';
}
}
return;
}

func SCR_AI_LIB_CHANGE_SETTING_AUTOSAMMON()
{
if( g_sammon_mode == 0) {
g_sammon_mode = 1;
} else {
g_sammon_mode = 0;
}
SysMsg('[Setting Change]Auto Sammon Mode :: ' .. g_sammon_mode);
289ネトゲ廃人@名無し:2008/02/12(火) 17:11:08 ID:???
// Main Loop
while(1){
// User Skill Check
if('ChangeTS' == SCR_AI_LIB_USERSKILL(selfAi)){
return;
}
// SUBHEALING Healing Check
/*if('ChangeTS' == SCR_AI_LIB_SUBHEALING(self, selfAi)){
return;
}*/
// Catherine sammon mode
if(job=='CatherineREAL') {
if('ChangeTS' == SCR_AI_LIB_AUTOSAMMON(selfAi)){
return;
}
}
// Keep Position Check
SCR_AI_LIB_KEEPPOSITION(selfAi);
// Main Sleep
sleep(100);
}
290ネトゲ廃人@名無し:2008/02/12(火) 17:12:29 ID:???
ホットキーなどは正常ぬ動いているのですが、召喚はしてくれません・・。
括弧の数などもあってると思うのですが・・・

根本的に記述ミスかもしれませんが、ご指摘いただけたら、よろしくお願いします。
291ネトゲ廃人@名無し:2008/02/12(火) 17:21:45 ID:???
変数グローバルで定義してるよな?
あと過去ログあさらなくても俺がぶろぐにm(ry
292ネトゲ廃人@名無し:2008/02/12(火) 17:31:00 ID:???
var g_sammon_mode = 0;
var g_cat_count = 0;
var g_sammon_timer = 0;

これをSCRパペットの一番上においてます。
293ネトゲ廃人@名無し:2008/02/12(火) 17:53:24 ID:???
みじんごブログみろよw
294ネトゲ廃人@名無し:2008/02/12(火) 17:55:40 ID:???
みじんこ様のほうは、スイッチがないので・・・私はスイッチ作るのにも数時間かかるので、こちらを入れてみようかと・・。
みじんこ様のほう挑戦してみます。
295ネトゲ廃人@名無し:2008/02/12(火) 18:04:38 ID:???
var kat = 0;
var timer= 0;
func SCR_PUPPET_TS_KEEP(self)
{

// Main Loop
while(1){
// User Skill Check
if('ChangeTS' == SCR_AI_LIB_USERSKILL(selfAi)){
return;
}
// Auto Sammon
if('ChangeTS' == SCR_AI_LIB_PUPPET(selfAi)){
 return;
}
// SUBHEALING Healing Check
/*if('ChangeTS' == SCR_AI_LIB_SUBHEALING(self, selfAi)){
return;
}*/
// Keep Position Check
SCR_AI_LIB_KEEPPOSITION(selfAi);
// Main Sleep
sleep(100);
}
}
296ネトゲ廃人@名無し:2008/02/12(火) 18:05:58 ID:???
スイッチについても解説してあるんだけどな・・・wわかりにくいんかな
297ネトゲ廃人@名無し:2008/02/12(火) 18:09:01 ID:???
上のように記述しても応答しませんでした。

それとみじんこ様のスイッチは3つぐらい導入してますが、アタッカー、ヒーラー、パペットとそれぞれに書かなくてはいけないので、
とってもリソースを食っているような(お前が気にするのは1万年と2千年早い)気がするんですよ・・。
糞なのでLIBにスイッチ作るのは無理ですし・・・。
298ネトゲ廃人@名無し:2008/02/12(火) 18:21:28 ID:???
あーみじんこの俺は理解しやすければいいって感じだからなーw
299ネトゲ廃人@名無し:2008/02/12(火) 18:45:47 ID:???
みじんこが独自で作ろうとするから引っかかるんだよ
300ネトゲ廃人@名無し:2008/02/12(火) 18:48:12 ID:???
それは言えてる
301ネトゲ廃人@名無し:2008/02/12(火) 19:07:25 ID:???
自動召喚+スイッチ完成した・・・これは便利ですね・・・。

func SCR_PUPPET_TS_HEALERGET(self) これがヒーラー自動収拾のスイッチ
{
sleep(100);
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
//Change HEALERGet
ChangeTacticsAi(selfAi, prevTS);
}

func SCR_PUPPET_TS_SAMMON(self) これが自動召喚のスイッチ
{
sleep(100);
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
//Change SAMMON
if(SAMMON == 0){
SAMMON = 1;
SysMsg('自動召喚○');
sleep(100);
}else if(SAMMON == 1){
SAMMON = 0;
SysMsg('自動召喚×');
sleep(100);
}
ChangeTacticsAi(selfAi, prevTS);
}
302ネトゲ廃人@名無し:2008/02/12(火) 19:09:16 ID:???
これをアタッカーとヒーラーにそれぞれ書かないと、例えば全キャラ選択中にヒーラーのスイッチ押すとそのスイッチが
全員に適用されてしまうので、関係のないパペットとアタッカーに前の動作に戻るように記述しないといけない・・。

これを改善する方法ありますかね?
303ネトゲ廃人@名無し:2008/02/12(火) 19:23:23 ID:???
ある
304ネトゲ廃人@名無し:2008/02/12(火) 19:26:09 ID:???
やはるLIBに書いて呼び出すのが一番少なくてすみそうですね・・。
私みたいなみじんこ以下の糞野郎には到底無理ですよ・・・
305ネトゲ廃人@名無し:2008/02/12(火) 19:29:32 ID:???
306ネトゲ廃人@名無し:2008/02/12(火) 19:37:13 ID:???
変数の仕様とか今度しらべておこっと
307ネトゲ廃人@名無し:2008/02/12(火) 23:15:51 ID:???
まあ、そう自虐的にならんでもいいと思うよ。
誰でも最初はど素人なんだからさw
俺もGE初めて一カ月程度のミジンコだけどね。

知識が何も無い状態だったら、いくら考えても何も出てこないと思うから
他人のソースを見てマネることが上達への近道だと思うよ。

日本じゃないけど海外のGEフォーラムとかは結構AIがうpされてるから
どう動いてるのか参考になるよ。

http://www.mod2play.com/forums/index.php?showforum=60

適当に見てみたら?そのまま突っ込んでも動かんと思うけど
暇な時にちょっとづつ移植していけばいいと思うよ。
308ネトゲ廃人@名無し:2008/02/12(火) 23:36:30 ID:???
>>306 文字化けひどいな
309ネトゲ廃人@名無し:2008/02/12(火) 23:48:29 ID:???
知らんけどこういう言語圏なんじゃないの?w
タイとか。
http://ja.wikipedia.org/wiki/%E3%82%BF%E3%82%A4%E8%AA%9E
少しは英語の部分もあるからだいたい分ると思う。
310ネトゲ廃人@名無し:2008/02/13(水) 02:04:01 ID:IvUovgY1
func SCR_AI_LIB_AUTOPOTION(selfAi)
{
 var need = GetNeedHealFriend(selfAi,1,50);
 var layer = GetMyAtkLayer(selfAi);
  if(need != nil){
  if(layer == 1){
  UseItem(0,0);
  }
  else if(layer == 2){
  UseItem(1,0);
  }
  else if(layer == 3){
  UseItem(2,0);
  }
  sleep(500);
  return 'ChangeTS_';
 }
}

オートPOTを試しているのですが
上のやつをいれても
2番目のキャラにしかPOTを使わないんです。
どこを直せばいいですか?
311ネトゲ廃人@名無し:2008/02/13(水) 02:37:44 ID:???
>>310
ファイターでもいれれば1番目もつかうようになるんじゃない
312ネトゲ廃人@名無し:2008/02/13(水) 02:41:42 ID:???
全キャラ遠距離だから2番目のキャラしかつかわねーんだろw
313ネトゲ廃人@名無し:2008/02/13(水) 06:52:47 ID:???
やべ
一人監獄送りにしてもた
314ネトゲ廃人@名無し:2008/02/13(水) 07:12:31 ID:???
アタックレイヤーは攻撃階層?だから、おおむね近接職=1、遠距離職=2だ。
315ネトゲ廃人@名無し:2008/02/13(水) 12:20:02 ID:IvUovgY1
>>310 311 314
わかりました。ありがとうございます!
layerについて勘違いしてました。
勉強しときます

あと質問なんですが
ヒーラーやパペットのレイヤーはあるんですか?
316ネトゲ廃人@名無し:2008/02/13(水) 12:59:03 ID:???
なぜだかヒーラーとパペットはレイヤー3に成りますよ。
317ネトゲ廃人@名無し:2008/02/13(水) 12:59:44 ID:???
間違いだwレイヤー2だったな。
318ネトゲ廃人@名無し:2008/02/13(水) 13:05:22 ID:???
こうすれば、POTの消費は激しいが・・・

func SCR_AI_LIB_AUTOPOTION(selfAi)

{
 
var need = GetNeedHealFriend(selfAi,1,50);

var layer = GetMyAtkLayer(selfAi);
  if(need != nil){

if(layer == 1 || layer == 2 || layer == 3){

UseItem(0,0);
  UseItem(1,0);
  UseItem(2,0);

}
  
sleep(500);
  return 'ChangeTS_';

}

}
319ネトゲ廃人@名無し:2008/02/13(水) 13:21:38 ID:???
ジョブ指定でやれば?

func SCR_AI_LIB_AUTOPOTION(selfAi)
{
var need = GetNeedHealFriend(selfAi, 1, 50);
var job = GetJobName(selfAi);
if( need != nil ){
if( job == 'Fighter' ){
UseItem(0,0);
}
else if( job == 'Warlock' ){
UseItem(1,0);
}
else if( job == 'Scout' ){
UseItem(2,0);
}
else{
SysMsg('Error: job not found - ' .. job);
}
sleep(500);
}
}
320ネトゲ廃人@名無し:2008/02/13(水) 13:27:40 ID:???
>>318
それじゃ明らかにレイヤーの意味ないよね?
321ネトゲ廃人@名無し:2008/02/13(水) 13:34:25 ID:???
あれか・・例えば、スイッチでオートヒールするスロットとJOBをあらかじめ数パターン用意しておいて、実際に使うのを指定すればいいのか・・。
322ネトゲ廃人@名無し:2008/02/13(水) 13:40:14 ID:???
オートヒールじゃないな・・ちょっと吊ってくる
323ネトゲ廃人@名無し:2008/02/13(水) 14:01:55 ID:???
自分で使うだけのパターン用意すればいいだろ?
アタックレイヤーで分けるのは無理があると思う。
324ネトゲ廃人@名無し:2008/02/13(水) 14:09:19 ID:???
レイヤーは、

// Near Target Check
func SCR_AI_LIB_NEARTARGET(self, selfAi)
{
var option = GetOption(self);
var layer = GetMyAtkLayer(selfAi);
var range = option.KeepRange;
if (layer == 1){
range = 800;
}
if (layer == 2){
range = 1300;
}
var curTarget = GetNearAtkableEnemy(selfAi, range);
if( curTarget != nil ) {
sleep(100);
SetAiTarget(selfAi, curTarget);
return 'ChangeTS_BATTLE';
}
}

みたいに使った方が良くないか?
325ネトゲ廃人@名無し:2008/02/13(水) 14:28:36 ID:???
いいね
326ネトゲ廃人@名無し:2008/02/13(水) 14:29:21 ID:???
たしかに、とっても賢い使い方ですね・・・。私じゃ思い浮かばないです\(^o^)/
327ネトゲ廃人@名無し:2008/02/13(水) 14:29:52 ID:???
┏━━━━━━━━━━━━━━━━
┃*新規さん初級講座その1*       

┃プレオープンは無料 正式から3000円+月々1500円(税別)
┃クライアントの[ゲーム起動]の前に[マニュアル]をまず読む
┃初期村のクエはとりあえずやる
┃【三国志】三國志Online 質問スレ Part5
http://live27.2ch.net/test/read.cgi/mmoqa/1201735828/

┃アンチに惑わされるな とにかくやってみる!
┃         人     
┃         <。 .>    
┃    ∧∧  /Vミ バシ!!
┗━━(´・ω・`)/ ミ━━━━━━━━━━
    /) y )つ  ココ重要
 |~ ̄] ̄ ̄ ̄ ̄ ̄ ̄| 
328ネトゲ廃人@名無し:2008/02/13(水) 14:38:10 ID:IvUovgY1
func SCR_AI_LIB_AUTOPOTION(selfAi)
{
 var need = GetNeedHealFriend(selfAi,1,50);
 var job = GetJobName(selfAi);
  if(need != nil){
  if(job == 'Musketeer'){
  UseItem(0,0);
  }
  sleep(1000);
  if(job == 'Grace'){
  UseItem(1,0);
  }
  sleep(1000);
  if(job == 'Scout'){
  UseItem(2,0);
  }
  sleep(1000);
  return 'ChangeTS_';
 }
}

>>315です
レイヤーでわけるのは難しそうなので
ジョブ指定ですることにしたんですが
今度はスカウトがポーションを使わないです。
上のやつは問題ないと思うんです。
自分ではヒーラーとアッタカーの違いで
何か動かなくなってると思ってます。
ご指摘お願いします。
329ネトゲ廃人@名無し:2008/02/13(水) 14:38:46 ID:???
三国無双>>>>>三国志
330ネトゲ廃人@名無し:2008/02/13(水) 14:41:32 ID:???
else if使えばもしかしたらかいぜんするかもしれないとみじんこ以下の俺が・・・違ってらスマン
331ネトゲ廃人@名無し:2008/02/13(水) 14:42:01 ID:???
うん、ぼく、にほんごのべんきょうが、さきみたいだね。
332ネトゲ廃人@名無し:2008/02/13(水) 14:42:42 ID:???
とりあえず下げろカス
333ネトゲ廃人@名無し:2008/02/13(水) 14:44:19 ID:???
なんでifで判定するたびに1秒止めてるんだ?w
あと脳内イメージ的にはif文を3つ書くんじゃなくて、
ifマスケelse ifグレelse ifスカウトっていう1文のほうが好きだったりw
これでスカウトだけ動かないってのはよくわからん。
最後のreturnでなんか余計なアンダーバーが・・・
334ネトゲ廃人@名無し:2008/02/13(水) 14:45:06 ID:???
ホセの自動砲撃つええw
335ネトゲ廃人@名無し:2008/02/13(水) 14:46:20 ID:???
的外れなこと書くけど
if(nil != GetNeedHealFriend(selfAi,1,50)){ }ってやればneedって変数はいらない
336ネトゲ廃人@名無し:2008/02/13(水) 14:49:35 ID:IvUovgY1
>>328
今試したらちゃんと使ってました・・・
ちょっと吊ってきます
337ネトゲ廃人@名無し:2008/02/13(水) 14:50:31 ID:???
func SCR_AI_LIB_NEARTARGET2(self, selfAi)
{
var option = GetOption(self);
var range = 1000;
var curTarget;
if( IsNearFromKeepDestPosition(selfAi, 100) == 'YES' ){range = 1000;}
else if( IsNearFromKeepDestPosition(selfAi, 400) == 'YES' ){range = 600;}
else if( IsNearFromKeepDestPosition(selfAi, 700) == 'YES' ){range = 300;}
else if( IsNearFromKeepDestPosition(selfAi, 1000) == 'YES' ){range = 100;}
else{return;}
range = range + option.KeepRange;
if( range > 1000 ){range = 1000;}
curTarget = GetNearAtkableEnemy(selfAi, range);
if( curTarget != nil ) {SetAiTarget(selfAi, curTarget);return 'ChangeTS_BATTLE';}
}
338ネトゲ廃人@名無し:2008/02/13(水) 14:51:32 ID:???
キャラが行ったり来たりするんですが何故だかわかりますか
339ネトゲ廃人@名無し:2008/02/13(水) 14:54:47 ID:???
>>337 問題はそこじゃないと思う
ニアタゲ検索の方じゃない?
340ネトゲ廃人@名無し:2008/02/13(水) 14:58:47 ID:???
rangeにoption.KeepRange加えたら常に1000越えるから
常にrangeは1000のまま・・・ww
341ネトゲ廃人@名無し:2008/02/13(水) 15:09:00 ID:???
>>333
1秒で止めてるのはPOT使う時何個も使うんで
1秒空ければ大丈夫かなと思ってつけました。

アンダーバー気づかなかったw
多分他のとこからコピペした時に
消し忘れたんだと思います・・・
342ネトゲ廃人@名無し:2008/02/13(水) 15:15:02 ID:???
カルヤライネンのJOB名ってなにかな・・前々スレにJOB貼ってあったんだが、その中にカルヤライネンはなかったんですよね・・。
343ネトゲ廃人@名無し:2008/02/13(水) 15:18:25 ID:???
>>340 まいど
344ネトゲ廃人@名無し:2008/02/13(水) 15:37:07 ID:???
>>342
job = GetJobNameでSysMsg('job : ' .. job)ってやる気はないのか?

Karjalainen
345ネトゲ廃人@名無し:2008/02/13(水) 15:38:50 ID:???
>>344
すまんそんなコマンド知らなかった。勉強しなおしてくる。そしてありがとう。
346ネトゲ廃人@名無し:2008/02/13(水) 15:40:05 ID:???
なにやってんだかw
手順踏まないで飛び越すと変な質問するようになるんだよ、ばっかじゃね?
さすがにもう教える気にならん。
347ネトゲ廃人@名無し:2008/02/13(水) 15:42:10 ID:???
ifマスケならPOTのむ→1秒sleep→ifグレイスならPOTのむ→1秒sleep→ifスカウトならPOTのむ→1秒sleep
すげぇ無駄じゃね?w

ifマスケなら左のPOTelse ifグレなら真ん中のPOTelse ifスカなら右のPOTを飲む→1秒sleepならまだわかる
348ネトゲ廃人@名無し:2008/02/13(水) 15:48:00 ID:???
もしかしてぶろぐにjob名一覧ほしいって書いたのは>>345か?

ttp://mizinco.cocolog-nifty.com/blog/2008/01/post_02bc.html
349ネトゲ廃人@名無し:2008/02/13(水) 15:51:53 ID:???
>>348
自分ではないですね。JOB名を使ったのは今日が初めてだったので、いろいろと試行錯誤中です。
350ネトゲ廃人@名無し:2008/02/13(水) 16:24:13 ID:???
// AUTO POTION
func SCR_AI_LIB_AUTOPOTION(selfAi)
{
if( a_pot == 1)
{
var need = GetNeedHealFriend(selfAi, 1, 50);
var job = GetJobName(selfAi);
if( need != nil ){
if( job == 'Fighter' ){UseItem(0,0);}
else if( job == 'CatherineSTR' ){UseItem(1,0);}
else if( job == 'Scout' ){UseItem(2,0);}
else{SysMsg('Error: job not found - ' .. job);}
}
}
else if( a_pot == 2)
{
var need = GetNeedHealFriend(selfAi, 1, 50);
var job = GetJobName(selfAi);
if( need != nil ){
if( job == 'Fighter' ){UseItem(0,0);}
else if( job == 'Karjalainen' ){UseItem(1,0);}
else if( job == 'Scout' ){UseItem(2,0);}
else{SysMsg('Error: job not found - ' .. job);}
}
}
351ネトゲ廃人@名無し:2008/02/13(水) 16:24:41 ID:???
else if( a_pot == 3)
{
var need = GetNeedHealFriend(selfAi, 1, 50);
var job = GetJobName(selfAi);
if( need != nil ){
if( job == 'CatherineREAL' ){UseItem(0,0);}
else if( job == 'Karjalainen' ){UseItem(1,0);}
else if( job == 'Scout' ){UseItem(2,0);}
else{SysMsg('Error: job not found - ' .. job);}
}
}
sleep(500);
}

352ネトゲ廃人@名無し:2008/02/13(水) 16:25:02 ID:???
var a_pot = 0;
// AUTO POTION CHANGE
func SCR_AI_LIB_POT()
{
if(a_pot == 0){
a_pot = 1;
SysMsg('ファイ・力カトリ・スカ POT');
}
else if(a_pot == 1){
a_pot = 2;
SysMsg('ファイ・カルヤライネン・スカ POT');
}
else if(a_pot == 2){
a_pot = 3;
SysMsg('召喚カトリ・カルヤライネン・スカ POT');
}
else if(a_pot == 3){
a_pot = 0;
SysMsg('AUTOPOT OFF');
}
}
353ネトゲ廃人@名無し:2008/02/13(水) 16:26:08 ID:???
job名だけど
Muathai = ラワンでおk?
Neolithって何?ClassID的にGM系キャラっぽいけど無視していいのかな
あとエデュアルドとカートのjob名が分かればたぶん一覧になる
354ネトゲ廃人@名無し:2008/02/13(水) 16:28:04 ID:???
Scp="SCR_AI_LIB_POT() ホットキーでこれで呼び出しているのですが、LIBでこの形式のスイッチを作ることは可能ですかね?
数値を足していく方法でないと無理ですかね?
355ネトゲ廃人@名無し:2008/02/13(水) 16:28:41 ID:???
jobの定義を(needが必要ならそれも)a_potの判定より前におけば記述1回で済む
356ネトゲ廃人@名無し:2008/02/13(水) 16:35:08 ID:???
>>355
先ほどその方法でやってみて、機能しなかったのでこのような書き方にしてみたのですが、こちらでもうまくいかなくて・・・
記述ミスなどをしているのでしょうか・・・。
357ネトゲ廃人@名無し:2008/02/13(水) 16:42:53 ID:???
a_potの定義はLIBの一番上で行ってる?
358ネトゲ廃人@名無し:2008/02/13(水) 16:50:37 ID:???
自己解決しました・・・もう自分死んだ方がいいんじゃないかという間違えを・・

Scp="SCR_AI_LIB_POT()" Key="NEXT" UseAlt="NO" UseCtrl="YES"

PageDown連打しても出来ないわけだ\(^o^)/
359ネトゲ廃人@名無し:2008/02/13(水) 17:12:28 ID:???
みじんこですが、先輩の意見を聞かせてください。
グローバル変数・スイッチについてなんですが、
TSでスイッチを定義→条件分岐してから必要なLIBの関数だけ呼び出す
LIBでスイッチを定義→全関数を呼び出し、その後LIBの関数で条件分岐
こう考え、呼び出す前に分岐したほうが処理が単純だと思いTSで定義してたんですが
少し前にLIBで条件分岐するほうが・・・というような書き込みがありました。
どちらのほうがいい(or一般的)なんでしょうか?
360ネトゲ廃人@名無し:2008/02/13(水) 17:41:42 ID:???
好みの問題
361ネトゲ廃人@名無し:2008/02/13(水) 18:10:54 ID:???
俺はLIBで統一だな
362ネトゲ廃人@名無し:2008/02/13(水) 19:24:48 ID:???
結局どっちでもいいんですね

パーティに関係ないAUTOPOTを実装するために
selfを変数に代入してLIB内に保存しようとしたけどできなさそうなので
NeedHealに引っかかるたびにスロットのチェックさせればよさそうという結論を出してみた。
これならAUTOPOTの関数をLIBに1つ書くだけでおkぽいし

・・・先人達はこうやってるのかな?w
363ネトゲ廃人@名無し:2008/02/13(水) 19:46:26 ID:???
self代入できた('A`)
364ネトゲ廃人@名無し:2008/02/13(水) 20:13:01 ID:???
func SCR_AI_LIB_GETSLOT(self)
{
var selfAi = GetAiActor(self);
var job = GetJobName(selfAi);

SelectMyPc(0);
if(IsLeader(selfAi) == 'YES'){
return 0;
}
SelectMyPc(1);
if(IsLeader(selfAi) == 'YES'){
return 1;
}
SelectMyPc(2);
if(IsLeader(selfAi) == 'YES'){
return 2;
}
}
func SCR_AI_LIB_AUTOPOT(self)
{
var slot = SCR_AI_LIB_GETSLOT(self);
if(slot != nil){
UseItem(slot, 0);
sleep(100);
}
return;
}
365ネトゲ廃人@名無し:2008/02/13(水) 20:15:33 ID:???
みじんこだけど、スロット指定のAUTOPOTがおおむねできたぽい。
改良意見ぼしゅ〜w

TS側からはジョブに関係なく全てLIB_AUTOPOTを呼び出せばおkなように考えてみますた。
366ネトゲ廃人@名無し:2008/02/13(水) 20:24:20 ID:???
func SCR_AI_LIB_GETSLOT(self)
{
var selfAi = GetAiActor(self);
SelectMyPc(0);
if(IsLeader(selfAi) == 'YES'){
 return 0;
}else if{
 SelectMyPc(1);
 if(IsLeader(selfAi) == 'YES'){
  return 1;
 }else if{
  SelectMyPc(2);
  if(IsLeader(selfAi) == 'YES'){
   return 2;
  }
 }
}
}
連投すみません。>>364の前半を書き換えてみました。
367ネトゲ廃人@名無し:2008/02/13(水) 20:28:41 ID:???
>>366
else ifじゃなくてelseでした。
度々ほんと申し訳ないorz
368ネトゲ廃人@名無し:2008/02/13(水) 22:08:42 ID:???
リーダー変わりまくって大変だろw
369ネトゲ廃人@名無し:2008/02/13(水) 22:15:21 ID:???
放置用なので・・・だめですか><;
370ネトゲ廃人@名無し:2008/02/13(水) 22:42:31 ID:???
exe切り替えて使うなら良いかもしれないけど、
例えば、1人目のキャラが死んだら、2人目のキャラはPOT使わないな。
371ネトゲ廃人@名無し:2008/02/13(水) 22:51:49 ID:???
ん〜そっかぁ・・・でも1キャラ死んで残り稼動っておかしくね?w
死ぬのはPKか強力なスピネルだけだろうし、死んだら潔くry

やっぱりスロット指定は無理があるかな〜
372ネトゲ廃人@名無し:2008/02/13(水) 23:02:48 ID:???
エデュアルドのJobNameを晒してもらえるとジョブ名一覧表が完成します・・・よろ
373ネトゲ廃人@名無し:2008/02/13(水) 23:14:20 ID:???
Eduardo
374ネトゲ廃人@名無し:2008/02/13(水) 23:24:57 ID:???
そっちはそのままなのか
カートがまったく違う名前だったから疑ってたぜw
375ネトゲ廃人@名無し:2008/02/13(水) 23:26:57 ID:???
だなw
376ネトゲ廃人@名無し:2008/02/13(水) 23:31:58 ID:???
更新してきますた
でも需要たいしてないんだろうけど('A`)
377ネトゲ廃人@名無し:2008/02/14(木) 00:36:19 ID:???
>>376
賢者エミリアって EmiliaSage2 2って必要でしたっけ?
378ネトゲ廃人@名無し:2008/02/14(木) 00:41:02 ID:???
確かめたらいらなかったねw
俺が見たリストがなんか違ったのかなー適当にies見てたんだけどw
379ネトゲ廃人@名無し:2008/02/14(木) 00:44:19 ID:???
Muathai アイラワン これは正しい?ラワン持ってなくて確かめられん
380ネトゲ廃人@名無し:2008/02/14(木) 05:25:01 ID:???
初めての監獄

期待と不安が入り混じる中
彼はそっけない口調でこう言った
「爪51個肉80個持ってこい」

ごめんなさい肉が出ません・・・
381ネトゲ廃人@名無し:2008/02/14(木) 08:30:14 ID:???
肉はねずみに喋りかけないとだめだよ
382ネトゲ廃人@名無し:2008/02/14(木) 11:33:13 ID:???
---武器もちヒールがデフォルトで封印されている訳---
党員(職業マークが黄色)が、ヒール範囲に入るとスカAIが停止するバグ?がある為。
SQを組めば問題なし。

383ネトゲ廃人@名無し:2008/02/14(木) 11:34:50 ID:???
現在放置されているバグ(なおすきも無い)

上記バグ
ゾンビアイテム
HPバグ
384ネトゲ廃人@名無し:2008/02/14(木) 11:36:12 ID:???
クライアントで制限されている事

マイクの連続投稿タイマー
385ネトゲ廃人@名無し:2008/02/14(木) 11:38:50 ID:???
スロット位置を取得するのってやっぱIsLeader関数使ってやるしかないのかな
386ネトゲ廃人@名無し:2008/02/14(木) 11:53:16 ID:???
個別オートバフがうまくいかにゃい。。。
これであってる?
var buff_time1 = 0;
var buff_time2 = 0;
var buff_time3 = 0;

// Auto Buff
if(job=='Emilia'){
buff_time1 = buff_time1 + 1;
buff_time2 = buff_time2 + 1;
buff_time3 = buff_time3 + 1;
if( buff_time1 >= 90){
Skill(2,2);
SkillOnMyPc(2);
SkillOnMyPc(2);
buff_time1 = 0;
ChangeTacticsAi(selfAi, 'TS_USER_SKILL');
return 'ChangeTS_BATTLE';
} else if( buff_time2 >=220){
387ネトゲ廃人@名無し:2008/02/14(木) 11:53:40 ID:???
Skill(2,2);
SkillOnMyPc(1);
SkillOnMyPc(1);
buff_time2 = 0;
ChangeTacticsAi(selfAi, 'TS_USER_SKILL');
return 'ChangeTS_BATTLE';
} else if( buff_time3 >= 360){
Skill(2,2);
SkillOnMyPc(0);
SkillOnMyPc(0);
buff_time3 = 0;
ChangeTacticsAi(selfAi, 'TS_USER_SKILL');
return 'ChangeTS_BATTLE';
}
}
388ネトゲ廃人@名無し:2008/02/14(木) 11:59:33 ID:???
個別バフはやったことないからよくわからんけど、発動の後にsleepいれたほうが安定しない?
389ネトゲ廃人@名無し:2008/02/14(木) 12:38:52 ID:???
あぁ・・・後ifの条件判定が微妙かも。BuffTime1 BuffTime2 BuffTime3として
0 0 0 / 90 90 90 / 0 90 90 / 90 180 180 / 0 180 180 / 40 220 220
40 0 220 / 90 50 270 / 0 50 270 / 90 140 360 / 0 140 360 / 0 140 0
こんな感じで推移するの分かる?
390ネトゲ廃人@名無し:2008/02/14(木) 12:53:29 ID:???
var buff_timer = 0;
if(buff_timer == 100){左にかける}
else if(buff_timer == 200){中央にかける}
else if(buff_timer > 300){右にかけてbuff_timer = 0;}
else{buff_timer = 0;}
もしくは
var buff_timer1〜3 = 0;
if(buff_timer1 > 100){左にかけてbuff_timer1 = 0;}
if(buff_timer2 > 100){中央にかけてbuff_timer 2 = 0;}
if(buff_timer3 > 100){右にかけてbuff_timer3 = 0;}
こうじゃね?と、なんとなく書いてみるテスト
391ネトゲ廃人@名無し:2008/02/14(木) 14:00:48 ID:???
TSとLIBそれぞれのスカバフサンプル書いてきたよ
脳内シミュレーションだけで作ってて面倒で挙動チェックなどはしていない('A`)
特にLIBなんかは思いつきで書いたのでまずかったら教えてw

メイン垢での補助でしか使わないからチェックするモチベが(言い訳
392ネトゲ廃人@名無し:2008/02/14(木) 15:23:20 ID:???
モチベねぇ。
俺はもうAIいじって楽しむことが目的になってしまったぜ。
ばりばりBOTで申告されずにとりあえず52まで到達。
100まで申告されなかったらAI晒すよ。
様子見てメガタルトが増えてると嬉しいな。
393ネトゲ廃人@名無し:2008/02/14(木) 15:31:16 ID:???
どんなAIかkwsk
394392:2008/02/14(木) 15:34:47 ID:???
kwskはまだ言えないが、効率よりも肉入りに見せかけることを重視して作ったAI。
SQ組みませんか?って話しかけられてたことが2回あるよ。
395ネトゲ廃人@名無し:2008/02/14(木) 15:41:19 ID:???
俺のAIはBOTがよってくるAIだぜ?仲間だと思われてるのかな・・・\(^o^)/
396ネトゲ廃人@名無し:2008/02/14(木) 16:11:25 ID:???
AIうpよろです
397ネトゲ廃人@名無し:2008/02/14(木) 16:25:29 ID:???
実装してる機能書いてもらえるとwktkなんだぜ
398ネトゲ廃人@名無し:2008/02/14(木) 16:27:08 ID:???
ベースだが
歌う
399ネトゲ廃人@名無し:2008/02/14(木) 16:58:23 ID:???
誤爆ってることに今気が付いた///
400ネトゲ廃人@名無し:2008/02/14(木) 16:59:43 ID:???
割りと素敵な機能なんじゃね
401ネトゲ廃人@名無し:2008/02/14(木) 17:07:38 ID:???
なかなかすばらしい昨日だと思うぞ
402ネトゲ廃人@名無し:2008/02/14(木) 17:14:33 ID:???
ワープってサバ側管理?
403ネトゲ廃人@名無し:2008/02/14(木) 18:00:34 ID:???
何が言いたいのかみじんこにはわかりません><
たぶんわかってもわかりません><
404ネトゲ廃人@名無し:2008/02/15(金) 01:51:58 ID:???
どうせミジンコだから何やってもいいが、鉄は熱いうちに打てともいう。
グローバル変数をTSに定義しているやつがおるが、やめとけ。
よくある例ではスカウトに気まぐれに武器をもたせたりするとタイマーをインクリメントしなくなったり、そのぐらいならまだいいが、場合によってはやらなきゃいけない処理を飛ばしても分かりにくくなる。

状態遷移・維持と思考、実行は出来る限り分離しろ。
405ネトゲ廃人@名無し:2008/02/15(金) 11:02:15 ID:???
たしかにそうかもなぁ・・・

HotkeyでLIBの関数を呼び出すときに、引数にselfいれれないじゃん?
すると例えばスイッチ切り替えたときにジョブ名を確認できないんだよね。
406ネトゲ廃人@名無し:2008/02/15(金) 11:16:38 ID:???
あーまだTSの考え方抜けてなかったorzはずかしい///

機能別でスイッチつくって分離するわ
ぶろぐの方は過去の記事を直すのは大変なので、目次で分離してLIB編を書き加えるわ
407ネトゲ廃人@名無し:2008/02/15(金) 12:27:32 ID:???
オートPOT、自動召喚、自動建築を全てLIBで制御するようにして、TS側のグローバル変数なくしました。

あとはキープの維持なんだ・・・
今までNONEからスイッチが1のときにKEEPに飛ばしていてそれをやめようと思ったんだが
スキル詠唱中に吹き飛ばされたり、あるいはダメージ蓄積で吹っ飛んだときはどこでループしてるのか\(^o^)/
408ネトゲ廃人@名無し:2008/02/15(金) 13:23:02 ID:???
func SCR_AI_LIB_PICKITEM(selfAi)
{
var nearItem = GetNearItem(selfAi, 1000);
if(nearItem != 0 && ItemSwitch == 1){
 sleep(800);
 PickItem(selfAi, nearItem);
 while(IsExistItem(nearItem) == 'YES'){sleep(100);}
 }
 return;
}
ハーベストを経由させない自動拾い。

ダメで吹き飛びのはCallでしか解決できないかな?スキル詠唱のはLIB_SKILLUSINGでNONEに飛んじゃってるのかな?
409ネトゲ廃人@名無し:2008/02/15(金) 14:00:28 ID:???
↑の修正版。
func SCR_AI_LIB_PICKITEM(selfAi)
{
var nearItem = GetNearItem(selfAi, 1000);
if(nearItem != 0 && ItemSwitch == 1){
 sleep(800);
 PickItem(selfAi, nearItem);
 while(IsExistItem(nearItem) == 'YES'){sleep(100);}
 if(GetNearItem(selfAi, 1000) != 0){SCR_AI_LIB_PICKITEM(selfAi);}
}
return;
}
スレに今俺しかいないなw
410ネトゲ廃人@名無し:2008/02/15(金) 14:32:21 ID:???
吹っ飛ばされ対策なんて1年前には話が終わってたわけで。
411ネトゲ廃人@名無し:2008/02/15(金) 15:08:44 ID:???
スイッチON:Call→MOVE→KEEP(キープ維持用)
スイッチOFF:MOVE→NONE(手動操作時用)
かね?
412ネトゲ廃人@名無し:2008/02/15(金) 15:31:43 ID:???
自動POT・召喚・建築・拾いのサンプルLIB編
ttp://mizinco.cocolog-nifty.com/blog/2008/02/potlib_9430.html

なんかもう・・・全部そのまま書いてみた('A`)
キープ維持は書いてないっす
413ネトゲ廃人@名無し:2008/02/15(金) 16:58:41 ID:???
調べる気を起こすためにも
誰かちーとスレ11までのログをどっかにうpして公開しておけばいいんじゃないか
問題になったり気になったりしてるところが改Ai初期からループしすぎててみぐるしすぎるよ。
どっかでちゃんとまとめてくれるならスレ8〜11のログと、4〜7のhtmlログなら提供できるぞ
414ネトゲ廃人@名無し:2008/02/15(金) 17:04:56 ID:???
みじんこぶろぐいつ消えるかわかんないけどそこにhtmlおいておけるよ
415ネトゲ廃人@名無し:2008/02/15(金) 19:13:26 ID:???
LIB内で条件を書き、TS内で条件分岐するスイッチって出来ませんかね?
今ままでTSで条件分岐と条件を両方書いていたのですが、TS内のスイッチだと例えばヒーラーがいないときに動作しなかったりするので・・
やはりLIB内で条件分岐も書かないといけないのでしょうか?
416ネトゲ廃人@名無し:2008/02/15(金) 19:29:38 ID:???
TS内
if(SCR_AI_LIB_SAMPLE(selfAi) == 1){挙動1}
else{挙動2}
LIB内
func SCR_AI_LIB_SAMPLE(selfAi)
{
var job = GetJobName(selfAi);
if(job == 'Fighter'){return 1}
else{return 0;}
}

適当にLIBでやる意味のないことしてみたけどこういうこと?全然違う?
417ネトゲ廃人@名無し:2008/02/15(金) 20:16:18 ID:???
TSのKEEPのwhileの中に
if{ switch == 1){
適当に行動
}
else if( switch ==2){
以下略


それでLIBにグローバルで var switch = 0;
func SCR_AI_LIB_SWITCH()

if(switch == 1){
switch == 2;
Sysmsg('適当にコメント');
}
else if( 略
}

みたいにLIBで条件つけたいのですが・・・。
418ネトゲ廃人@名無し:2008/02/15(金) 20:26:03 ID:???
なるほ
func SCR_AI_LIB_SWITCH()
{
if(switch == 1){
switch = 0;
return 1;
}
if(switch == 0){
switch = 1;
return 0;
}
こんな感じ(適当)で、KEEPのほうでif(SCR_AI_LIB_SWITCH() == 1){適当}以下略
これでどう?
419ネトゲ廃人@名無し:2008/02/15(金) 20:40:27 ID:???
リターンはSCR_AI_LIB_SWITCH()の値を示しているんですよね?
ならば逆かな?

それと、上の入れてみましたが、攻撃せずに、キープ押すたびにホットキーを実行しているみたいになってます。
難しいですね・・
420ネトゲ廃人@名無し:2008/02/15(金) 21:01:38 ID:???
さっき急いでて敵等だったので真面目に書き直す。
func SCR_AI_LIB_CHANGESWITCH()
{
switch = switch + 1;
if(switch > 1){switch = 0;}
SysMsg('switch : ' .. switch);
}
func SCR_AI_LIB_SWITCH()
{
return switch;
}


func SCR_ATTACKER_TS_KEEP(self)
{略
while(1){
if(SCR_AI_LIB_SWITCH() == 1){略}
}}
421ネトゲ廃人@名無し:2008/02/15(金) 21:03:26 ID:???
補足説明:スイッチ切り替え関数とスイッチの値を返す関数の2つをLIBに書いておいやるっていうことを考えた。
>>418はまじ適当だったごめんw
422ネトゲ廃人@名無し:2008/02/15(金) 23:48:57 ID:???
(switch >= 1)  にしないと呼ばれるたびにifの中身実行しないか?
常にswitch = 0にしたいならいいけど。 まぁ読めれば分かる部分か・・・

func SCR_AI_LIB_CHANGESW(arg)
{
 switch = arg;
 SysMsg('switch ;' .. switch);
}

引数使うっていうのどうっすかね。スイッチよりモード切替っぽいかと思って
423ネトゲ廃人@名無し:2008/02/15(金) 23:51:06 ID:???
関数自体は読み込まれているが、適用されないな・・・なぜだろう・・。
424ネトゲ廃人@名無し:2008/02/16(土) 00:45:59 ID:???
>>422
if(switch > 1){switch = 0;}はswitchが1より大きい、つまり2以上のときに0に戻すって挙動だと思うんだけど・・・俺間違ってる?
あとその関数は、TS側からLIB内のswitchの値をいじるためって意味だよね?よーわからんw
425ネトゲ廃人@名無し:2008/02/16(土) 00:53:36 ID:???
どのレスしてるのが415なのかわからないけど
>>415がいまいち理解しにくいので>>417からやりたいことを想像してみる。
・LIB内にスイッチを定義し、スイッチの切り替え(Hotkey使用)はLIB内に書きたい
・TSからそのスイッチの状態を見て、それによって動作を変化させたい
これでいいんだよな?
426415:2008/02/16(土) 01:03:29 ID:???
>>425
仰るとおりでございます。今は9割がたTSの方にスイッチ作ってあって、そのキャラがいないと機能しない状況なので、
是非LIBに作りたいと・・・プルテウス幼生の僕ではお手上げです・・。
427ネトゲ廃人@名無し:2008/02/16(土) 01:38:05 ID:???
そう思って>>420を書いてみたんだが・・・うまくないかな('A`)
428ネトゲ廃人@名無し:2008/02/16(土) 02:02:39 ID:???
>>426
>>420のさらに補足説明つき
LIB内にそれぞれのスイッチを切り替える関数をつくる。これはHotkeyから呼び出すもの。Scp="SCR_AI_LIB_CHANGESWITCH()"てな具合でHotkeyに登録。
func SCR_AI_LIB_CHANGESWITCH()
{
switch = switch + 1;
if(switch > 1){switch = 0;}
SysMsg('switch : ' .. switch);
}
こんな感じでスイッチ変数の数だけ関数を作る。

次に、TSからLIB内の変数の値を得るための関数を書く。
func SCR_AI_LIB_GETSWITCH()
{
return switch;
}
ただ単にswitchに入ってる値を返すだけの関数。
TS_KEEPとかからこんな風にこれを呼び出せばswitchの値が返る(はず)。
if(SCR_AI_LIB_GETSWITCH() == 0){挙動0}
else if(SCR_AI_LIB_GETSWITCH() == 1){挙動1}
これはTSでスイッチを定義してた時のif(switch == 1){挙動1}とかって書いてたのとまったく同じになるつもりなんだが・・・?
気になって眠れないのでレスたのむw
429415:2008/02/16(土) 02:07:42 ID:???
>>428
上の方は自分なり書き方で条件分岐して、

下の方はまるっきり同じような書き方にしてるが、スイッチ自体は機能しているが、実際には行動しない・・
というカオスなことになりました・・・。
ぼくの書きかたがわるいのですかね?
430ネトゲ廃人@名無し:2008/02/16(土) 02:17:33 ID:???
ttp://mizinco.cocolog-nifty.com/file/switch.jpg
SSとってきたらもうレスついてたw('A`)

いまテストできる状態じゃなくて自分で試せないんだけど
TS内の適当なところでvar test = SCR_AI_LIB_GETSWITCH();とかってやって
SysMsg('test : ' .. test);で、GETSWITCHが機能してるか確かめてもらえる?
もしかしたらGETSWITCHはreturn switchっていう書き方じゃなくて
if(switch == 0){return 0;}
else if(switch == 1){return 1;}
って書かなきゃダメなのかもしれないと思って。
431415:2008/02/16(土) 02:21:33 ID:???
func SCR_AI_LIB_SUBHEAL()
{
if(subHEAL == 0){
subHEAL = 1;
SysMsg('サブヒール○');
}
else if(subHEAL == 1){
subHEAL = 2;
SysMsg('キープ保持○');
}
else if(subHEAL == 2){
subHEAL = 0;
SysMsg('ノーマル');
}
}
func SCR_AI_LIB_HEALSWITCH()
{
return subHEAL;
}
432415:2008/02/16(土) 02:21:55 ID:???
一応こういう風に変えてやっているのだが・・・上のほうがまずいかな?
433ネトゲ廃人@名無し:2008/02/16(土) 02:25:42 ID:???
そのSysMsgは表示されるんだよな?なら問題ないだろう。
てか代入できてるかは普通に変数の中身を確認しろw

それよりもHEALSWITCH関数でのreturnが動いているかどうか・・・w
434415:2008/02/16(土) 02:33:28 ID:???
スイッチとしては動いてるが、行動してくれないとプルテウス幼生の僕が前にレスを・・。
435ネトゲ廃人@名無し:2008/02/16(土) 02:40:42 ID:???
どこまで動いてるのかよくわかんなくてw

TS側でLIB内スイッチの値取得できてるんならもう問題ないように見えるんだけどな。
TS_KEEPのwhileのなかに
if(SCR_AI_LIB_HEALSWITCH() == 1){SysMsg('healswitch : 1');}とかって書いて
ちゃんとhealswitch : 1って出てるんだよね?
だったら行動しないわけがないんだが('A`)
436ネトゲ廃人@名無し:2008/02/16(土) 05:09:29 ID:???
>>431
TSのほうのソースもうぷれ。
お前の説明がひどすぎて要領を得ない。ソースを直接見たほうが100倍早いわ

437ネトゲ廃人@名無し:2008/02/16(土) 07:55:47 ID:???
書き直しましょうね(・ω・)
438415:2008/02/16(土) 10:24:24 ID:???
大変ご面倒おかけします。

while(1){
if(SCR_AI_LIB_HEALSWITCH() == 0 || SCR_AI_LIB_HEALSWITCH() == 2){
Sysmsg('hi-rusuitti0 2');

}
else if(SCR_AI_LIB_HEALSWITCH() == 1 || SCR_AI_LIB_HEALSWITCH() == 3){
Sysmsg('hi-rusuitti1 3');

}
else if(SCR_AI_LIB_HEALSWITCH() == 4){
Sysmsg('hi-rusuitti4');

}
// Keep Position Check
SCR_AI_LIB_KEEPPOSITION(selfAi);
// Main Sleep
sleep(100);
}
439415:2008/02/16(土) 10:25:32 ID:???
こちらの方のシステムメッセージは表示されませんでした。なにが原因なのでしょうか?
よろしくお願いします。
440ネトゲ廃人@名無し:2008/02/16(土) 10:49:11 ID:???
おはよう
これでSysMsgが出ないって事はつまり
SCR_AI_LIB_HEALSWITCHをTSから呼び出したときにreturnがうまく動いてないってわけだよね
じゃあreturn switchじゃなくて>>430に書いたように
if(switch == 0){return 0;}
else if(switch == 1){return 1;}
に置き換えて試してみて?
441415:2008/02/16(土) 10:54:45 ID:???
func SCR_AI_LIB_HEALSWITCH()
{
if(subHEAL == 0){return 0;}
else if(subHEAL == 1){return 1;}
else if(subHEAL == 2){return 2;}
else if(subHEAL == 3){return 3;}
else if(subHEAL == 4){return 4;}
}

システムメッセージが出てきませんでした・・
>>440朝からすみません・・。
442ネトゲ廃人@名無し:2008/02/16(土) 11:15:15 ID:???
これでreturnできてないってことは、さらにその前のsubHEALに値が入ってないってことだよね。
スイッチ切り替えの関数で変数の中身をみてみ?
func SCR_AI_LIB_SUBHEAL()
{
if(subHEAL == 0){
subHEAL = 1;
SysMsg('サブヒール○' .. subHEAL);
}
else if(subHEAL == 1){
subHEAL = 2;
SysMsg('キープ保持○' .. subHEAL);
}
else{
subHEAL = 0;
SysMsg('ノーマル' .. subHEAL);
}
}
443ネトゲ廃人@名無し:2008/02/16(土) 11:20:19 ID:???
とにかくね、どこまで動いているかとその時点で変数の値がどうなってるかを事細かくSysMsgで表示していけ
動かしてる自分にしかそれはできないし、どこが問題なのかくらいは自分ではっきりさせてほしい
444ネトゲ廃人@名無し:2008/02/16(土) 11:22:01 ID:???
if文でelse if使うときは最後else文になってないとだめなんじゃないか?
445ネトゲ廃人@名無し:2008/02/16(土) 11:30:15 ID:???
そんなことはないと思うぞ〜?
俺の自動建設はなくて動いてるし。
446ネトゲ廃人@名無し:2008/02/16(土) 11:35:13 ID:???
>441
 単純な構文エラーか存在している可能性はない?、この処理系は構文エラーあってもメッセージの一つもでない
ので、スペルミスとかあるだけで、挙動しなくなるから。
447415:2008/02/16(土) 11:45:48 ID:???
>>442
変数はちゃんと代入されてました。
やはり、スイッチには問題がないみたいですね。
値が入ってるのにreturn出来てない状態なのかな?無論TSのほうのメッセージは出ませんでした。
無知ですみません・・・。
448ネトゲ廃人@名無し:2008/02/16(土) 11:48:38 ID:???
じゃあこういうのは?
func SCR_AI_LIB_HEALSWITCH()
{
if(subHEAL == 0){'SysMsg(healswitch0 : ' .. subHEAL);}

}
449ネトゲ廃人@名無し:2008/02/16(土) 11:49:02 ID:???
'の位置間違った
450ネトゲ廃人@名無し:2008/02/16(土) 11:50:30 ID:???
まずは

while(1){
if(SCR_AI_LIB_HEALSWITCH() == 0 || SCR_AI_LIB_HEALSWITCH() == 2){
Sysmsg('hi-rusuitti0 2');

}
else if(SCR_AI_LIB_HEALSWITCH() == 1 || SCR_AI_LIB_HEALSWITCH() == 3){
Sysmsg('hi-rusuitti1 3');

}
else if(SCR_AI_LIB_HEALSWITCH() == 4){ //ここを else{ にかえろ
Sysmsg('hi-rusuitti4');

}
// Keep Position Check
SCR_AI_LIB_KEEPPOSITION(selfAi);
// Main Sleep
sleep(100);
}

上のように最後をelseに変えろ。
それでも何もでなかったらそもそもwhile文に処理が到達していない。
そしてその可能性が高い。
451415:2008/02/16(土) 11:55:41 ID:???
>>450
else(SCR_AI_LIB_HEALSWITCH() == 4){
Sysmsg('hi-rusuitti4');

こうした場合、スイッチすら反応しませんでした。
else ifに戻すとスイッチだけは反応するのですが・・。
452ネトゲ廃人@名無し:2008/02/16(土) 11:56:54 ID:???
if文勉強してこい
elseなのになんで条件文書いてんだよww
453415:2008/02/16(土) 12:01:40 ID:???
プルテウスですみません・・elseを書いたこと無かったので、理解しました。
454ネトゲ廃人@名無し:2008/02/16(土) 12:02:26 ID:???
出直しましょうね(・ω・)
455ネトゲ廃人@名無し:2008/02/16(土) 12:03:05 ID:???
頼むぜ兄さん・・

else{
Sysmsg('hi-rusuitti4');

}

な。で、結果はどうよ
456415:2008/02/16(土) 12:04:13 ID:???
まぁ結果はわかってはいたものの・・ダメでした・・・。
457415:2008/02/16(土) 12:05:43 ID:???
動作的にはelse if(略
sys略

で書いたときと全く同じ動作をしました。 subHEAL自体の値は読み込まれていても、それがTS
まで届いてない感じですかね?詳しくはわからないです・・。
458ネトゲ廃人@名無し:2008/02/16(土) 12:05:47 ID:???
whileにたどり着いてないのなら、それが含まれている関数全体を書け
459ネトゲ廃人@名無し:2008/02/16(土) 12:06:44 ID:???
あとSysmsgじゃ動かなかったような気がする。SysMsgじゃないと・・・キノセイだったかな?
460415:2008/02/16(土) 12:07:06 ID:???
func SCR_ATTACKER_TS_KEEP(self)
{
sleep(100);
// start log
AiLog('ATTACKER_TS_KEEP : Start!!!');
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
// Hold Check
SCR_AI_LIB_UNHOLD(selfAi, prevTS);
// Main Loop
while(1){
461ネトゲ廃人@名無し:2008/02/16(土) 12:07:46 ID:???
多分気のせいじゃねえな・・・
462ネトゲ廃人@名無し:2008/02/16(土) 12:10:38 ID:???
あぅあぅw
463ネトゲ廃人@名無し:2008/02/16(土) 12:11:27 ID:???
僕には今、嵐に見えています。
出直してください。
464ネトゲ廃人@名無し:2008/02/16(土) 12:14:13 ID:???
まぁ>>438で見逃した俺もわるい
465415:2008/02/16(土) 12:14:20 ID:???
if(SCR_AI_LIB_HEALSWITCH() == 0 || SCR_AI_LIB_HEALSWITCH() == 2){
SysMsg('hi-rusuitti0 2');
// AUTO POTION
if('ChangeTS' == SCR_AI_LIB_AUTOPOTION(selfAi)){
return;
}
// User Target Check
if('ChangeTS' == SCR_AI_LIB_USERTARGET(selfAi)){
return;
}
// User Skill Check
if('ChangeTS' == SCR_AI_LIB_USERSKILL(selfAi)){
return;
}
// SUBHEALING Healing Check
/*if('ChangeTS' == SCR_AI_LIB_SUBHEALING(self, selfAi)){
return;
}*/
// Near Target Check
if('ChangeTS_BATTLE' == SCR_AI_LIB_NEARTARGET(self, selfAi)){
ChangeTacticsAi(selfAi, 'TS_KEEP_BATTLE');
return;
}
}
466415:2008/02/16(土) 12:14:42 ID:???
else if(SCR_AI_LIB_HEALSWITCH() == 1 || SCR_AI_LIB_HEALSWITCH() == 3){
SysMsg('hi-rusuitti1 3');
// AUTO POTION
if('ChangeTS' == SCR_AI_LIB_AUTOPOTION(selfAi)){
return;
}
// User Target Check
if('ChangeTS' == SCR_AI_LIB_USERTARGET(selfAi)){
return;
}
// User Skill Check
if('ChangeTS' == SCR_AI_LIB_USERSKILL(selfAi)){
return;
}
// SUBHEALING Healing Check
if('ChangeTS' == SCR_AI_LIB_SUBHEALING(self, selfAi)){
return;
}
// Near Target Check
if('ChangeTS_BATTLE' == SCR_AI_LIB_NEARTARGET(self, selfAi)){
ChangeTacticsAi(selfAi, 'TS_KEEP_BATTLE');
return;
}
}
467415:2008/02/16(土) 12:15:11 ID:???
else{
SysMsg('hi-rusuitti4');
// AUTO POTION
if('ChangeTS' == SCR_AI_LIB_AUTOPOTION(selfAi)){
return;
}
// User Target Check
if('ChangeTS' == SCR_AI_LIB_USERTARGET(selfAi)){
return;
}
// User Skill Check
if('ChangeTS' == SCR_AI_LIB_USERSKILL(selfAi)){
return;
}
// SUBHEALING Healing Check
/*if('ChangeTS' == SCR_AI_LIB_SUBHEALING(self, selfAi)){
return;
}*/
// Near Target Check2
if('ChangeTS_BATTLE' == SCR_AI_LIB_NEARTARGET2(self, selfAi)){
ChangeTacticsAi(selfAi, 'TS_KEEP_BATTLE');
return;
}
}
ちなみにSysMsgでもでませんでした・・・よ?
468ネトゲ廃人@名無し:2008/02/16(土) 12:23:40 ID:???
なんとぉ
読み込んでるかテストするときは具体的な動作は全部消して、SysMsgだけにしてね
どういう状態でテストしてるのかわからんけど
while(1){
if(SCR_AI_LIB_HEALSWITCH() == 0 || SCR_AI_LIB_HEALSWITCH() == 2){
SysMsg('hi-rusuitti0 2');
}
else if(SCR_AI_LIB_HEALSWITCH() == 1 || SCR_AI_LIB_HEALSWITCH() == 3){
SysMsg('hi-rusuitti1 3');
}
else{
SysMsg('hi-rusuitti4');
}
// Keep Position Check
SCR_AI_LIB_KEEPPOSITION(selfAi);
// Main Sleep
sleep(100);
}
これでテストしてSysMsgが出なかったら↓
469ネトゲ廃人@名無し:2008/02/16(土) 12:25:22 ID:???
while(1){
SysMsg('test');
// Keep Position Check
SCR_AI_LIB_KEEPPOSITION(selfAi);
// Main Sleep
sleep(100);
}
これでテストして、表示されたら↓を試す
var healswitch = SCR_AI_LIB_HEALSWITCH();
SysMsg('healswitch : ' .. healswitch);
470ネトゲ廃人@名無し:2008/02/16(土) 12:28:51 ID:???
まあまさかと思うが、467で終わりじゃないよな・・・?
while文の閉じ括弧とfuncの閉じ括弧
}
471470:2008/02/16(土) 12:29:28 ID:???
while文の閉じ括弧とfuncの閉じ括弧はちゃんとあるんだよな?
472415:2008/02/16(土) 12:33:30 ID:???
>>468
>>469
スイッチなくしても表示されてません・・・・
これはつまりスイッチ以前にどこか間違えているということですよね・・・
論外だったのかな・・?ちょっと見直してきます・・
473ネトゲ廃人@名無し:2008/02/16(土) 12:37:06 ID:???
TSのどっかの構文が間違ってるな。
TS全体が死んでるんだよ。

アタッカーをキープやホールドにすることすらできてないだろ?
セミコロンの付け忘れやif(test = 1)みたいなありがちなミスしてないか見直せ
あと{ }はしっかり全部閉じてるか
474415:2008/02/16(土) 12:38:51 ID:???
>>473
KEEPにした場合普通に攻撃するから不思議なんですよ・・・
なんだかge.exeのKEEPを全て無視しているかのような動きなんですよね・・・なんだかデフォルトみたいな動きで・・
475ネトゲ廃人@名無し:2008/02/16(土) 12:47:04 ID:???
正直外部の人間にはお手上げだろw
exeごとうpするかデフォルトで我慢しろ
476415:2008/02/16(土) 12:50:59 ID:???
プルテウス幼生ごときがLIBにスイッチを移動するという考え自体がいけなかったのかな・・。
ここまで、アドバイスなどを頂きありがとうございました。
私には無理だということがわかりました。
一応スイッチとしてはTSの方で機能しているので、私みたいな糞はそちらで我慢します。
プルテウスごときが高望みなんてしてはいけませんよね・・・

ここまでレスを沢山いただき、ありがとうございました。
477ネトゲ廃人@名無し:2008/02/16(土) 12:56:12 ID:???
レイドしててレス付けれなかった

あのなー
文法的とかの根本的なミスがあると自動的にデフォのAIにおきかわんだよ
だからShowInfo(1)とか書いておいて、根本的なミスおかしてたらデバッグコード表示されないからすぐわかるからってぶろぐにもかいたのにまったく・・・
478ネトゲ廃人@名無し:2008/02/16(土) 14:12:16 ID:???
EL改AIerだけど何か質問ある?
479ネトゲ廃人@名無し:2008/02/16(土) 14:16:06 ID:???
GetNeedHealFriendとかの戻り値の形式わかる?
スキル発動時に立っているところのすぐとなりの位置を指定したいんだがどうすればいいかな。
480ネトゲ廃人@名無し:2008/02/16(土) 14:18:15 ID:???
var curTarget2 = GetNeedHealFriend(selfAi, 1, 101);
SysMsg('standx : ' .. curTarget2.x);
とかって構造体っぽく書いてみたが動かなかったw
x,y,h座標かなと思ったんだがな〜
481ネトゲ廃人@名無し:2008/02/16(土) 14:25:56 ID:???
もう1つ質問。これよりもっと良質なスロット指定型つくるヒントくだしあ><
func SCR_AI_LIB_GETSLOT(self)
{
var selfAi = GetAiActor(self);
SelectMyPc(0);
if(IsLeader(selfAi) == 'YES'){return 0;}
else{SelectMyPc(1);
if(IsLeader(selfAi) == 'YES'){return 1;}
else{SelectMyPc(2);
if(IsLeader(selfAi) == 'YES'){return 2;}}}}

func SCR_AI_LIB_AUTOPOT(self)
{
if(PotSwitch == 1){
var slot = SCR_AI_LIB_GETSLOT(self);
if(slot != nil){UseItem(slot, 0);sleep(100);}
}
return;}
482ネトゲ廃人@名無し:2008/02/16(土) 14:48:13 ID:???
>>479-480
召喚つかってねーから分からないけど、
option.KeepRangeの例から推測してできたとしてもXは大文字じゃね?
カトリソロなら知らんが、俺ならスカをターゲットにして召喚するかな。
483ネトゲ廃人@名無し:2008/02/16(土) 14:53:40 ID:???
大文字でも無理だったわ。
BOTで綺麗にY方向に一定間隔で砲台建設してるやつとかいるからAIでできんのかなとね。
484ネトゲ廃人@名無し:2008/02/16(土) 14:54:46 ID:???
>>481
正直ジョブ決めうちが一番安定してシンプル。
SelectMyPcで取得するなら一度スロット取得したselfはグローバル変数にいれておけば?

var g_friends = { nil, nil, nil };

func SCR_AI_LIB_GETSLOT(self)
{
if(g_friends[1] == self) { return 0; }
を3スロット繰り返し、配列の添え字は1から始まるので注意

var selfAi = GetAiActor(self);
if(IsDead(GetNeedHealFriend(selfAi, 1, 101)) == 'YES') { return nil; } 死んでたら選択できない

SelectMyPc(0);
if(IsLeader(selfAi) == 'YES'){ g_friends[1] = self; return 0; }
を3スロット繰り返し

return nil;
}
485ネトゲ廃人@名無し:2008/02/16(土) 15:11:02 ID:???
>484
 ナイスでビューティフルなアルゴリズムですこと、加えてスマートな関数に脱帽
486ネトゲ廃人@名無し:2008/02/16(土) 15:14:37 ID:???
お、IsDead関数なんてあったのか。それは便利だ。
selfを変数にいれておくのって最初考えてたんだけどなんでやめたんだったかなぁ・・・思いだせん
487ネトゲ廃人@名無し:2008/02/16(土) 15:16:25 ID:???
お 配列つかえるの
なんかワクワクしてきた
488ネトゲ廃人@名無し:2008/02/16(土) 15:16:43 ID:???
って思い出したw
リーダー変えながら3回操作しなくちゃいけないから、準備の要らない方法を模索してたんだったw
489ネトゲ廃人@名無し:2008/02/16(土) 15:35:01 ID:???
3回ってことはないか。
個別選択でTSから1度呼び出して全員のself保存する必要があるよね。
使用手順が決まってるとぶろぐに載せにくいと思って回避したんだった('A`)

IsDeadについてだけど、死んでてもAIって動いてるの?w
1.自動蘇生するには、自分が死んでたらスイッチがはいって蘇生してスイッチ戻る
2.それともスカのAIに組み込んで、近くのキャラをIsDeadで判定して死んでるやつがいたら蘇生
どっちもできるのかな。
490ネトゲ廃人@名無し:2008/02/16(土) 15:36:55 ID:???
インテシファイをスキルスロットじゃなくて
UseSkill(〜で、発動できんのかね?
491ネトゲ廃人@名無し:2008/02/16(土) 15:52:16 ID:???
>>489
死んだらAIは動いてない。HEALERからこんな感じでおこせるんじゃね?

func SCR_AI_LIB_RESUSCITATION(self)
{
 var i = 0;
 while(i < 3) {
  if(g_friends[i+1] != nil) {
   var friendAi = GetAiActor(g_friends[i+1]);
   if(IsDead(friendAi) == 'YES') {
    var friendTarget = GetNeedHealFriend(friendAi, 1, 101);
    UseSkill(selfAi, friendTarget, 30113);
    while(IsSkillUsing(selfAi) == 'YES') { sleep(100); }
   }
  }
  i = i + 1;
 }
}
492ネトゲ廃人@名無し:2008/02/16(土) 15:56:03 ID:???
>>490
ターゲットに自分自身やnilを入れてもだめ?
493ネトゲ廃人@名無し:2008/02/16(土) 15:59:31 ID:???
>>491
あーミスった、IsDeadの引数はターゲットな。
先にfriendTargetを取得してくれ。
494ネトゲ廃人@名無し:2008/02/16(土) 16:01:41 ID:???
自PC内ならいくらでもいけるんだけど、これSQ内の自動蘇生に膨らませられないかなとおもってさ。
func SCR_AI_LIB_RESUSCITATION(self)
{
 var selfAi = GetAiActor(self);
 var friendTarget = GetNeedHealFriend(selfAi, 1500 , 10);
 if(IsDead(friendTarget) =='YES'){
  UseSkill(selfAi, friendTarget, 30113);
  while(IsSkillUsing(selfAi) == 'YES'){sleep(100);}
 }
}
こんなんで・・・。てかIsDeadの引数がさっきと違うけどどっち?
495ネトゲ廃人@名無し:2008/02/16(土) 16:02:23 ID:???
>>493
リロードしてなかったスマソ
496ネトゲ廃人@名無し:2008/02/16(土) 16:10:22 ID:???
>>494
死んだSQ内のキャラは知られてる関数だけじゃとれないだろうな。
死ぬ前にターゲットを配列に詰め込むしかないんじゃね?
497ネトゲ廃人@名無し:2008/02/16(土) 16:16:46 ID:???
なるほど
GetNeedHealFriendだと自分の一番近くのキャラしか見なさそうだな・・・
配列に全部保存はちょっと現実的でなさそうだw
498ネトゲ廃人@名無し:2008/02/16(土) 17:24:56 ID:f22msgCa
IsDeadは使えないって昔おしえてやったろうがwww
499ネトゲ廃人@名無し:2008/02/16(土) 17:29:33 ID:???
普通に使えてるが。
放置が一人でも死んだらチートOFFにしてるぜ。
スカだけ生き残ってヒールとかしてると不自然だしな。
500ネトゲ廃人@名無し:2008/02/16(土) 22:38:10 ID:???
俺はキャラ一人でも死んだら蔵落ちるようにしてたな。
501ネトゲ廃人@名無し:2008/02/17(日) 00:28:33 ID:???
韓国蔵を解析しようと思ってひさしぶりに韓国垢に入ろうと思ったら
ログインできねー。垢BANはされてないんだけど何故か入れない。
再インスコでもだめだ

502ネトゲ廃人@名無し:2008/02/17(日) 00:46:58 ID:???
ログインしないと蔵落とせないの?
503ネトゲ廃人@名無し:2008/02/17(日) 17:29:52 ID:???
func _GetPersonal(self, selfAi)
{
if(F_person0 == self){
return 0;
}else if(F_person1 == self){
return 1;
}else if(F_person2 == self){
return 2;
}else if(F_person0 == nil || F_person1 == nil || F_person2 == nil){
if(F_person0 == nil){
SelectMyPc (0);
if (IsLeader(selfAi) == 'YES'){
F_person0 = self;
return 0;
}
}
if(F_person1 == nil){
SelectMyPc (1);
if (IsLeader(selfAi) == 'YES'){
F_person1 = self;
return 1;
}
}
504ネトゲ廃人@名無し:2008/02/17(日) 17:30:54 ID:???

if(F_person2 == nil){
SelectMyPc (2);
if (IsLeader(selfAi) == 'YES'){
F_person2 = self;
return 2;
}
}
}
_ResetPerson();
return -1;
}
自分のIDを返す関数
_ResetPerson();は全部nilにする関数
必要なときに呼んで、初期化されてなかったら初期化
505ネトゲ廃人@名無し:2008/02/17(日) 20:11:57 ID:owwfNgkA
皆さんがしてるようなことをするには
何をすればいいのでしょうか?
簡単に手順などを教えてください;;
506ネトゲ廃人@名無し:2008/02/17(日) 20:46:59 ID:???



原生生物キタ━━━━━━(゚∀゚)━━━━━━ !!
507ネトゲ廃人@名無し:2008/02/17(日) 20:58:14 ID:???
スレの頭近くのテンプレみてこい
508ネトゲ廃人@名無し:2008/02/17(日) 21:08:24 ID:owwfNgkA
ResourceHackerってのを開いてge.exeを開いたんですが
そこから何をすればいいのかがわかりません;;
509ネトゲ廃人@名無し:2008/02/17(日) 21:24:07 ID:???
\(^o^)/
510ネトゲ廃人@名無し:2008/02/17(日) 21:24:09 ID:???
releaseのほうのge.exeな。中身読んで意味さっぱりだったらプログラミングできないからあきらめろ
511ネトゲ廃人@名無し:2008/02/17(日) 21:32:26 ID:owwfNgkA
;;
releaseの方のge.exe開いたて23を開いたら110~113があったんですが
その中身をどういじればどうなるかなどがわかりません;;
ちなみに今年パソコン関係の専門学校いきますorz
512ネトゲ廃人@名無し:2008/02/17(日) 21:41:57 ID:???
みじんこブログ見て、理解できないなら無理、諦めろ。
513ネトゲ廃人@名無し:2008/02/17(日) 21:44:27 ID:owwfNgkA
>>512
返事ありです;;
みじんこブログを最初のとこから見たらだいぶわかってきました
がんばってみますorz
514ネトゲ廃人@名無し:2008/02/17(日) 21:48:01 ID:???
みじんこだけど、最近LIBで制御するように気が変わったから、ブログも後で色々変えたんだ。
前のTSで制御するイメージの記事が残ってるかもだけど惑わされんように。
TSで制御するかLIBで制御するかをはっきりさせてからいじること。
515ネトゲ廃人@名無し:2008/02/17(日) 22:09:48 ID:owwfNgkA
TSで制御する場合110.111.113でLIBで制御する場合112を変えるんですか?
516ネトゲ廃人@名無し:2008/02/17(日) 22:13:28 ID:???
両方変えることになるけど、グローバル変数を定義するのが呼び出し側TSか、呼び出される側LIBかっていう話し。LIBオススメ。
517ネトゲ廃人@名無し:2008/02/17(日) 22:56:09 ID:???
TSで制御とか、プログラミング的に相当頭わりーぞ
518ネトゲ廃人@名無し:2008/02/17(日) 23:01:42 ID:???
みじんこ以下の相手をする方がもっと頭悪い

過去ログ嫁
519ネトゲ廃人@名無し:2008/02/17(日) 23:02:58 ID:???
サーセンwみじんこはプログラミング習い始めて2年目なのですorz
520ネトゲ廃人@名無し:2008/02/18(月) 00:35:42 ID:???
>>519
2年もやってたらだいたいわかると思うけど、これはAIなんていってるが、人工知能なんてものじゃなくフラグでインスタンスのステートを遷移するだけのもの。
解析もだいたいあがってるし、すぐにマスターできるだろ
521ネトゲ廃人@名無し:2008/02/18(月) 00:45:07 ID:???
>>517の言う、プログラミングの常識がかけてることの言い訳なのです><
とても簡単なプログラミングで、自分の実装したい機能を考えて動かすのが楽しいです
522ネトゲ廃人@名無し:2008/02/18(月) 00:53:21 ID:???
LIBでスイッチ切り替えてから、すごい操作が楽になったわ
523ネトゲ廃人@名無し:2008/02/18(月) 01:45:55 ID:???
チャット欄からAI側になにか入力することってできる?
変数の値とか、あるいはコマンドで関数実行とか
524ネトゲ廃人@名無し:2008/02/18(月) 01:54:07 ID:???
みじんこだけど、この前過去ログ持ってるって言ってた人、zipで固めてどっかうpしてもらえたら出来るだけ整理しようと思う。
525ネトゲ廃人@名無し:2008/02/18(月) 02:08:56 ID:???
>>523
できない。
少しでもソースみたらそんなのすぐわかるだろ。脳みそとけてんのか?
526ネトゲ廃人@名無し:2008/02/18(月) 02:24:23 ID:???
たしかにiesに登録されてるコマンドしかチャットから入力できなかったなスマソ
527ネトゲ廃人@名無し:2008/02/18(月) 02:29:04 ID:???
>>523
ためしてみてよ

キー入力をバッファにためてenterでsysmsgっての
528ネトゲ廃人@名無し:2008/02/18(月) 02:39:43 ID:???
何を言ってるのかよくわからんorz
529ネトゲ廃人@名無し:2008/02/18(月) 10:53:13 ID:???
馬鹿すぎるw
530ネトゲ廃人@名無し:2008/02/18(月) 11:29:08 ID:???
召喚カトリの自動召喚で
だいなあいらんどにあったやつにInstantHoldが入ってたから今までそのまま使ってたんだけど
アイテム拾った後にキープ位置に戻るときにこれのせいでカクカクして不自然だからコメントアウトしてみた
特に問題が起きてるように見えないんだけどInstantHoldは必要なものなのか?
531ネトゲ廃人@名無し:2008/02/18(月) 12:32:45 ID:???
InstantHold
いらねー
532ネトゲ廃人@名無し:2008/02/18(月) 15:37:55 ID:xBkWyl3d
策敵範囲拡大
を拡大するにはどこをいじればいいのでしょうかorz
533ネトゲ廃人@名無し:2008/02/18(月) 15:40:31 ID:???
それを自分で探し出すことくらいできないとこの先プログラミングやってらんねーぞ
どこで策敵してるかくらいわかれ
Enemyって文字列が入ってる関数が112にあるだろ
534ネトゲ廃人@名無し:2008/02/18(月) 15:40:54 ID:???
>>策敵範囲拡大を拡大
難しいんじゃねーかなぁ、俺は策敵範囲拡大は出来るけど
策敵範囲拡大の拡大は出来ないじぇTT。w
535ネトゲ廃人@名無し:2008/02/18(月) 15:41:22 ID:???
つーかみじんこぶろぐの基本的な関数のところ見てこいよw
536ネトゲ廃人@名無し:2008/02/18(月) 15:42:02 ID:???
おぷしょんきーぷれんじをぎせんとかいちまんにしてみそ。
537ネトゲ廃人@名無し:2008/02/18(月) 15:42:41 ID:???
つーらーれーたー
538ネトゲ廃人@名無し:2008/02/18(月) 15:48:55 ID:xBkWyl3d
GetNearAtkableEnemy(selfAi, 1000)
ここをいじった後にスクリプトをコンバイルするってのを
押したんですけど
これで策敵範囲はひろがるんですか?
539ネトゲ廃人@名無し:2008/02/18(月) 15:54:55 ID:???
こんばいるwwwwww
compileでググってこいwww
コンパイル→保存→蔵再起動→テストだゴルァ
540ネトゲ廃人@名無し:2008/02/18(月) 16:02:11 ID:???
1000じゃ分かりにくいから、2500とかで試しやがれ〜
541ネトゲ廃人@名無し:2008/02/18(月) 16:03:24 ID:???
1000じゃわかりにくいってか1000がデフォじゃね?
542ネトゲ廃人@名無し:2008/02/18(月) 16:04:11 ID:xBkWyl3d
テストってなんですか?
543ネトゲ廃人@名無し:2008/02/18(月) 16:08:27 ID:???
自称元EL改AIerだけど、このスレをお気に入りから消す前にもう質問ない?
544ネトゲ廃人@名無し:2008/02/18(月) 16:11:50 ID:???
オートSP回復スクリプト教えて。
545543:2008/02/18(月) 16:24:59 ID:???
>>544
残念ながら、SPを直接取得する関数は分からない。
オート召喚やオートレビテでSPを回復しながら使いたいなら
UseSkill(selfAi, 召喚・・・
if(IsSkillUsing(selfAi) == 'NO') {
 // 何らかの理由でスキル失敗、SPPOTを飲んで再挑戦
 UseItem(0, 1);
 UseSkill(selfAi, 召喚・・・
}
といったふうに書くか、タイマーで調整するしかないんじゃないかな。
546543:2008/02/18(月) 16:28:18 ID:???
PvPで使うなら無駄を承知でTS_USERSKILLから抜ける前にSPPOT飲んでおけばいいだろう。
547ネトゲ廃人@名無し:2008/02/18(月) 16:28:44 ID:xBkWyl3d
えと
3000にしてもなんもかわってなかったですorz
方法がちがうのでしょうか?
GetNearAtkableEnemy(selfAi
これをいじる前になにかする作業がありますか?
548ネトゲ廃人@名無し:2008/02/18(月) 16:31:16 ID:???
ない
549ネトゲ廃人@名無し:2008/02/18(月) 16:33:12 ID:xBkWyl3d
そうなんですか・・・・・・
俺やったの↓の方法なんですが
GetNearAtkableEnemy(selfAix
xを3000などにした後
スクリプトをコンバイルするを押して
保存してゲームを起動させたんですが
これであってるのでしょうか?
550ネトゲ廃人@名無し:2008/02/18(月) 16:33:13 ID:???
>>545
設置系の任意な場所指定してのオートスキル教えて
551ネトゲ廃人@名無し:2008/02/18(月) 16:39:32 ID:???
>>549
それが書かれている関数名かいてみ
552ネトゲ廃人@名無し:2008/02/18(月) 16:44:42 ID:xBkWyl3d
>>551
すみません
どういう意味なんでしょうか?
553ネトゲ廃人@名無し:2008/02/18(月) 16:55:04 ID:???
ごめん適当に書いた。見直したら1箇所しかなかったからキニスンナw
GetNearAtkableEnemy(selfAi, 3000);な
それで動かないならわけわからん
554ネトゲ廃人@名無し:2008/02/18(月) 17:04:22 ID:xBkWyl3d
合ってるとおもうのにできませんorz
できればはじめからの手順をおしえてください;;
それと
>>539が言ってたテストとはなんなんですか?;;
555ネトゲ廃人@名無し:2008/02/18(月) 17:15:39 ID:xBkWyl3d
それと
GetNearAtkableEnemyの設定って
ゲームを起動してる時にするんですか?
556ネトゲ廃人@名無し:2008/02/18(月) 17:18:57 ID:???
とうとう、サポートセンター化してきて、ワロタ
557ネトゲ廃人@名無し:2008/02/18(月) 17:21:51 ID:???
ここまでの原生生物は初めてだ・・・・
558ネトゲ廃人@名無し:2008/02/18(月) 17:22:30 ID:???
索敵範囲拡大はすぐにバレるぞ
559ネトゲ廃人@名無し:2008/02/18(月) 17:26:16 ID:???
いや、きっと全てを知り尽くしている者の暇つぶしの釣りなんだというきがしてきたw
560ネトゲ廃人@名無し:2008/02/18(月) 17:28:16 ID:???
>>550
ミッションとかで特定の座標に正確に建築したいのなら分からん。
targetオブジェクトの座標プロパティを探さないと無理だろうね。
MOVE、ASSULT、KEEPの3地点を手動で指定すればいろいろ出来るけどね。
561ネトゲ廃人@名無し:2008/02/18(月) 17:32:27 ID:xBkWyl3d
いや
本当にまったくわかりませんorz
だれかこのゴミクズにもわかるように説明してください;;
562ネトゲ廃人@名無し:2008/02/18(月) 17:37:28 ID:???
過去スレ含めて見てもわからないなら、
あきらめるか自分専用スレ立てたほうがいいよ。
親切な僕ちゃんからのアドヴァイス
563ネトゲ廃人@名無し:2008/02/18(月) 17:45:42 ID:???
いじれないなら中華のBOT配布サイトから落としてくれば?
564ネトゲ廃人@名無し:2008/02/18(月) 17:48:41 ID:xBkWyl3d
中華のBOT配布サイトググっても出てきませんorz
565ネトゲ廃人@名無し:2008/02/18(月) 17:49:12 ID:???
鯖は?
566ネトゲ廃人@名無し:2008/02/18(月) 17:51:57 ID:xBkWyl3d
スピネルです
567ネトゲ廃人@名無し:2008/02/18(月) 17:52:22 ID:???
アカウント名は?
568ネトゲ廃人@名無し:2008/02/18(月) 17:55:07 ID:xBkWyl3d
それは・・・・・
569ネトゲ廃人@名無し:2008/02/18(月) 17:58:57 ID:???
うぜえから消えること
570ネトゲ廃人@名無し:2008/02/18(月) 18:33:34 ID:???
おまえageっぱなしだなw
ちょっと相手にしてらんないから諦めろ

特定座標にばっかりスキル打ちたいんなら
あらかじめその座標をGetNeedHealFriendでグローバル変数に代入していくスイッチつくって
それで座標保存したあとで好きなようにUseSkillじゃね
571ネトゲ廃人@名無し:2008/02/18(月) 18:56:29 ID:???
>>570
みじんこには難しいなw
座標を変数に置き換えるのは予想してたけど構文がわからん
GetNeedHealFriendは座標返すはずだから

var pointとかをグローバルで定義してスイッチで呼び出してGetNeedHealFriend(0.101)=point
みたいな感じ?
572ネトゲ廃人@名無し:2008/02/18(月) 19:12:35 ID:???
570の俺はみじんこなんだがw
人形召喚したり建築物たてたりするときに、curTargetっていうのにそのスキル発動位置をいれてるだろ?
俺が考えたのはそれと同じ感じでcurTargetをいくつもあらかじめ保存する。
その分Hotkeyから呼び出す数は増えるw

グローバルで保存したい座標の数だけ変数作って
func 1
{curTarget1 = GetNeedHealFriend(selfAi, 1, 101);}
こんなんを保存する座標の数だけ作って
Skill(selfAi, curTarget1, スキルID);
で指定すればおkじゃね?出かけ前で急いでるんで簡単でスマソww
573ネトゲ廃人@名無し:2008/02/18(月) 19:19:51 ID:???
あーなるほど把握した
1回別に保存してスキル発動の時呼び出してって考えたんだが2度手間かw

サンクスw
574ネトゲ廃人@名無し:2008/02/18(月) 19:28:57 ID:???
ヤバい、このスレじっくり読んでたら、俺もみじんこになりたくなってきたwww
575ネトゲ廃人@名無し:2008/02/18(月) 19:46:39 ID:???
576ネトゲ廃人@名無し:2008/02/18(月) 19:54:38 ID:???
>>560のやり方で俺もフォトン狩りしてたけど、
最近はGEなんかのvis稼ぐためにPCつけっぱにする価値を感じない。
577ネトゲ廃人@名無し:2008/02/18(月) 19:59:40 ID:xBkWyl3d
>>575
配布サイトってそこのこと言ってたんですねorz
そこって6月6000円ぐらい金かかるんですよね?
それとやっと範囲拡大できるようになりましたorz
578ネトゲ廃人@名無し:2008/02/18(月) 20:03:29 ID:???
579ネトゲ廃人@名無し:2008/02/18(月) 20:08:14 ID:???
>>577
とりあえず、sageてから質問しろ sageないなら消えろ
580ネトゲ廃人@名無し:2008/02/18(月) 20:18:25 ID:xBkWyl3d
>>579すいませんsageます
質問なんですが
範囲拡大などをした後もとにもどすには
変えたとこを戻さないと治りませんよね?
581ネトゲ廃人@名無し:2008/02/18(月) 20:27:31 ID:???
クソゲーよくあきないな
582ネトゲ廃人@名無し:2008/02/18(月) 20:30:20 ID:???
( ゚д゚)

(つд⊂)ゴシゴシ

(;゚д゚)

(つд⊂)ゴシゴシ
  _, ._
(;゚ Д゚)
583ネトゲ廃人@名無し:2008/02/18(月) 21:54:49 ID:???
みじんこ以下は放置しろ
584ネトゲ廃人@名無し:2008/02/18(月) 22:04:07 ID:???
死んだら即ログアウト→ログイン→ワープ→自動キープ
って中華BOTであってAiではないよね?
585ネトゲ廃人@名無し:2008/02/18(月) 22:42:44 ID:???
>>573
あれーwなんか食い違ってる気がするw何を把握したんだろうww
俺が考えてるのは、あらかじめスキル発動したい位置で
func SCR_PUPPET_TS_SAVE(self)
{var selfAi = GetAiActor(self);
SCR_AI_LIB_SAVE(selfAi);}
をHotkeyから実行して(selfAiをLIBに渡すため、TSから呼び出すしかない?
func SCR_AI_LIB_SAVE(selfAi)
{
if(curTarget1 == nil){curTarget1 = GetNeedHealFriend(selfAi, 1, 101);
return;}
else if(curTarget2 == nil){curTarget2 = GetNeedHealFriend(selfAi, 1, 101);}
・・・
}
586ネトゲ廃人@名無し:2008/02/18(月) 22:44:24 ID:???
curTarget2でreturnが抜けたorz
こんな感じで座標をつっこんでいって、スキル発動位置に適当にいれれば・・・と。
あと↑の書き方よりも配列使ったほうがよかったねw
587ネトゲ廃人@名無し:2008/02/18(月) 22:54:43 ID:???
配列とカウンター使えばもっと楽じゃね?
588ネトゲ廃人@名無し:2008/02/18(月) 23:09:46 ID:???
座標保存する変数を配列変数にして、
代入もスキル発動もwhile文とかでカウンターインクリメント(増やして)やればおkだなw
589ネトゲ廃人@名無し:2008/02/19(火) 12:07:21 ID:???
スイッチも配列にすれば、切り替えの関数を何個も書かなくていいと。
楽かもしれん。
590ネトゲ廃人@名無し:2008/02/19(火) 13:07:49 ID:???
Ai デフォルトが当てられてるね
なんなんだろ、この中途半端な たまに差し替える感じ
591ネトゲ廃人@名無し:2008/02/19(火) 13:10:29 ID:???
何が狙いなんだろ
592ネトゲ廃人@名無し:2008/02/19(火) 13:40:52 ID:???
AI差し替えたら、
バージョン違うって怒られて接続できねえええええ
593ネトゲ廃人@名無し:2008/02/19(火) 13:49:57 ID:wLcJJpY/
UZEEEEEEEEEEEEEEEEEEEEEE
594ネトゲ廃人@名無し:2008/02/19(火) 13:50:24 ID:???
興奮して下げ忘れたスマン(´・ω・`)
595ネトゲ廃人@名無し:2008/02/19(火) 14:04:17 ID:???
俺は問題なく入れてるけど
596ネトゲ廃人@名無し:2008/02/19(火) 14:05:09 ID:???
みじんこウザイw
入れない事してるから入れないんだよ!
597ネトゲ廃人@名無し:2008/02/19(火) 14:18:39 ID:???
やっぱりみじんこが沸いたな
過去ログ読んだら幸せになれるよ
598592:2008/02/19(火) 14:28:48 ID:???
入れますた(つД`)
599ネトゲ廃人@名無し:2008/02/19(火) 15:24:07 ID:???
はいれない(^o^)
600ネトゲ廃人@名無し:2008/02/19(火) 15:53:55 ID:???
AI差し替えきたんなら、前までのソースを新しいファイルにコピペだ
601ネトゲ廃人@名無し:2008/02/19(火) 16:19:50 ID:???
>>596
みじんこは普通に入れてるからそれは冤罪だww
差し替えられたやつざっと読んでみたけどなにも変更点ないぽいね?
602ネトゲ廃人@名無し:2008/02/19(火) 16:41:07 ID:???
何が変わったか見てるけどわかんねぇ
603ネトゲ廃人@名無し:2008/02/19(火) 18:12:36 ID:???
NONEにある
if (true == IsUseAutoKeep()) {
KeepAlone(selfAi);
}
をだれか日本語にしてくんね?
604ネトゲ廃人@名無し:2008/02/19(火) 19:00:29 ID:???
IsUseAutoKeep()が真ならば、KeepAlone(selfAi)を実行する

日本語にするってこうですか? よくわかりません!!
605ネトゲ廃人@名無し:2008/02/19(火) 19:02:01 ID:???
if文の意味はわかるwww
じゃなくて関数が具体的にどういう状態ならどうするってことをいってるのあわかんねw
606ネトゲ廃人@名無し:2008/02/19(火) 19:23:02 ID:???
楽天的に考えると、吹っ飛ばされてNONEになった場合、状態をキープに戻すような処理。
悲観的に考えると、自動キープ使用判定された場合は、タイーホ用通報処理を。。。ガクガク(;;゚Д゚;)ブルブル
607ネトゲ廃人@名無し:2008/02/19(火) 19:29:56 ID:???
中華BOTさえ手に入れば深刻されんで済むのに
608ネトゲ廃人@名無し:2008/02/19(火) 19:34:25 ID:???
大分前からあるよ。
どんなときにTrue返すか確かめてみればわかるよ
609ネトゲ廃人@名無し:2008/02/19(火) 19:36:26 ID:???
中華BOTって金出せば手に入るじゃん。簡単に
そんで金だすならRMTでもやれば普通に俺TUEEEEできるじゃん。
改Aiはミジンコが金出したくなくてやってる措置なんだから中華BOTと同等で語るものじゃないぞ
610ネトゲ廃人@名無し:2008/02/19(火) 19:44:44 ID:???
金出したくじゃなくて貧乏人の集まりだから金がないんだろ^^
611ネトゲ廃人@名無し:2008/02/19(火) 19:46:06 ID:???
中華には金払いたくないです
612ネトゲ廃人@名無し:2008/02/19(火) 19:51:00 ID:???
同じく
613ネトゲ廃人@名無し:2008/02/19(火) 19:58:50 ID:???
ゲームを楽しんでるのではなくて、AIプログラミングを楽しんでるのです。
614ネトゲ廃人@名無し:2008/02/19(火) 20:00:01 ID:???
GEじゃなくてもいいじゃんw
615ネトゲ廃人@名無し:2008/02/19(火) 23:29:33 ID:???
>613は手段が目的になる例。
そんな俺もAIいじる方が楽しくなってきたwww
616ネトゲ廃人@名無し:2008/02/20(水) 00:31:19 ID:???
でもほんとわざわざ中華BOTに手を出すぐらいならRMTしたほうがまだいいよな。
中華に金なんてあげたくないし。
617ネトゲ廃人@名無し:2008/02/20(水) 00:33:32 ID:???
>>616
RMTも業者の中間マージン以外は大陸に行ってますが。
618ネトゲ廃人@名無し:2008/02/20(水) 11:34:13 ID:???
不正者申告機能 回避は不可能なのでしょうか?
619ネトゲ廃人@名無し:2008/02/20(水) 11:42:47 ID:???
無理
620ネトゲ廃人@名無し:2008/02/20(水) 11:53:33 ID:???
リオンの四角部屋にジャックで綺麗に全部カバーして設置しているのは。
クレイジの機能です。
座標指定で設置物を置けるようになりましたw
さらに、凶悪なTOOLになってきました、そろそろ会員が多くなってきたので
当分の間か永久に現会員のみの継続販売に移行するようです。
621ネトゲ廃人@名無し:2008/02/20(水) 12:35:05 ID:???
で?
622ネトゲ廃人@名無し:2008/02/20(水) 13:23:27 ID:???
リオン合同で十分稼げるほど凶悪なツールなのかそりゃやう゛ぁい
623ネトゲ廃人@名無し:2008/02/20(水) 13:28:53 ID:???
>>620 業者さん乙であります!
624ネトゲ廃人@名無し:2008/02/20(水) 14:19:15 ID:???
>>620
多少手間かかるけどみじんこでもAIでそれ実現できるから引っ込んでな
625ネトゲ廃人@名無し:2008/02/20(水) 14:41:50 ID:???
みじんこぶろぐで飼ってるココロが段々言葉を覚えだしました。
関数とかスタンスとか自動とか変数とか口走ります・・・w
626ネトゲ廃人@名無し:2008/02/20(水) 15:30:05 ID:???
AIBOTは邪魔なんですwキエテナクナレ
627ネトゲ廃人@名無し:2008/02/20(水) 15:52:09 ID:???
AIBOTてなんだよw
628ネトゲ廃人@名無し:2008/02/20(水) 15:55:16 ID:???
S○NYの犬みたいな・・・
629ネトゲ廃人@名無し:2008/02/20(水) 16:00:28 ID:???
武器を持たないキャラ(カトリとか)をニアタゲで常に走らせたいんですが
keep rangeを6000に変えても動作しませんでした。

どこをいじればいいですか?
630ネトゲ廃人@名無し:2008/02/20(水) 16:03:15 ID:???
自動でアイテムを拾わせたいんですが
func SCR_AI_LIB_PICKITEM(selfAi)
{
 var nearItem = GetNearItem(selfAi, 1000);

 if(nearItem != 0 && ItemSwitch == 1){
  sleep(800);
  PickItem(selfAi, nearItem);
  while(IsExistItem(nearItem) == 'YES'){
   sleep(100);
  }
  if(GetNearItem(selfAi, 1000) != 0){
   SCR_AI_LIB_PICKITEM(selfAi);
  }
 }
 return;
}
をLIBのとこにいれても
反応しませんorz
どうすればいいのでしょうか?
631ネトゲ廃人@名無し:2008/02/20(水) 16:08:01 ID:???
AIの流れがわかってからスレにこような
まずはソースを追っていって全体像把握してこい
632ネトゲ廃人@名無し:2008/02/20(水) 16:37:09 ID:???
自動で拾わせるのは、いいんだが
ゴースト出しまくるヤツどうにかならんかな?
他人のゴーストで、コッチのAIが止まっちまう!
633ネトゲ廃人@名無し:2008/02/20(水) 16:40:33 ID:???
他人のどうにもなんねw
止まるのいやなら、拾えないアイテムがあったらItemPickのスイッチOFF
634ネトゲ廃人@名無し:2008/02/20(水) 16:43:38 ID:???
動詞と目的語が逆になって恥ずかしす///
635ネトゲ廃人@名無し:2008/02/20(水) 16:59:12 ID:???
>>630
ソースめんどくさいから見てないけど反応するところに入れればいいんじゃね?
エラー100回くらいで強制終了してから質問にこいよ
636ネトゲ廃人@名無し:2008/02/20(水) 17:00:20 ID:???
func SCR_AI_LIB_PICKITEM(selfAi)
{
 var nearItem = GetNearItem(selfAi, 1000);

 if(nearItem != 0 && ItemSwitch == 1){
  sleep(800);
  PickItem(selfAi, nearItem);
  while(IsExistItem(nearItem) == 'YES'){
   sleep(100);
  }
  if(GetNearItem(selfAi, 1000) != 0){
   SCR_AI_LIB_PICKITEM(selfAi);
  }
 }
 return;
}
色々調べたんですがいまだにわかりませんorz
これドコにいれるか教えてくださいorz
637ネトゲ廃人@名無し:2008/02/20(水) 17:01:53 ID:???
うるせぇカス
638ネトゲ廃人@名無し:2008/02/20(水) 17:06:41 ID:???
入れたいところに入れる。
駄目なら変える これを繰り返すだけだよ。
>>635の言うとおりだと思うよ。がんばってね。
639ネトゲ廃人@名無し:2008/02/20(水) 17:12:31 ID:???
さっき、ゴースト出しまくりながら走り回ってたヤツが
ゴーストもろとも消えた(@@ナ、ナニゴト
640ネトゲ廃人@名無し:2008/02/20(水) 17:26:43 ID:???
みじんこぶろぐに乗ってるのって
そのままコピーして貼り付けても使えないんですよね?
どうすればいいんですか?
641ネトゲ廃人@名無し:2008/02/20(水) 17:28:10 ID:???
どうすればいいんだろうね
ミジンコな僕から言わせて貰うと、あなたは考えるとか調べるっていう機能が抜けていますよ
さて、どうやって考えましょうかね、調べましょうかね
642ネトゲ廃人@名無し:2008/02/20(水) 17:28:18 ID:???
普通に考えて、ソースに全角文字はいってたらアウトだろ?
記事の体裁整えやすいから行頭のスペースは全角で書いてる。
643ネトゲ廃人@名無し:2008/02/20(水) 17:53:32 ID:FUDnRqBv
ミジンコの氾濫だぁあああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
644ネトゲ廃人@名無し:2008/02/20(水) 18:26:52 ID:???
そろそろ春休みか
645ネトゲ廃人@名無し:2008/02/20(水) 18:31:38 ID:???
だなぁ
646ネトゲ廃人@名無し:2008/02/20(水) 18:33:56 ID:???
>>643
つーかお前ageんなカスw
647ネトゲ廃人@名無し:2008/02/20(水) 18:44:19 ID:???
ようやく入れた・・・
exeのバックアップとり忘れで作り直し。
メンドイので2日かけてダラダラと(´A`)
648ネトゲ廃人@名無し:2008/02/20(水) 20:19:51 ID:???
リソースハカーでやってるんだとしたら なんでリソースハカーでバックアップとってないのか不思議でたまらないよ。
649ネトゲ廃人@名無し:2008/02/20(水) 21:18:13 ID:???
みじんこの人へ
ブログ大変参考になった、アリガト!

一般ミジンコとみじんこぶろぐと
ごっちゃでどのミジンコか分からんね、最近w
650ネトゲ廃人@名無し:2008/02/20(水) 21:47:14 ID:???
自動拾いがどうしてもできませんorz
いろいろ調べていろんな場所につっこんでみたんですが
反応しませんorz
どなたかこの馬鹿にわかるように
教えてください;;
おねがいしますorz
651ネトゲ廃人@名無し:2008/02/20(水) 21:49:47 ID:???
出来ることからやればいいんじゃないでしょうか。
652ネトゲ廃人@名無し:2008/02/20(水) 21:52:04 ID:???

策敵範囲拡大と
ヒール範囲拡大
はできるんですけど
自動拾いができないんですorz
どうか教えてくださいorz
653ネトゲ廃人@名無し:2008/02/20(水) 22:10:20 ID:???
ヒント:「他人のソースを見てマネる」
654ネトゲ廃人@名無し:2008/02/20(水) 22:33:35 ID:???
>>653
そのソースってたまに掲示板とかに張ってあるのですか?
655ネトゲ廃人@名無し:2008/02/20(水) 22:47:56 ID:???
原生生物へ
機能を拡張するときは、LIBの関数を新たに自分で作り追加する。
一番下にでも追加していけばいいだろ。
func SCR_AI_LIB_SAMPLE()
{
うんたらかんたら
}

その関数を呼び出したいところに
SCR_AI_LIB_SAMPLE();
みたいな記述を入れてやれば呼び出される。どこにいれるかは好きなように。
656ネトゲ廃人@名無し:2008/02/20(水) 22:50:18 ID:???
あと最近簡単なデバッグすら自分でしないゆとり単細胞生物がいるなぁ・・・
みじんこぶろぐの中の人もゆとり世代なんだが('A`)
657ネトゲ廃人@名無し:2008/02/20(水) 22:51:38 ID:???
どう考えても釣りだろ
お前らのお人よし加減に脱糞するわ
658ネトゲ廃人@名無し:2008/02/20(水) 22:52:43 ID:???
そうだな。
もうスルーする。
659ネトゲ廃人@名無し:2008/02/20(水) 23:56:45 ID:???
スルーポ
660ネトゲ廃人@名無し:2008/02/21(木) 03:04:41 ID:???
残念ながら>>635
頭抱えて苦しんでください ゆとり世代の方々
SysMsg( );
661ネトゲ廃人@名無し:2008/02/21(木) 06:26:22 ID:???
どなたか>>629お願いできませんか
662ネトゲ廃人@名無し:2008/02/21(木) 06:33:51 ID:???
AIの全体の流れを読む気がないやつに言うことはない
663ネトゲ廃人@名無し:2008/02/21(木) 10:11:45 ID:???
ゆとり排斥の正しいふいんきになってよかった
664ネトゲ廃人@名無し:2008/02/21(木) 12:55:42 ID:???
なんかGEって、ガッチャマンは妬まれて嫌われるねw
俺もAIとかTOOLで今度から稼ごう。
665ネトゲ廃人@名無し:2008/02/21(木) 13:07:48 ID:???
ガッチャマン = 現状の運営体制に満足して、さらに寄与している

運営がもっとしっかりしていれば、単純に経済力からの妬みにみえるけど、
価格とか確率とか、Bot状況とか単純に文字化けとか色々おかしい場所が噴出してるのに
それに目をつぶってか享受してか、お金をつぎ込んでしまうプレイヤーを嫌うのは当然な気がする。
666ネトゲ廃人@名無し:2008/02/21(木) 15:40:04 ID:???
俺の印象はこうだな
ガッチャマン>>>改AI>>>>>>>>>>>>KYガッチャマン>>>BOT>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>運営
667ネトゲ廃人@名無し:2008/02/21(木) 18:02:58 ID:???
>>666
一般人っていないんだな。 そうだと思ってた。ありがとう
668ネトゲ廃人@名無し:2008/02/21(木) 23:07:43 ID:???
今日からいじりだして、まだまったく理解できてないんだけど、
キープモードとかホールドモードを維持するためには、

// Hold Check以下を「//」で全て除外すれば、
ホールドキープできるの?

// Hold Checkの最後にChangeTacticsAi(selfAi, 'TS_HOLD');
とかぶちこんどけばいいの?
669ネトゲ廃人@名無し:2008/02/21(木) 23:23:32 ID:???
うん
670ネトゲ廃人@名無し:2008/02/21(木) 23:41:08 ID:???
とりあえず今いろんなところに
SysMsg('');ぶちこんでどんなときにこのスクリプトが実行されてるか実験中。
671ネトゲ廃人@名無し:2008/02/22(金) 00:25:39 ID:???
みじんこぶろぐの自動アイテム拾いで、
ItemSwitch == 1って何?

どっかで定義しなきゃいけないの?関数?
672671:2008/02/22(金) 00:28:52 ID:???
自己解決orz

よく読んでなかった。。。
673ネトゲ廃人@名無し:2008/02/22(金) 00:45:44 ID:???
ガンガレ
プログラミング初心者のようなのでみじんこからヒント
関数にはかならず関数名のあとに括弧が付く
674ネトゲ廃人@名無し:2008/02/22(金) 02:12:29 ID:???
ありがとうございます。

みじんこぶろぐ見ながらがんばってるんですけど、
共通タゲとかはどこに書くってのが書いてあったので、できたのですが、
アイテム拾いのSCR_AI_LIB_PICKITEM(selfAi);をどこに入れたらいいのか。。

いろいろやってるのですけど、うまくいきません。
675ネトゲ廃人@名無し:2008/02/22(金) 03:33:16 ID:???
じゃあ無理だな

クソシテネロ
676ネトゲ廃人@名無し:2008/02/22(金) 04:30:23 ID:???
本スレでみじんこの宣伝すんのやめろ
旨みが減るし
原生動物が沸いてくる

あとBOT販売の某学生
最近必死みたいだが
欠陥商品売れなくて困ってるのかw
お前は勝手に氏ね
677ネトゲ廃人@名無し:2008/02/22(金) 07:08:45 ID:???
>>674
自分の好きなところにいれればいいからどこに入れるって書かなかったんだが。
ヒント:どのタイミングで周囲にアイテムが落ちていないかをチェックしたいか
678ネトゲ廃人@名無し:2008/02/22(金) 07:34:44 ID:???
>>630
>>636
>>674

俺には分かる
これ同じ原生生物だろ
679ネトゲ廃人@名無し:2008/02/22(金) 07:36:50 ID:???
>>650
>>652
680ネトゲ廃人@名無し:2008/02/22(金) 08:45:31 ID:???
好きなところに入れて動くまで試してみろって何回言わせればいいんだ

現代文の論述問題で、文意が合ってるのに丸つけられないみたいな奴だな
681ネトゲ廃人@名無し:2008/02/22(金) 09:13:48 ID:???
スレの過去ログまとめてもってる人、zipでうpよろです
682ネトゲ廃人@名無し:2008/02/22(金) 11:25:00 ID:???
誰か不正者申告回避か監獄クエ自動のスクリプト作ってくれる神はいないのだろうか。。。
683ネトゲ廃人@名無し:2008/02/22(金) 12:59:41 ID:???
>681
ttp://www2.uploda.org/uporg1264484.zip.html
DLP ge

datのみ ウィルス対策ソフトによっては、誤反応するかも。
684ネトゲ廃人@名無し:2008/02/22(金) 13:11:45 ID:???
俺も過去ログを歯抜けながらもうpしようとまとめてた最中だった( ´・ω・`)
でも、完ログがそろったので>>683 まりがとう
685ネトゲ廃人@名無し:2008/02/22(金) 13:29:10 ID:???
>>682
何甘えたこと言ってるんだ。
申告されないAIを作れ。
686ネトゲ廃人@名無し:2008/02/22(金) 13:50:35 ID:???
>>683
わざわざありがとう。3〜7が抜けていたんだ。ちょっと勉強してくる
687ネトゲ廃人@名無し:2008/02/22(金) 13:51:43 ID:???
改AI自分で作るのはダルいけど欲しいって奴いる?
オートpot、アイテム拾い、キープ維持、時間でbuff使ったり基本的なのは一通り入ってる
所々で不具合があるかもしれないけど、俺に分かる範囲でサポートしてやるぞ。

欲しい奴はメールくれ
alpa456123@yahoo.co.jp
688ネトゲ廃人@名無し:2008/02/22(金) 14:01:27 ID:???
>>687
原生動物が湧いてうざくなるからやめとけ
デフォだと全体マイクで「I am a BOTer, kill me!」とか出るんならおk
689ネトゲ廃人@名無し:2008/02/22(金) 14:24:47 ID:???
>>685
そんなのあるのか。。
もしかして申告されないAIってアイテム、スキル使わずキープオンリーだけって事?
それともちゃんと方法があるのか否か
690ネトゲ廃人@名無し:2008/02/22(金) 14:35:11 ID:???
zip受け取りますたthx
まとめられたらぶろぐあたりにうpるつもり。
>>689
いかにも人間が操作してるようなAIを自分で作るんだ。
もしくは申告に反応しないだけのAIかどちらか。
691ネトゲ廃人@名無し:2008/02/22(金) 14:37:45 ID:???
これ書いてる今もメイン垢でアイテム拾いまくってるよ。
申告食らったことなんて一度もない。
PKされた腹いせに中華から申告されたことを除けばw
692ネトゲ廃人@名無し:2008/02/22(金) 14:42:54 ID:???
落ち着いてなにか別なことするときは普通な放置してるけど
2chみたり程度は自動で動かしたままだな
693ネトゲ廃人@名無し:2008/02/22(金) 15:09:36 ID:???
GetLeaderIndex
GetSlotIndex
GetTeamIndex
ってなんだろ。

exe眺めると楽しいなぁ。
694ネトゲ廃人@名無し:2008/02/22(金) 16:21:36 ID:???
中華申告してくるのか

中華の周りで1日おいてるとほぼ死ぬことはなくなったのに
695ネトゲ廃人@名無し:2008/02/22(金) 16:30:22 ID:???
アタッカーのサブヒールに慣れすぎて、ネカフェで普通のAiでエミリアつれて放置してたら
すぐに死んでたwwwwwwサブヒールって怪しすぎるんだなって事に今気づいたわ
696ネトゲ廃人@名無し:2008/02/22(金) 18:09:05 ID:???
ネカフェのAIいじっとけw
697ネトゲ廃人@名無し:2008/02/22(金) 18:11:43 ID:???
疲れた・・・
とりあえず前スレをまとめてみたんだがどうだろう?
bbs2chreaderのcssそのまま使っちゃったけどいいのかなw
AIに関わりない部分は大雑把に省いた。
ttp://mizinco.cocolog-nifty.com/file/1195488657.html
698ネトゲ廃人@名無し:2008/02/22(金) 19:02:54 ID:???
前スレはキャッシュで見れるし別にいらないと思う

6〜10お願い
699ネトゲ廃人@名無し:2008/02/22(金) 19:25:58 ID:???
いずれ見えなくなるからさ。
とりあえずdatをbbs2chreaderの形式でHTMLにまとめたのをうpするかな。
レス整理はそれなりに時間がかかる。
700ネトゲ廃人@名無し:2008/02/22(金) 19:30:38 ID:???
とりあえず1〜10と質問スレ1,2のHTML化したzip
レス整理はしていない。CSSはbbs2chreaderの鯖を参照するようになってる。
ttp://mizinco.cocolog-nifty.com/file/cheatthread1-10.zip
701ネトゲ廃人@名無し:2008/02/22(金) 19:32:07 ID:???
702ネトゲ廃人@名無し:2008/02/22(金) 19:42:19 ID:???
スレをまとめるの初めてだから結構戸惑いつつやったのが>>697なんだが、
まとめ方とか、CSSいらねぇwとかってある?
特になければ同様にして気力が続く限り古い方にさかのぼって行く。
703ネトゲ廃人@名無し:2008/02/22(金) 19:59:27 ID:???
省いたり抜き出したりしなくても、単にhtml化だけでいいと思う。
専ブラから生dat読みに行ける環境も作ってもらえれば尚良いかも。
704ネトゲ廃人@名無し:2008/02/22(金) 20:16:25 ID:???
少なくとも11ではAIに関係ない話題が半分くらいなんだよね。。。
生dat見に行けるようにするのどうすればいいか知らねぇw
datを置いておくことはできる。
705ネトゲ廃人@名無し:2008/02/22(金) 20:50:59 ID:???
ttp://game13.2ch.net/mmosaloon/subject.txt
ttp://game13.2ch.net/mmosaloon/dat/1201490305.dat

単に読むだけならこういう感じに配置すればいいはず。
subject.txtは作らないとけないけど。
706ネトゲ廃人@名無し:2008/02/22(金) 21:42:02 ID:???
置いてみたけど仕組みをわかってないからいみぷ
どうやったらbbs2chreaderでそのまま見えるんだろ
ttp://mizinco.cocolog-nifty.com/file/subject.txt
ttp://mizinco.cocolog-nifty.com/file/dat/1195488657.dat
707ネトゲ廃人@名無し:2008/02/22(金) 23:30:25 ID:???
みじんこです。>>706でおk?見方わからないんだがw
708ネトゲ廃人@名無し:2008/02/23(土) 00:09:19 ID:???
>>706
subject.txtの最後に改行がないからなのか、見れないっす。(JaneStyle)
bbs2chreaderとかで見たい場合は、自分で板一覧を作ってそれに追加しないと駄目な気が。
709ネトゲ廃人@名無し:2008/02/23(土) 00:17:52 ID:???
まぁ、「生datはここにあるから、要るヤツは好きに持って行け」でもいいような気はしなくもないがw
710ネトゲ廃人@名無し:2008/02/23(土) 00:25:36 ID:???
>707
文字コードがUnicode(UTF-8)になっているのかな?
Shift-JISにしないとマズいみたいです。(datも)
711ネトゲ廃人@名無し:2008/02/23(土) 00:35:33 ID:???
添削したログがどれほど需要あるか分からんけど
>>683での生ログをそのまま保存しとくだけでもいいんじゃないか?
変に削るくらいならなんでスクリプトごとに整理しないんだって話になるし、
個人的な感想では無駄な作業乙ってとこだな
712ネトゲ廃人@名無し:2008/02/23(土) 00:40:25 ID:???
見にくいな
713ネトゲ廃人@名無し:2008/02/23(土) 01:13:07 ID:???
ブログのところがUTF-8専用なのでわざわざそっちで保存したのは無駄だったかorz
そして見にくいときたか・・・
一応AIに関連する部分だけ取り出せば読む量が半分程度に減るから良かれと思いorz
用途ごとでの分類とか始めるとスレごとに分ける意味がなくなり、
過去ログ全てを一気にまとめることになり・・・無理

じゃあ一切いじらずにHTMLとできればdatの二つをうpしておいたほうがいいんですかね
714ネトゲ廃人@名無し:2008/02/23(土) 01:21:33 ID:???
AIいじるような人は相当なゆとり意外専ブラ入れてると思うから、datだけでいいと思う
715ネトゲ廃人@名無し:2008/02/23(土) 01:31:14 ID:???
>>713
htmlとdat両方に1票
ログ内での取捨選択は、各自ですればいいだけの話しだし、もしかしたら不要と思われる雑談の中にも、何かヒントになる事があるかもしれないし。
みじんこぶろぐのコンテンツとしてまとめるのもありだと思うけど、それはログとは別でやるといいんじゃないかな。

>>714
そのゆとりに「過去ログ嫁や」って言えないと、過去ログ置く意味無いんじゃない?
716ネトゲ廃人@名無し:2008/02/23(土) 01:45:18 ID:???
たしかにゆとり撃退には「過去ログ嫁」が一番いいな
でもそれでも読まないのがゆとりクオリティーだがね。
テンプレにhtmlとdatの両方置くに1票入れることにするわ 無論htmlはそのままでね
717ネトゲ廃人@名無し:2008/02/23(土) 01:51:27 ID:???
俺はゆとりでもしっかりしてる方だと思う
718ネトゲ廃人@名無し:2008/02/23(土) 02:22:19 ID:???
両方ともShift-JISにしたけど見方よくわかんなくて涙目。
まだ見れないとしたら、ぶろぐの鯖がUTF-8専用だからそこでなんかうまくいかないのかも。
いずれにしても生datは置いておくよ。

HTMLはこのままbbs2chreaderのスタイルでいいでしょうか
719ネトゲ廃人@名無し:2008/02/23(土) 02:41:52 ID:???
switch range でニアタゲを上げて行くことは可能?

アイテムと回復はできるんですがニアタゲ入れるとエラー出ます
720ネトゲ廃人@名無し:2008/02/23(土) 03:34:41 ID:???
>>718
subject.txt及びdat、両方とも文字化けせずに正常に取得できました。(JaneStyle)
乙です
721ネトゲ廃人@名無し:2008/02/23(土) 08:25:13 ID:???
>>717
お前はわりと好感持てるゆとりだよな。 結局ゆとりだけど
722ネトゲ廃人@名無し:2008/02/23(土) 11:55:55 ID:???
JaneStyleもいれてみたけど使い方わからなくてやっぱり涙目なゆとりですorz
>>720
見られたならよかった。同じ要領で全部載せておく。

HTMLの形式はbbs2chreader形式のままでいきます。作業おわったら報告に来ます。
723ネトゲ廃人@名無し:2008/02/23(土) 14:15:44 ID:???
>>722
Jane自体の使い方はまぁ、どっかで探してもらうとして。
板追加のやり方まとめたとこあったんで、貼っとく。
ttp://adragons.sakura.ne.jp/p/index.php?%C0%EC%A5%D6%A5%E9%A4%D8%A4%CE%C8%C4%C4%C9%B2%C3%CA%FD%CB%A1
724ネトゲ廃人@名無し:2008/02/23(土) 15:06:02 ID:???
>>723
ありがとう見られた。

過去ログ一覧できますた。こんなもんでいいでしょうか。
ttp://mizinco.cocolog-nifty.com/blog/2008/02/post_2226.html
725ネトゲ廃人@名無し:2008/02/23(土) 15:09:18 ID:???
726ネトゲ廃人@名無し:2008/02/23(土) 15:12:56 ID:???
直接は見られないけど、専ブラにそのURLぶち込んだらdat一覧取得できたけどやりかた違った?
727ネトゲ廃人@名無し:2008/02/23(土) 15:26:30 ID:???
適当に色々試してたらbbs2chreaderでも見方わかったー(・∀・)
てわけでメモメモ
dat一覧↓
bbs2ch:board:http://mizinco.cocolog-nifty.com/file/
スレのURLはこんな感じ↓
http://127.0.0.1:8823/thread/http://mizinco.cocolog-nifty.com/test/read.cgi/file/1195488657/
728ネトゲ廃人@名無し:2008/02/23(土) 15:35:20 ID:???
まさか
>>678,679のLIBのどこにいれるかわからんってやつ、LIBしかさわってなかったりして
729ネトゲ廃人@名無し:2008/02/23(土) 15:57:27 ID:???
>>728
他にもどっかいじるんですか?
730ネトゲ廃人@名無し:2008/02/23(土) 16:05:30 ID:???
>>727
725と同じくdat一覧とやらが404エラーなんだが
731ネトゲ廃人@名無し:2008/02/23(土) 16:05:43 ID:???
過去ログみて思ったけど
最近ミジンコ以下に親切すぎじゃね?
732ネトゲ廃人@名無し:2008/02/23(土) 16:34:18 ID:???
ぶろぐのほうに、TSからの呼び出しって書いてあるだろ・・・

datは専ブラじゃないと見られん
Janeの場合:板一覧の適当なフォルダで右クリック→板追加でURL追加(>>723
b2rの場合:>>727
その他:知らない
733ネトゲ廃人@名無し:2008/02/23(土) 17:10:41 ID:???
>>678,728

いまさらですが、
668=670=671=674です。

630とかじゃないです。
似たようなミジンコですけど。。

TSの中にいろいろSCRの呼び出し入れてるんですが、いまいちうまく動作しなくて。。。
734ネトゲ廃人@名無し:2008/02/23(土) 17:12:47 ID:???
過去ログが必要なヤツはおいといて、
そろそろ本題に戻らないか?
735ネトゲ廃人@名無し:2008/02/23(土) 17:24:35 ID:???
ちょっとだけ浦島な俺に教えてちょ
コロニー戦時は申告不可で仕様変更無し?
あと21〜23時だよな
736ネトゲ廃人@名無し:2008/02/23(土) 17:32:50 ID:???
>>735
その通り
そして本題に戻ろう
737ネトゲ廃人@名無し:2008/02/23(土) 17:33:20 ID:???
なんか話題ある?
738ネトゲ廃人@名無し:2008/02/23(土) 17:35:13 ID:???
それがサッパリなすなんだな。。。w
739ネトゲ廃人@名無し:2008/02/23(土) 17:37:51 ID:???
俺は使用できる関数の一覧がほしいっていうくらいだな
740ネトゲ廃人@名無し:2008/02/23(土) 17:39:05 ID:???
>>736
アリガト
741ネトゲ廃人@名無し:2008/02/23(土) 18:20:17 ID:???
>>739

欲しい。
742ネトゲ廃人@名無し:2008/02/23(土) 19:20:51 ID:???
743ネトゲ廃人@名無し:2008/02/23(土) 19:24:33 ID:???
>>742
739じゃないけど乙!
タイ?から引っ張ってきたのか。
これをうまくまとめるとかなり使えそうだな。
744ネトゲ廃人@名無し:2008/02/23(土) 20:02:32 ID:???
showinfo(1)がいまいちわかんね。
745ネトゲ廃人@名無し:2008/02/23(土) 20:10:23 ID:???
Chat(itemname);
Chat(monsName);

ワロタ
746ネトゲ廃人@名無し:2008/02/23(土) 20:19:49 ID:???
>>745
どこがおかしいんだ?それを好きなところにはさんだらいいじゃないかww
もしかしたらアイテムのIDとかわかるかもしれねえからさwwww

うまくいけば、Mob指定で戦うことも出来るかもしれないなwwwwwwwww 




ダメだ腹痛いww
747ネトゲ廃人@名無し:2008/02/23(土) 23:13:15 ID:???
ぶろぐが1万Pv行きました。どもー(・∀・)
ShowInfoって、引数1でON、0でOFFじゃね?と勝手に想像してみる。一切試してないw
748ネトゲ廃人@名無し:2008/02/24(日) 01:48:59 ID:???
タイ語翻訳まともにできねぇww
List item function ? AI
? strings and ge.exe ? ? list come ?
? no argument of each function ? (? fast ? ?)
? aggrandize fill recommend with/as ...
? can ? recommend with/as ...
749ネトゲ廃人@名無し:2008/02/24(日) 10:10:55 ID:???
翻訳が必要か分からないんだけどタイ語インスコしてないとかいうオチじゃないよな
ゆとり以前の問題だぜ?
750ネトゲ廃人@名無し:2008/02/24(日) 10:57:22 ID:???
インストールはしてないが表示はできてる。
翻訳サイトに1単語ずつぶちこんでるけどnot foundがおおいwそこが?になってる
751ネトゲ廃人@名無し:2008/02/24(日) 11:58:08 ID:???
733だけど、
やっとオートバフまで辿り着いた!
スキルLv10だとタイマーは1800がベストですね。

で、このオートバフで、スカウトの位置(キャラスロット)を判別したり、wizの支援(エミリア等含む)にも応用したいんだけど、

var chaslot = キャラの位置(0〜2)
var skillslot = スタンスごとのスキルの位置(0〜4)で定義して、
Skill(chaslot,skillslot);っていうふうに処理を分けたいんですけど、どうしたらいいですか?

if(job == 'Scout'){ 処理
if(job=='EmiliaSage'){処理・・・
ってのは長くなりすぎ、あんまりスマートじゃないので。

ちなみに今回使ったのは、ブログのLIBにタイマー置いて、HEELER_TSから呼び出す方法のを元に作成しました。
752751:2008/02/24(日) 12:25:51 ID:???
補足ですけど、
wizのESPはまだスタンス上げてないので、スキルスロットがわかりません。
スキル数がフォーティテュードと同じ数なので、もしかすると、skillslotは省略できるかもしれません。

支援を使えるキャラが2人以上いる場合、どこの位置に配置しても使用できるような分岐をご教授願います。
753ネトゲ廃人@名無し:2008/02/24(日) 13:37:16 ID:???
>>751
>>578
ipf展開とパスは前スレ見れ。

>>752
スキルスロットは習得レベル見れば判るかと。
754ネトゲ廃人@名無し:2008/02/24(日) 13:39:11 ID:???
SkillじゃなくてUseSkillつかえばいいんじゃね?やったことないけどw
755ネトゲ廃人@名無し:2008/02/24(日) 13:43:19 ID:???
スキルIDからでいいんじゃね?
756ネトゲ廃人@名無し:2008/02/24(日) 13:47:10 ID:???
そういいたかったw
757たまごやき:2008/02/24(日) 14:57:27 ID:???
↓で手に入るBOTと中国から接続してるBOTを見分ける方法ってある?
ttp://www29.atwiki.jp/gebot/

日本人でBOT使ってる奴氏ねよ

758751:2008/02/24(日) 15:15:10 ID:???
ほんとにみじんこですみません。

>>754,755 UseSkill使うってことは
キャラの位置の問題はこれでおkだとして、
スカウト系、wiz系で分けるにはやっぱり、

if(job == 'Scout' || job=='soho'){ UseSkill(スカウトの支援ID)
if(job=='Wizard' || job=='Emilia Sage'){ UseSkill(WIZの支援ID)

って具合にするのがベスト?

最近、ちょっとかじりだすと、とりあえずで動くものよりスマートな構文作りってのが気になり始めて・・・。

すみません。ほんとミジンコですみません。ペコペコ
759ネトゲ廃人@名無し:2008/02/24(日) 15:17:08 ID:xXSsxAuG
>757
くんなばーかw
760ネトゲ廃人@名無し:2008/02/24(日) 15:25:58 ID:???
>>758潔いみじんこっぷり逆に好感持てるw
>>757中華乙!
761ネトゲ廃人@名無し:2008/02/24(日) 15:26:26 ID:???
ageんなカス

ジョブ判別が一番スマートだと思うんだが。
スカのバフに関しては、HEALER_TSからしか呼び出さないようにすればif一つ消せるね。
762ネトゲ廃人@名無し:2008/02/24(日) 15:32:28 ID:???
まぁ、ときたまageる馬鹿がいるおかげで助かる香具師もいるんだけどね。

結論。
>>759
ageんなカス
763ネトゲ廃人@名無し:2008/02/24(日) 15:52:47 ID:???
>751
>スキルLv10だとタイマーは1800がベストですね。
 コードの書き方によっては、そうならないので注意、またアイテム拾ったり、スカの自動ヒールはいったり
することにより、タイマー値変わるはず。少しキツ目の狩場でためしてみソ。
764ネトゲ廃人@名無し:2008/02/24(日) 15:56:17 ID:xXSsxAuG
あげあげーーーー
765ネトゲ廃人@名無し:2008/02/24(日) 16:02:32 ID:???
>>761
ありがとうございます。
今出先でテストはできないんですが、
>>758で書いた方法で試してみます。

HEALER_TS_KEEP内で、
 if('ChangeTS' == SCR_AI_LIB_AUTOBUFF(selfAi)){
    return;
で呼び出して、

LIB内で
 if(job == 'Scout' || job=='soho'){
  BuffTime = BuffTime + 1;
  if(BuffTime == 100){
   //Intensify
   UseSkill(スカウトのスキル)
   以下略
}
  if(BuffTime == 200){
   略
  
 if(job=='Wizard' || job=='Emilia Sage'){
  BuffTime = BuffTime + 1;
  if(BuffTime == 100){
   //Spiritual shield
   UseSkill(wizのスキル)
   以下略
}
  if(BuffTime == 200){
   略
  }
でってことですね!
766ネトゲ廃人@名無し:2008/02/24(日) 16:05:27 ID:???
>>763
いつも放置では比較的安全な狩場のみでやってましたので・・・。
アイテム消費面では難アリですけど、少し低め(1700程度)に見ておきます!

ありがとうございました!
767ネトゲ廃人@名無し:2008/02/24(日) 16:08:05 ID:???
さげ方知らない>>764涙目w
必死すぎる(バロス
768ネトゲ廃人@名無し:2008/02/24(日) 16:14:35 ID:???
アゲアゲ
769ネトゲ廃人@名無し:2008/02/24(日) 16:14:58 ID:???
おおおおおおおおおおおおおお?
770ネトゲ廃人@名無し:2008/02/24(日) 16:23:52 ID:???
何休みだ?
771ネトゲ廃人@名無し:2008/02/24(日) 18:10:17 ID:???
大学は春休みに入ってるよ
772ネトゲ廃人@名無し:2008/02/24(日) 18:19:16 ID:???
1日放置で6M]しかあがらん
おまいらいくらぐらい溜まる?
773ネトゲ廃人@名無し:2008/02/24(日) 18:52:35 ID:???
なにが6Mあがるんだい?
君のIQ?
774ネトゲ廃人@名無し:2008/02/24(日) 19:43:49 ID:???
マスケx2スカの組み合わせで
スカだけ自動で拾うようにしたいんですが
↓をSub healingとNear target checkの間にいれたら
マスケだけ拾ってスカは拾いませんなんででしょうか?
// Near Item Check Unk Version for Mizinko
while(1) {
var nearItem = GetNearItem(selfAi, 500);
if(nearItem == 0) { break; }
PickItem(selfAi, nearItem);
while(IsExistItem(nearItem) == 'YES') { sleep(100); }
}
775ネトゲ廃人@名無し:2008/02/24(日) 19:47:59 ID:???
>>774
もう原因わかってるじゃんw 後はリソースエディタをよーくみたら、なぜマスケ”だけ”拾ったのかがわかるよ〜
776ネトゲ廃人@名無し:2008/02/24(日) 20:05:12 ID:???
俺が無限ループの一部として回答してやんよ
マスケって何で動いてるの?
スカウトって何で動いてるの?
カトリって何で動いてるの?
これでわかんなければ過去ログ探して
777ネトゲ廃人@名無し:2008/02/24(日) 20:05:39 ID:???
>>775
すんません
わかんないんすorz
なんかbreakいじったら拾わなくなりますたorz
778ネトゲ廃人@名無し:2008/02/24(日) 20:09:03 ID:???
return;の仕組みがいまいちわからない。

func SCRの中を戻ってる?
return 'ChangeTS';
って書いたらLIB抜け出してTSに戻るの?
779ネトゲ廃人@名無し:2008/02/24(日) 20:09:19 ID:???
>>776言っていることが全てだな、リソースエディタで>>776が言っていることを
よぉ〜く考える(っても考えるじゃなくて見るだけなんだが)ことが大事なんだぜ?

つうかいじる必要なんて何もない・・ただ”入れるべきところ”に入れるだけだぞ。

わからんかったら過去ログ
780ネトゲ廃人@名無し:2008/02/24(日) 20:10:39 ID:???
>>774
きっと書くところ間違えてるはずだ。
マスケのところに書かずにスカウトのところに書けばいい。
781ネトゲ廃人@名無し:2008/02/24(日) 20:18:18 ID:???
>>774
アタッカーなのかヒーラーなのかパペットなのかでTSは分かれている。

>>778
何かを渡して、なにかが返ってくるのが関数。
渡すものは関数名の後ろの()の中に入れ、それを引数と呼ぶ。
返ってくるものはreturnで指定して、それを戻り値と呼ぶ。

var job = GetJobName(selfAi);
これだとGetJobNameという関数にselfAiという引数を渡し、戻り値をjobという変数に代入してる。

というようなことをぶろぐの関数とはの記事に載せたつもりでいた。
782ネトゲ廃人@名無し:2008/02/24(日) 20:20:03 ID:???
できました!!!
ありがとうございます;;
いじる必要まったくなかったですねorz
入れるだけでした;;
783ネトゲ廃人@名無し:2008/02/24(日) 20:22:12 ID:???
今日ぶろぐのコメつけてたのは782かな?
784ネトゲ廃人@名無し:2008/02/24(日) 20:23:18 ID:???
KEEP解除になるのはHOLD CHECK?
そこのUnHold(selfAi);をいじればいい?

ChangeTacticsAi(selfAi, 'TS_KEEP');
とかに置き換えればいけるかな?
785ネトゲ廃人@名無し:2008/02/24(日) 20:23:24 ID:???
>>783
すいません
おれですorz
786ネトゲ廃人@名無し:2008/02/24(日) 21:02:47 ID:???
>>784 うん
787ネトゲ廃人@名無し:2008/02/24(日) 21:17:31 ID:???
NONEのところの最後にChangeTacticsAi(selfAi, 'TS_KEEP');入れてスイッチで制御してる漏れってorz
788ネトゲ廃人@名無し:2008/02/24(日) 21:45:09 ID:???
>>787
どうかした?
789ネトゲ廃人@名無し:2008/02/24(日) 21:46:07 ID:???
NONEのどこに入れてる?
790ネトゲ廃人@名無し:2008/02/24(日) 21:56:54 ID:???
問題なく動いているからいいのだが、UnHoldを使う高等テクなんて俺には出来ないぜw
791ネトゲ廃人@名無し:2008/02/24(日) 22:03:50 ID:???
ies.ipfの中身見るのおもしれーな。
ドロップ率とかまで載ってんのな。
今後の狩りの参考にしようっと。
792ネトゲ廃人@名無し:2008/02/24(日) 22:14:02 ID:???
zip内のファイル名を日本語環境に対応するように直すのって普通Zi.exeでできるのか?
stlport.5.1.dllを同じディレクトリにいれて、Zi.exeにzipをD&Dしても中身のファイル名変わらんのだが・・・
793ネトゲ廃人@名無し:2008/02/24(日) 22:18:26 ID:???
俺のはMOVEの最後にKEEPへの遷移をスイッチ制御で入れてるよ。
僕にはこれで十分。 好きなようにいじればいいのさ

>>751
>何かを渡して、なにかが返ってくるのが関数。

ミジンコにはいい説明だけど、ここがちょっと気になった。
794ネトゲ廃人@名無し:2008/02/24(日) 22:21:27 ID:???
おまいさんならなんと説明する?
795794:2008/02/24(日) 22:26:18 ID:???
引数を受け取って戻り値を返すのが関数、というべきかな?
関数視点に変えてみた。
796ネトゲ廃人@名無し:2008/02/24(日) 22:28:44 ID:???
>>793がいいたいのは何も受け取らないこともあるし何も返さないこともあるってことだろ
797794:2008/02/24(日) 22:30:18 ID:???
そういうことか。
nilを扱ってると考えていたわ。
798ネトゲ廃人@名無し:2008/02/24(日) 22:31:06 ID:???
数学的な関数だと2変数のうち片方の変数に値を代入するとそれによってもう片方の変数の値が決まる。
ってのが定義だが、って書いてて筋違いなことに気が付いたわw
799ネトゲ廃人@名無し:2008/02/24(日) 22:35:07 ID:???
>>798
それこそぶろぐに書いたところなんだがww
y = ax^2 + bx + cとかだと、f(x) = ax^2 + bx + cと置いてるだけだと思うぞ?
800ネトゲ廃人@名無し:2008/02/24(日) 22:45:36 ID:???
801ネトゲ廃人@名無し:2008/02/24(日) 22:46:43 ID:???
何かを渡して、なにかが返ってくるのが「Ai」の関数  このくらいの補足でいいんじゃね

ミジンコブログの人のスレの私物化が最近目に付くね
ちょっと自重してくんね?ブログでやったほうがいいようなやり取りもちらほら
あとブログのひと「ミジンコ」とAiの初心者「ミジンコ」がややこしいから何か呼び方決めて
ごんずい太郎でもなんでもいいからさ
802ネトゲ廃人@名無し:2008/02/24(日) 22:59:45 ID:???
うざかったかwじちょー気味にするわスマソw
今度から名前が必要なときはなんか入れることにする。
803ネトゲ廃人@名無し:2008/02/24(日) 23:01:35 ID:???
もうこのスレ明日で終了なw
804ネトゲ廃人@名無し:2008/02/24(日) 23:12:58 ID:???
うざくいは無いけど
敷居下げすぎは良くないとおもた
805ネトゲ廃人@名無し:2008/02/24(日) 23:45:49 ID:???
だれか>>792について教えてくださいm(__)m
806ネトゲ廃人@名無し:2008/02/24(日) 23:53:08 ID:???
なんかスレでも一人で解説ってのが多かったしな
807ネトゲ廃人@名無し:2008/02/25(月) 00:07:19 ID:???
重ねて気をつけます
808ネトゲ廃人@名無し:2008/02/25(月) 00:11:24 ID:???
>>793
MOVEだとスイッチ入れてるとすごい動きづらくならないか?
809ネトゲ廃人@名無し:2008/02/25(月) 00:32:47 ID:???
はい、終了。
みなさま長い間ありがとうございました。
810ネトゲ廃人@名無し:2008/02/25(月) 00:37:26 ID:???
>>808
どうせ放置してっから、キャラが離れたりスキルで吹っ飛んだり対処してるだけで
動かす用途あんまりないからなw Nominateの時とCallに引っ掛けて共通ターゲット初期化するようにしてあるから
そんなに使い辛くないよ。俺仕様だからおk
811ネトゲ廃人@名無し:2008/02/25(月) 13:08:11 ID:???
MCCでカトリ入れて狩らせたいんですがよくわかりません

パペキープ main loop内に
// Near Target Check
if('ChangeTS_BATTLE' == SCR_ATTACKER_TS_KEEP_NEARTARGET(self, selfAi)){
ChangeTacticsAi(selfAi, 'TS_KEEP_BATTLE');
return;
}
キープバトルに
{
sleep(100);
// start log
AiLog('ATTACKER_TS_KEEP_BATTLE : Start!!!');
// declare variables
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
//Hold Check
SCR_AI_LIB_UNHOLD(selfAi, prevTS);
// Attack Target
SCR_AI_LIB_ATTACKTARGET(selfAi);

んですが反応しなくなりました。

カトリのタゲ共通化はとりあえず置いといて近寄る動作はどすればいいんですかね
812ネトゲ廃人@名無し:2008/02/25(月) 15:57:10 ID:???
カトリもアタックすればいいじゃん
813ネトゲ廃人@名無し:2008/02/25(月) 16:00:58 ID:???
シルバーコントローラー着剣型
814ネトゲ廃人@名無し:2008/02/25(月) 16:10:49 ID:???
共通化=近寄る動作だろう
815ネトゲ廃人@名無し:2008/02/25(月) 16:14:56 ID:???
そもそもPUPPETからATTACKERに飛ぼうとしてる時点で お帰りくださいなんだけどね^−^
アタッカーはアタッカー
ヒーラーはヒーラー
パペはパペ
816ネトゲ廃人@名無し:2008/02/25(月) 17:09:11 ID:???
>>815
ど素人がw知った風な口きくなよw
アタッカーに飛ばすのがイチバン簡単なんだよwww
817ネトゲ廃人@名無し:2008/02/25(月) 17:30:12 ID:???
お前らなんだかんだでみじんこなんだよなぁ・・・
818ネトゲ廃人@名無し:2008/02/25(月) 22:35:53 ID:???
改AiでBOTの近くで放置すると両者ともアイテム拾うの止まるのはバグ?
819ネトゲ廃人@名無し:2008/02/26(火) 00:11:18 ID:???
頼むから、近寄らんでくれ
820ネトゲ廃人@名無し:2008/02/26(火) 00:48:47 ID:???
>>818
真夜中にBOTだらけのとこですると30分はアイテム拾い放題になる

何故か知らんが勝手にログオフorちゃんねる移動する模様
821ネトゲ廃人@名無し:2008/02/26(火) 17:52:10 ID:???
誰かBOTうpお願いします!
822ネトゲ廃人@名無し:2008/02/26(火) 21:11:50 ID:???
823ネトゲ廃人@名無し:2008/02/26(火) 21:18:34 ID:???
馬鹿が本スレで暴れるから
ブログもっと分かりにくくていいよ
みじんこ
824ネトゲ廃人@名無し:2008/02/26(火) 21:37:31 ID:???
ミジンコが増殖したほうが俺のAIが目立たなくて良い
825ネトゲ廃人@名無し:2008/02/26(火) 22:00:35 ID:???
現在、SelectMyPc(0)等でリーダーを変更してからChangeStance(1)としてスタンスを変更しているんですが、
リーダーを変更せずにスタンスを変える方法って在りませんかね?
826ネトゲ廃人@名無し:2008/02/27(水) 00:06:05 ID:???
最近AI組み換え何かよりも多重起動に興味が湧いてる今日この頃なんだけど
皆はどう?てかやっぱX虎が邪魔で無理か。。。
827ネトゲ廃人@名無し:2008/02/27(水) 01:05:51 ID:???
ぶろぐの中身です。
SSを一定時間ごとにチェックして、全チャ・党チャ・囁き・SQチャ・不正申告のうち
指定した色が混じっていたら音を鳴らすソフトつくってみますた。

一定範囲をタイマー付きでキャプチャできるほかのソフトとセットの使用で
うまいことできるはずだけど需要あるかな?
828ネトゲ廃人@名無し:2008/02/27(水) 03:05:37 ID:???
あるに決まってる
829ぶろぐの中身:2008/02/27(水) 03:27:27 ID:???
テスト完了。俺の想定してる範囲では問題なく使えますた。
Capture STAFF -Light-とかの適当なフリーソフトでクリップボードにSSを飛ばしていき、
それをチェックし続けて判定する。

exe作るの初めてDelphi触るの初めてで、単純な200行程度のソースなのに10時間はかかったぜorz
あとで使い方とか含めてぶろぐにうpしてみるよ。
830ネトゲ廃人@名無し:2008/02/27(水) 04:06:30 ID:???
俺はCygwinいれてシェルスクリプトでやってたけど、
全く申告こねーから放置して寝てるわw
831ネトゲ廃人@名無し:2008/02/27(水) 07:22:29 ID:???
スレの皆、力を貸してくれ。
どうやらX罠を外す?ソフトを韓国人が作ったようで、
どうやって使うのか自力で解析してみようと思ったが、遂に出来なかった。


作成者自身が立てたスレ X-trap Killer 2175
ttp://forum.cheatengine.org/viewtopic.php?p=1953811#1953811
有志が解説した起動の仕方
ttp://forum.cheatengine.org/viewtopic.php?t=167110

↑までは問題なくこなせて、いざGEに使ってみようとすると、
いきなりX罠のエラーメッセージが出るんだが、ほぼ同時にPCごと落ちてしまうので何が何だかさっぱりだ・・・

いい加減、GEを起動させながら絵を描きてーよ・・・('A`)
832ネトゲ廃人@名無し:2008/02/27(水) 08:35:14 ID:???
>>831
GE起動しながら絵描けないってどんな環境?
833ネトゲ廃人@名無し:2008/02/27(水) 08:37:01 ID:???
ペンタブが使えないとかそういうところだろ。
834ネトゲ廃人@名無し:2008/02/27(水) 09:04:34 ID:???
俺の環境だとペンタブ問題なく動くんだけど
古いintuosだけどな
intuos2以降はシラネ
835ネトゲ廃人@名無し:2008/02/27(水) 09:46:26 ID:???
>>829 指定したwavが起動した瞬間に鳴るのは仕様でいいんですよね
836ぶろぐの中身:2008/02/27(水) 12:06:11 ID:???
仕様です。それ書き忘れてたスマソ。
837ネトゲ廃人@名無し:2008/02/27(水) 19:44:37 ID:???
みじんこで失礼します。

キープで敵に自キャラが轢きずられて、キープが解ける場所まで追いかけて、キープが切れる

というのがキープが解ける一般的な理由じゃないですか?これをキーポジを利用してキープ維持しているのですが、
これって相当目立ちますよね?もっと賢い方法ないのかなって思ったのですが・・

みじんこ如きではこれ以上考えられないです。なにか方法はないのでしょうか?
838ネトゲ廃人@名無し:2008/02/27(水) 19:58:46 ID:???
キープ基点から離れたときに
Chat('トレインすんなボケ!');
してから基点に戻すようにすれば良いと思う。
839ネトゲ廃人@名無し:2008/02/27(水) 20:00:49 ID:???
>>838
それはwwアレですねタイマーかなんか用意しておいて、トレインされる度に違うコメント用意しておけばいいんですねww









監獄ケテーイw
840ネトゲ廃人@名無し:2008/02/27(水) 21:12:59 ID:???
837と同じ事を思ってTS_KEEP_BATTLEに
Target Out Of Range Checkを放り込んだけど
ダメダッタアアア!!
追い駆けて行かないヒントちゃぶだい(つД`)
841ネトゲ廃人@名無し:2008/02/27(水) 21:15:15 ID:???
ポジションチェックしつづけて、一定以上はなれたらクリアタゲじゃね?
842837:2008/02/27(水) 21:29:35 ID:???
キープ維持自体は出来ているのですが、明らかに挙動がおかしいんですよね〜
一応私は3000でやっているのですが、

距離3000まで敵を追う
   ↓
3000超えるとタゲを切ってキープ位置に帰還(ここにスリープ2秒)
   ↓
2秒後にキープに遷移

というようなプログラミングなんですけどね・・

傍から見ると、リーダーから離れすぎてNONEに遷移するはずなのにまたキープ始めるというんですよね・・・。
アレですかね、2秒というのをもっと縮めて距離2000ぐらいの位置で戦わせれば、いいのかな・・・。
悩みどころ満載ですね。
843840:2008/02/27(水) 22:45:23 ID:???
>>841
KEEP_BATTLEにKeep Position Checkするってことだよね?
>>837
それなら、極端に距離を短くして、スリープ消したらどうなん?
効率悪すぎるかな^^;
844840:2008/02/27(水) 22:53:03 ID:???
>>841
あ!なんかわかった!
いけそうな気がするサンクス!
低レベルでスンマソ^^;
845837:2008/02/27(水) 23:03:11 ID:???
今頭で考えてみた。

もしキープ位置から300離れたらカットターゲット
0.5秒スリープのうちにキープ位置に戻る
キープモードに移行 

ってすれば、旨く扱えるかもしれない・・。これを範囲やら秒数やらを旨くすると・・もしかして心置きなくキープが・・・。


はやく家に帰りたいな・・・。
846ネトゲ廃人@名無し:2008/02/28(木) 03:02:02 ID:???
837は無事に家に帰れたのだろうか。
847ネトゲ廃人@名無し:2008/02/28(木) 04:35:33 ID:???
今頃永遠の眠りについてるころじゃね
848ネトゲ廃人@名無し:2008/02/28(木) 10:45:30 ID:???
久しぶりにINしようとしたらサーバーのバージョンが違いますってでて
はいれねー だれか助けてくr
849ネトゲ廃人@名無し:2008/02/28(木) 11:26:04 ID:???
それはチートスレでやる質問なんだろうか
前バージョンのクライアントそのまま使ってるとかそんなバカじゃないんだろ?
850ネトゲ廃人@名無し:2008/02/28(木) 13:09:44 ID:???
エラーメッセージ見れば解決法は明らかだろボケ。
サーバーのバージョンを下げれ。
851ネトゲ廃人@名無し:2008/02/28(木) 13:28:43 ID:???
みじんこ以下な質問はヌルー
852ネトゲ廃人@名無し:2008/02/28(木) 13:40:22 ID:???
スルーの技術なんか備えてたらここ最近の流れなんかおこってねえだろww
853ぶろぐの中身:2008/02/28(木) 16:07:39 ID:???
「SS見張ってます。」の不正申告判別で引っかかる色はシステムに表示される暗い白であって
画像認識の赤色じゃないので注意、と書き忘れてますたスマソ。

これつかえねーYOみたいなコメもないのでちゃんと動いてんのかな(´・ω・`)
854ぼったー:2008/02/29(金) 02:58:02 ID:???
BOT売りたいんだけど欲しい人いるかな??(ダイヤ鯖)
有料の自動更新のやつ、引退したフレにもらったんだけど興味ないんだ。
ちょっと知識があって中国語わかれば使えるんだが・・・
欲しい人がいればサブ垢でもいいから家門名出してくれればおk
855ネトゲ廃人@名無し:2008/02/29(金) 03:00:46 ID:???
C:\>Zi.exe bgm.zip
ファイルを解析中...
ファイル名を置換中...
ローカルアイテムを保存しています... (146/146)
セントラルアイテムを保存しています... (146/146)
処理は正常に終了しました。
〜〜〜〜ここまでコピペ〜〜〜〜
しかしファイル名が文字化けのままなんだがどうしてだ?
856ぼったー:2008/02/29(金) 03:04:11 ID:???
ラピ鯖も募集中
857855:2008/02/29(金) 03:05:54 ID:???
もしかしていまGeerのとこにあるのはうまく動作しないZi.exeなんかな
ちゃんと動くのが別にあるならだれかくだしあ><
858855:2008/02/29(金) 03:12:40 ID:???
そもそもDz.exeも全然うごいてねーや\(^o^)/
859ネトゲ廃人@名無し:2008/02/29(金) 04:13:45 ID:???
>>854
金出す気がある奴ならとうの昔に使ってる
860ぼったー:2008/02/29(金) 04:50:42 ID:???
>>859
了解
861ネトゲ廃人@名無し:2008/02/29(金) 09:14:32 ID:???
肉入り偽装できないBOTなんかいらんだろjk
862ネトゲ廃人@名無し:2008/02/29(金) 09:45:31 ID:???
ラピ鯖のコロニーで多数の党が乱戦中コロニーを叩いていた党が綺麗に落ちる神業はやはり運営絡みとしか考えられないわね?敵対党だったけどあれはオカシカッタ。不正アクセスもあまり露骨だと手が後ろに回りますよ。
糞運営さん
863ネトゲ廃人@名無し:2008/02/29(金) 16:22:29 ID:???
ミジンコが失礼します。

var slot = 0;
var Tartar = GetNearEnemy(selfAi,1500);
SetAiTarget(selfAi, Tartar);
Skill(slot,0);
Tartar = GetNearEnemy(selfAi,1500);
SetAiTarget(selfAi, Tartar);

というような処理を書いたんだが、対象を選択してください〜 というメッセージがかなりの確率ででてしまいます。
理想としては、Mobをクリックした時のように範囲外のときは追いかけていってスキル利用、という形にしたいのですが、
どのように直せばいいでしょうか?
できればUseSkillではなくSkill指定で使いたいのですが・・・。

なお、GetNearAtkableEnemyを使っていないのは、ファイのHoHの用に対空スキルを対象にした時に、
スキルで攻撃できるようにという考えがあり、GetNearEnemyを利用しています。
864ネトゲ廃人@名無し:2008/02/29(金) 16:45:36 ID:???
UseSkillを使いたくない理由がわかんね。
俺その書き方したことなくて良くわかんないけど時々成功するんならsleepいれてみたら?
とかって思った俺もミジンコ。
あとTartarに萌えた。
865ネトゲ廃人@名無し:2008/02/29(金) 22:24:48 ID:???
どーでもいいけど、馬鹿みたいに策敵範囲広げて人が居ても平気で突撃するから報告される。
報告対策云々なら、一定範囲内から出ないようなAI組む方が余程対策になると思うんだが。
866ネトゲ廃人@名無し:2008/02/29(金) 23:05:41 ID:???
ところが、狭いマップだと一定範囲内にいるってことは、報告するプレイヤーに視認される確率が上がっちまうんだな
バカみたいな策敵だと、他のプレイヤーが放置してるあたり通り過ぎてしまえばマップ内のどこかをウロウロしてるから
報告されるのは結局運。
まぁどっちもどっち。 迷惑掛けないAIとしては一定範囲内でFA
867ネトゲ廃人@名無し:2008/02/29(金) 23:09:55 ID:???
明らかなBOT行為してるのはうぜぇから申告するよ。
改造AIと有料BOTの動きの差はなんとなくわかるし。
一定範囲内で自動で拾っていようが自分に迷惑かかんなければまったく気にしないわ。
868ネトゲ廃人@名無し:2008/02/29(金) 23:17:53 ID:???
>>867
すげえな。これこそチラ裏だな。

>一定範囲内で自動で拾っていようが自分に迷惑かかんなければまったく気にしないわ。
こういうプレイヤーだけじゃないから対策が要るんだろバカ
869ネトゲ廃人@名無し:2008/02/29(金) 23:21:16 ID:???
バカっていうなバカw
通報するときはそのエリアの全ch全域見て回るし関係ないね。
870ネトゲ廃人@名無し:2008/02/29(金) 23:25:46 ID:???
だから誰もお前の個人的な意見なんて聞いてないって話だろ
オフゲーかオナニーしてたほうがいいんじゃない?
871ネトゲ廃人@名無し:2008/02/29(金) 23:32:02 ID:???
申告受けにくいAIにするのにはやっぱ策敵範囲を抑えて
暴走しないようにしておくのが一番だと思うなぁと言いたかっただけだ。
その上で対策するなら画面チェックしかないだろう・・・
872ネトゲ廃人@名無し:2008/03/01(土) 01:37:57 ID:???
GetMyAtkLayer(selfAi) == 1ってどっちだっけ?
873ネトゲ廃人@名無し:2008/03/01(土) 01:38:21 ID:???
1近接2遠距離
874ネトゲ廃人@名無し:2008/03/01(土) 01:43:27 ID:???
あり!
875863:2008/03/01(土) 09:35:22 ID:???
自己解決しました。
GetNearEnemyだと、倒した後のMobの死体をターゲットとして設定してしまうことがあり、
その場合にうまくいっていなかったようです。

var Tartar = GetNearEnemy(selfAi,1500);
SetAiTarget(selfAi, Tartar);
Skill(slot,0);
SetAiTarget(selfAi, Tartar);
Tartar = GetNearAtkableEnemy(selfAi,1500);
SetAiTarget(selfAi, Tartar);

とりあえず、かなり無理やり感ただよりますが、上記のように変更したところ
死体だけがあって、攻撃できる敵がいないときはタゲミスになっていますが、
それ以外ではほとんどターゲットをミスすることがなくなりました。

>>864
UseSkillではなくSkillを利用するのはスタンスにこだわらずSlot番目のスキルを利用するような関数をつくりたかったからです。
Tartarは……なんかTarで作っていたらグローバル変数と被ってしまっていたので繰り返してみました。
876ネトゲ廃人@名無し:2008/03/01(土) 09:40:06 ID:???
冗長すぎて意味がわかりません
877ネトゲ廃人@名無し:2008/03/01(土) 12:03:05 ID:???
F4の集合の記述を教えてください。

TS内のNONEの中にぶち込んでおこうと思うんだが、
Call()ってのを入れておけばOK?
引数はなし?
878877:2008/03/01(土) 12:14:10 ID:???
Call();ですね。

過去ログ見ると引数にstartとかってあるんですけど、
他にどんな引数が使えるんですか?
879877:2008/03/01(土) 12:57:30 ID:???
NONEにぶち込んだら挙動不審っぷり発揮したので、
タイマーで制御することに。
880ネトゲ廃人@名無し:2008/03/01(土) 16:16:13 ID:???
>>875
こうすればよくね?

if(IsKd(Tartar) == 'NO' && IsDead(Tartar) == 'NO') {
 Skill(slot, 0);
}
881ネトゲ廃人@名無し:2008/03/02(日) 02:04:29 ID:???
ies.ipfを展開したファイルの先頭に、ファイル名にすればよさげな文字列が入ってんのな。
自動でリネームするプログラム作ったから、次からは楽だぁ。
882ネトゲ廃人@名無し:2008/03/02(日) 03:24:45 ID:???
自動復活は>>484,491を使って、
var g_friends = { nil, nil, nil }; 
func SCR_AI_LIB_RESUSCITATION(self) 
{ 
 var i = 0; 
 while(i < 3) { 
  if(g_friends[i+1] != nil) { 
   var friendAi = GetAiActor(g_friends[i+1]); 
   var friendTarget = GetNeedHealFriend(friendAi, 1, 101); 
   if(IsDead(friendTarget) == 'YES') { 
    UseSkill(selfAi, friendTarget, 30113); 
    while(IsSkillUsing(selfAi) == 'YES') { sleep(100); } 
   } 
  } 
  i = i + 1; 
 } 
} 
これでいいんかな?SQ組むことあんまりないけど、それもいける?
883ネトゲ廃人@名無し:2008/03/02(日) 04:09:38 ID:???
動かしてみてから聞け
884ネトゲ廃人@名無し:2008/03/02(日) 11:44:03 ID:???
SQ組むことがなくて…。
885ネトゲ廃人@名無し:2008/03/02(日) 12:55:22 ID:???
GMの不正は普通にあるんだなぁっと、思った一日でしたw
886ネトゲ廃人@名無し:2008/03/02(日) 14:43:11 ID:???
>>882
自分のMCCのキャラは復活できるだろうけど、SQは_
887ネトゲ廃人@名無し:2008/03/02(日) 15:04:54 ID:???
>>886
882だけど、MCC内でもうまくいかない・・・。
スペースはちゃんと処理してるとして、記述にどこか問題あり?
888ネトゲ廃人@名無し:2008/03/02(日) 15:53:13 ID:???
誰かみじんこのスキルIDで、そのスタンスに対応するスキルか教えてくれまいか?
リサのGMのほうとか誰のスキル?
889ネトゲ廃人@名無し:2008/03/02(日) 18:03:23 ID:???
>>882

これ釣り?wwwww
どう見てもこの関数だと動くわけ無いんだけどwwwww
890ネトゲ廃人@名無し:2008/03/02(日) 18:20:00 ID:???
くだらないミスが入ってるな。
891ネトゲ廃人@名無し:2008/03/02(日) 20:21:05 ID:???
ミジンコのオレにはどこが釣りなのかわからん。
試してみたら動かなかったけどww
892ネトゲ廃人@名無し:2008/03/02(日) 20:30:30 ID:???
GetNeedHealFriendの引数がおかしい。
893ネトゲ廃人@名無し:2008/03/02(日) 22:55:32 ID:???
>>892
そこじゃねえだろ
894882:2008/03/02(日) 23:21:22 ID:???
どこが違うのか教えてください(涙目
895ネトゲ廃人@名無し:2008/03/03(月) 00:29:09 ID:???
よく見るんだ。定義されてない変数が参照されてる。
896ネトゲ廃人@名無し:2008/03/03(月) 00:56:05 ID:???
func SCR_AI_LIB_RESUSCITATION(self)

この行よーく見ろw
それでミスがどこかはわかるはずwwww
897882:2008/03/03(月) 01:41:38 ID:???
>>896
自分で見て吹いたw
898ネトゲ廃人@名無し:2008/03/03(月) 01:46:21 ID:???
>>892で言ってる
GetNeedHealFriend(friendAi, 1, 101);
は問題なし?
よく考えたら1の距離でHP101%の仲間じゃない?
899ネトゲ廃人@名無し:2008/03/03(月) 02:28:00 ID:???
>>898
GetNeedHealFriend(friendAi, 1, 101);
でも間違いじゃないが
GetNeedHealFriend(friendAi, 0, 101);
のほうがいいと思う
101は全く問題なし
900ネトゲ廃人@名無し:2008/03/03(月) 04:14:55 ID:???
101って%じゃないの?
901ネトゲ廃人@名無し:2008/03/03(月) 07:24:00 ID:???
101でうごかしてみろよチンカス
902ネトゲ廃人@名無し:2008/03/03(月) 23:17:30 ID:???
みじんこのくせに他のみじんこを叩いて優越感に浸るバカが増えたな。
903ネトゲ廃人@名無し:2008/03/03(月) 23:43:56 ID:???
491を書いたものだがミス多くてすまんねw
引退前に動作チェックしたAI置いていくからちょっと待ってくれ。
自分で使ってなかったオートPOTとか自動召喚を追加中。
904ネトゲ廃人@名無し:2008/03/04(火) 00:10:29 ID:???
やっぱいじりつくしたら引退なんかな。
905ネトゲ廃人@名無し:2008/03/04(火) 00:11:16 ID:???
>>901って厨房だぜ
906ネトゲ廃人@名無し:2008/03/04(火) 00:58:43 ID:???
いじるところなんてまだまだ山ほどあるぜ!!!!!!!!!!!!!
907ネトゲ廃人@名無し:2008/03/04(火) 01:06:11 ID:???
とりあえず、チンコいじってくる。
908ネトゲ廃人@名無し:2008/03/04(火) 02:32:38 ID:???
最近改AIを使用すると急に近寄ってくる党員がいるんだが
もしかして疑われてるのかのぅ…
晒しスレのたまごやきといい全てが見透かされているような気がしてきた
気のせいだとは思うけどなw
909ネトゲ廃人@名無し:2008/03/04(火) 02:40:19 ID:???
Toggle("autoinspect")
PlaySnd("drop_jewel.wav")
910ネトゲ廃人@名無し:2008/03/04(火) 02:48:40 ID:???
そりゃお前、党員からBOTなんて出したらずっとネチネチ叩かれるんだし、
ほぼ放置オンリーで会話少なかったり不審な出入りを続ける奴とか変な噂がある奴とかはたまに巡回して見回ってるぜ?
もちろん党首と一部党員だけでそれとなく確認するだけで党チャットでいうような真似はしない
疑ってるわけじゃなくて定期巡回みたいなもんだしな
要するにメインでやる奴はアホ
911ネトゲ廃人@名無し:2008/03/04(火) 03:28:04 ID:???
メインでやらない賢い人はどんな使いかたしてるん?
まさか複数台のPC電源つけっぱなしで1日数Mの利益とかじゃないよね?
912ネトゲ廃人@名無し:2008/03/04(火) 03:30:19 ID:???
1台は放置用
もう1台は娯楽用
913ネトゲ廃人@名無し:2008/03/04(火) 03:35:16 ID:???
中華産BOTを5垢同時起動バハマル放流で1日100M以上は稼げてるよ
けどRMもかかるし、もう神OPをつけることぐらいしかやることなくなってきたから正直微妙。
914ネトゲ廃人@名無し:2008/03/04(火) 03:44:02 ID:???
俺は元々複数PCつけっぱだったから全く気にせずそのままGEも稼動させてるけど
人それぞれじゃねえ?
申告実装されてからはかなり適当だよもう
だからこそこんなに情報が出てくるわけで
ウマーできるなら自分だけで独占気味になるだろ普通
915ネトゲ廃人@名無し:2008/03/04(火) 10:15:14 ID:???
if( 'YES' == IsVisible('autoinspect')) {
PlaySnd("drop_jewel.wav")
}

不正利用者自動確認窓が開いてたら音が鳴るかも。
このままだと宝石ドロップの時の高い「キーン」って音だけど。
916ネトゲ廃人@名無し:2008/03/04(火) 10:53:33 ID:???
未だにBOTやってるのはアフォw
もう昔みたいにウッハウッハウッ〜ウマウマできないよw
917ネトゲ廃人@名無し:2008/03/04(火) 11:15:03 ID:???
それでも満足だから俺はいいけどねww
918ネトゲ廃人@名無し:2008/03/04(火) 11:16:12 ID:???
出来ない奴はヘボなだけだろ^−^
919ネトゲ廃人@名無し:2008/03/04(火) 11:26:02 ID:???
BOTはみじんこ専用だぞ
920ネトゲ廃人@名無し:2008/03/04(火) 12:11:52 ID:???
確かに昔みたいに馬鹿みたいに稼げなくなった
申告なかったからねー10アカ回して1週間に一回のVis回収で10G15Gあたまえだった。
921ネトゲ廃人@名無し:2008/03/04(火) 12:13:47 ID:???
そんなもんだから、俺ノ武器防具は全部神OP
922ネトゲ廃人@名無し:2008/03/04(火) 13:57:30 ID:???
ドロップ率改変されてるな
923ネトゲ廃人@名無し:2008/03/04(火) 14:27:33 ID:???
なんかもう、バレたから何なんだ?って気になってきたオレって・・・
BANされたら引退だしね
924ネトゲ廃人@名無し:2008/03/04(火) 15:50:37 ID:???
家門低くてもデュエルとか出来るんだっけ?
捨てキャラ改AIのキープモードだけでPvP大会やらないかw
925837:2008/03/04(火) 22:15:05 ID:???
GetNeedHealFriend(friendAi, 1, 101);

この関数ってあらゆるところに応用できるんだな・・・なんだかいろいろと試してみたら面白いな
926ネトゲ廃人@名無し:2008/03/04(火) 22:15:35 ID:???
おっとコテハン記憶していたようだw
927ネトゲ廃人@名無し:2008/03/04(火) 23:53:01 ID:???
101%未満ってことだからHP満タンでも値返すんだよ
928ネトゲ廃人@名無し:2008/03/05(水) 00:15:19 ID:???
ui.ipfの中、「々_9N_」で始まる名前のファイルもスクリプト。
「々_jl・」で始まる名前のxmlと併せて見ると、出来ることがいろいろ増えるかも試練。
929ネトゲ廃人@名無し:2008/03/05(水) 03:00:52 ID:???
if(IsNearFromKeepDestPosition(selfAi, 100) != 'YES'){
KeepDestMoveTo(selfAi);
sleep(100);
}

上ってのは「自動操作のときにキープ位置から周辺距離100離れる」というのがYESになった時に
元々キープしていた場所に戻る。という動作だよね?これをいじって然るべきところに入れたらアタッカーをキープ維持ってできますよね?

930ネトゲ廃人@名無し:2008/03/05(水) 05:24:14 ID:???
やってみたら?
931ネトゲ廃人@名無し:2008/03/05(水) 06:47:55 ID:???
「こんなことやってみたら出来ませんか?」
っていう話題は過去ログで既出なことが多い。
932ネトゲ廃人@名無し:2008/03/05(水) 10:31:01 ID:???
あはは、ガッチャマンとか多すぎて萎えて改造に走る奴が急増中。
だがしかし!一つ言っておく。
AI改造してBOT飼うだけじゃ、ガッチャマンには遠く及ばないのが現実。
933ネトゲ廃人@名無し:2008/03/05(水) 11:25:45 ID:???
別にガッチャマンに勝とうとしてるわけじゃないだろ。
勝つまではしなくても、金払いたくないが、それなりの利潤が欲しい奴が改造Aiやってるってだけだ
金払っても問題ない奴は、中華BOTとかRMTそれに加えてガチャも回してるよ
934ネトゲ廃人@名無し:2008/03/05(水) 11:47:51 ID:???
BOTやっても優位に立てないGAMEはGEが初めてだw
935ネトゲ廃人@名無し:2008/03/05(水) 12:58:47 ID:???
ガチャやりつつBOTの俺が最強
936ネトゲ廃人@名無し:2008/03/05(水) 13:31:07 ID:???
>>935
そりゃー最強まつがいない!
正直いいなぁって思うぜっTT
937ネトゲ廃人@名無し:2008/03/05(水) 14:37:07 ID:???
そりゃそーと、通算100万円使った奴がラピスで出だしたわー。
938ネトゲ廃人@名無し:2008/03/05(水) 14:42:16 ID:???
今回のガチャは何回回しても最強になれる気がしねーなw
1.2Gvis用意してwktkしてたのに買うものねーしw
939ネトゲ廃人@名無し:2008/03/05(水) 15:39:22 ID:???
>>932
よう!おれ
全部がそうでは無いけど
いろいろと馬鹿過ぎるガッチャマンと運営に萎えて
始めたわw
940ネトゲ廃人@名無し:2008/03/05(水) 15:43:05 ID:???
別にガッチャマンに勝つつもりは無いが、
はいはいガチャ回してマケに流してくださいねw
みたいな精神的余裕が出来た

俺ってちいせえ〜
まさに貧しいミジンコ精神でサーセンwww
orzorzorz
941ネトゲ廃人@名無し:2008/03/05(水) 15:53:07 ID:???
精神的余裕
できるよなwwwww
健康的だと思うぜw
942ネトゲ廃人@名無し:2008/03/05(水) 16:18:25 ID:???
敵に倒されるときの関数って存在するのですか?
943837:2008/03/05(水) 16:40:13 ID:???
そういえば、>>837報告がまだだったので、一応報告を・・

>>845の考え方でまずスリープをなくしてみたら、キープ策敵範囲内よりも内側で距離500以上に敵がいると、
キープ位置を行ったりきたりして、非アクのMobのときは他のMobが沸かない限り永遠と繰り返して、
腹が壊れそうなぐらい笑える絵でしたw他人が見ていたら確実に改AIなど使っているんじゃないかと疑われるような動きでした。

スリープ入れてみたら、また滑稽な動きをしてですね。なんだか明らかに不自然な動きになってしまいました。


結局のところ私如きでは、上手なアタッカーのキープ維持は考えられないということ結論でした。
何か旨い方法はないものでしょうかね。
944ネトゲ廃人@名無し:2008/03/05(水) 16:43:40 ID:???
アタッカーのキープ維持?
TS_KEEP_BATTLEのATTACKTARGETをwhileループ内に入れれば済む話だろ?
945837:2008/03/05(水) 17:04:06 ID:???
>>944
キープ維持といのは、Mobに引っ張られてリーダーからはなれてキープが切れるのを防ぐものですよね?
なら、
>TS_KEEP_BATTLEのATTACKTARGETをwhileループ内に入れれば済む話だろ?
こちらは、どういう意図なのですか?試してみましたが、遠く連れて行かれキープが解けてリーダーの場所に戻ってもきてもキープには遷移しませんでした。
無論KEEPBATTLEにも遷移しませんでした。
946ネトゲ廃人@名無し:2008/03/05(水) 17:16:49 ID:???
俺が書いたのはノックダウンで止まる時の話だった。
引っ張られ防止はいろいろあるが、分かる人が見ればバレるのでお勧めしないw
上等ってんだったら索敵をこんな感じにすればマシになる。

if(IsNearFromKeepDestPosition(selfAi, option.KeepRange / 2) == 'YES') {
 curTarget = GetNearAtkableEnemy(selfAi, option.KeepRange);
} else {
 curTarget = GetNearAtkableEnemy(selfAi, option.KeepRange / 2);
}
947837:2008/03/05(水) 17:24:30 ID:???
>>946
なるほど。curTargetをキープ位置より離れているか否かで場合わけするんですね。
ちょっと、試してきます。
948837:2008/03/05(水) 17:36:27 ID:???
ちょっと考えていたのですが、
>>946さんが書いていることは、遠くにつれて行かれても平気なようにするものではなく、
そもそも、自MCCをMobに引っ張られないようにするものですよね?

全く発想しなかった考え方ですね。
949ネトゲ廃人@名無し:2008/03/05(水) 17:41:09 ID:???
そうだね。引っ張られてからタゲきったら不自然。
この程度で安定しないような狩場なら放置すべきではないな。
950ネトゲ廃人@名無し:2008/03/05(水) 17:47:30 ID:???
エキスパ育成一通り終わったから晒しておくよ

ヒーラーキープ解除防止法
112のSCR_AI_LIB_HEALING内
ChangeTacticsAi(selfAi, 'TS_USER_SKILL');
return 'ChangeTS';

while(IsSkillUsing(selfAi) == 'YES') { sleep(100); }
return;
で置き換えてTSをかえずにスキル完了を待つようにする。
951ネトゲ廃人@名無し:2008/03/05(水) 17:51:14 ID:???
アタッカー攻撃停止防止法
110のSCR_ATTACKER_TS_KEEP_BATTLE内
var count = 0;
をprevTSの次に宣言して、main sleepの直前にでも
// Anti Knockback Stall
if(count > 20) {
 SCR_AI_LIB_ATTACKTARGET(selfAi);
 count = 0;
} else {
 count = count + 1;
}
を追加して2秒おきに再攻撃をかける。countしないと0.1秒おきなので重くなることがある。
952ネトゲ廃人@名無し:2008/03/05(水) 17:56:48 ID:???
アタッカー引っ張られ軽減 112に下の関数を追加、110のTS_KEEPのNEARTARGETをこれを呼び出すようにかえる。
func SCR_AI_LIB_NEARTARGET_ON_KEEP(self, selfAi)
{
 var option = GetOption(self);

 var range = 0;
 if(IsNearFromKeepDestPosition(selfAi, option.KeepRange / 2) == 'YES') {
  range = option.KeepRange;
 } else if(IsNearFromKeepDestPosition(selfAi, option.KeepRange) == 'YES') {
  range = option.KeepRange / 2;
 } else {
  range = option.KeepRange / 3;
 }

 var curTarget = GetNearAtkableEnemy(selfAi, range);
 if( curTarget != nil ) {
  SetAiTarget(selfAi, curTarget);
  return 'ChangeTS_BATTLE';
 }
}
953ネトゲ廃人@名無し:2008/03/05(水) 18:04:15 ID:???
アタッカーが押されてじりじり下がる現象防止
112のSCR_AI_LIB_TARGETAVAILABLEの最後に以下を追加
敵が近くに居るのに射程外ならキープ基点に向かって0.25秒走る

if(IsTargetInMyAttackRange(selfAi, curTarget) == 'NO') {
 var nearRange = 60;
 if(GetMyAtkLayer(selfAi) == 2) { nearRange = 400; }
 var nearTarget = GetNearAtkableEnemy(selfAi, nearRange);
 if(nearTarget == nil) { return; }
 if(IsTargetInMyAttackRange(selfAi, nearTarget) == 'YES') { return; }
 if(IsNearFromKeepDestPosition(selfAi, 200) == 'NO') {
  KeepDestMoveTo(selfAi);
  sleep(250);
  Attack(selfAi, curTarget);
 }
}
954ネトゲ廃人@名無し:2008/03/05(水) 21:15:47 ID:???
誰か監獄脱出作ってくれ。
955ネトゲ廃人@名無し:2008/03/05(水) 22:27:21 ID:???
監獄脱出手伝ってくれに見えた/(^o^)\

監獄なんて行くようなAiにしてるから駄目なんだろ
956ネトゲ廃人@名無し:2008/03/05(水) 23:07:13 ID:???
アイテムの個数とか結構めんどそうだよな。
957ネトゲ廃人@名無し:2008/03/05(水) 23:49:28 ID:???
クエストで要求されるアイテムの数って、どうやって取得すんだろ?
所持品のアイテム数は簡単に取得できるんだけどねぇ。
958ネトゲ廃人@名無し:2008/03/06(木) 08:03:13 ID:???
クエ受けたあといじるしかないのかな。
959ネトゲ廃人@名無し:2008/03/06(木) 11:25:47 ID:???
なぁ、おまいら。

ShowAutoKeepMode()
ShowAllPcLevel()

USAっていいな。
960ネトゲ廃人@名無し:2008/03/06(木) 13:54:19 ID:???
>>950-953
ぶろぐに転載しておくかな
961ネトゲ廃人@名無し:2008/03/06(木) 14:33:38 ID:???
>>960
ブログのほうも誰でも出来るようになっちゃってるんだよね。
改AIへの敷居が低いというかなんというか
962ネトゲ廃人@名無し:2008/03/06(木) 18:10:48 ID:???
バラックに戻る関数教えて!><
963ネトゲ廃人@名無し:2008/03/06(木) 20:40:01 ID:???
950から953のコードを入れたのですが953のコードだけ機能せずAIがデフォルトに戻ってしまいます。
SCR_AI_LIB_TARGETAVAILABLEの最後に追加とありますが、return 'ChangeTS_Prev';の下に追加では駄目なのでしょうか??
964ネトゲ廃人@名無し:2008/03/06(木) 20:50:23 ID:???
>>963
括弧の数をよぉ〜くみたら幸せになれるかもな
965ネトゲ廃人@名無し:2008/03/07(金) 10:43:13 ID:???
お、伊達臣人ですw
君達は先人達を超えたね!
966ネトゲ廃人@名無し:2008/03/07(金) 10:56:02 ID:???
改造AIの歴史
1.誰かがai.ipfの存在を発表、海外で改造してウマウマしてると言う、日本サバにそれらしき中華が出現し始める
2.ai.ipfの展開方法がわからず、苦汁を飲んでいるとgeer作成者がai.ipf展開圧縮TOOLをUPする。
3.第一次BOT大発生
4.AIがai.ipfからexe内に収納される、BOT収束の様に見えたが、だがしかし!
5.英雄がバイナリエディタで改造できるんだぜっ!って言い出す、バイナリエディタ使うならもっといいのがあるよ!って言い出す!
6.リソースハッカー登場!
7.第二次BOT大発生、geer作者がiesの展開TOOLを発表。全てのJOBスキル関数が発見される。
8.改造AI高性能化、主だったもの:タゲ共通 バフタイマ
9.不正者申告システム導入、改造AIBOTが監獄へ次々と送還される。
10.中華TOOL導入者増加(不正申告されにくい設定やアラーム機能を有する)
11.ミジンコ達が過去の歴史を繰り返し中。
967ネトゲ廃人@名無し:2008/03/07(金) 14:28:43 ID:???
12.古の契約により悪の大王復活。世界は混沌の渦に飲み込まれ、主に運営の主導によりサービス終了
968ネトゲ廃人@名無し:2008/03/07(金) 18:18:58 ID:???
中華BOTの近くに改AIで少し放置 
        ↓ 
中華BOTに不具合発生?してスキルのみ使用
        ↓
      不正申告


できる場合とできない場合があるんだが中華BOTに似せたただの改AIちゃんかね?
969ネトゲ廃人@名無し:2008/03/07(金) 20:59:34 ID:???
ちょwwwwwwwwwwwwおまいらGeer様が更新してるぞwwwwwwwww
まだ試してないけど、人柱いけるか?
970ネトゲ廃人@名無し:2008/03/07(金) 23:53:44 ID:???
つまら話題の中耐えながらも潜伏していましたが
Geer更新と聞いて飛んできました
971ネトゲ廃人@名無し:2008/03/08(土) 11:44:34 ID:???
AIを簡単にいじれるように盛り込んだねw
スカベンジャーも復活してるけど、BOSS避けと優先が使えるね。
972ネトゲ廃人@名無し:2008/03/08(土) 12:49:09 ID:???
新参者でgeer時代を知らない・・・。
今でも不自由ないけどとりあえず使ってみるかな。
973ネトゲ廃人@名無し:2008/03/08(土) 13:19:03 ID:???
geerの内容ってどういった感じ?
974ネトゲ廃人@名無し:2008/03/08(土) 14:14:11 ID:???
geerはX虎でひっかかって起動できなかった
975ネトゲ廃人@名無し:2008/03/08(土) 14:25:59 ID:???
>>974
同じく、糞虎のせいで使えないな・・
976ネトゲ廃人@名無し:2008/03/08(土) 14:35:23 ID:???
まだそんなレベルなのか、おまいら。
977ネトゲ廃人@名無し:2008/03/08(土) 14:58:56 ID:???
972だけど、
まだ導入してないけど、解除しなきゃいけないのか。
そんなツールは調べればすぐ見つかるんだろうけど結構めんどいな。
978ネトゲ廃人@名無し:2008/03/08(土) 15:02:42 ID:???
>>977
そんなことにすら対応してないgeer作者を恨むべき。
そして、それなら自分が作れって言われてできない自分も恨むべき。
979ネトゲ廃人@名無し:2008/03/08(土) 15:42:24 ID:???
経験値表示だけでも対応して欲しいところだわ
980ネトゲ廃人@名無し:2008/03/08(土) 17:21:36 ID:???
スレもそろそろ埋まりそうだし
晒すか。。。
↓のところにあった鶴は使えた多少面倒だが
ttp://tokyo.cool.ne.jp/nifty1/home.html
981ネトゲ廃人@名無し:2008/03/08(土) 17:27:22 ID:???
宣伝乙
982ネトゲ廃人@名無し:2008/03/08(土) 17:37:56 ID:???
いきなりzipDLかよ!
チェックするものまんどくせぇ!
983ネトゲ廃人@名無し:2008/03/08(土) 18:26:37 ID:???
>>952の110のTS_KEEPのNEARTARGETをこれを呼び出すようにかえる。

ってどういうこと?
if('ChangeTS_BATTLE' == SCR_AI_LIB_NEARTARGET_ON_KEEP(self, selfAi)){ 
 略
} 
ってこと?
984ネトゲ廃人@名無し:2008/03/08(土) 18:43:31 ID:???
試してから聞けよ
985ネトゲ廃人@名無し:2008/03/08(土) 18:59:17 ID:???
で、合ってるにも係らずなぜか動かない>>983に対して>>984が括弧がどうとか、全部書けとかだろ?
いい加減そのループ見飽きたな。
986ネトゲ廃人@名無し:2008/03/09(日) 03:08:49 ID:???
Ver.0080309
一部機能を XTrap 有りでも動作するように修正。
987ネトゲ廃人@名無し:2008/03/09(日) 09:35:08 ID:???
>>986
やり方わからねorz
988ネトゲ廃人@名無し:2008/03/09(日) 09:37:55 ID:???
>>987
ファイルの位置をよく確認するんだ

>>986
作者様GJ
989ネトゲ廃人@名無し:2008/03/09(日) 10:47:25 ID:???
1〜10は全てできたが、
なぜか、ショートカットでのスイッチ切り替えだけうまくいかない。
誰かエスパーしてくれ。
990ネトゲ廃人@名無し:2008/03/09(日) 10:52:29 ID:???
どこでも家門倉庫テラワロス
991ネトゲ廃人@名無し:2008/03/09(日) 11:20:39 ID:???
ショートカットのXMLがうまくローディングされてないとか?
992989:2008/03/09(日) 11:25:50 ID:???
とりあえず全てそのまま書いてみる。

・hotkey内Myhotkey.xml
<HotKey Name="UI ワープリスト " Scp='Toggle("warplist")' Key="R" UseAlt="NO" UseCtrl="YES" UseShift="NO" OnEdit="YES" />
<HotKey Name="HOTKEY1" Scp='SCR_AI_LIB_HOTKEY1()' Key="F1" UseAlt="YES" UseCtrl="NO" UseShift="NO" OnEdit="YES" />
</Category>

・release内user.xml
<Hotkey Hotkeyfilename="C:\Program Files\Granado Espada\release\user\hotkey\Myhotkey.xml" />

・LIB内
func SCR_AI_LIB_HOTKEY1()
{
SysMsg('Hotkey test');
}

スペースとかも含めそのままの状態です。
オプションの中とか見落としがちな点はありませんか?
993ネトゲ廃人@名無し:2008/03/09(日) 11:32:07 ID:???
Geerは入手したが使い道がわからぬ
原生生物\(^o^)/オワタ
994ネトゲ廃人@名無し:2008/03/09(日) 11:35:10 ID:???
Scp='Toggle("warplist")' 関数呼び出しは ' (シングルクォーテーション)可
Scp="SCR_AI_LIB_HOTKEY1()" スクリプト呼び出しは " (ダブルクォーテーション)じゃないと駄目とかじゃなかったっけ?
995989:2008/03/09(日) 11:38:49 ID:???
UIワープリスト、</Category>については入力位置をわかってもらうために、
元々の記述をそのまま貼り付けています。

HOTKEY1については、みじんこぶろぐそのままだと思うんですが。。

とりあえずダブルクォテーションで試してみます。
996989:2008/03/09(日) 11:44:39 ID:???
連投すみません。

<HotKey Name="HOTKEY1" Scp="SCR_AI_LIB_HOTKEY1()" Key="F1" UseAlt="YES" UseCtrl="NO" UseShift="NO" OnEdit="YES" />
に直しましたが変化なしです。
997ネトゲ廃人@名無し:2008/03/09(日) 11:50:17 ID:???
F1あたりに割り振れないとかで使ってなさそうなF10~12あたりに振ってテストしてみたりはどうですか
998ネトゲ廃人@名無し:2008/03/09(日) 11:52:28 ID:???
前スレ
Granado Espadaち〜とすれっど12
http://game13.2ch.net/test/read.cgi/mmosaloon/1201490305/

<<チートスレ汎用テンプレ>>定番解析ソフトと解析勉強サイト

●デバッガOllyDbg
http://www.ollydbg.de/

●プロセスメモリエディタ兼デバッガスペシャルねこまんま57号
http://www.vector.co.jp/soft/win95/hardware/se254476.html

●プロセスメモリエディタ兼デバッガうさみみハリケーン
http://www.vector.co.jp/soft/win95/prog/se375830.html

●ヘキサエディタStirling
http://www.vector.co.jp/soft/win95/util/se079072.html

●PCゲーム解析指南+OllyDbg日本語化パッチDigitalTravesia
http://hp.vector.co.jp/authors/VA028184/

●参考書
DigitalTravesia推薦図書一覧
http://www.k3.dion.ne.jp/~dt2/
999ネトゲ廃人@名無し:2008/03/09(日) 12:07:56 ID:???
F1をF10に変えても変化なしです。

既存のショートカットは動いているので、キーボード上の問題でもなさそうです。。。
1000ネトゲ廃人@名無し:2008/03/09(日) 12:08:24 ID:???
1000ならGE終了
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。