したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

改造・制作スレ part4

1名無しさん:2012/03/08(木) 22:51:43 ID:???
改造・オリシナ制作などはこちらで。
過去に似たような質問があるかもしれないので、極力調べてから質問しましょう。

改造・制作スレ part3
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1305281909/l50
改造・制作スレ part2
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1282244590/l50
改造・制作スレ
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1250722590/l50

482名無しさん:2012/07/11(水) 17:55:35 ID:???
うーん・・・
2ターン目開始はしないですね・・・
なんでかしらないけど、1ターン目の過去の回想より先にきてしまう・・・

483名無しさん:2012/07/11(水) 18:05:12 ID:???
getTurn() >= 2
としたら2ターン目最初になるんじゃないかな?
間違えてたらすまぬ

484名無しさん:2012/07/11(水) 18:08:46 ID:???
回想の条件文がおかしいか何か勘違いしてないか
回想の条件文も張ってみな

485名無しさん:2012/07/11(水) 19:35:09 ID:???
>>483
回想も消えてしまった・・・

event op_p1
{
select(seldat, これまでの経緯を回想しますか?)
if (seldat == 0) {
return()
}
scroll(s1)
wait()
hideSpotMark()
showSpotMark()
hideSpotMark()
}

486名無しさん:2012/07/11(水) 19:43:01 ID:???
とりあえずデフォシナの条件文を参考にしながらやってるんだけど、イベントでつまづいてしまった
イベント以外はほとんどうまくいってるんだけどなあ

487名無しさん:2012/07/11(水) 20:00:53 ID:???
色々書き直したらなんとかなおりました
>>483さんのやり方でよかったみたいです
ありがとうございました!

488名無しさん:2012/07/11(水) 20:09:41 ID:???
>>485
op_p1に飛ぶ条件が見たかったんだが
まあとにかくgetTurn() >= 2もgetTurn() == 2のどっちも基本一緒だし問題の根本的なところは直ってないと思うぞ
イベント構造体に飛ぶ順番も影響するからそこもチェックしとくべき
慣れるまで大変だろうけどがんばれ

489名無しさん:2012/07/11(水) 20:17:44 ID:???
やっぱりたいていの人が最初に躓くのってイベント構造体?

490名無しさん:2012/07/11(水) 20:34:35 ID:???
要望ですが、
unit構造体のmerce をlearnみたいにレベルUPで増やす・・・みたいなことは出来ますでしょうか?

特殊クラス系統とかで、他の一般クラスを雇用・・・となった際に、初期クラスしか雇えないと
後半は一般が頼りなく、かといって上位クラス等をmerceに記述しておくと最初期から高レベルの一般を雇い始めて半敵無し状態になってしまうので、
レベルで増やせたらいいな、と思った次第です。

クラスアップを用意して、各上位クラスにそれぞれ上位雇用用のmerceを記述しても一応可能なのですが、
それをした場合は、そのユニットには個別の雇用設定を用意出来なくなることと、class記述のmerceはCOMに雇用可能と判定されないのか、
ランダムシナリオなどでマスターになった際、雇用可能なのに勢力の一般兵としては雇用しない(自分の配下枠のみ雇用)、といった問題も併発してしまうので・・・

よろしければ、ご検討をお願いします。

491名無しさん:2012/07/11(水) 20:46:19 ID:???
>>488
条件ってどれだろ・・・シナリオ構造体のやつ?
たしかに根本的なところ治ってなかった・・・

なんでかしらないけど、書いたことを2回実行する上に、なぜか3ターン目も同じの2回実行しとる・・・
1回でいいのに4回もするなんて欲張りすぎる・・・

492名無しさん:2012/07/11(水) 21:11:12 ID:???
getTurn() == 2はターン数が2
getTurn() >= 2はターン数が2以上
2ターン目になると真って判定されるのは一緒だけど
>= 2は他の条件で制限しないと何百回でも実行される

