レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
改造・制作スレ part4
-
改造・オリシナ制作などはこちらで。
過去に似たような質問があるかもしれないので、極力調べてから質問しましょう。
改造・制作スレ 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
-
更に質問の連続で申し訳ないんですがp2uni1とかそのへん全部見ても全部クラス構造体になっています
クラス構造体でも大丈夫なんですか?
内政用ユニットと内政用クラスの違いがまだイマイチ掴めてない・・・
-
先に言っとくけど466の人じゃないよ
内政用のボタンを人材にすると雇用可能なボタンがソートされるようになる
クラスだと単に上から並ぶだけだから数が多い時の見やすさに差が出てくるかな
それに後からボタンを追加するのも人材の方が簡単
クラスだと雇用設定が違うのを全通り用意しないとダメだと思う
人材ボタンとクラスボタンが混在してると雇用ウインドウには雇える人材→雇えない人材→クラスって並ぶから
ごちゃまぜにすると見た目が悪くなるのには気をつけてね
でも人材を使った内政ボタンは自分が試してみた範囲では怪しい動きが多い
増殖(移動させたいのにコピー扱いになっちゃう)とかroamUnitで放浪にできないとか
上手くいく時といかない時があるから内政ユニット(人材)はどこかしら不安定なところが残ってるんじゃないかと思う
単純なボタンとして一度使えればいいなら人材でもそんな問題ないけどね
-
その話を聞く限りはまず混在は切り捨てかな
基本的に内政で1回押す→そのボタンに対応したイベントってのを作りたいんですよね
例えば2勢力あって、勢力1にはABCDE 勢力2にはFGHIいるとして勢力1を操作するとするじゃないですか
そしたら勢力1用の内政にはABCDEというユニットが出てきて、クリックするとAならAとの会話でchoice使ってそのキャラが強くなったり弱くなったり
pushRAND使って1%の確率で自殺するとか
当然ながらFGHIが一覧に現れるととても不都合
最初はそこから始めて、イベントで世界が動くだとか、そのキャラクターの挙動が変わるだとかしたいんですよね
これなら人材のほうがいいのかな?
とりあえずは仲間のユニットと触れ合えるゲームって感じのやつを作りたいんで、内政ボタンはその場のeraseの使い切りが基本でいきたいんですよね
-
後はどうしてもわからないのが466のneweq2がspotとして、merceもないのにどうやってclassと繋がってるのかまだよくわかってなかったり・・・
質問ばかりで申し訳ないのですが、内政って本当に難しい・・・
休みつかって一日中ずっとにらめっこしても理解できないのが自分でもショック……
@ppの部分ですが、
event kakunin
{
if (isPlayerTurn()){
storePlayerPower(@pp)
}
}
をイベント構造体として作って、シナリオ構造体に
event(kakunin)
ぶち込んでるだけで一応毎回確認できてるのかな……
出来てるのかどうかすらもはや頭こんがらがってきてる
-
466の細かい話は作者さんにお任せ
ボタンを再利用しないなら人材でも大きな問題はない
ていうか再利用は上手く動かないことが多いから俺はオススメしない
某シナリオでは問題なく動いてた使い方で実験し続けて一週間くらいだけどいい加減嫌になってきた
757の用途なら人材の方が向いてるよ
うろ覚えのななあしさんの過去レス的にもeraseUnitで使いきり推奨なんだろうなって気がするしそれで問題ないかと
-
>>758
雇用欄にズラリと並ぶのが嫌なので私は内政ユニットに直接merceを付けています。
雇用する為の内政ユニットを大量に作らないといけなかったり、
内政ユニットを内政領地に放浪させるという拡張の手軽さは消えますがここはもう個人の好みです。
スクリプトの動きは所々にmsg()で番号でも入れておけばゲーム内で目で追い易くなります。
-
>>759
やっぱ人材ですかー
ありがとうございます
>>760
なるほど msgをつけるのは考えてなかったです
内政ユニットに直接merceってどこだろう……
内政クラスとスポットはわかるんですが、内政ユニットがどれだけ探しても見つからなくって・・・
-
おかげ様で何とか所属するキャラクターだけの表示
まではできました!
が
リセットしてロードすると消える悲しいオチ・・・
ロードした瞬間にstorePlayerPowerをブチ込むいい方法なはいだろうか・・・
-
全てのタイミングでやれば?重くなるが。
-
監視用の文字変数作って空文なら適当な文字列を代入した上で配置でいけるんじゃないかな
試してないけどstory構造体の尻にでも書いとけばそんな手間じゃないし重くもならないでしょ
-
なるほど 勉強になります
ありがとうございました
多分なんとなくやり方は把握しました
明日やってみます モウムリ……
ここ2日でない頭に内政詰め込みまくったら脳みそミルク粥みたいになってきた……
いやマジでどうしよう……
もっといえばset以外の文字変数の理解もここ2日で詰め込んだ気がする……
-
ゆっくり楽しんでやろうぜ
それが長続きのコツ
-
短時間で頑張りすぎた、無理をしてもいい結果は多分出ないぞ
-
ななあし製作者様に改善案の提案があります。
ユニットが、遮蔽有りのスキルを持つ味方の遮蔽範囲内に、
移動しない(できない)ように移動し、
遮蔽範囲内に入っている場合は、お互いに遮蔽外に出て行くように移動する、
移動システムを導入することはできないでしょうか?
仮に導入するのであれば、
戦闘時のウインドウに、遮蔽移動ON・OFFを設定するボタンを1つ付ける形になるのではと思います。
遮蔽システムは面白いシステムですが、
同時にゲームの爽快感やテンポを悪くする原因にもなってしまっています。
自動で間を取ってくれれば、爽快感やテンポを損なうことなく、
遮蔽システムの楽しさを活かすことができると愚考します。
それと、現在シナリオロード時の画像表示に表示ウェイトがかかっているようですが、
実質的にロード時間が長くなってしまっているように感じるため、
廃止するか、劇的に短くした方が良いと愚考します。
もしよろしければ修正を考えて頂ければ幸いです。どうかよろしくお願いします。
-
少しお聞きしたいのですが
スクリプトでスキルを与えた人材が後にクラスチェンジした場合
与えたスキルは消去される仕様だったと思いますが
クラスチェンジ等で消去されない用にする方法は有りますでしょうか?
-
こういうひとつのオリシナの都合で本体の仕様の変更を求めるのってどうかと思うわ。
-
>>768の言うことは無視してください。
遮断が嫌で嫌で暴れまくっているだけなんです。
-
つーかいつからVTは爽快感とテンポを重視するゲームになったのだね
んなもんはオリシナごとで変わるだろうに
-
話ぶった切ってすみません。全体強化を複数合わせて攻撃力アップ&防御力ダウンってスキルを作りたいんですが、
攻撃アップから直接防御ダウンに繋げると攻撃アップしか発生しません。
攻撃力の代償として防御力を下げるため別々に分けるわけにはいかないので、heal系スキルの繋げ方を教えてくださると
有り難いです。
-
一般公開の際はスクリプトの不正な編集を回避する為に暗号化する事をお薦めします。
-
debug_paper.txt に「encode」を記述してVahren.exeを実行するとスクリプトファイルが暗号化されます。
例:debug_paper.txtに
test2
encode
と記述すると、test2のscriptフォルダにある全datファイルが暗号化されます。
すでに暗号化されてるファイルはスルーされます
とあるのですが、フォルダ名を試しにtest2にしてこのままブチこんでも暗号化できません
encodeぶちこんでもただデバッグモードで開始しちゃうだけなんですが、何が間違っているんでしょうか
-
>>773
heal系スキルからheal系スキルは繋げられないはず。
func = missileのスキルを使って適当な範囲でbom = on、attack_usを用いて
味方に当てて、afterhitとかで適当につないだ後、rushで分岐させて
攻撃上昇と防御下降をつければいいんじゃないかな。多分。
ただ問題点としては、func = healと違ってfunc = missileでは、objectの上や
凸凹の激しいところ(境目)にキャラがいた場合、スキルが当たらず
不発に終わる可能性があった気がします。多分。
-
imageviewが動作してくれません
症状としましてはimageview.jarを起動後
画像の一覧が現れてクリックまではできるのですが
その後のイメージの削除と更新が反映されません 正常に終了しました というメッセージは出ます
以前も使用していたので操作は間違ってないと思います
当方の環境は windows7 シナリオ製作ツール javaランタイム共に最新です
原因わかる方おられましたら教えて頂きたいです
-
java最新だと不具合が起こるとかどうとかこのスレにもあった気がする。
-
その不具合おれが書いたやつだ、症状も一緒
javaのhpから一個まえのやつ探したけど見つからなかったから、もっと前のver6update35を入れなおせばおkだった
-
>775
やっぱり普通には繋げないのですね。
なんとかいい感じになるように頑張ってみます。
-
>>779
召喚で唱える奴を出した後に使わせて自爆とか
-
>>780
確かに召喚兵にしたら問答無用でマイナスも使ってくれそうですね。
でも、自爆ってできるんですか?自分に当たる技を持たせたらそれを先に使われることもありそうですし。
-
>>777
>>778
ありがとうございます
古い奴持ってないしどうしようかな 困った
-
>>782
たぶんわかると思うけど、入れ替えるのはjavaランタイムで、最新のやつ削除して旧ver入れなおしね
javaランタイムの旧verはjavaのHP内にまだあるし検索しても出てくるから
-
>>783
無事imageviewが動作しました
親切にありがとうございます
-
能力ダウン技の時はadd2にadd_all使えないんだっけか?
いまいちwikiだけじゃよくわからん部分が多くてバグかどうかも判断できないんだよなー
仕様として動作が通常と変わってる部分あるなら制作講座にまとめてほしいなぁ
-
解雇できない配下を作る方法ってありますか?
-
ななあし様、スキルについて提案があります。
スキルでslideの値を指定するとそのスキルを使用後に発射ユニットがスライドしますが、その後元の位置に帰ってきます。
そこで、スライドしたきり、発射位置に戻らないようにする関数などどうでしょうか?
また、スライドの移動方向を前後以外にも指定可能にできれば、戦闘およびスキルにさらに幅ができると思ったのですがいかがでしょうか?
-
>>787
それならknockで擬似的にできるよ
動かしたい方向の反対側からバーを自分に向かって飛ばすイメージ
-
>>788
787じゃないですが。
knockは右クリック連打で抜けることが可能なのと、
knockのスピードを調節出来ないという点から、実用するのは結構難しい気がします。
-
光の目のcontextとか見てると
時々wikiに載ってない項目が書かれているんだけど
あれ何なんだろう?
以前はあったけど今はない項目ってことなのかな?
-
通りすがりですが右クリックは分からないのですけれど、
スピードは確かデフォのcontextにunit_knock_speedという関数を発見して、そちらで調整出来るっぽいです。(もとの値の400から50に変えるとノックバックゆっくりになってました。)
>>790
上記のノックスピード関数も、デフォのcontextにしか載っておらずwikiにはないみたいなので、隠し関数みたいな感じになってるのかもしれません。
-
というか本体の更新に対してwikiの更新が遅いだけ、
特にcontextは大半が記述を無視できるから殆ど目がいかない
-
AIの設定が使えるようになったら本気出す
-
787と似たようなことを思ってた
あと、前にも書いてた人がいたけど、escape_run の逃げる角度をescape_degreeとかで
指定出来たら回り込みとか出来るようになるのになと
-
ななあしさんに提案なのですが始めから陣営が決まっているユニットは作れないでしょうか?
陣地制圧のような感じで防御側の砲兵の死亡スキルで攻撃側陣営の砲兵を召喚して砲兵陣地制圧とか面白そうと思ったのですが。
イベントだと重くなりそうで。
-
戦闘イベントでaddSkillが動作しないのですがバグでしょうか?
addSkill2だとちゃんと動作します
-
自己解決しました
どちらも正常に作動していました
すみません
-
contextだとすべてのスキルのknockスピードが変わっちゃうから調整が難しいですね・・・
それとknockのスピードが調整できるようになるなら加速度も弄れるようになれば良さそうですね。
-
領土の繋がりをランダムにするシナリオを組んでみようかと思ってるんだけど全部の領土がひとつながりになってるかを確認する関数をどう組めばいいかわからない・・・
-
判定だけなら
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(つながってないんだヨー)
}
-
連レスすまん
こうしゅれば変数をひとつ減らせたな
storeNextSpot(@allspot2,@allspot2)
if (count(@allspot2) == 0) {
-
>>800
回答ありがとうございます
-
連レスすいません、よく考えたらこの関数だと個々の領地が他の領土と繋がっているかを確認できるだけでひとつながりになっているかどうかを判定できていないですよね
例:A,B,C,Dと領地があってAとB、CとDにそれぞれ繋がりがあるときに[A,B]間と[C,D]間は行き来できないのに繋がってる判定になる
-
ごめんなさい、こちらに誤解があったようです >>803のレスは無かった事にしてください
-
>>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(つながってないんだヨー)
}
-
またミス
× index(@allspot,idx,@spot)
○ index(@allspot,0,@spot)
-
>>805
改めてありがとうございます
-
p1がp2を滅ぼした場合という条件式を作りたいのですが、どういう条件式を書けばいいか思いつきません
滅ぼした瞬間にイベントを起こしたいのですが・・・
-
if(isWar(p1, p2) == 1 && isInvade(p1, p2) == 1 && isAlive(p2) == 0){
イベント内容
}
でどうだろうか。
-
もともとマスターを設定していない勢力に、マスターを追加する方法がわかりません
wikiを見ても、changeMasterではマスターの変更しかできないようなので、どうにも……
一応、追加するマスターを初めからマスターに設定した別の勢力を用意しておき、
もとの勢力を滅ぼしてマスターを設定した別の勢力に切り替えるという方法も考えたのですが、
これだと一度勢力を滅亡させなければならないので、なにか他にやり方があれば教えていただきたいです
-
そもそもマスターのいない勢力って存在できたっけ
-
>>811
wikiには
master = (ユニット)
マスターにするユニット。未指定の場合はマスター不在勢力となり全領地を失った時に滅亡します。
とあり、マスターがいなくても存在できるようで、デフォシナでは最終決戦Ⅲのリュッセル国がこれにあたるようです
-
指定されたスポット群を、どの勢力でもいいので、1勢力が全部所有した場合・・・。
というif文を作りたいのですが、この場合、勢力ごとを判定できるような方法ってありますでしょうか?
やはり、『勢力aがスポット群Aを所有しているか?』というのを全勢力パターン作るしかないでしょうか。
-
スポット群の中の特定の一つの領土の所有勢力を取り出してスポット群全部がその支配勢力であるかどうか確かめればいいんじゃね
-
おぉ、成程! 調べてみたら出来そうです。
これで、全勢力分x全スポット群というif文作成地獄は免れそうです。
お答え頂きありがとうございました。
-
二つあったらいいなってシステムがあるんですけど…
一つ目は索敵。同盟したら索敵範囲が広がるとかつけるともっと同盟の
意義が増えてくると思うんです。広いマップじゃないと役にたたなさそうですけど。
もう一つは同盟の仕様。
親密度の高さによって同盟国間で出来ることが増えるというのはどうでしょう?
呉越同舟のように険悪同士でも危険になったら同盟しあうようになったらいいと思うんです。
険悪・疎遠:援軍 普通:共闘 親密:貿易 友邦:軍事通行権みたいな。
長レス失礼しました。
-
貿易は具体的にどういうこと?
-
>>817
貿易相手の収入が高ければたかいほどこちらの収入も増えて
そこにいろいろ補正をかけたり。あと財政ユニットが空気化してるので
そこで何かに使えないかな〜なんて。
自分が言いたかったことは同盟すると出来ることが戦闘以外でも
あったらいいなということなので。
-
>>816
呉越同舟はすでにあるよ。
最大勢力が突出した場合他の全勢力同士が積極的に同盟。
-
>>819
あ、強くなったらなんで誰も同盟してくれなくなるんだろと思ってましたが
そういうことだったんですか。
-
索敵はダメだと思うな
CPUは自ターンの開始時のみ人材雇用を行うから
CPUが勢力を滅亡させても滅亡した勢力の人材が撃破した勢力に行かずに同盟国に行ってしまう
それよりも勧誘がほしいな、忠誠度が低いキャラクターを対象に雇用費の4倍×その人材の忠誠度払って敵勢力の人材を雇用するみたいな
同盟だとそれが半額になるとか
-
同盟国から引き抜いたら、逆に問題でしょwww
-
同盟国から引き抜くなよww
-
同盟国キレるでホンマwww
-
マスターが初期領地から移動しない設定って現verでできますか?
-
>>822-824
勧誘で払った資金は敵勢力の軍資金に入れて、更に「お前は我が勢力の人材を奪ったのだぞ(-4)」って感じに親密度が激減すればいいかなって
不満を持っているものを煽って焚きつけて、自軍勢力に引きこむイメージだったんだけどね
忠誠度が高ければ必要費用が高騰して雇えないし、ぶっちゃけ忠誠度が旗揚げのみの死にパラメーターになってたから下がると危険だよの意味も込めて
>>825
マスターがは無理だと思う
勢力が初期領地から他国に侵略しなくなることはできるけど
-
試したことないけど、
初期領地を別ゾーンにして開始ターンに強制的に行動終了させて事実上の移動不能にしちゃうとかは?
-
>>826
忠誠度が空気化してるのは激しく同意。一定の数値以下になったら手薄で一番近い
領地で旗揚げするというのはどうだろ所持金もその時活用できるし。
扇動?みたいなコマンドになるのかそしたら。
-
civみたいに領地取ったらなんらかのデメリットが欲しい
現時点で領地取った時のデメリットって人材に金払うくらいですよね?
大国でも金(物量)だけじゃあ勝てないなんらかの仕組みが欲しいんだよなあ…
-
そういう漠然とした要望には応えようがないと思う。
せめて具体的にどんなデメリットがあればいいのかとか。
-
確かに領地拡大のデメリットは欲しいかも。
内政充実度みたいな適当な変数を用意して、毎ターン一定数上昇
領地を落とすごとに減少
減りすぎるとユニット能力にマイナス補正がつくとかどうだろうか
-
つナチガリア
-
>>830
思いついたの書きます
・土地毎にMAX100の幸福度もしくは民忠を設置。中立の土地の場合は50から
敵の土地の場合は0から。30未満だと一定以上の兵を置いてないと中立の土地に
逆戻り。50未満だと兵の雇用が出来ない。数値は攻撃を受けなければ上がっていき
また攻撃を受けたら下がっていく。城や砦だと一定量減少量が減る。
土地の収入は数値が30だったら30%、100だったら100%。
これだと兵の補充もしばらく他からやらないといけないですし
今よりは攻めにくくなるかと。
-
↑この仕組みに1ターンに◯マスまで移動可能とかを混ぜれば
大国がより不利になると思います。
-
ユニット総数が増えると加速度的に重くなるのと
不退却ハメの元になりそうなところが気になる
領地にユーザーが指定できる数値と文字列のセットがあれば便利かもしれないと思ったことはある
文字列は幸福度や忠誠とかのラベル
数値は単純に数値変数みたいなの
-
>>833
スクリプトでできそうなこと
・土地毎にMAX100の幸福度もしくは民忠を設置。→できる、領地分数値変数用意すればいいんじゃ
中立の土地の場合は50から敵の土地の場合は0から。→できる
30未満だと一定以上の兵を置いてないと中立の土地に逆戻り。→できる
50未満だと兵の雇用が出来ない。→これは制御できそうにないけど、ゾーン制じゃないと他の領地からいくらでも送り込めるのでは?って下に書いてあるか、ゾーン設定するのが前提になりますね
数値は攻撃を受けなければ上がっていきまた攻撃を受けたら下がっていく。城や砦だと一定量減少量が減る。 →できる
土地の収入は数値が30だったら30%、100だったら100%。→できる、歳入は直接いじれないけど、ターン開始時に全部歳入→数値100未満のところをマイナス計算で処理すれば帳尻合わせられる
現状でも、ほぼできそうじゃない?自分なら「兵の雇用ができない」部分を、その領地所在ユニットにステマイナスアイテムスキル割り当てるように処理するけど。「領地内の安定化で忙しくて戦闘どころじゃない」って意味でステ低下。民忠が上がれば解除とか。
-
>>836
能力ダウンいいですね。数値が0〜30の時は30%低下 31〜50の時は10%低下とかも
出来るんですか?
-
ざっと思いつくスクリプトかいてみた
・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)}
-
>>838
おお、中立化も再現出来るんですか!!
-
あらかじめ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 で一旦全部消して付与しなおすと、複雑なスクリプト組まなくていいと思います。重くなる可能性大ですが…
あ、領地から移動する可能性あるから、全ユニット対象に消さないとダメだな・・・
-
戦闘開始イベントを作っているのですが、絶対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回目もやっちゃうので……
その戦闘が何回目かっていうのを調べる関数はないでしょうか?
-
ワールドマップでのBGMを固定する方法ってありましたっけ?
-
>>842
毎ターンイベントで音楽を流すようにしては?
-
>という風にあったとすれば、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ならば、二回目の戦闘なので二回目の会話イベントを発生させるようにすればいい。
と思いました。
見当はずれな、もしくは間違った内容を含む回答だったらすいません。
-
まだ試してはないけど私は、
戦闘前会話に入る、set関数で何か付ける。
ワールドマップに戻る、関数戻す。
それで関数無いときだけイベント。
ってのを考えていましたが、出来たっけ?
と、おぼろげながらこんな感じでいけそうじゃないです? って提案してみます。
-
>>844
後者の質問はその通りでした
前者に関しては、1000もあればどうしても被る場合があるんですよね
例えばある戦闘において1000のうち3つ(a,b,c)の条件を満たすとします
っていうか1000もあればユルい条件で発生するもん同士がいくらでも起きちゃうんですよね
そしたらイベントa完了後にb、b完了後にcってなっちゃいますよね
これが困るんです
a,b,cのイベント全ての条件を満たしているなら、aだけみたいなのがいいんですよね。
yetをつければもうaが起きる事がないから、同じ条件での戦闘が起きればb,cしか起きない
ただbのあとにcが起きると困るからこれも困る
要は戦闘前会話イベントを1回しか起こしたくないんですよね
ちょっと説明がヘタでごめんなさい……
-
>>845
ワールドマップに戻った瞬間に戻せる関数ってありましたっけ……
あったらそれでいけそうです。
もしくは
戦闘に入った瞬間に関数変えて、イベント終わったら関数戻すとかできればいいなぁ
どんな状況でも戦闘に入った瞬間真っ先にsetする方法があればいいのだけど……
-
ぱっと見た感じ別にできないことはないな
困るんですとかボヤくより頭と手を動かそうや
できるだけ自分で考えないとこの手のは身につかんよ
-
今、作ってたらこんな感じでいけそうな気がしました。
シナリオ構造体の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では、優先順位が高いのを先に書いてね。
-
あ、ごめん。
たぶん要らないの部分、物凄くいるわ。必要不可欠な部分でした。
・・・あれ? こうなるとそもそも毎回判定いらないような。
何かゲーム開始時にset判定いれちゃって、それでまとめてもいいかも知れません。
-
>>848
うん・・・
その通りだと思うけど、その状況をつくるまでプレイするのが毎回毎回大変で・・・
ヘタするとクリアするまでやっても出てこない場合が……
デバッグって本当に大変だと思う
手を煩わせてしまってごめんなさい
>>849
有難うございます
ちょっと違う手を試してる途中ですが、それがダメそうならやってみますね!
ありがとうございます
-
一通り動くか確認するのに律儀に本番と同じ条件文でやるこたーないぞ
間違いようがない条件を省略したりさっさと発動させるために仮のでっち上げ条件にしたり
臨機応変にやろうや
-
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)
}
-
ななあし様、更新お疲れ様です!
新機能の索敵がとても面白そうです!久々の大規模更新で嬉しいです。
その索敵に関してですが、気になった点がいくつかありましたので
質問させて下さい。
・view_rangeはステータス画面には載せないのでしょうか。
・blindでも右下のミニマップには平然と敵位置が表示されていますが、
これを非表示にすることは可能なのでしょうか。
・召喚ユニットにview_rangeを設定して召喚しましたが、索敵機能が
ありませんでした。contextやclass・unitなどで、element_view_range = onみたいなのが
設定できたらありがたいと思いました。これがあると、周りを照らすスキルなども
作れると思います(索敵と同様、プレイヤー側使用時のみ効果ありで)。
よろしくお願いします。
|
|
掲示板管理者へ連絡
無料レンタル掲示板