2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

OBLIVION MOD作成支援/相談スレPart6

48 :名無しさんの野望:2010/03/29(月) 14:59:59 ID:KRGGNnZc
つい先日質問スレの方に質問した者です
スレ違いにもかかわらず回答頂き無事に解決しましたが、もう少しスマートに解決できればいいなと思いこちらで質問させていただきます。
最近スクリプトって奴を弄る事を覚えたばかりですが、以下のことに挑戦中です
「同行コンパニオンに""プレイヤーを攻撃してる敵NPC""を優先的に攻撃させる」ことです。
アドバイスを活用して以下のように組むことでとりあえずの最低限な動きは再現できました
if (player.isBlocking ==1)
Set ref_target to GetFirstRef 35 0
While (ref_target.GetCombatTarget != Player )
Set ref_target to GetNextRef
loop
if (ref_target.GetCombatTarget == Player) ;←この行要らないかも
ref_self.StartCombat ref_target

そこで改良のためいくつか疑問点があるのですが
・プレイヤーがブロック時を条件から外し、常にGetNextRefで検索し続けるのはプログラム処理的に重たいというか無駄すぎやしないか?
・またwhile-loop間の条件をクリアできなかった場合は延々とそこだけを回り続け、いわゆるハメの状態になったりしないか?
・だとするとloop間の処理にランダム係数入れて一定確率でループを抜けるようにした方がいいのか?
の3点です。スクリプト処理の根本的なルールみたいなのが分かっていない程の初心者なので、どんなアドバイスでも結構ですので
ご教授下さい。長文失礼しました

311 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)