つか言っちゃ悪いがこれの区別もつかんなら製作講座もう一回おさらいした方がいい
基礎の基礎なんだからしっかり身につけとかないと後で苦労するぞ

493名無しさん:2012/07/11(水) 21:12:53 ID:???
うん、そこはわかったんだけど、==でもなるんだよ・・・

494名無しさん:2012/07/11(水) 21:29:03 ID:???
しらんがな
こっちだってエスパーじゃないんだから今ある情報だけじゃ条件文がおかしいとしか言えんよ
zip丸上げすれば誰か添削してくれるだろうけど保証はしない
面倒ならもっと情報書き込んでアドバイス待てばいいんでないの

495名無しさん:2012/07/11(水) 21:34:29 ID:???
なるほど・・・
もうちょっと自分でやってみて無理そうならそうします

496名無しさん:2012/07/11(水) 21:35:56 ID:???
if (getTurn() >= 2 && unko == 0)
set(unko,1)
にせれ

497名無しさん:2012/07/11(水) 21:37:11 ID:???
条件式をif (kaisou == 0 && getTurn() >= 2)にして
中にset(kaisou,1)入れて発生済みにするとかでいけるんじゃない?

498名無しさん:2012/07/11(水) 21:53:08 ID:???
皇帝陛下自重汁

set入れれば発生し続けるのは直せるが
getTurn() >= 2でよくてgetTurn() == 2でダメってのは直ったのか?
直ってないなら頑張って直しといた方がいいよ

499名無しさん:2012/07/11(水) 22:06:41 ID:???
制作ツールて今どこにあるん?
小物入れの2に本体すら見当たらないんだが

500名無しさん:2012/07/11(水) 22:13:51 ID:???
ツクール見たいにツールで編集するんじゃなくて
Unit.datとかのファイルをメモ帳とかで開いて直接弄る形になっておりまする

501465:2012/07/11(水) 22:14:53 ID:???
>>476
新機能ありがとうございます!
色々試してみようと思います

502名無しさん:2012/07/11(水) 22:28:42 ID:???
>>500
多分ななあしさんが更新準備中だから今は入手不可能状態なんだと思う
古いバージョンのVahren.exeが残ってるからそっちで入手可能かも?

>>498
おいらは皇帝陛下じゃないでゲスよ、
ただスクリプトは光の目と製作講座を参考にして得た知識しかないでゲスが

503499:2012/07/11(水) 22:30:32 ID:???
や、ぶっちゃけMOD入れたいからImageのヤツ固めたいんです
PC新調してから前に落としたツールが使えなくなってるから新しく落とそうかと
思ってたら小物入れになくて困ってる

504499:2012/07/11(水) 22:34:38 ID:???
む、リロードしてなかった
今は入手できないのか

とりあえず前々からのでいじってみます
ありがとうございました

505名無しさん:2012/07/12(木) 01:11:27 ID:???
 長文失礼します、質問なのですが。
 story構造体に変数や文字変数の用量ないし使用上限などあるのでしょうか?
 一つのstory構造体内に大量にif構造体を組んだらセーブデータが破損し不正と表示されたり、処理が正常に行われないなどの症状が出ました。
しかし、同じ量のif構造体を複数のdat・story構造体に分割した結果正常に動作するようになりました。
何かしらご存知の方お教え下さい。

506名無しさん:2012/07/12(木) 01:22:35 ID:???
gettrunの問題は、if文にyet()を入れればいいんじゃないの?
if(getTrun() == 2 && yet(イベント構造体名))
これで2ターン目にyet内のイベントが発生していなかったらイベント実行。
ってことになる。イベント発生後は発動しないし。

507名無しさん:2012/07/12(木) 01:59:16 ID:???
>>474
433です。透過の件確認しました、ありがとうございました!

508名無しさん:2012/07/12(木) 02:34:42 ID:???
報告です。

最新版にて、showImage/imageで表示したpng画像の透過が上手く出来ていないようです。
具体的には過去の版で問題なく透過されていたRGB(0 ,0, 0)が、最新版ではそのまま表示されてしまいます。
png自体に透過設定がある場合、ない場合の双方でこの現象が発生しました。
立ち絵は問題ないようです。

