したらば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

786名無しさん:2012/09/12(水) 18:14:36 ID:???
解雇できない配下を作る方法ってありますか?

787名無しさん:2012/09/12(水) 22:24:18 ID:???
ななあし様、スキルについて提案があります。

スキルでslideの値を指定するとそのスキルを使用後に発射ユニットがスライドしますが、その後元の位置に帰ってきます。
そこで、スライドしたきり、発射位置に戻らないようにする関数などどうでしょうか?
また、スライドの移動方向を前後以外にも指定可能にできれば、戦闘およびスキルにさらに幅ができると思ったのですがいかがでしょうか?

788名無しさん:2012/09/12(水) 22:26:17 ID:???
>>787
それならknockで擬似的にできるよ
動かしたい方向の反対側からバーを自分に向かって飛ばすイメージ

789名無しさん:2012/09/12(水) 22:37:39 ID:???
>>788
787じゃないですが。
knockは右クリック連打で抜けることが可能なのと、
knockのスピードを調節出来ないという点から、実用するのは結構難しい気がします。

790名無しさん:2012/09/13(木) 07:00:08 ID:???
光の目のcontextとか見てると
時々wikiに載ってない項目が書かれているんだけど
あれ何なんだろう?
以前はあったけど今はない項目ってことなのかな?

791名無しさん:2012/09/13(木) 09:08:23 ID:???
通りすがりですが右クリックは分からないのですけれど、
スピードは確かデフォのcontextにunit_knock_speedという関数を発見して、そちらで調整出来るっぽいです。(もとの値の400から50に変えるとノックバックゆっくりになってました。)
>>790
上記のノックスピード関数も、デフォのcontextにしか載っておらずwikiにはないみたいなので、隠し関数みたいな感じになってるのかもしれません。

792名無しさん:2012/09/13(木) 17:45:28 ID:???
というか本体の更新に対してwikiの更新が遅いだけ、
特にcontextは大半が記述を無視できるから殆ど目がいかない

793名無しさん:2012/09/13(木) 18:00:24 ID:???
AIの設定が使えるようになったら本気出す

794名無しさん:2012/09/13(木) 20:46:53 ID:???
787と似たようなことを思ってた

あと、前にも書いてた人がいたけど、escape_run の逃げる角度をescape_degreeとかで
指定出来たら回り込みとか出来るようになるのになと

795名無しさん:2012/09/13(木) 21:33:20 ID:???
ななあしさんに提案なのですが始めから陣営が決まっているユニットは作れないでしょうか?
陣地制圧のような感じで防御側の砲兵の死亡スキルで攻撃側陣営の砲兵を召喚して砲兵陣地制圧とか面白そうと思ったのですが。
イベントだと重くなりそうで。

796名無しさん:2012/09/14(金) 03:42:44 ID:???
戦闘イベントでaddSkillが動作しないのですがバグでしょうか?
addSkill2だとちゃんと動作します

797796:2012/09/14(金) 04:04:00 ID:???
自己解決しました
どちらも正常に作動していました
すみません

798名無しさん:2012/09/14(金) 12:42:51 ID:???
contextだとすべてのスキルのknockスピードが変わっちゃうから調整が難しいですね・・・
それとknockのスピードが調整できるようになるなら加速度も弄れるようになれば良さそうですね。

799名無しさん:2012/09/15(土) 21:12:49 ID:???
領土の繋がりをランダムにするシナリオを組んでみようかと思ってるんだけど全部の領土がひとつながりになってるかを確認する関数をどう組めばいいかわからない・・・

800名無しさん:2012/09/16(日) 01:27:43 ID:???
判定だけなら
storeAllSpot(@allspot)
set(idx,0)
while (idx < count(@allspot)) {
index(@allspot,idx,@allspot2)
storeNextSpot(@allspot2,@nextspot)
if (count(@nextspot) == 0) {
break()
}
add(idx,1)
}
if (idx == count(@allspot)) {
msg(つながってるヨー)
} else {
msg(つながってないんだヨー)
}

