09/10/11 22:39:08 gAR1bO/B
>>972
ゲーム本体でも、一体何につかってるか判らない関数だよね。Dead count。
GetDeadCount で返ってくるのは、リファレンスじゃなくて、ベースオブジェクトのパラメータ
だから云々~と、GECK(CS)の説明に書いてあるけど。
SetDeadCount という命令が無い以上、不可能と考えた方が早いんじゃないでしょうか。
なにか新規の変数に代入してソッチを使うとか。(と、何をしたいのかは知らないままに書く)
976:名無しさんの野望
09/10/11 22:46:28 o860scbv
>>974
返信ありがとうございます。
さらに質問させてほしいのですが、水面について新しく放射能0の水面を作りたい場合はどうすればいいのでしょうか?
977:名無しさんの野望
09/10/12 00:01:39 pgM1wcBE
>>976
こっちでやったのが大分前であんまり覚えてないけど、
WaterTypeをコピーして新規作成、SpellEffectをNONE
PlacableWaterをコピーして新規作成、Typeを上で作ったヤツにする
セルのエディットでHas Waterにチェック、Waterを上で作ったヤツにする
PlacableWaterをセルに配置
みたいな感じでやった気がする
どれが必要でどれがいらないのか、どの要因で決まるのかは正直よくわからんかったけど、
色々試してるうちになんか出来てた、って感じだった
978:名無しさんの野望
09/10/12 00:41:12 JfFUBkIy
>>975
やはり無理っぽいですね。
何をしたいかというと、死んでしまったキャラバンを生き返らせて、
前と同じように牛とガードと一緒に行商に回ってほしいんですけど、
単純にresurrectしただけでは牛とガードが着いて行かないんです。
で、GECKでガードのAI見るとDeadCountが0の場合はFollowするように
なっていたので、この条件を削除することでOKだったんですが、
牛のほうがどういう条件でついて行くのかわからなくて。。。
979:名無しさんの野望
09/10/12 09:00:13 xao8qGZY
>>980
そろそろ次スレを↓
980:名無しさんの野望
09/10/12 10:33:13 SRV+s1Pj
立てます ノ
981:名無しさんの野望
09/10/12 10:36:50 SRV+s1Pj
完了
Fallout 3 MOD作成支援/相談スレ Part2
スレリンク(game板)
982:名無しさんの野望
09/10/12 11:18:33 eK0ipvUX
てーこくへーにタロンアーマーとかを着せたいのですが
呼び出した時点で装備させるにはどこを編集したらいいのでしょうか。
GECKはMOD武器をメガトンに配置させるしか使ったことありませんが
簡単にできます?
983:名無しさんの野望
09/10/12 11:47:17 QhHOAibO
スクリプトに関する質問をさせてくさい。
GECKWIKI#チュートリアル:自分の家を作ろう その2(URLリンク(www19.atwiki.jp))
を参考にSHACKHOUSEにSMを一匹配し、ページにあるスクリプトを打ち込みました。ちなみに、
ScriptName TestManScript
short a
Begin OnActivate
IF a == 0
Test001.Enable
set a to 1
Else
Test001.resurrect 1
Test001.DIsable
set a to 0
EndIf
End
というスクリプトです。で、本文では
>これで、スイッチをオンにすると生きたSミュータントが出現し、オフにすると生死問わず消える試射室の完成です。
とありますが私が作ったところ最初から生きた状態でSMが出現しておりました。続きます
984:983
09/10/12 11:48:41 QhHOAibO
スイッチをActivateしたら生き返ったので一応成功かと思うのですが、疑問が
3点あるのです。
1、最初から生きた状態でSMが登場したのはプログラム的に正しかったのでしょうか?
2、スクリプトに出てくるshortとは何を表す命令なのでしょうか?また、どういう時に用いるのでしょうか?
GECK本家で検索しましたが見つけることができませんでした。EZCompanionも参考にさせて頂いてるのですが
よく使われてますよね。
3、あとよくシンタックスエラーを出されるんですが、ググって見たところ構文の誤りという説明がありました。
これはたとえば、endifなんかは階段状に下がっていき、最後にENDとなりますがそういうところが1マス抜けてる
(本来は2マス空けなのに)とかそういうことで出るエラーなのでしょうか?(説明下手ですいません)
色々と質問ばかりですがどうかよろしくお願いします。アドバイス、ヒントなんでも構いませんのでおまちしております。
最後に連投失礼いたしました。
985:名無しさんの野望
09/10/12 11:59:47 eK0ipvUX
982です。度々すみません。
味方ていこく兵のほうはUse Allにチェックつけてタロン装備もできました。
自己解決です。すみませんでした。
ただ敵側のほうはよくわかりませんね。
とりあえず忍びないのでチェック外して遊びます。
986:名無しさんの野望
09/10/12 12:02:06 F6DAA9iS
変数の宣言、これからこの文字列を、このスクリプト内では変数として使いますよ。
で、その変数の種類が…
short - 整数を扱います。(Longてのもある。文字通り、デカイ数用らしい。)
float - 小数もOK
ref - リファレンスを格納する為の変数。
だいたい、そんな感じ。(プログラマーな方がもっと精確に教えてくれるかもだ)
#じゃぁ数値を扱うのは全部floatでいいじゃん。とも思えますが、まぁ、無駄な容量は使わないに
越したことはないので。
シンタックスエラーで一番多いのは、綴りの間違いだと思う。
if ~ endif は別にべったり書いても問題ないです。見難いだけで。
あと、スクリプト内では「無用な」スペースは使わない方がいいです。見易くするためにはTAB。
もちろん、 A == 1 をA==1 と書いたらダメとか、そういうのもありますので、スペースも必要ですけど。
987:名無しさんの野望
09/10/12 12:17:34 F6DAA9iS
GECK本家での記述を見つけた。
URLリンク(geck.bethsoft.com)
short
-2,147,483,648 to 2,147,483,647
float
-3.402823×1038 to -1.175494×10-38, 0 and 1.175494×10-38 to 3.402823×1038 (precision of 7 digits)
ref
A pointer to a reference
この三種類でいいみたいですわ。(Long要らないね)
あと、便利サイトが紹介されてた
Script Validator
URLリンク(www.cipscis.com)
ここにスクリプトをコピペすると、GECKでも探知できないようなエラーを見つけてくれる…らしい。
988:名無しさんの野望
09/10/12 12:54:39 TJRaawa1
>>984
>これで、スイッチをオンにすると生きたSミュータントが出現し、オフにすると生死問わず消える試射室の完成です。
の通り、スイッチを押すと生きてるSMが出る
もう一度押すと、SMが消える
で、消える時に次に出す時のために生き返らせている
なぜ生きているSMがでたのがおかしいと思ったのかわからんけど、記述も挙動もまちがってはないんでOK
989:983
09/10/12 12:56:07 QhHOAibO
>>986さん
即レスありがとうございます。本家にあったのですね…よく調べもせず恥ずかしいです。
まず、シンタックスエラーのご説明ありがとうございます。既存のものを練習で書いたり
しても出されたりしてたのでたぶん綴り間違いだったんですね。構文が違うという記述を
見つけてからは1マス空けたり、下げたりそんなことばかりしてましたorg
サイトの紹介助かります。ブックマークしました。
shortに関してですが、念のため聞きますが(shortと言っても)-2,147,483,648から2,147,483,647までの
広範な数値を宣言できるという認識で正しいでしょうか? 例えば、-1でもいいし1000でもいいといと
ことで間違ってませんでしょうか?
たびたびの質問ですがよろしくお願いします。
990:名無しさんの野望
09/10/12 12:58:47 PuL0NoJw
>>988
死体撃ちするヤツだと思ってたんじゃない?
991:名無しさんの野望
09/10/12 13:17:30 F6DAA9iS
>>989
です。shortについては、さっき調べるまで自分も間違えてました。
(3万6千くらいまでかと思ってた。)
-21億から、+21億までいけます。整数を扱うならshortでいいですね。
992:983
09/10/12 14:05:16 QhHOAibO
>>988さん
OKですかありがとうございます。自分は最初は部屋には何もいなくてスイッチを押すと
SMが出てきて襲ってくると勘違いしていたのです。最初からいたのでなにかのミスかと思ってしまって…。
結果として、間違ってなかったのでよかったです。ありがとうございました。
>>990さん
すいません「死体撃ち」というものがわかりませんが、問題解決です。どうもありがとうございました。
>>991さん
度重なる質問に答えていただき頭が下がります。今までの疑問が晴れました。
EZCompanionの無線スクリプトでたくさんshortが出ていた気がするので今からGECKで見てみます。
みなさん参考になるアドバイスをどうもありがとうございました。
993:名無しさんの野望
09/10/12 14:26:43 nuVpP7Eh
>>984
・あらかじめ部屋の中にSM(Test001)を配置している
→部屋に配置しているのだから、最初から部屋にいるのは正常な動作
・スクリプトは「部屋の中のSM(Test001)」を対象にして動いている
→「部屋の中のSM=Test001」に対して、殺したり生き返らせたりを行っている
→逆に言うと、「何もないところにSMを呼び出す」動作はしていないので正常
994:983
09/10/12 21:51:20 QhHOAibO
>>993さん
正常ということで安心しました。まだまだスクリプトは初心者以下のレベル
なので他所様のMODを参考に練習していきます。
解説していただきどうもありがとうございました。
995:名無しさんの野望
09/10/13 08:24:38 iU7TX5B9
>>977
返信ありがとうございます。また、試してみます。
GECK@wikiのスクリプトの質問が出ていたので、横から失礼します。
このスクリプトはミュータント一体を相手にしていたわけですが、仮に複数の敵を出そうとした場合。
これは単純にTest001(対象のSM)をコピペするだけでいいのですか?
それとも、一つ一つに名前を付け(例:test002,test002…)スクリプトも対象となる名前を書き足すのが正しいのですか?