509名無しさん:2012/07/12(木) 21:31:20 ID:???
bgmをワールド画面とバトル画面で切り替えせずに流しっぱなしにしたいのですが、
ワールドの方だけbgmを指定してるとバトル画面で曲が終わった時に次の曲を演奏してくれません
何か解決方法はありますか?

510名無しさん:2012/07/12(木) 23:04:04 ID:???
voiceが3キャラ中1キャラを除いて全く喋りません
死亡台詞は喋るんですが・・・
遠距離キャラにしゃべらせるっていうのは無理なのかな・・・

511名無しさん:2012/07/12(木) 23:05:25 ID:???
getTurnの件ですがなんとか解決しました
でもなんで直ったか自分でもよくわかってないんで、ちょっと色々見てみます・・・

512名無しさん:2012/07/13(金) 20:07:00 ID:o/kn9v3w
何度やっても同じ場面でBGMがバグります
音楽を変えても一緒なんですが、何か対処方法はありますか?

513名無しさん:2012/07/13(金) 20:12:39 ID:???
>>510
常に同じタイミングで全員がしゃべるわけではないので要注意ね
あとセリフ少ないとあんまり出ないよ
10種類ぐらいずつ設定してそれでもだめなら記述ミスじゃないかね?

514名無しさん:2012/07/13(金) 20:30:56 ID:o/kn9v3w
>>513
20回はテストプレイしてるんだけど、一人以外全員1度たりと死亡以外で話したことがない・・・
記述見てみます

515名無しさん:2012/07/13(金) 20:38:27 ID:???
たぶんなんだけど、人材を1部隊にまとめてる場合は隊長以外喋んなかった気がする。

516名無しさん:2012/07/13(金) 20:40:10 ID:???
あぁそういやそうだったかも
あと、マスターと部下間違えてないかどうかもチェックしとけ

517名無しさん:2012/07/13(金) 20:46:50 ID:???
3部隊にしてますね
A部隊(A隊長)
B部隊(B隊長)
C部隊(C隊長)
これでABCが人材ならしゃべりますよね?

518名無しさん:2012/07/13(金) 21:21:51 ID:???
>>517
人材ならspotで指定していればしゃべるね
voicetypeを各自専用でもダメ?
(わからなければデフォシナのVoice4を真似して書いてね)

それで大丈夫なら考えられるのは性別
ユニット構造体のセリフ設定で性別指定がなくても
voiceのほうでセリフに性別わけがあると性別が違う場合弾かれるよ

519名無しさん:2012/07/13(金) 21:26:26 ID:???
つーか性別とかマスターと部下とかwikiのvoice構造体?のとこに全部書いてなかったっけ
そんな詰まるとこないはずだが

520名無しさん:2012/07/13(金) 21:30:17 ID:???
つまりvoice構造体のページに書いてあるの全部チェックしてみってことな
たぶんマスターと部下の指定がおかしいか性別だろうが

521名無しさん:2012/07/13(金) 21:38:32 ID:???
二人それぞれ原因違ったけど解決しました
みなさんありがとうございました

あとは音化け・・・
こればっかはどうしようもないのかな・・・

522名無しさん:2012/07/14(土) 16:29:27 ID:???
本体っつーかmidiの仕様の問題だからどっしょもない
MP3にするか気にしないのが一番

523名無しさん:2012/07/14(土) 16:35:50 ID:???
>>509
もう解決されたかもしれませんが一応
scenario構造体に↓のように書くとバトルシーンでもワールドBGMが中断されなくなります。

if (isWorldMusicStop()) {
loopBGM(任意)
volume(任意)
setWorldMusic()
}

context構造体にバトルBGMが設定されている場合、
またはspotやダンジョン等にバトルBGMが設定されている場合はそちらが優先されます。