801名無しさん:2012/09/16(日) 01:36:48 ID:???
連レスすまん
こうしゅれば変数をひとつ減らせたな
storeNextSpot(@allspot2,@allspot2)
if (count(@allspot2) == 0) {

802名無しさん:2012/09/16(日) 01:39:03 ID:???
>>800
回答ありがとうございます

803802:2012/09/16(日) 01:53:58 ID:???
連レスすいません、よく考えたらこの関数だと個々の領地が他の領土と繋がっているかを確認できるだけでひとつながりになっているかどうかを判定できていないですよね
例:A,B,C,Dと領地があってAとB、CとDにそれぞれ繋がりがあるときに[A,B]間と[C,D]間は行き来できないのに繋がってる判定になる

804名無しさん:2012/09/16(日) 01:57:39 ID:???
ごめんなさい、こちらに誤解があったようです >>803のレスは無かった事にしてください

805800:2012/09/16(日) 02:46:31 ID:???
>>803
まさにその通り
無かったことになどできましぇん
storeAllSpot(@allspot)
index(@allspot,idx,@spot)
set(idx,1)
while (idx < count(@allspot)) {
index(@allspot,idx,@allspot2)
if (isJoin(@spot,@allspot2) == 0) {
break()
}
add(idx,1)
}
if (idx == count(@allspot)) {
msg(つながってるヨー)
} else {
msg(つながってないんだヨー)
}

806名無しさん:2012/09/16(日) 02:47:47 ID:???
またミス
× index(@allspot,idx,@spot)
○ index(@allspot,0,@spot)

807名無しさん:2012/09/16(日) 03:09:44 ID:???
>>805
改めてありがとうございます

808名無しさん:2012/09/16(日) 15:14:49 ID:???
p1がp2を滅ぼした場合という条件式を作りたいのですが、どういう条件式を書けばいいか思いつきません
滅ぼした瞬間にイベントを起こしたいのですが・・・

809名無しさん:2012/09/16(日) 18:16:09 ID:???
if(isWar(p1, p2) == 1 && isInvade(p1, p2) == 1 && isAlive(p2) == 0){
イベント内容
}

でどうだろうか。

810名無しさん:2012/09/17(月) 21:48:06 ID:???
もともとマスターを設定していない勢力に、マスターを追加する方法がわかりません
wikiを見ても、changeMasterではマスターの変更しかできないようなので、どうにも……

一応、追加するマスターを初めからマスターに設定した別の勢力を用意しておき、
もとの勢力を滅ぼしてマスターを設定した別の勢力に切り替えるという方法も考えたのですが、
これだと一度勢力を滅亡させなければならないので、なにか他にやり方があれば教えていただきたいです

811名無しさん:2012/09/17(月) 23:46:50 ID:???
そもそもマスターのいない勢力って存在できたっけ

812名無しさん:2012/09/18(火) 07:12:26 ID:???
>>811
wikiには

master = (ユニット)
マスターにするユニット。未指定の場合はマスター不在勢力となり全領地を失った時に滅亡します。

とあり、マスターがいなくても存在できるようで、デフォシナでは最終決戦Ⅲのリュッセル国がこれにあたるようです

813名無しさん:2012/09/19(水) 00:13:15 ID:???
指定されたスポット群を、どの勢力でもいいので、1勢力が全部所有した場合・・・。
というif文を作りたいのですが、この場合、勢力ごとを判定できるような方法ってありますでしょうか?

やはり、『勢力aがスポット群Aを所有しているか?』というのを全勢力パターン作るしかないでしょうか。

814名無しさん:2012/09/19(水) 01:17:33 ID:???
スポット群の中の特定の一つの領土の所有勢力を取り出してスポット群全部がその支配勢力であるかどうか確かめればいいんじゃね

815名無しさん:2012/09/19(水) 01:38:49 ID:???
おぉ、成程! 調べてみたら出来そうです。
これで、全勢力分x全スポット群というif文作成地獄は免れそうです。
お答え頂きありがとうございました。

816名無しさん:2012/09/19(水) 18:43:07 ID:jdJlo/7w
二つあったらいいなってシステムがあるんですけど…
一つ目は索敵。同盟したら索敵範囲が広がるとかつけるともっと同盟の
意義が増えてくると思うんです。広いマップじゃないと役にたたなさそうですけど。
もう一つは同盟の仕様。
親密度の高さによって同盟国間で出来ることが増えるというのはどうでしょう?
呉越同舟のように険悪同士でも危険になったら同盟しあうようになったらいいと思うんです。
険悪・疎遠:援軍 普通:共闘 親密:貿易 友邦:軍事通行権みたいな。

長レス失礼しました。

817名無しさん:2012/09/19(水) 19:39:24 ID:???
貿易は具体的にどういうこと?

818名無しさん:2012/09/19(水) 19:55:50 ID:jdJlo/7w
>>817
貿易相手の収入が高ければたかいほどこちらの収入も増えて
そこにいろいろ補正をかけたり。あと財政ユニットが空気化してるので
そこで何かに使えないかな〜なんて。
自分が言いたかったことは同盟すると出来ることが戦闘以外でも
あったらいいなということなので。

819名無しさん:2012/09/19(水) 21:38:10 ID:???
>>816
呉越同舟はすでにあるよ。
最大勢力が突出した場合他の全勢力同士が積極的に同盟。

820名無しさん:2012/09/19(水) 21:44:54 ID:jdJlo/7w
>>819
あ、強くなったらなんで誰も同盟してくれなくなるんだろと思ってましたが
そういうことだったんですか。

821名無しさん:2012/09/20(木) 00:18:41 ID:???
索敵はダメだと思うな
CPUは自ターンの開始時のみ人材雇用を行うから
CPUが勢力を滅亡させても滅亡した勢力の人材が撃破した勢力に行かずに同盟国に行ってしまう

それよりも勧誘がほしいな、忠誠度が低いキャラクターを対象に雇用費の4倍×その人材の忠誠度払って敵勢力の人材を雇用するみたいな
同盟だとそれが半額になるとか

822名無しさん:2012/09/20(木) 01:35:21 ID:???
同盟国から引き抜いたら、逆に問題でしょwww

823名無しさん:2012/09/20(木) 01:36:19 ID:???
同盟国から引き抜くなよww

824名無しさん:2012/09/20(木) 01:45:56 ID:???
同盟国キレるでホンマwww

825名無しさん:2012/09/20(木) 02:13:26 ID:???
マスターが初期領地から移動しない設定って現verでできますか?

826名無しさん:2012/09/20(木) 11:05:15 ID:???
>>822-824
勧誘で払った資金は敵勢力の軍資金に入れて、更に「お前は我が勢力の人材を奪ったのだぞ(-4)」って感じに親密度が激減すればいいかなって

不満を持っているものを煽って焚きつけて、自軍勢力に引きこむイメージだったんだけどね
忠誠度が高ければ必要費用が高騰して雇えないし、ぶっちゃけ忠誠度が旗揚げのみの死にパラメーターになってたから下がると危険だよの意味も込めて

>>825
マスターがは無理だと思う
勢力が初期領地から他国に侵略しなくなることはできるけど

827名無しさん:2012/09/20(木) 16:00:39 ID:???
試したことないけど、
初期領地を別ゾーンにして開始ターンに強制的に行動終了させて事実上の移動不能にしちゃうとかは?

828名無し:2012/09/20(木) 19:40:24 ID:er5ifY2g
>>826
忠誠度が空気化してるのは激しく同意。一定の数値以下になったら手薄で一番近い
領地で旗揚げするというのはどうだろ所持金もその時活用できるし。
扇動?みたいなコマンドになるのかそしたら。

829名無し:2012/09/20(木) 19:46:52 ID:er5ifY2g
civみたいに領地取ったらなんらかのデメリットが欲しい
現時点で領地取った時のデメリットって人材に金払うくらいですよね?
大国でも金(物量)だけじゃあ勝てないなんらかの仕組みが欲しいんだよなあ…

830名無しさん:2012/09/20(木) 20:24:56 ID:???
そういう漠然とした要望には応えようがないと思う。
せめて具体的にどんなデメリットがあればいいのかとか。

831名無しさん:2012/09/20(木) 20:57:42 ID:???
確かに領地拡大のデメリットは欲しいかも。
内政充実度みたいな適当な変数を用意して、毎ターン一定数上昇
領地を落とすごとに減少
減りすぎるとユニット能力にマイナス補正がつくとかどうだろうか

832名無しさん:2012/09/20(木) 21:01:42 ID:???
つナチガリア

833名無し:2012/09/20(木) 21:11:30 ID:er5ifY2g
>>830
思いついたの書きます
・土地毎にMAX100の幸福度もしくは民忠を設置。中立の土地の場合は50から
敵の土地の場合は0から。30未満だと一定以上の兵を置いてないと中立の土地に
逆戻り。50未満だと兵の雇用が出来ない。数値は攻撃を受けなければ上がっていき
また攻撃を受けたら下がっていく。城や砦だと一定量減少量が減る。
土地の収入は数値が30だったら30%、100だったら100%。
これだと兵の補充もしばらく他からやらないといけないですし
今よりは攻めにくくなるかと。

834名無し:2012/09/20(木) 21:33:40 ID:er5ifY2g
↑この仕組みに1ターンに◯マスまで移動可能とかを混ぜれば
大国がより不利になると思います。

835名無しさん:2012/09/20(木) 21:52:29 ID:???
ユニット総数が増えると加速度的に重くなるのと
不退却ハメの元になりそうなところが気になる

領地にユーザーが指定できる数値と文字列のセットがあれば便利かもしれないと思ったことはある
文字列は幸福度や忠誠とかのラベル
数値は単純に数値変数みたいなの

836名無しさん:2012/09/20(木) 21:56:22 ID:???
>>833
 スクリプトでできそうなこと
・土地毎にMAX100の幸福度もしくは民忠を設置。→できる、領地分数値変数用意すればいいんじゃ
中立の土地の場合は50から敵の土地の場合は0から。→できる
30未満だと一定以上の兵を置いてないと中立の土地に逆戻り。→できる
50未満だと兵の雇用が出来ない。→これは制御できそうにないけど、ゾーン制じゃないと他の領地からいくらでも送り込めるのでは?って下に書いてあるか、ゾーン設定するのが前提になりますね

数値は攻撃を受けなければ上がっていきまた攻撃を受けたら下がっていく。城や砦だと一定量減少量が減る。 →できる
土地の収入は数値が30だったら30%、100だったら100%。→できる、歳入は直接いじれないけど、ターン開始時に全部歳入→数値100未満のところをマイナス計算で処理すれば帳尻合わせられる

現状でも、ほぼできそうじゃない?自分なら「兵の雇用ができない」部分を、その領地所在ユニットにステマイナスアイテムスキル割り当てるように処理するけど。「領地内の安定化で忙しくて戦闘どころじゃない」って意味でステ低下。民忠が上がれば解除とか。

837名無し:2012/09/20(木) 22:10:36 ID:er5ifY2g
>>836
能力ダウンいいですね。数値が0〜30の時は30%低下 31〜50の時は10%低下とかも
出来るんですか?

838名無しさん:2012/09/20(木) 22:31:45 ID:???
ざっと思いつくスクリプトかいてみた
・s1 loyalty_s1, s2 loyalty_s2, s3, loyalty_s3・・・みたく領地の数だけ数値変数

・p1が攻めた領地がs1で、かつ戦闘後p1がその領地を占領したらloyalty_s1に0をセット
storePowerOfAttack(@atkpower)
storeSpotOfBattle(@btlspot)
storePlayerUnit(@playerunit)
if(isPlayer(p1)== 1 && inPower(p1, @btlspot) == 1 && @btlspot == s1 && @atkpower == p1 ){
set(loyalty_s1, 0)
clearBattleRecord() }
ここやっつけだから、元が中立だとどうすっか

・その領地が10ユニット以下で中立化
storeUnitOfSpot(s1, @s1_unit)
pushVar(@s1_unit, s1_unit)
if(loyalty_s1 <= 30 && s1_unit <= 10){
storeLeaderOfSpot(s1, @uuu)
storePowerOfSpot(s1, @ppp)
removeSpot(s1)
addUnit(@uuu, @ppp)}

攻撃受けたら下がって…→fightevent で戦闘起きた瞬間loyalty_s1から減算すればいい、戦闘なければターン開始時にadd(loyalty_s1, 〜)


収入のマイナス計算処理
pushGain(s1, s1_gain)
pushMoney(p1, p1_money)

if(loyalty_s1 < 100){
add(loyalty_s1, -100)
mul(loyalty_s1, s1_gain)
div(loyalty_s1, 100)
add(p1_money, loyalty_s1)}

839名無し:2012/09/20(木) 22:43:48 ID:er5ifY2g
>>838
おお、中立化も再現出来るんですか!!

840836&838:2012/09/20(木) 22:54:37 ID:???
あらかじめls_hp_down30 とかls_hp_down10 とかのアイテムスキル用意して、上の続き
if(loyalty_s1 <= 30){
storeUnitOfSpot(s1, @s1_allunit)
eraseSkill(@s1_allunit, ls_hp_down30, ls_hp_down10)
addSkill(@s1_allunit, ls_hp_down30)}
else if(loyalty_s1 <= 50){
storeUnitOfSpot(s1, @s1_allunit)
eraseSkill(@s1_allunit, ls_hp_down30, ls_hp_down10)
addSkill(@s1_allunit, ls_hp_down10)}
else{
storeUnitOfSpot(s1, @s1_allunit)
eraseSkill(@s1_allunit, ls_hp_down30, ls_hp_down10)}
こんなかんじで
eraseskill で一旦全部消して付与しなおすと、複雑なスクリプト組まなくていいと思います。重くなる可能性大ですが…
あ、領地から移動する可能性あるから、全ユニット対象に消さないとダメだな・・・

841名無しさん:2012/09/25(火) 02:05:03 ID:WyHEnsnQ
戦闘開始イベントを作っているのですが、絶対1回しかイベントが出ないようにする方法ってありますか?

例えば
event fe1
{
if (yet(fe1_kaiwa1) && inBattle(A,B) ) {
event(fe1_kaiwa1)
}
if (yet(fe1_kaiwa2) && inBattle(A,C) ) {
event(fe1_kaiwa2)
}

}

という風にあったとすれば、A・B・Cが戦場にそろえばkaiwa1のあとにどうしてもkaiwa2が出てきてしまいますよね
これをkaiwa1だけにして、仮に別の戦闘でABCが揃ったときにkaiwa2だけが発動されるようにしたいんです。

勿論これは例なので、もっと細かい条件をつければいいのは分かっていますが、これが例えばイベント1000通り存在していたとしたら、全ての条件をつけるのは不可能に近いので、設定とかでスマートにできないかなと


あとは、1回目の会話はこれ、2回目の会話はこれ……10回目はって風にする方法もそれとは別に知りたいです。
yetを使ってしまうとその戦場で1回目も2回目もやっちゃうので……
その戦闘が何回目かっていうのを調べる関数はないでしょうか?

842名無しさん:2012/09/25(火) 02:49:15 ID:???
ワールドマップでのBGMを固定する方法ってありましたっけ?

843名無しさん:2012/09/25(火) 02:50:52 ID:???
>>842
毎ターンイベントで音楽を流すようにしては?

844名無しさん:2012/09/25(火) 02:53:42 ID:???
>という風にあったとすれば、A・B・Cが戦場にそろえばkaiwa1のあとにどうしてもkaiwa2が出てきてしまいますよね
>これをkaiwa1だけにして、仮に別の戦闘でABCが揃ったときにkaiwa2だけが発動されるようにしたいんです。

その、「別の戦闘で」の部分を条件式として付け足せばいいのでは。
特定のspotで発生させたいのならspotを判定、特定のイベントのみ発生させたいのなら
何らかのフラグを判定、など。

>勿論これは例なので、もっと細かい条件をつければいいのは分かっていますが、
>これが例えばイベント1000通り存在していたとしたら、全ての条件をつけるのは不可能に近いので、
>設定とかでスマートにできないかなと

何故、全ての条件をつけるのが不可能に近いのでしょうか。
異なるイベントが1000通りあるのならば、異なる1000通りの条件が必要なはずです。
ただ、そのイベントを発生させる条件が何らかの法則性に依っていたり、単純なものならば、楽することはできるのではないでしょうか。

>yetを使ってしまうとその戦場で1回目も2回目もやっちゃうので……
>その戦闘が何回目かっていうのを調べる関数はないでしょうか?

数を数えればいいのでは。
仮に「AとBが同戦場にいた場合」ならば、その都度、変数(ex. count_AandB)に1を足していく。
count_AandB = 1ならば、一回目の戦闘なので一回目の会話イベントを発生させるようにすればいい。
count_AandB = 2ならば、二回目の戦闘なので二回目の会話イベントを発生させるようにすればいい。

と思いました。
見当はずれな、もしくは間違った内容を含む回答だったらすいません。

845名無しさん:2012/09/25(火) 02:54:21 ID:???
まだ試してはないけど私は、

戦闘前会話に入る、set関数で何か付ける。
ワールドマップに戻る、関数戻す。
それで関数無いときだけイベント。

ってのを考えていましたが、出来たっけ?
と、おぼろげながらこんな感じでいけそうじゃないです? って提案してみます。

846841:2012/09/25(火) 03:12:55 ID:???
>>844
後者の質問はその通りでした
前者に関しては、1000もあればどうしても被る場合があるんですよね
例えばある戦闘において1000のうち3つ(a,b,c)の条件を満たすとします
っていうか1000もあればユルい条件で発生するもん同士がいくらでも起きちゃうんですよね

そしたらイベントa完了後にb、b完了後にcってなっちゃいますよね
これが困るんです

a,b,cのイベント全ての条件を満たしているなら、aだけみたいなのがいいんですよね。
yetをつければもうaが起きる事がないから、同じ条件での戦闘が起きればb,cしか起きない
ただbのあとにcが起きると困るからこれも困る
要は戦闘前会話イベントを1回しか起こしたくないんですよね

ちょっと説明がヘタでごめんなさい……

847841:2012/09/25(火) 03:16:27 ID:???
>>845
ワールドマップに戻った瞬間に戻せる関数ってありましたっけ……
あったらそれでいけそうです。

もしくは
戦闘に入った瞬間に関数変えて、イベント終わったら関数戻すとかできればいいなぁ
どんな状況でも戦闘に入った瞬間真っ先にsetする方法があればいいのだけど……

848名無しさん:2012/09/25(火) 03:35:05 ID:???
ぱっと見た感じ別にできないことはないな

困るんですとかボヤくより頭と手を動かそうや
できるだけ自分で考えないとこの手のは身につかんよ

849名無しさん:2012/09/25(火) 03:48:59 ID:???
今、作ってたらこんな感じでいけそうな気がしました。

シナリオ構造体のworld部分に
if(vs_kaiwa == 1){
set(vs_kaiwa,0)
} たぶんset部分だけでも問題なし。

fight構造体に
if(vs_kaiwa == 0){
event(kaiwa_all)
set(vs_kaiwa,1)←心配なのでつけてみたけどたぶん要らない
}
どこでもいいので
event kaiwa_all
{
if(inBattle(a,b) && あと欲しい状況のif文){
event(kaiwaA)
return()←これ大事?
}
if(・・・・・・・ry

って感じで、会話イベントをまとめるとどれか発動後にリターンで抜けるので
とりあえず1回で終わるはず・・・。
kaiwa_allでは、優先順位が高いのを先に書いてね。

850名無しさん:2012/09/25(火) 03:56:41 ID:???
あ、ごめん。
たぶん要らないの部分、物凄くいるわ。必要不可欠な部分でした。
・・・あれ? こうなるとそもそも毎回判定いらないような。
何かゲーム開始時にset判定いれちゃって、それでまとめてもいいかも知れません。

851841:2012/09/25(火) 04:04:03 ID:???
>>848
うん・・・
その通りだと思うけど、その状況をつくるまでプレイするのが毎回毎回大変で・・・
ヘタするとクリアするまでやっても出てこない場合が……
デバッグって本当に大変だと思う
手を煩わせてしまってごめんなさい

>>849
有難うございます
ちょっと違う手を試してる途中ですが、それがダメそうならやってみますね!
ありがとうございます

852名無しさん:2012/09/25(火) 12:13:20 ID:???
一通り動くか確認するのに律儀に本番と同じ条件文でやるこたーないぞ
間違いようがない条件を省略したりさっさと発動させるために仮のでっち上げ条件にしたり
臨機応変にやろうや

853名無しさん:2012/09/25(火) 18:34:41 ID:???
else使え

一回ぽっきり
event fe1
{
if (yet(fe1_kaiwa1) && inBattle(A,B) ) {
event(fe1_kaiwa1)
} else if (yet(fe1_kaiwa2) && inBattle(A,C) ) {
event(fe1_kaiwa2)
}
}

回数
if (inBattle(A,B)) {
add(inBattleA_B,1)
}
if (yet(ev_1) && inBattleA_B == 1) {
event(ev_1)
} else if (yet(ev_2) && inBattleA_B == 2) {
event(ev_2)
} else if (yet(ev_3) && inBattleA_B == 3) {
event(ev_3)
}

854名無しさん:2012/09/26(水) 00:01:56 ID:???
ななあし様、更新お疲れ様です!
新機能の索敵がとても面白そうです!久々の大規模更新で嬉しいです。

その索敵に関してですが、気になった点がいくつかありましたので
質問させて下さい。

・view_rangeはステータス画面には載せないのでしょうか。
・blindでも右下のミニマップには平然と敵位置が表示されていますが、
これを非表示にすることは可能なのでしょうか。
・召喚ユニットにview_rangeを設定して召喚しましたが、索敵機能が
ありませんでした。contextやclass・unitなどで、element_view_range = onみたいなのが
設定できたらありがたいと思いました。これがあると、周りを照らすスキルなども
作れると思います(索敵と同様、プレイヤー側使用時のみ効果ありで)。

よろしくお願いします。

855名無しさん:2012/09/26(水) 00:08:58 ID:???
ななあし様、更新お疲れ様でした!

>>854様の内容とほぼ同じなのですが、
その他、難易度毎の設定では無く、ワールドマップ上の戦闘ならば索敵無し、
特定のダンジョン内では索敵有り等、索敵の有無を任意で指定できるように出来ないでしょうか。

現状で既に任意選択可能ならば申し訳ありません。

856名無しさん:2012/09/26(水) 01:41:03 ID:???
索敵してない部分も薄暗く表示は欲しいな
または切り替え方式か

857名無しさん:2012/09/26(水) 19:32:14 ID:???
>>854-855
・view_rangeは戦闘時のステータスウィンドウにのみ表示されます(味方のみ)
・ミニマップは視界制限されない仕様になってます・・・。
・召喚ユニットは、unit/class構造体に「view_unit = on」とすれば索敵オンになります。

・通常戦闘では、context構造体の難易度設定に「blind」を記すと視界制限になります。
・ダンジョンでは、dungeon構造体に「blind = on」と記すと視界制限になります。各階ごとでも指定できます。
・イベントバトルでは、event構造体に「blind = on」とすると視界制限になります。

858名無しさん:2012/09/26(水) 19:44:33 ID:???
>>675
scenario構造体に、
offset = 放浪
とするとメニューウィンドウから「放浪」ボタンが消えます。

offset = ボタン名, ボタン名, ‥
とボタン名を列挙する事でシナリオごとにメニューウィンドウのボタンを消せます。
ボタン名一覧

ターン終了     ←ターンが半角である事に注意してください
ターン委任
人材雇用
外交
探索
静観
機能

行動終了
状態
放浪
旗上げ
陪臣雇用
探索
静観
機能

859855:2012/09/26(水) 20:12:19 ID:???
>>857
個別設定が出来るのですね!
素敵な仕様追加に感激しました!
御回答ありがとうございました!

860名無しさん:2012/09/26(水) 21:29:03 ID:???
>>857
わかりました、どうもありがとうございます!

861名無しさん:2012/09/26(水) 23:16:44 ID:???
ひとつ質問を

クラスAはレベルアップでクラスCになり、初期能力値を設定している
クラスBはクラスBまたはCを雇用でき、能力値の変更を行なっている
クラスCはクラスBを継承して作成され、名前以外に変更点はない

とするとクラスB、クラスCを雇用する際はどちらも同じ能力となるけど
クラスAからレベルアップでクラスCになるとクラスBで設定した能力値の変更がされない

これは仕様ですかね?

862名無しさん:2012/09/27(木) 04:37:57 ID:???
>>858
ありがとうございます
解雇ボタンは消すことはできませんか?

863名無しさん:2012/09/28(金) 00:32:36 ID:???
blindおもしろい新機能ですね。
さて、現状はマップ単位での指定は不可でしょうか。
攻城戦は防衛側だけ完全に視界確保とか。
これは門とかのobjectにview rangeが有る形でも雰囲気が出るかと思います。

864名無しさん:2012/09/28(金) 10:41:30 ID:???
マップ、勢力単位でのblind指定自分も欲しいです。
活かせるかどうかわかりませんがイベントでオンオフができればより面白そう。

865名無しさん:2012/09/29(土) 03:14:57 ID:???
blind機能でのミニマップ機能の制限は自分も希望です。
実際に見えている位置のみミニマップでも描写といった形で。
最初の数秒だけマップ見えるのは良いと思います。

866名無しさん:2012/09/29(土) 11:17:44 ID:???
戦闘開始後にだんだん暗くなると、敵の構成が分かっちゃうから残念・・・
もう一枚、戦闘開始後に真っ暗から透明になるレイヤーを重ねられたらいいんじゃないかと

867名無しさん:2012/09/29(土) 13:06:05 ID:???
blind
視界が正方形なのはやはり変です。

人材プレイ時の視界の表示は操作部隊のみの方が良いと思います。太守時は全部隊表示で。

ミニマップは制限より消してしまった方が処理が楽なのでは。視界以外見えないんですし。

あと、以前誰かが要望出してたと記憶していますが、
戦略画面で敵勢力部隊を非表示にする機能が欲しくなる所だと思います。

ああ勿論、blindとは分かれた別の機能として。選択不可は製作者には嫌でしょうし。

868名無しさん:2012/09/29(土) 14:16:41 ID:???
>>866
最初少し見えないと戦場会話が出来ないのよね
スクリプトで戦闘中にBLINDオンオフ切り替えられたら良いんだが
>>867
ミニマップは視点移動に使うので削除は反対だな
視界外は見えないのが良いかと

869名無しさん:2012/09/29(土) 14:55:40 ID:???
デフォルトシナリオの設定で視界が自分の部隊のみになったら正直しんどいかと
大雑把な地形も見えないしさ
やっぱりユニットだけマスクするのって難しいのかな

870名無しさん:2012/09/29(土) 16:42:44 ID:???
>>868
そういう兼ね合いがあるのか
戦闘の途中で条件満たして発生する会話の時に、暗いのが一時的に非表示になったから行けそうだと思ったんだが
難しいな

871名無しさん:2012/09/29(土) 22:50:53 ID:???
if(条件1){
関数1
}
if(条件2){
関数2
}
if(条件3){
関数3
}
   ・
   ・以下略
   ・
↑のような形でスクリプトを書いて動作確認をしていたのですが
条件2が満たされず関数2が動作しないと、3番目以降の条件は満たされているにも関わらず
3番目以降の関数が動作しないという現象に悩んでいます。なんとか関数を動作させたいのですが
どのように修正すればいいのでしょうか?

872名無しさん:2012/09/29(土) 22:59:13 ID:???
スクリプトのどこかに問題がある
そもそも条件3が満たされていない

どう直せばいいか具体的に指摘するには情報がなさ過ぎるよ

873名無しさん:2012/09/29(土) 23:08:38 ID:???
if(isPlayer(人材1) == 0 && isEnemy(人材1, @PC) == 1){
pushLevel(人材1, @人材1level)
storeMemberOfUnit(人材1, @人材1member)
set(num, 0)
while (num < countVar(@人材1member)) {
storeIndexVar(@人材1member, num, @temp)
pushLevel(@temp, @templevel)
if (@templevel < @人材1level){
setLevel(@temp, @人材1level)
levelup(@temp, 1)
setLevel(@temp, @人材1level)
}
add(num, 1)
}
>>872
CPU人材の部下のレベルが人材より低いときに人材と同じレベルにしたくて
↑のようなスクリプトを書きました。これ単品だと動作を確認できたのですが
これの人材1の部分を人材2とか人材3とかにしただけのものを複数並べて
人材2やそれと同じ勢力の人材でプレイすると何故か人材3以降の部下のレベルが
修正されないというような現象が発生しました

874名無しさん:2012/09/29(土) 23:18:30 ID:???
>>873
書き直してて気がついたけど最初のif文が閉じられていないよ。
} ←コレが一個抜けてる。

875名無しさん:2012/09/29(土) 23:22:52 ID:???
>>874
閉じてみたらちゃんと動きました。ありがとうございました。

876名無しさん:2012/09/29(土) 23:37:55 ID:???
>>875
873のスクリプトにはいくつか記述ミスがあります。
数値変数の先頭に@は必要ありません。@が必要なのは文字変数です(pushLevelなどで見られました)

単に部下のレベルを上げればいいだけなら、全人材分のif文を用意しなくても下記の一文を挿入すればOKです。
この条件だと常にすべての人材をチェックするので、適宜必要な条件を付け足してあげて下さい。

storePlayerUnit(@pler)
storeAllTalent(@alltalunit)
subVar(@alltalunit, @pler)
while (countVar(@alltalunit) > count) {
storeIndexVar(@alltalunit, count, @temp)
if (isEnemy(@temp, @pler) == 1 && isPlayer(@temp) == 0 && isLeader(@temp) == 1 && isRoamer(@temp) == 0) {
set(count3, 0)
pushLevel(@temp, count2)
storeMemberOfUnit(@temp, @temp2)
while (countVar(@temp2) > count3) {
storeIndexVar(@temp2, count3, @temp3)
pushLevel(@temp3, count4)
while (count2 > count4) {
levelup(@temp3, 1)
pushLevel(@temp3, count4)
}
add(count3, 1)
}
}
add(count, 1)
}
clearVar(@temp)
clearVar(@temp2)
clearVar(@temp3)
set(count, 0)
set(count2, 0)
set(count3, 0)
set(count4, 0)

877名無しさん:2012/09/29(土) 23:39:10 ID:???
追記:このままだと見づらいので、もしお使いになる時は適宜インデントして下さい。

878名無しさん:2012/09/30(日) 00:28:47 ID:???
>>867
戦略画面の敵部隊非表示は確かに面白そう。
戦力値とユニット数だけ表示される感じで。
ただ関数でオンオフ切り替え出来るようにしてほしいな。

879名無しさん:2012/09/30(日) 06:08:01 ID:???
>>876
ご指摘ありがとうございます。スクリプトも凄く参考になりました。

880名無しさん:2012/09/30(日) 22:44:29 ID:???
ななあし様、更新お疲れ様です!
blindがすごく良くてなっていて、とても嬉しいです。ありがとうございます。

881名無しさん:2012/10/01(月) 00:30:40 ID:???
バグ報告です。最新版で戦場のユニット数が多すぎるとクラッシュするようです。
以前のバージョンでは問題なかった状況でクラッシュが確実に発生するので、恐らく視界追加による内部処理の負荷が原因かと思われます。

882名無しさん:2012/10/01(月) 01:02:02 ID:???
上記報告ですが、デフォルトシナリオで色々試しましたがこちらではクラッシュが発生しないようです。
ただ、拙作(下記にDL先URLも記載)に以下のパッチを導入した状態でユニットが増えると発生します。
ttp://ux.getuploader.com/illuminate/download/317/crush.zip
今後のデバックの参考にして頂ければ幸いです。

blind機能の実装お疲れ様です。
毎度の更新ごとにヴァーレンの完成度が上がり続け、素晴らしい物となっていくのを目撃出来、プレイヤーとして楽しい限りです。

883名無しさん:2012/10/01(月) 01:14:16 ID:???
マクセンとテステヌのドットの製作者様
素晴らしいドットをありがとうございます
ただ本スレにも書きましたがマクセンのドットの明度を上げていただくことはできないでしょうか?
山や荒地などの特定の地形で乱戦になった時マクセンが背景に溶け込んで非常に操作しづらいことがあります

884名無しさん:2012/10/01(月) 02:48:07 ID:???
実際のプレイ時における問題点の御意見ありがとうございます。
全体的に少し明るくしてみたものをうpさせて頂きました。
一番目立つであろう上半身部分の布?を特に明るくしてみたのですが、効果はでるでしょうか・・・。

885名無しさん:2012/10/01(月) 11:04:04 ID:???
召喚のview_unit = onが付いたのを召喚すると強制終了するような気がするのですが・・・




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