レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
改造・制作スレ part6
-
改造・オリシナ制作などはこちらで。
過去に似たような質問があるかもしれないので、極力調べてから質問しましょう。
ヴァーレントゥーガまとめwiki シナリオ製作講座
http://www28.atwiki.jp/vahren_ency/pages/411.html
改造・制作スレ
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1250722590/l50
改造・制作スレ part2
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1282244590/l50
改造・制作スレ part3
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1305281909/l50
改造・制作スレ part4
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1331214703/
改造・制作スレ part5
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1350187379/
-
通常の戦闘だとPostInやgetDistanceは使えないっぽい!?
-
プロセス的には
勢力を調べて文字変数Aに入れる 勢力の全人材の識別子を文字変数Bに入れる
while で一人ずつLVを調べて数値変数Aにに加算していく
文字変数Bのデータ数を調べて数値変数Bに入れる 数値変数Aを数値変数Bで割る
それを勢力毎に行う それ+コストの処理ってカンジかな
結構手間やね whileで一人ずつ調べるのも少なからず負荷は掛かるだろうね
元々システム内部で既に計算されてあるのなら それ取り出す関数有れば確かに便利だね
-
人材レベルはまだ大丈夫です。2秒かかるのはユニットの総維持費ですね。
eventを全部展開するのはよさそうですが、それはもっと出来上がってからにしたいかなと。
-
オレの場合、ユニット1,000体を同時に30LVアップしてクラスチェンジさせると
2・3秒とまる感じだけど(これが負荷高いのはまあわかる)維持費と平均レベル抽出するだけで
そんな負荷かかるかな?別の要素が悪さしてそうだけど。どんなスクリプトなのか見てみたい
まいどまいど2秒とまるとか、かったるいな…w
-
まぁ確かにスクリプト
アップしてみるのがいいかもしれんね
-
eventって重くなるんですか?
それぞれのイベントの発動→共通行→それぞれのイベント→共通
って共通部分に飛びまくってるよ…
-
event e_test {}
story s_test {
set(test,0)
dialog(test_start)
while (test < 100) {
event(e_test)
add(test,1)
}
dialog(test_end)
}
100回呼び出すだけでこれ
event(e_test)をコメントアウトして比較するとさらによくわかる
1000とか10000にすると発狂できる
-
ま、まあ3回位しか飛んでないし良いよね?ね?
-
ちょっと気になってたんだけど、world構造体とかfight構造体ってevent構造体とどう違うの?
-
world構造体もfight構造体も、広義ではevent構造体のひとつだけど
「scenario構造体」内の
world = AAA →world構造体「AAA」を指定
fight = BBB →fight構造体「BBB」を指定
//①world構造体*********************
event AAA
{
storePlayerUnit(@player_unit)
if(@player_unit == hoge){msg(プレイヤーは「ほげ」です。)}
if(@player_unit != hoge){event(hogehoge)}
}
//②普通のevent構造体*********************
event hogehoge
{
msg(プレイヤーは「ほげ」ではありません。)
}
//③fight構造体*********************
event BBB
{
storePlayerUnit(@player_unit)
if(inBattle(piyo)){battleEvent(piyopiyo)}
if(inBattle(piyo) == 0){msg(暑いわー今年マジ暑いわーPCのせいで無駄に暖房効いてるわー)}
}
//④event構造体(battleEvent関数で発生させる戦闘中イベント)*********************
event piyopiyo
{//battleEvent関数つかうときはこっちにもなにかしらトリガー入れる
if(getLifePer < (10)){talk(piyo, 死ぬわー、おれもう死ぬわー。)}
}//戦闘中のイベント処理は「必ずbattleEventで実行させる必要がないのもある」普通のevent関数も使えたり
-
さて、wikiより
「scenario構造体のworldで指定されたevent構造体はターン進行時と戦闘終了時に読み込まれます。
fightで指定されたevent構造体は戦闘開始時に読み込まれます。」
…なので、①AAA、③BBBは「ことあるごとに内容が読み込まれる」からここに“イベントトリガー”を書くところにする。
で読み込む都度イベント発生に該当するかチェックする。
もし①記載のトリガーに該当(例、プレイヤーがユニット名hoge「ほげ」でない)→設定通りevent hogeを読みこむことになる。
普通のevent構造体にトリガーを書いても、それを読みに行く関連付けができていなければ意味が無い。
だからおなじevent構造体でも特別に指定した①③はひたすら読み込まれる。だからトリガー専門担当。
そこにevent内容も合わせて書くことも可能だけど冗長になって見辛くなる、だからトリガー専用。
event構造体はscriptフォルダ内であればどこに置いても(多分)読み込む。
オレいい説明したわーわかってくれると思うわーこれwikiに書いてもいいと思うわー
-
言いたいことは分かるけど半端なく読みにくい
-
>>143
一言でいえばイベントが読み込まれるタイミングが違う。
どれもイベントスクリプトが実行される点では同じやね。
-
読み込まれる = 実行するって事でオッケね。
-
>>144-147 その点はよく分かるので質問を変えます。
scenario構造体中でworld = hogehoge としておいた場合、
world hogehoge{
・・・ワールドイベント用の処理・・・
}
と記述した場合と
event hogehoge{
・・・ワールドイベント用の処理・・・
}
と記述した場合には違いがあるんでしょうか?
-
>>scenario構造体中でworld = hogehoge としておいた場合、
この場合実行されるのは上段の
world hogehoge{・・・ワールドイベント用の処理・・・} であって
event hogehoge{・・・ワールドイベント用の処理・・・} は実行されない。
下段を実行する時は event(イベント名) ←のイベント関数を使用して呼び出す。
event()はいわばサブルーチンって奴で。任意のタイミングで実行できる。
world がメインルートで event は分岐 寄り道って言えるかも
scenario構造体中のworld = hogehoge は 原則worldのみに対応してる。
scenario は原則 world×1 fight ×1 event ×any個 で構成されてる。
ごめんね 説明下手だけど… wiki読んでたらだんだん分かってくるよ。うん
-
なんか自分の読解力に自信が無くなってきたわぁw
-
>>150 えーとですね、 world = (event構造体) と記述してもちゃんと動くんですよ。
最新版であってもです。それで、違いがあるのかどうかを聞いていたんですがね。
-
根本的な機能に違いはなかろう
速度もたぶん同じ
ワールドにずらずら書くか書かないかは作者によって違う
ずらずら書くのは光の目が分かりやすい例だけどおすすめはしない。読みにくいから
ワールドやファイトがどこでどんな風に動くかはダイアログぶち込んで試せ
-
>>152
そこを置き換えた事がないので私には分かりません。
あと初心者の様に対応してごめんなさい。
-
world = (文字列) 任意のevent構造体を指定する(ワールドイベントの発生)
って製作講座にあるんだからイベント構造体指定して動かない方がどうかしてる
worldとeventで有意な違いがあるなら普通何か書いてある
えらい細かいところまで気にしてる割にwiki読んでるのか怪しいのも気になるけど
質問するなら最初から152みたいに具体的に書かんとダメよ
あいまいな質問は全員損するだけ
-
>>155 あー、world = (event構造体) と記述してもちゃんと動くことに疑問があるわけではありません。
-
皆さんの回答を読む限り、違いはないという認識でよさそうですね。どうもありがとうございました。
-
>>157
ちなみにどんなシナリオ作ってるんですか?
-
それって質問内容と関係ありますかね?
-
>>159
うん。関係なかったね。申し訳なす。
-
>>159
うん。関係なかったね。申し訳なす。
-
ごめん。ダブった。
-
158の質問は確かに質問には関係ない
けど一連の流れ見てるとなんか質問主の印象すごい悪い
聞き方や答え方って大事ね
-
そんなことは知っとるんじゃヴォケって気持ちは分かるが抑えるべきだったね
-
そう考えると158の質問はむしろ関係あるな。
-
>>163
斜め上の回答すぎて動揺したんだろ
-
最初に質問した内容はworldやfightとeventがどう違うのか
コレジャナイ連発してようやく納得した内容はworld = (event構造体)とした時と(world構造体)とした時で何か違いがあるのか
斜め上すぎるってのは間違ってないな
ぜひシナリオ名を教えて欲しい
-
なんかもうそっとしておいたら?夏だし。
-
せやな
-
>>143 問
>>152 実際の問
これが分かったらIQ140以上らしいぞ
-
ポッキー半分のコピペ思い出したオレ
こんなクソ暑いのがいけないんだよ、きっと
-
実際のところ event(world構造体) もありだしなあ。
-
>>170
完全にスレ違いだがIQってのは年齢と関係してるから
この問題解けたらIQいくつってのはありえないだろ
-
>>173
な、なんというマジレス…
-
<あぼーん>
-
<あぼーん>
-
プレイヤー勢力のマスターがいる領地のユニット全員が参戦するイベント戦闘を起こしたいのですが、うまくいきません
storePlayerUnit(@p_unit)
storeSpotOfUnit(@p_unit,@p_spot)
storeUnitOfSpot(@p_spot,@p_spot_unit)
によって取りだした@p_spot_unitを戦場マップに配置しているのですが、なぜか同じユニットが二人ずつ存在し、また同じ部隊にいるはずの人材ユニットがバラバラの部 隊になってしまいます。
マップメーカーで戦場マップを作る時点で@p_spot_unitが二つ重なっていないかなども何度も確認しましたが、一つしかありませんでした。
また、イベント戦闘で出現する敵のレベルを難易度ごとに変えたいので、イベント戦闘に入る前に難易度ごとにレベルを変更しているはずなのですが、それも反映されません。
if (getMode() == 0) {
eraseSkill(ラスボスのユニット構造体名,スキル)
addLevel(ラスボスのユニット構造体名,-10)
}
if (getMode() == 2) {
addLevel(ラスボスのユニット構造体名,30)
}
構造体名は伏せていますが上記のようなスクリプトで、ラスボスはこの部分の直前に出現させた一時的な領地、勢力に出現させています。
wikiも過去スレも一通り見たつもりですが、解決策がわからないです。
どなたかわかったら教えていただけないでしょうか?
-
bom = on
「範囲攻撃」
ってしかWikiに書かれてないけど、具体的に何がどうなるの?
詳しく解説してある所があれば、教えてくれると助かる。
-
storeUnitOfSpot→storeLeaderOfSpot使ったほうがいいんでないのかな
storeLeaderOfSpot(@p_spot,@p_spot_leader)
subv(@p_spot_leader, @p_unit) ※これはイベント次第
これをaddTroop(@p_spot_leader, …)
だけでまとめてPOPさせられる?かな、わからん。できても並びが美しくないだろうけど
個別にPOPさせるなら戦闘イベント内の前処理で
pushv(@p_spot_leader, leader_counts)//部隊長の数把握
index(@p_spot_leader, 0, @eventunit_no1)
index(@p_spot_leader, 1, @eventunit_no2)
index(@p_spot_leader, 2, @eventunit_no3)
↓必要な分だけ(めんどいけど最大20個か)
if(leader_counts >= 1){addTroop(@eventunit_no1, …)}
if(leader_counts >= 2){addTroop(@eventunit_no2, …)}
if(leader_counts >= 3){addTroop(@eventunit_no3, …)}
↓必要な分だけ(めんどry
すごく欠陥がありそうだけど。どっちもできるかどうか試してない
これならスクリプトだけでマップに置かなくていい
-
>179
個別にPOPさせる方を試したところ、うまくいきました。
部隊長を代入する必要があったのですね……
助かりました!
ありがとうございます!
-
>>178
bom = on
「範囲攻撃」
最低限デフォシナでもオリシナでもいいから遊んで
それで↑見て分からないならもうどんな解説読んでも理解できないと思う
嫌味とか煽りじゃなく真剣に
エスパー募集な人だったら知らん
-
判定の範囲内に敵が二人いた場合
bom= off 一人に当たった時点で判定消失片方は無傷
bom= on 二人にヒット nextも2回
わざわざ言う事でもないかもしれんが、聞きたいのはこういうこと?
-
>>182
そういうことです。
ありがとうございました。
>>181
>嫌味とか煽りじゃなく真剣に
真剣に思って、上記を書きこんだのなら、マジで最低な人ですね
具体的な説明や、言葉での説明求めて何が悪いの?
自分の解釈が間違っているとか勘違いを念のため疑うとかしちゃいけないわけ?
答えになっていない書き込みはしなくていいよ不快なだけだから
-
具体的の中身を書かずただ漠然とどうなるのって悪質問の典型みたいな質問しといてこれか
この間のworld = (event構造体)の人なんて可愛いもんだったな
-
自分の解釈が間違っているとか勘違いを念のため疑うとかあるが
>>178のどこに自分の解釈とやらがあるのか
-
181は至極真っ当な事を言ってる用に思えるが
-
いや 181 が一番悪い。質問文をちゃんと読まずに勝手に推測して答えている。
178 は「範囲攻撃」の仕様、もしくはそれが分かる資料の入手法と質問し、
182 は「範囲攻撃」の仕様を解説した。普通に読むと、それで終わりなはず。
-
要望です。pushRand2() で出てくる乱数がヘンなのでよくしてほしいです。
set(i,150)
while(i){
pushrand2(j)
dialog(&j&)
sub(j,1)
}
というスクリプトで実験すると、ぱっと見でも4の倍数しか出てきませんでした。
-
>>187
どこが勝手に推測してるんだ?
-
>>189
>見て分からないならもうどんな解説読んでも理解できないと思う
これは勝手な推測で決めつけだろ、本当にわからないのか?
-
ハイハイヤメヤメ(AA略)
-
>>190
わからんな。実際にスキル動かせばわかる話だから
-
>>192 >実際にスキル動かせばわかる これも決め付け。
-
推測なら>>182もこれが聞きたいことなのかどうかと確認してるんだから
>>182も勝手な推測だろう。決め付けではないが
-
>>194
>>182
は疑問形にしているし、つまり相手への配慮があるんだから
推測であっても、勝手ではないし
普通に答えただけの182を引き合いに出すのはどうかと
逆に
>>181
>エスパー募集な人だったら知らん
これが煽りでも嫌味でもなく真剣に言っての言葉だったら
素で言ってるって事だろ?
はずみで書いただけだとは思うけど、本当に真剣に言ってたとしたら
どう考えてもNGだと思うけど
-
別に初歩的な質問とかどんどんしてもいいと思うよ
それで質問者が叩かれる流れは好ましくない
でも183は無いわ どう読み比べても181より183の方が文章が下劣
初め読んだ時、なんでそんなに怒るのか分からんかった 沸点低すぎや
-
183=143だからじゃないの
自分の解釈が間違っているとか勘違いを念のため疑うとかってのは、範囲攻撃の話じゃなくて
前のworld、fight構造体とevent構造体のこと
-
証拠も無しに推測で人を疑うなよ。言われた方は自演疑惑と一緒で無実の証明なんて無理なんだから
-
>>193
この意見ってさ 著しく質問者を馬鹿にしてる気がするんだがw
擁護のつもりで言ってるんだろうけども
-
A「これって何?」
B「見りゃ分かんだろ。見て分かんねえなら説明しても無駄だ。それともエスパーか?」
A「おめえ最低だな。質問しちゃいけねえのかよ不快だわ」
酷え会話だ。
-
>>196
煽るなよ
どっちも大差ねーだろ
-
>>201
大差は大アリだが煽ってすまんかった
以降控える
-
暑いからイライラしちゃうのはしょうがないね
-
>>203
アンタはこのスレの清涼剤や
-
要望ですが、自分で自分のスキルを相殺できるようにして欲しいです。
-
なんの意味がw
-
要望は別スレでしてほしいと思う時がある
まあ、全体的に過疎ってるし、わざわざ新スレ作ってもしょうがないけど
-
なんか要領を得ない質問が多いよね
上の例だと、〜〜みたいのを再現したいので○○したけどできなかった
なにか解決方法はありますか?でなければ「自分で自分のスキルを相殺
できるようにして欲しいです」、そうすれば〜〜が再現できます
って書けば解決法出てくるかもだし、要望出す理由も理解できるけど
…これじゃ対応しようにも、ななあしさんだって要領得ないだろうw
-
「自分で自分のスキルを相殺したい」という
明確な要望への対応が要領得ないとかななあしさん舐めすぎだろ
・・・最近ななあしさん見ないけど
-
208じゃないけど
要望の意図はあった方がいいと思うよ
ななあしさんがどう思うかはわからんが、ななしさんが206みたいに 何の意味が? って疑問を持つ事はありえるわけで
逆に明確な意図を提示して、それが、面白そうだなって思ってくれれば実装してくるかもしれないしね
-
想像だけど、相殺時発射スキルのcollision =を何か攻撃スキル(例えば爆発)にし、そのスキルを戦場にばらまいて留める
その後、起爆スキル(自分で相殺スキル)を発射。そのばらまいたスキルが爆発。
とかじゃないかな、多分発射したビームの乱反射とかできるようになるんじゃね?
-
最初と最後の一行さえ無ければ良かった
-
?
-
208な
-
いつもお世話になっております。
質問したい事が有り、書き込ませていただきます。
一定ターン毎発動するイベントで一般ユニットを増やそうとしているのですが、その領地の上限を超えても増殖してしまいます。
pushCapaを用いれば、領地に駐留できる数を変数に代入できますが、現在その領地に存在する部隊数を数値変数に代入する関数が見つからず、舞台数が領地の上限にきたらイベントを発生させないようにすると言った事もできない状態です。
どなたか対策を教えていただけないでしょうか?
よろしくお願いします。
-
storeLeaderOfSpot( 領地 , 文字変数)
引数の領地が持つ「全ての部隊長の識別子」を文字変数に代入します。
部隊長の数が部隊の数のはずなので、
storeLeaderOfSpot( 領地 , @aaa)
pushv(@aaa,数値変数)
でいけると思う。どうでしょうか?
-
>216さん
なるほど、それで部隊長の数が取れたのですね。
ありがとうございます。
これで何とかイベントが作れそうです。
-
要望ですが、merceやfriendを1つだけ指定して削除したいです。
場合によって、merceやfriendが現実的じゃない数になる場合があるので、その数のユニットを用意するのが至難です。
そういう事情もあるので、できれば個別に削除することができればとても助かります。
-
>>218
というかmerceやfriendを文字変数に出力するのと、文字変数から入力するのが出来ればいいのにと思う。
-
まあそれが一番だよな
出力して削るか足すかして戻せばいいわけだし
-
要望といえば
str で dext のみで設定できたらいいなと思う事あるけど
皆さん的には不要な感じ?
何か、銃とかそういう武器ならdextだけの方がしっくりくるんだよね
自分的には
-
欲しいっちゃ欲しいね。少なくとも幅は出るし。
私的には技を付与する人材の、配下の選択幅が広がるのが嬉しい
まあでも技術が状態異常防御も兼ねてるから、攻防一致のステになっちゃうんだろうな
-
あっても困らないね。
別になくても困らないけどといった感じ
しっくりくるのはわかるから、ステータス種類を増やす、もしくは名前変更できればいいなとは思う。
後は、技術攻撃にしたらおそらく技術防御になるので、ステータス設定が大変そうってぐらい。
技術で攻撃するからしっくりのほうが個人的にはattackのみでも構わないけど、個人的には技術で防御以外のステータスを突けるのが面白いからって理由ですな。
-
要望です
func = sword、chargeのスキルにもjust_nextが使えるように
してほしいです
これらのスキルはpair_nextでfunc = missileの演出面の強さを付加する
ことができますが、pair_nextの都合で簡易戦闘と誤差が出来てしまいます
そういうリスクを回避できるようにして頂きたいです
-
next_firstとかじゃダメなの?
ほぼ同時に発動します。
そしてそのnextにnext3とnext_firstで、実質的にjust_nextと同様の効果があるはずですが……
-
>>225
sword、chargeにもnext_firstが使えるんですね!
勉強になりました
スレ汚し失礼しました
-
>>226
一応勘違い防止のために(説明足りなかったかもなので)
1つ目のsword(chargeも)にnextとnext_first
で、それのネクストスキルにnext3とnext_firstで複数のスキルぶちこめばOKです
ドット単位では、justやpairやnext_firstには若干の違いがありますが、そこまでこだわらないのであれば、問題ないと思います。
少なくとも人の目じゃ追い切れないレベルの誤差ですので。
後、missile型のnext_firstとは若干違うので、wikiも一応目を通しておいたほうがいいかもしれません。
-
227若干訂正
chargeはfirst使えません
というかchargeのnext自体がそもそも同時発動なので、nextで実質同時に発動します。
chargeの次のnext(missile)で、next3とnext_firstを使えば、justと同じく複数発動可能です。
-
報告です。
wikiではfont命令で「MS 明朝」の設定例がありましたが、
実際には認識されないようです。色々試してみた結果、
フォント名に半角スペースのあるときに認識失敗するようです。
--------------------------
imageフォルダにmsmin04.ttcを置いて、contextで、
font_file = msmin04.ttc
と設定し、イベント内で、
font(MS 明朝, 26, 0)
msg(Hajimemashite)
font()
と記述しても、書体はなぜか(デフォルトの)ゴチックのままでした。
--------------------------
○試してダメだったフォント
EVA Hand 1 fonts フォント名「EVA Hand 1」
Space Encounter フォント名「Space Encounter」
MS 明朝 フォント名「MS 明朝」
○試してうまくいったフォント
魔法フォント フォント名「moonknives」
はんなり明朝 フォント名「はんなり明朝」
-
スクリプトにおいてスペースは飛ばされるので、よく考えれば当たり前の話でしたね。
-
CPU勢力で、特定の部隊のみ特定の領地に固定って出来ますか?
例えば、CPUを帝国軍としたら、
皇帝は首都に固定してラスボスとして待ち構えさせるといった感じで。
-
①mapmakerで該当ユニット直接置く→領地の戦力値にも反映される
②該当領地をゾーン設定して、毎ターンスクリプトで行動済みにする(実質行動不能になる
-
イベントが進むまで経路を消しておくっていう手段も
-
changePowerFix(勢力,hold)で領内の部隊を動かさず、他国にも侵攻しないらしいが…。
|
|
掲示板管理者へ連絡
無料レンタル掲示板