524名無しさん:2012/07/14(土) 18:18:44 ID:???
>>523
ありがとうございます、無事に連続再生されました

525名無しさん:2012/07/15(日) 08:40:57 ID:???
>>508
バグ連絡をどうもありがとうございます。
申し訳ありませんが、次バージョンのshowImageは
アルファ値が0の部分のみ透過するようにします(現版はまだ透過不可です)
これはずっと残ってたバグだったので、お手数ですが
画像修正の方で対応してくださいますようお願い申し上げます。

526sage man:2012/07/15(日) 14:00:56 ID:???
勢力スキルの実装がかないますように〜〜〜ぃぃぃ

527名無しさん:2012/07/16(月) 03:04:57 ID:???
質問なのですが、
タイトル画面に使用しているtitle.pngについて、
例えばデフォシナでは(女の子の画像)、imageフォルダではなく
a_systemに入っていると思うのですが、例えばこれをイベント関数の
setbcg()やshowImage()で表示させることはできないでしょうか?

528名無しさん:2012/07/16(月) 06:33:34 ID:gZu0kjUs
ゲーム内の顔グラやユニットのグラフィックなどの画像はどのフォルダに入ってますか?

529名無しさん:2012/07/16(月) 06:53:01 ID:???
>>528
顔グラフィックはa_defaultフォルダ>faceフォルダ内
ただし暗号化されているため閲覧は出来ません。

ユニットアイコンはa_defaultフォルダ>imageフォルダ内のimage.dat
こちらに関してはシナリオ製作ツールのImageViewを使用すれば覗く事が可能。
またはペイント等で開くと見る事が出来たりします。
勿論、素材の抜き出し等は禁止されているため注意です。

530名無しさん:2012/07/16(月) 16:01:47 ID:???
ななあし様、本体最新版にて質問なのですが、
center = off のスキル発生位置が以前のバージョンと変化しておりますが、
以降、最新版の発生位置で決定でしょうか。
もし宜しければ、今後の制作の参考にお聞かせいただけると幸いです。

531名無しさん:2012/07/16(月) 21:22:53 ID:???
>>505
返事が大変遅れてしまいまして申し訳ありません。
こちらでも試してみましたが、story構造体の容量制限はないはずなのです・・・。
仕様的にも無制限に書けるようにしております・・・。

>>530
申し訳ありません。当方の手違いで一部発射位置の仕様が変わってました・・・。
次のバージョンで元に戻します。

532530:2012/07/16(月) 21:31:22 ID:???
>>531
御回答ありがとうございました!
御迷惑をおかけしました・・・。

533名無しさん:2012/07/16(月) 21:58:32 ID:???
>>527
画像表示できるフォルダは、image、face、pictureの3つのみとなってます・・・。

image(フルファイル, x(0〜100), y(0〜100))
image(フルファイル, x(0〜100), y(0〜100), zオーダー)
image(フルファイル, x(0〜100), y(0〜100), zオーダー, フェード時間)
画像を表示します。座標は画像中央を軸としたスクリーン百分率です。

上記の関数名のimageを、faceないしpictureに置き換えると
そのフォルダ内の画像ファイルを表示できます。

534527:2012/07/16(月) 22:05:03 ID:???
>>533
ご返答ありがとうございます!
a_systemのは使えない件承知いたしました。
imageフォルダのみでなくface、pictureフォルダを
使えることを伺えて望外の収穫です!
(なんでshowImageと別にimage関数があるんだろうと思ってました。。)

535名無しさん:2012/07/16(月) 23:20:00 ID:???
スキルの挙動に関しての報告です。
最新版(2012/07/16 22:04:30)にしたところ、movetype = swing のnext後の
挙動が以前のVer. と異なっているように思います。

具体的に申し上げますと、以前のVer. においては
center = endのswing型スキルにて、next_intervalを用いてnextスキルを発生させると、
swing型スキルのh/2の地点にnextスキルが発動していたかと思います。
これにより、剣を振って、その軌跡をnext_intervalで表現ということが出来ていました。

更新後のVer. では、謎な位置で発動します。バグでしょうか?
よろしければ検証お願いします。

536名無しさん:2012/07/16(月) 23:39:14 ID:???
>>535
movetype=swingの挙動がいろいろ間違ってたので現版で修正しました・・・。
center=endにすると、発動者の中央点にスキルが登場して固定される仕様となりました・・・。
centerがそれ以外ならh/2の位置に出現します。

解決策としては面倒になりますが、center=endとcenter=onのswingスキルをpair_nextないしjust_nextで
同時に発生させて、後者の方にnextスキルを指定してください。

537名無しさん:2012/07/16(月) 23:43:56 ID:???
>>536
迅速な回答、どうもありがとうございます!
了解しました。

538名無しさん:2012/07/17(火) 12:31:38 ID:???
addSpot(s27)
showSpot(s27)
linkSpot(s26, s27)

これをした後にs27に攻め込むと(戦闘を見た場合のみ)s27が表示から消えてしまいます
退却しようが勝とうが負けようが同じでした

リンクだけは何故か残るし、他の領地を全部占領している状態でも統一しないところをみると、隠れてしまっているようなんです
hideSpotはどこ探してもやってないし、何か思い当たるフシってないでしょうか・・・

539名無しさん:2012/07/17(火) 18:18:22 ID:???
addSpot(s27)
showSpot(s27)
linkSpot(s26, s27)
set(ninnniku,1)

にして、
scenarioの方に下のを追加してみれ
if (ninnniku == 1) {
showSpot(s27)
linkSpot(s26, s27)
}

540名無しさん:2012/07/17(火) 18:21:42 ID:???
>>538
showSpot()やlinkSpotはマップ切り替え毎に再読み込みされていたと思うので、
例えば領地出現フラグAが立っている時は常に表示されるように別の条件文を入れておく、等しないと駄目だった気がします。

541名無しさん:2012/07/17(火) 20:25:32 ID:???
ついでにいうと委任だとスポットが消えた状態でも攻め込みます(手動では攻め込めないのに)


マスターが変わった後にaddSpotしてるとバグるとかそういうのがあるのかな・・・

542名無しさん:2012/07/17(火) 20:26:31 ID:???
>>539-540
どうも
試してみます!

543名無しさん:2012/07/17(火) 20:34:31 ID:???
できました
ありがとうございましたー

544名無しさん:2012/07/17(火) 20:42:14 ID:???
人材のvoiceや死亡セリフに表情差分のような顔グラは付けられないのでしょうか?

545名無しさん:2012/07/17(火) 22:25:49 ID:???
現状無理。
死亡セリフ無くして死亡時人材扱いの目的顔グラユニット召喚、目的顔グラはすぐ自殺スキル使用でセリフと顔グラ表示で
一応できなくもないが光の目レベルの乱闘じゃないと絶対違和感バリバリ。

546名無しさん:2012/07/18(水) 23:08:38 ID:???
傭兵プレイ時に報酬を高くしたいんだがどうすればいいの?

547名無しさん:2012/07/18(水) 23:41:45 ID:???
>>546
wikiトップページ→シナリオ制作講座→context構造体(省略可能な基幹データ)
もしくは、
改造・制作スレ part4の下にある「全部読む」をクリック→
「報酬」で検索

548名無しさん:2012/07/19(木) 19:52:40 ID:???
人材プレイ時、alive_perで設定されたマスターが死んだ時、
育てた一般兵が消えました。
仕様だとしても、ちょっと理不尽だと思います。

549名無しさん:2012/07/20(金) 21:46:51 ID:KQjOQmlk
ワールドマップの背景みんなどうつくってる?

550名無しさん:2012/07/21(土) 00:49:25 ID:???
戦闘力算出方法について質問があります。

wikiに、『「各ステータス×補正係数」の合計に level+(level×fv_level_per×0.01) を掛けて算出」』
とあります。これに従うならば、fv_level_perを0にしたところで、どう足掻いてもlevelの値だけ
乗算されて補正がかかることになると思います。
しかし、最新版で試しにfv_level_per = 0としたところ、レベルによる補正が
なくなりました。正しくはどのように計算されているのでしょうか。

よろしくお願いします。

551名無しさん:2012/07/21(土) 17:36:15 ID:???
>>550
申し訳ありません。正しくは

「各ステータス×補正係数」の合計に「1.0 + (level×fv_level_per×0.01)」を掛けて算出

でした。

552名無しさん:2012/07/21(土) 20:57:31 ID:???
AとBの隊がいたとして、AとBどちらかの大将がやられると、もう一つの部隊を強制的に撤退させることは可能ですか?
その2つの隊が存在する戦闘すべての場合で、イベント戦闘とかそういったものではなくです

553名無しさん:2012/07/21(土) 23:11:41 ID:???
>>551
わかりました、どうもありがとうございます。

554名無しさん:2012/07/22(日) 16:56:32 ID:???
不具合報告です。
pushTrush()を使用するとエラーが出てしまうようです。

555名無しさん:2012/07/23(月) 01:52:06 ID:???
unitに関して質問があります。お知恵を貸して頂けたら幸いです。

unitの雇用やconstiをレベルによって調整したいと考えています。しかし
unit構造体の場合は、class構造体で言うところのclass_changeならぬ
unit_changeみたいなのはないですよね?そうすると、必然的にclassで
あらかじめ設定しておく必要があるはずです。

このunitが、unique = onなどであればある程度は問題ないのですが、普通の
一般classの人材であった場合は、どのようにするのが最善でしょうか…。

仮に人材のclassを、汎用的に使用されているsoldier(fkey = soldier)というclassに仮定した場合、
人材専用のSOLDIERというclassを作り(fkey = SOLDIER)、merceに
soldierを記述する、という方法があります。しかし、この場合2つの問題点があります。

一つは、same_callが使えないこと。もう一つは、>>356>>490にあるように
classのみに記述されたmerceでは、COMが一般雇用してくれないこと、です。

力技としては、class_changeしたいレベルになった人材ユニットを片っ端から
eraseUnitして、class_change後を想定し作成しておいたユニットにaddUnitで
すげ替える、というのもありますが……

長くなってすいません。いい方法があれば教えてください。

556名無しさん:2012/07/23(月) 02:07:21 ID:???
>>555
自身に効果が働くtype = 1のリーダースキルで対処するのが簡単ではないでしょうか。
learnで習得レベルを設定しておけば御望みの設定に出来ると思います。

ただし、スキル欄がゴチャゴチャしてしまう弊害がありますので、
スマートに解決するならば一番下の力技がやはり有効かと思われます。

557名無しさん:2012/07/23(月) 19:55:29 ID:???
相手の勢力ターンを更に高速化できるようにならないかなあ

558名無しさん:2012/07/23(月) 20:01:24 ID:???
経験地増やしたい・・・とりあえず探ったが・・・
hasexpが相手攻撃時の経験地?
expとexp_mulがレベル上がったときの次のレベルに必要な経験地?

でも攻撃時の33%が経験地に入るとかあったが・・・もうさっぱりーだわさ
まぁ適当にいじくるけどね、あんまりスクリプトに関しては疎いもんでry

559名無しさん:2012/07/23(月) 20:04:23 ID:???
has 殴られたとき相手に献上する経験値のベースになる数字
exp 次のレベルまでの経験値を計算する時の土台になる数字
mul 次のレベルまでの経験値を計算する時の倍率のようなもの。1の上下で大きな影響が出る

こんな感じ

560名無しさん:2012/07/23(月) 20:53:21 ID:???
>>559
ありがと
よし、変なとこいじったが直していじるべ

has って相手or自分に対してだろうけど調整すればなんとかなるか

561名無しさん:2012/07/23(月) 22:06:21 ID:???
御報告です。
本体最新版(7/16ver)にて、
eraseTroop関数の処理がおかしいと思います。

storeAliveUnit(class_a, @class_a_all)
dialog(&@class_a_all&)
eraseTroop(@class_a_all)

ダイアログではクラス名が表示されるので
文字変数への代入は出来ているのだと思いますが、
eraseTroop()で削除する事が出来ない場合が多くあり不安定です。
removeTroop()でも同様に消す事が出来ません。

また、御質問なのですが、

eraseTroop(class_a)

マップ配置ユニットに限りeraseTroopのみで
同一の識別子を持ったユニット全てが消去されるようです。
マップ配置ユニットの識別子は内部で+1のようにされてはいないのでしょうか。
よろしければ教えていただけると嬉しいです。
長文失礼しました。

562名無しさん:2012/07/23(月) 22:32:12 ID:???
>>556
ご意見ありがとうございます。
skillのことが完全に頭から抜けてました…。constiはskill関連で
調整しつつ、same_callは関数使ってそれっぽくやってみる方向性で
試してみようと思います。
どうもありがとうございました。

563名無しさん:2012/07/25(水) 18:58:33 ID:???
特定の移動タイプのみ進入できる地形を作る事は可能ですか?

564名無しさん:2012/07/25(水) 20:29:06 ID:???
>>563
特定の移動タイプのみ「侵入する」ことができる地形を作る事は不可能
field構造体にそういったことを可能とする関数がないから

特定の移動タイプのみ「移動する」ことができる地形を作ることは可能だけど

565名無しさん:2012/07/25(水) 21:10:23 ID:???
>>561
申し訳ありませんが、storeTodoUnit 関数の方を試してみてください・・・。
これは生存、死亡の全ユニットを代入するので
これなら前よりマシになるかと思われます・・・。

なお、マップ配置ユニットは全部共通の識別子を持つ仕様になっております。

566名無しさん:2012/07/25(水) 22:38:51 ID:???
質問です
pushMoneyで代入した数値をaddMoneyで減らすことは可能でしょうか?

pushMoney(ユニット,money_a)
addMoney(ユニット,-money_a)

としたのですが、これだと減らすことが出来ませんでした
単純に-をつけるだけでは駄目なのでしょうか?

よろしくお願いします

567名無しさん:2012/07/25(水) 22:45:34 ID:???
-1掛け算
addM

これでおk

568名無しさん:2012/07/25(水) 23:58:30 ID:???
>>567
どうもありがとうございます!
何とか減らすことができました!

569名無しさん:2012/07/26(木) 02:35:57 ID:???
何ターンごとに、というif文を組み立てる方法を教えて頂けないでしょうか?

個人的に「5ターンごとにNPCがレベルアップする」イベントを作りたいのですが、
「5ターンごとに」の部分をどうすれば出来るのかわかりませんでした・・・。
よろしくお願いします。

570名無しさん:2012/07/26(木) 03:06:27 ID:???
面倒臭いから説明省くけどpushTurnとmod使えばできる
if (getTurn()/5 == 1)でもできるがパッと見で意味が分からないなら使わない方がいいかもしれない

スクリプトっつってもやってることは単純なんだからなるだけ自分で考えるようにしようぜ

571名無しさん:2012/07/26(木) 03:14:04 ID:???
>>569
「オリシナつくっちゃお!」というシナリオ作成指導シナリオがあって、そこに具体例が載っているのでお勧め。
自分で考えるのは大事だと思うけど、補助輪なしでいきなり自転車に乗れと言われても無理だと思う。

572569:2012/07/26(木) 19:52:06 ID:???
質問に答えて頂いた、お二人方ありがとうございました。
言われて「オリシナつくっちゃお!」を見直したところ、
件のpushTurnとmodの使い方がわかりました。
まだゲーム上での確認はとれていませんが、これで大丈夫だと思います。

573名無しさん:2012/07/27(金) 10:55:04 ID:???
人材プレイ中に自分の順番になった冒頭にイベントを発生させたいのですが、
isPlayerTurnでは実行出来ないんでしょうか?

if (isPlayer(player) && isPlayerTurn() && yet(event1)
{event(event1)}

ざっくり書くと上のような感じにしていて、人材から君主に変えると動くんですけど・・
isPlayerTurnの「プレイヤー勢力のターン開始時か調べる」とは
プレイヤーが勢力の君主になってないと動作しないって事でしょうか。

574名無しさん:2012/07/27(金) 11:58:24 ID:???
タイミング的にはisNewTurn()でいいんじゃね?

575名無しさん:2012/07/27(金) 11:59:19 ID:???
isPlayerTurnとかは「プレイヤー『勢力』のターン」に関係したものだったと思う。
君主じゃないと動作しないんじゃないかな。

人材プレイの開始直後だったら

isRoamer(Player) みたいな条件とかで。

576573:2012/07/28(土) 02:05:53 ID:???
回答ありがとうございます。

>>574
やっぱりそっちの方が手っ取り早いですかね。
個人的には、例えばイベントでスキルを獲得したりしたら
すぐに自分の目で結果を確認したい方なので、そう出来ないかなと思って。

>>575
やはりそうですか。
教えていただいた通りに書き換えて実行してみましたが、
やっぱり望ましくないタイミングで発生してしまう事もあるので、ちょっと・・
あと、この状態だと常にユニットの状態を把握しないと
いけない気がする(同じイベントの中でLeaderなのか、Roamerなのかとかを)ので、
構文書くのがちと手間かなと。

教えられた事を手がかりにもう一度wikiを見たりして工夫してみましたが、
やっぱり無理そうです。
大人しくisNewTurn()使っておきます。
ありがとうございました。

577名無しさん:2012/07/28(土) 16:05:52 ID:???
>>561
ユニットを削除する時は以下の関数を用いてみてください。

storeTodoUnit(@unit)
removeTroop(@unit)

これで確実に消せるはずなのですが、これで駄目ならかなり根っこの方からプログラムを
見直さねばならなくなるので、申し訳ありませんが現状では実現不可能という事になってしまいます・・・。
ちなみにobject構造体のユニット(城門など)は関数で削除できません。

578名無しさん:2012/07/28(土) 16:19:22 ID:???
>>573
以下で実現できると思います。

storePlayerUnit(@aaa)

if (isMaster(@aaa) == 0 && isNewTurn() && turnflag < getTurn())
{
  pushTurn(turnflag)
  人材プレイ時のプレイヤー開始時の処理
}

まず@aaaに代入されたプレイヤーユニットがマスターか調べて(そうじゃないなら人材プレイ)、
人材プレイヤーターンは新ターン開始時と同じなので、それでチェックして
その後は必ず、turnflagに現在ターンを代入して処理実行済みの判定をします。
これをしないと実行処理のタイミングによっては
同ターンで二度実行される事があるのでご注意ください。

isNewTurn()、isPlayerTurn() などは同じターン内で必ず一回だけ真が返る事を保証しません。
プロセス実行時に数値変数を用いて、そのターンの実行済み判定を行ってください。

579561:2012/07/28(土) 22:12:44 ID:???
>>577
ご回答ありがとうございます!
こちらで色々試してみようと思います。
お手を煩わせてしまい申し訳ありませんでした・・・。

580名無しさん:2012/07/28(土) 23:51:53 ID:???
要望です。
RTSのように各ユニットに視界を設定するようには出来ますか?
敵の動きが分からずおもしろいとおもうのですが。

581573:2012/07/29(日) 02:22:34 ID:???
>>578
丁寧な解説、ありがとうございました。
意図した通りに動作してくれました。
そのまま作ってたら必ずぶつかるであろう壁についても
教授していただきましてありがとうございます。

>人材プレイヤーターンは新ターン開始時と同じ
言われてみれば確かにそうでした・・
ご指摘、どうもありがとうございました。




掲示板管理者へ連絡 無料レンタル掲示板