レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
改造・制作スレ part7
-
改造・オリシナ制作などはこちらで。
過去に似たような質問があるかもしれないので、極力調べてから質問しましょう。
ヴァーレントゥーガまとめ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/
改造・制作スレ part6
http://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1372172557/
-
アイテム持たせたクラスにチェンジじゃダメ?
-
>>42 それは検討外の方法でした。やってみます。
-
アイテムを持たせたクラスにチェンジしてもアイテムは付与されないことを確認しました。
どうもそのクラスでユニットがシステム内で新規作成される必要があるようです。
-
それはスマンかった
となるとアイテム持たせたユニット準備しといて、レベル以下諸変動値合わして入れ替えって手もあるけど…
状況選ぶがどうだろうか
-
アイテムの1カテゴリにつき5種以上のアイテムがあるような状況ですので、
少なくとも78125通りの組み合わせ×継承クラスの記述60バイト程度は必要で、
1クラスにつき4MBのスクリプトが必要になるためちょっと難しそうです。
-
あーうん。特定人材に特定スキルをって場合以外は無理だと思った
ちょっとお役に立てそうにないねスマン
-
アイテムスキルじゃなくて内政でやればいいんじゃないかな
NGTの武具店みたいな
-
とりあえずは内政で作っておいて、ユニットへのaddItemの実装を気長に待つことにします・・・。
-
あくまで、取り外しが出来るようにすることだけなら
・味方ユニットの所持スキルを確認。
・所持スキル内にアイテムスキルがあるか全確認。
・アイテムスキルがあった場合、該当スキルを削除してプレイヤーの所持アイテムに。
っていうルーチンを、内政コマンドに作ればなんとかなるかも知れないと思います。
最初の味方ユニット部分の範囲を狭めたコマンドも作って、
プレイヤーの陪臣のみとか、陪臣の中でも1番目のみとかのパターンも作っておけば
ある程度には対応できるかと。
COM勢力or人材プレイの同僚とかのアイテム装備とか関係ないですし。
-
>>50 確かに「装備外す」コマンドはあったほうがいいかもしれませんね。
-
ユニットステータスウィンドウにアイテムボタンがあるモードならば、
アイテムはスキルアイコンを右ダブルクリックで外せます。
-
>>52 addSkillで付与したアイテムスキルがその操作で外せない!という議題です。
-
アイテムスキルなら本来外せないといかんから
外せないってのは微妙にバグな気がせんでもない
-
>>54
addSkillはスキルだから、関数でeraseSkillしないと外せない、ということでしょう。
違ったらゴメン
>>40氏がやりたいのは、取り外しが可能な形のアイテムとしてイベント付与したい、てことかと。
これも勘違いだったらゴメン
今の仕様だとaddItemでストックまでは出来るけど、任意のユニットに装備させた状態まではもっていけない。
現時点でやるとしたら、addItemでストックさせておいて「アイテムを手に入れた!」みたいなセリフを表示させて
ユーザー側で装備してもうらうしかないんじゃないかなぁ。
-
そらわかっとるよ
アイテムスキルはitem_typeみたいなアイテムスキル固有の関数が設定されてる
だからアイテムスキルかそうじゃないか容易に判別できるはずだし、取り外し可能なのが自然な動作な気がするってこと
addSkillで追加されるのはスキルであってアイテムスキルじゃないからアウトってのも理屈だとは思うけどね
ただのスキルとして追加した方が処理的には軽いだろうし
-
item_typeなしでもアイテムスキルとして使えるんでは
デフォシナのラグラントゥーとかマクラヌスはitem_nosell = onぐらいしかついてないし
-
>>55 いえ、合っています。
もっというとアイテムスキル(item_type設定したスキル)をaddSkillで追加すると、
アイテムスキルとして認識されていないようなのに、
同じカテゴリのアイテムスキルと競合するのです。
-
item_type設定はどのアイテムウィンドウに追加するかを決めるだけっぽいね
これ設定してないデフォシナの剣や弓を、addItem・entryItemしてもアイテムウィンドウに追加される
-
質問です
skillのhomingについてですが、
標的が途中で死亡などして存在しない場合、
skillはその場で停止します。
これを、標的が存在しない場合、別の標的にチェンジするように
したいのですが、何か方法がありますでしょうか?
-
一つのskill構造体では実現できないと思います。
ただ射程300のhomingスキルがあったとして、これを射程30のhomingスキル×10として
next_lastやsend_targetを用いて繋げてやれば出来るのかも知れません…が、私は面倒なので試したことないです。
標的死亡後も位置情報が残っちゃうのはafterdeath等がある以上、仕方ないことかもしれませんね
-
念のため追記です。
ダメージを貫通ではなくて一度のみにする場合はonehitとnext4などを
使えば可能かと思います。試していませんが…
-
小物入れにそれっぽいのを投下しました。
中身を見てもらえればわかると思いますが、あまり実用的でないと思います。
-
ご回答、有難うございました。
小物入れのskillを拝見させて頂きました。
成る程、透明の範囲攻撃をだして新たにターゲティングするわけですね。
skillの停止がなるべく見えないようにするのは、
ホーミングがあるskill構造体のrangeをなるべく短くする必要がありますが、
短くすればするほどskillが長くなる・・・
ある程度の妥協は必要そうですね。
-
自分が操作できない部隊のrayが機能して無いように見えるのはバグなのかな
-
force_ray「・・・。」
-
ななあし様、更新お疲れ様です。
そして、1000*1000の対応、ありがとうございます。
贅沢な要望なのはわかっているのですが。
縦座標において、立ち絵の表示を画面全体のセンターと立ち絵のセンターを合わせて表示する様な機能をつけられないでしょうか?
できれば、contextで、画面での立ち絵表示の基準線を決める事ができ、ユニット構造体で立ち絵の基準線を指定でき。
表示はその基準線と基準線を合わせて表示するみたいにできればと思います。
何も指定しなければ、センターセンターで表示され
context 75 unit 50
に指定すれば、上から4分の3の位置にユニットの半分の位置が来るようになって表示される。
底辺と底辺だと、身長の低いキャラがメッセージに埋もれてしまい、ウィンドウ上辺だと足しか見えないなどがあります。
また、フルスクリーンモードも視野に入れると、センターセンターで合わせた方が、無難かとは思います。
また、戦略時の立ち絵表示picture_menu では倍率指定して大きさを任意にできるようにするというふうにはできないでしょうか?
さらに敵勢力に攻めるなどで兵を動かす時は立ち絵が消えるようにならないでしょうか?
スポットが隠れてしまい、操作しにくい等もありますので。
http://ux.getuploader.com/vahren/result/5389c553-1100-4cfa-b690-2876b63022d0
1枚目は、センターセンターで合わせた例
2枚目は、センターを基準にしつつも、ユニット側で基準線をずらして表示した例のつもりです。
以上、何卒、よろしくお願いします。
-
changemasterでマスター変えた後、マスターが分断され放浪しても勢力が滅亡しない
-
>>67
御意見頂きました件ですが、立ち絵の縦座標調整につきましては
立ち絵の底辺を機軸にした方が個人的には都合がいいかと考えています・・・。
unit構造体ごとに設定できる、picture_floor = (数値)を用いますと
(この数値は会話ウィンドウの高さ(232ドット)を基準にしたパーセント数値です)
50(会話ウィンドウ上辺から下に116ドット)とすると会話ウィンドウの真ん中に立ちます。
25(下に58ドット)とするとか会話ウィンドウ上辺から少し下に立ちます。
-25(上に58ドット)とすると会話ウィンドウから少し浮いた所に立ちます。
今の所、個人的には縦座標調整はこれで問題ないと考えてます・・・。
-
>>69
返信ありがとうございます。
そこの所なんとかなりませんでしょうか?
表示自体は確かに問題ないんですが、100枚以上立ち絵があり、座っている絵、浮遊している絵、背の低いキャラ、高いキャラなどバリエーションがあると
軸から設定できる方が、作業効率がぐっと上がりますよね
正直、ここにきて、底辺合わせになりますと、前レスで書いた事が理由に、一枚一枚調整していかなくてはならず、労力と期間が多分にかかってしまいます。
表示方法をフレキシブルに出来た方が、他の制作者様も、立ち絵を導入しやすくなると思うのですがいかがでしょう?
勿論、一番大変なのは、ななあし様なのは重々承知しておりますので無理なら諦めて折り見て調整します。
何卒、ご一考、よろしくお願いします。
-
ななあしさま更新お疲れ様です。
バグと思われる不具合を報告します。
ユニットにアイテムスキル(item_type設定したスキル)をaddSkillで追加すると、
そのユニットの「アイテム」欄から行ける
アイテム売り場の対応するスキル名がオレンジ色にかわり、
クリックすると「○○を取り外しますか」というポップアップが出るにもかかわらず
そこで「はい」を選択しても取り外しができません。
つまり装備アイテムと認識され、取り外しメニューが有効化されるものの
そこで取り外すことができないという現象が起きます。
-
質問です
スキルの中にアイコンが紫の枠で囲われているものがありますが、あれはどうやって設定するのでしょうか。
また、どのような効果が得られるのでしょうか
-
>>72 実態は単なるスキルアイコンです。
デフォルトの状態だと紫の枠は _all.png というファイル名で icon フォルダにあります。
必殺・リーダースキル・付与されたスキル・アイテムスキル・全体型スキルは自動的に
iconフォルダの@special.png ・ _leader.png ・ _add.png ・ _item.png ・ _all.png で修飾されます。
-
>>73
ありがとうございます
-
戦闘中にユニットが使うスキルの使用優先度はどのように決まってるのですか
-
>>75 基本的にはスキルの並びの左上から順で決まる。
突撃は接触時に助走が足りていれば自動で発動する。
[近接][遠距離] というスキル編成と
[遠距離][近接] というスキル編成のユニットを比べるとよい。
-
part6の>>917-923が参考になるよ
-
>>76
なるほど有難うございます
-
>>77
有難うございます!
有難うございます!
-
質問です。
内政で道具(内政ユニット)の使用・売却コマンドを作りたいのですが、消費がうまく行きません。
具体的にはaddunitで道具一覧(内政領地)に道具(内政ユニット)を追加したあと、
内政コマンドから道具の売却・使用を選択すると
指定した道具を1つづつ消費するようにしたいのですが、
同じ道具を複数所得した場合、eraseUnitだと一回実行したらと同じ道具をもう一度消すことができず、eraseUnit2だと全て消してしまい、うまく消費させることができません。何か良い方法はないでしょうか。
-
道具の数を変数で数値管理してはいかがですか
-
少し言葉足らずですが、ユニットがある=1個以上持っているとして、個数は数値変数で管理
そうすれば、数値を出す場合も非常に便利
内政ユニットであれば、プレイヤーには基本的には見えませんし、ユニットをもてばそれ以降は数値変数で
想定しているものがどういったものかは分からないので、確実にあっているとはいえませんが、参考までに
-
>>81-82
内政ユニットの数で個数が分かると一目で
分かりやすいと思ったのですが、
処理的には変数管理の方が良さそうですね。
早速試してみます。ありがとうございました。
-
>>83
最大数によりますが最大9個ぐらいなら、内政アイコンに数字描いたの用意して、それらを数値変数に合わせてクラスチェンジとか
-
ななあし様に要望です。
立ち絵を使った着せ替えシステムの導入を検討して頂けたらと思います。
キャラに対しより多くの愛を注ぐ事ができるこのシステムを多くの人が、
待ち望んでいると思います。
-
>>85
現状でも立ち絵毎にユニットを変えるだけで再現できませんか?
-
>>86
単にキャラの衣装を変更したいわけではありません。
マウスで衣装の各パーツをドラッグ&ドロップして、
着せ替えして楽しむのです。
これは応用の利く非常に有用なシステムであると
私は考えています。
例えば現状ではアイテムを装備させるとそれが
アイコンとして表示されるだけですが、
このシステムにより装備を立ち絵に反映させる事も
可能になるでしょう。
-
>>87
それならばunitのpictureの立ち絵の指定を消して
内政で装備画面的なものを作って装備画面でキャラクターと装備をimageやshowImageを使って表示させれば擬似実装できます
-
ななあし様に要望です。
全身像列伝モードを実装していただいてありがとうございます。
しかし、通常の画面サイズで本体を起動した場合、
キャラクターの名前にカーソルを合わせると全身像列伝が表示される仕様のために、
画面左上に表示されている習得スキルの解説が隠れてしまい、読めなくなってしまいます。
つきましては、列伝が表示される条件、あるいは習得スキルの解説が表示される条件を、
例えばキャラクターのアイコンなど、他の場所に合わせた際に変更する事は出来ますでしょうか。
全身像列伝、習得スキル、どちらも表示させたく思っておりますので、
どちらも見られるようにする方向でご検討いただければ幸いです。
それから、以下は>>85の要望を見て思った事なので、私の方は強く望むものではありませんが、
立ち絵やユニットアイコンをスクリプトで制御できるようになると嬉しいです。
例えばclass構造体やunit構造体のimage(ユニットのアイコン)を、
以下のように画像を列挙することで、スキルのアイコンのように1枚のアイコンに出来るようにしていただき、
image = 画像, 画像, ‥
以下のような、指定したユニットの画像を変えられる関数を用意していただけると、
setUnitImage(ユニット, 画像, 画像, ‥)
ユニットを内部的に複数用意したりせずにキャラの見た目の変更が可能になり、
例えば、ある登場人物が、武器をただの剣から伝説の剣に持ち替える、というような表現を、
キャラのレベル、経験値、所持スキルなどを保持したまま出来るようになるかと思います。
他に利点を挙げますと、立ち絵、ユニットアイコンどちらにも言える事ですが、
仮に持たせる武器が3種類、盾が3種類、鎧が3種類あるとすれば(私はそこまでの物を作ろうとはしていませんが)
現状の仕様ですと、個別に素材を用意しようとすると1キャラクターに対して27枚、27ユニット必要になるので、
これらをスクリプトで制御できるようになると、作業量、容量、image.datの内容が圧迫されにくくなるかと思います。
-
特定の戦場マップでイベントを起こしたいのですが
やり方がわかりません…
isMap()が怪しいと思うのですが、wikiを調べてもisMap()に関する記述が載っておらず
にっちもさっちもいかないです
初歩的な質問で申し訳ないのですが、どなたかご教示お願いします
-
自己解決しました。すみません。
wikiの説明にstoreBattleSpotは直前の戦闘が行われた地域を代入すると書いてあったのですが
現在の戦闘領地を代入することもできるようでした
storeBattleSpot(@bsp)
if(@bsp == イベントを実行したい領地の識別子)
{
}
これでいけました。スレ汚し失礼しました
-
ななあしさんへ要望です。
戦闘中に表示される右下のミニMAPを強制的に非表示にできるようして頂きたいです。
-
ななあし様
MapMakerのバク修正ありがとうございました。
おかげさまで、物凄い規模の城が完成致しました。
-
すみません、2つほど質問です。
放浪人材プレイ時、陪臣ユニットを解雇できるようにしたいのですが、
noremove_unit = @ を追加しても解雇ボタンが表示されません。
何か他に解雇不可になる設定はあるのでしょうか。
また、前スレにも指摘があったようなのですが、
scenario構造体のoffsetで「旗上げ」を消すことができません。
機能のボタンは消せたので動いてはいると思うのですが・・・。
-
>>94
noremove_unit = on か off
としてみてください。
offsetのバグですが申し訳ありません。ver6.31で修正いたしました。
>>92
minimap(off)
関数で戦場ミニマップを消せるようにしました。
-
更新お疲れ様です
一つ質問なのですが、noremove_unit、noitem_unitのようにユニットの雇用ボタンを消す項目はありますでしょうか
もし実装済みなら使いたいなあという程度の話なのですが…
-
更新お疲れ様です。
ステータススキルで個人スキルを設定し、それをリーダースキルに指定しても、部下に繁栄されません。
繁栄するようにしてもらえないでしょうか?
リーダーだと実質全体強化スキルとなり。
部下にしても個人スキルとして、ステータスが上昇するような感じが表現できると良いと思います
-
更新お疲れ様です。
ミニMAPを非表示にする関数の追加ありがとうございます。
-
更新お疲れ様です。
offset修正ありがとうございました。
ただ、解雇ボタンはやはり表示されませんでした。
デフォシナのシナリオ1で、レオナールとクラスのソルジャーにnoremove_unit = offを設定し、
event構造体we1に
else if(isPlayer(eruka) && yet(unit_add)){
event(unit_add)
}
event unit_add{
storePlayerUnit(@player)
addunit(reonaru, @player)
}
2つを導入して人材でエルカを選択し、試したところ、やはりレオナールの情報に解雇ボタンが表示されませんでした。
一応内政で放浪させることにしたので特に問題はなくなったのですが、念のため報告させていただきました。
-
失礼します。
addTroopなどの戦闘中のイベントの座標に数値変数を使わせていただけないでしょうか
場合分けで対応できる話ですし、要望として優先度が低いのは分かっております
聞きながしていただいて構いません。失礼しました。
-
ななあし様に要望です。
1つ目
数値分の攻撃間隔だけ、そのskillだけ発射不可となるgun_delay2の実装を
お願いできないでしょうか?
(gun_delayだとgun_delay属性全てのskillが発射不可となるが、gun_delay2だと
実際に使用したskillのみ発射不可となる)
2つ目
召喚ユニットが稼いだ経験値を術者に反映させることはできませんでしょうか?
(例えば、召喚skillにgetexp_per=10と指定しておくと、召喚ユニットが稼いだ経験値の10%が術者に入る)
現状だと、召喚が強くて本人は弱いタイプのunitの経験値が稼ぎにくくて困っています。
ご検討のほどよろしくお願い致します。
-
経験値の文字を見て思い出したけど
経験値を加算する関数
と
経験値を取得する関数
が欲しいです
特にある程度レベルの上がったユニットを強化や弱化したいって時に選択の幅が広がると思います
-
ななあしさま、equipItemを実装していただきありがとうございます!
-
ななあしさま、曲輪仕様における黄色のマークを省略する命令がほしいです。
-
ユニットの前衛/後衛を検出・変更する命令群がほしいです。
-
更新お疲れ様です。
更新ラッシュでお忙しい中、申し訳ないのですが、
よろしければ勢力のhomeを追加・変更出来るような関数を作っていただけましたらありがたいです。
設定された条件中では、攻め込まずに概存の領地だけ守っていて欲しい、とかそういったときにhomeだけ守る設定を使いたいのです。
よろしければ御一考をお願いします。
あと、大きく変更された2verほど前のverで申し訳ないのですが、「_item.png」がアイテムスキルに付くのと付かないのがあるっぽいです。
詳しくわからず申し訳ないのですが、何個かアイテムを装備しているユニットに「_item.png」が付いているのと付いていないのがあるのを
私のほうでは確認できましたので、よろしければこちらも確認のほどをお願い致します。
-
立ち絵のセンター表示の件、ありがとうございました。
-
繰り返し要望があるhomeの追加削除が仕様上厳しいなら仕方ありませんが、戦略目標を弄れる何らかの新たな仕様が欲しいところです。
-
攻め込む時の立ち絵表示や、同盟時の立ち絵表示の演出
人材アイコンにマウスホバーさせると一瞬立ち絵が写るなど
これらの立ち絵演出をon/offで取捨選択できるようにしてもらえるとありがたいです。
現状、ずっとやっていると目が疲れてしまうようです。
また、全身像モード時の人物列伝を見ると、人材のスキル取得レベルが見えなくなってしまうので。
スキル取得表示を上にできないでしょうか?
ご一考、よろしくお願いします。
-
数値変数の件ありがとうございました
こちらの勝手な要望をお聞き頂き、
対応していただいた事、重ねて御礼申し上げます
-
ななあし様、更新お疲れ様です。
更新のたびにできることが増えるので、制作意欲を刺激されます。
ご多忙とは思いますが、バグと思われるものを発見したので報告させていただきます。
必殺技スキルのスライド型カットインで、transの値をいくらに設定してもα値が減少しません。
ズーム型は問題ないようです。
ver 6.34で確認しました。
1/1に配布されていたバージョンでは問題なく動いておりましたので、ご確認いただけますでしょうか。
-
更新お疲れ様です!
ひとまず昨日のバージョン6.34で目についた点を列挙します
こちらの環境の問題かもしれませんが参考までに
fullbody_detailがonの時、スライドして消える立ち絵にpicture_transの効果がかかっていませんでした
非常に細かいことですがちょっと気になったので報告を
picture_centerを設定しても全身像列伝での表示位置が変わりません
picture_shift_upは効果がありました
全身像列伝で長文が途切れてしまうのが気になります
列伝の部分があふれた時はカーソルキーでスクロールさせるなどは無理でしょうか?
同上、肩書きが長いと頭の数文字が切れてしまいます
文字数が一定以上の時はフォントサイズを小さくするか改行を挟むといい具合になると思います
-
ななあし様に要望です。
可能であれば、アイテムの装備可能者の設定で
friend = (種族) を設定できる様にしていただきたいです。
-
ななあし様の凄まじい更新ラッシュに感無量の至り、お疲れ様です。
home関数の追加、ありがとうございました。
これでhome設定に準じた行動をCOMに制限させることが出来そうです。
本当にありがとうございました。
-
ななあし様にcharachipMakerについての(重要度の低い)要望です。
元画像のパレット情報が保存されるようにしていただくと助かります。
-
noemploy_unit項目の実装ありがとうございます!
お陰様でユニットをきれいに差別化できるようになりました。
-
連日の更新お疲れ様です。
ななあし様に(重要度低い)要望です。
主にシナリオ制作での懸案なのですが、いくつかのシナリオをテストプレイし、それぞれ分岐や
重要なシチュエーションを(テスト用に)とっておくと、セーブ箇所が足りなくなってしまいます。
もし単純に増やしていただいても大変ありがたいのですが、例えば、1-30はタブ1、2−60はタブ2…など
横に小分けになれば見やすいかなという気も致します。
増量が難しければ、今と仕組みがちょっと変わってしまいますが、saveフォルダの下に入れる形式に
していただけるだけでも、(フォルダごとリネームで切り替えられるので)幸せになります。
お手隙の時にご検討いただければ幸いです。
-
homingには小数が使えるようですね。
-
「image = @@」オプションってtkool=on設定したユニットには適用できないのですね。。。
-
ななあし様、スライド型カットインのα値減少の修正対応お疲れ様です。
これで従来通りカットインの設定を行うことができます。
本当にありがとうございました。
-
質問、要望なのですが戦闘マップに配置される城壁などのオブジェクトに設定できる攻撃非通過設定についてなのですが攻撃無効化を行う確率の設定はできますか?
攻撃非通過に設定すると攻撃側の攻撃を見事に防ぎまくり過剰に防御力が増すかスルーされるかの極端なことになりやすい気がするので設定できないのであれば設定の追加を希望したいです。
-
wikiにおいて、召喚系スキルの yorozu = troop、yorozu = troop2、yorozu = troop3に関する
記述が無くなってしまっています。ご存知の方はwikiに書いていただけると助かります。
-
>>121
城壁に沿わせてイメージなしの攻撃非通過オブジェクトを間隔置いて並べとけば一応いける
サイズ設定で通過割合の一括変更もある程度可能
-
壁いじるなら攻城AI変更というか追加?を提案したいな
COMが壁に全力で直線攻撃打ち込んでハマるから壁強すぎワロタになるんだよね
-
ななあし様に要望です。
COM勢力が友好国を攻めた場合も信用度が下がるようにして頂きたいです。
-
wikiに追加してくださった方、ありがとうございます。
-
ななあし様、no_wall2の追加ありがとうございます。
これでひたすら壁と戦って10分の1以下の敵相手に時間切れするCPUを見なくてすみます!
-
ななあし様、gun_delayの個別指定の追加、ありがとうございました。
-
下記のような構造で「プレイヤー勢力と同盟しておらず、とある勢力と隣接している勢力」
を抽出しようと思ったのですが、上手く抽出出来ずにいます。
出来れば、この全勢力から引いていく構造のまま作りたいのです。
よろしければ、どなたかご教授をお願いします。
set(idx,0)
storeAllPower(@all_pw)
storPlayerPower(@plpw)
subv(@all_pw,@plpw)
//==プレイヤー勢力との同盟国を除外==
while(idx < count(@all_pw)){
index(@all_pw,idx,@ppp)
if(isLeague(@plpw,@ppp)){
subv(@all_pw,@ppp)
}
add(idx,1)
}
set(idx2,0)
//==指定勢力と隣接していない勢力を除外==
while(idx2 < count(@all_pw)){
index(@all_pw,idx2,@ppp)
if(isJoin(plpw_corps1,@ppp) == 0){
subv(@all_pw,@ppp)
}
add(idx2,1)
}
//==残った勢力を順次、代入==
index(@all_pw,0,@aaa)
index(@all_pw,1,@bbb)
index(@all_pw,2,@ccc)
index(@all_pw,3,@ddd)
index(@all_pw,4,@eee)
-
あ、申し訳ありません。
「storPlayerPower」の部分で「stor(e)」が抜けていますが、
こちらに書き込む際に追加した部分で、手元のものでは間違わずになっております。
紛らわしくなって、申し訳有りません。
-
isJoin()のトコのplpw_corps1ってなんぞ?
-
あ、一応それが「とある勢力と隣接していない」の『とある勢力』になります。
丸コピしてそのままの部分です。わかりづらくて申し訳ありません。
-
なので想定だと、この時点でプレイヤー勢力の同盟国は除外されていて、
この後、更に残っている他の勢力とこの勢力が隣接していなければ、これも除外する。
という構造を目指しているのですが、何故か除外したはずの「隣接していない勢力」も残ってしまっているのです。
一応この後にchoiceで選択することになるのですが、@aaaの時点で普通に隣接していない勢力が出てきてしまい、原因が解らずお手上げ状態になってしまいました。
-
指定勢力と隣接している勢力4 isjoin = 1 = なし
指定勢力と隣接していない勢力3 isjoin = 0 = 除外
012345678 idx2並び
1110010 index並び
合計7 = @all_pw
idx2=0@allpw=7{idx2+1 allpw+0} なし
idx2=1@allpw=7{idx2+1 allpw+0} なし
idx2=2@allpw=7{idx2+1 allpw+0} なし
idx2=3@allpw=6{idx2+1 allpw+1} 除外
idx2=4@allpw=5{idx2+1 allpw+1} 除外
idx2=5@allpw=5{idx2+1 allpw+0} なし
stop
このとおり隣接している勢力の時にもadd(isx2,1)によってidx2に1が+されるので
@all_pwの中の文字列のならびによっては処理が途中で止まってしまいます
残念ながらここでは残っている全ての勢力を調べる必要があります
set(idx2,0)
index(@all_pw,idx2,@ppp)
pushv(@all_pw,@nokori)
while(idx2 != @nokori) //idx2と@nokoriが同じ数になったら停止
{
if(isjoin(plpw_corps1,@ppp) == 0){subv(@all_pw,@ppp)}
add(idx2,1)
}
これで全ての国を調べることが出来ます
-
set(idx2,0)
pushv(@all_pw,@nokori)
while(idx2 != @nokori) //idx2と@nokoriが同じ数になったら停止
{
index(@all_pw,idx2,@ppp)
if(isjoin(plpw_corps1,@ppp) == 0){subv(@all_pw,@ppp)}
add(idx2,1)
}
こうだった
めんごめんご
-
whileループの中で@all_pwも変化させてるから数字が合わなくなるわけか
横レスだが勉強になったわ
-
あっ、あー! そういうことですか!!
わかりました、ありがとうございます!!
元の文字変数と、代入する部分が一緒な文字変数なので
途中で元の分から抜かれたりして合計数がおかしくなってしまっているんですね。
となると、上の同盟国除外もおかしくなっているっぽいですね・・・。
いやはや、詳しくありがとうございました。これで今作っている構造の完成に近づきました。
-
たぶんこれでいけるんじゃないかな。
set(idx,0)
storeAllPower(@all_pw)
storPlayerPower(@plpw)
subv(@all_pw,@plpw)
while(idx < count(@all_pw)){
index(@all_pw,idx,@ppp)
if(isLeague(@plpw,@ppp){
subv(@all_pw,@ppp)
}else{
add(idx,1)
}
}
set(idx2,0)
while(idx2 < count(@all_pw)){
index(@all_pw,idx2,@ppp)
if(isJoin(plpw_corps1,@ppp) == 0){
subv(@all_pw,@ppp)
}else{
add(idx2,1)
}
}
index(@all_pw,0,@aaa)
index(@all_pw,1,@bbb)
index(@all_pw,2,@ccc)
index(@all_pw,3,@ddd)
index(@all_pw,4,@eee)
-
申し訳有りません、皆様から頂いた答を元に、こんな形で取り出すことに成功しました。
たぶん、indexの@all_pw(計10個中)の○番目が、途中subvで引かれることで@all_pw(計9個中)の●番目、
になってしまうのが原因で、変化する部分を@all_pwとは別の変数にしないとおかしくなるっぽいようでした。
私が最初にお願いした、「全勢力から引いていく形」そのものが間違いの条件となってしまい申し訳有りませんでした。
皆様のご協力のおかげで形を得ることができました。ありがとうございました。
set(idx,0)
storeAllPower(@all_pw)
subv(@all_pw,@plpw)
clear(@lll)
pushv(@all_pw,nokori1)
while(idx != nokori1){
index(@all_pw,idx,@ppp)
if(isLeague(@plpw,@ppp)){
addv(@lll,@ppp)
}
add(idx,1)
}
subv(@all_pw,@lll)
set(idx2,0)
clear(@jjj)
pushv(@all_pw,nokori2)
//==このwhile文は今まで通りで大丈夫になったかも==
while(idx2 != nokori2){
index(@all_pw,idx2,@ppp)
if(isJoin(plpw_corps2,@ppp)){
addv(@jjj,@ppp)
}
add(idx2,1)
}
clear(@all_pw)
addv(@all_pw,@jjj)
-
story eraseUnit2exp
{
storeAllPower(@allpower3)
storeAllTalent(@alltalent3)
storeUnitOfPower(@allpower3,@allunitofallpower3)
pushv(@allunitofallpower3,allunitofallpower3)
pushv(@allunitofallpower3,allunitofallpower3f)
pushv(@allunitofallpower3,m4)
subv(@allunitofallpower3,@alltalent3)
eraseUnit2(@allpower3,@allunitofallpower3) //ここ機能しない
pushv(@allpower3,allpower3)
pushv(@alltalent3,alltalent3)
pushv(@allunitofallpower3,allunitwithouttalent3)
pushv(@allpower3,allpower3f)
pushv(@alltalent3,alltalent3f)
pushv(@allunitofallpower3,allunitwithouttalent3f)
pushv(@allpower3,m1)
pushv(@alltalent3,m2)
pushv(@allunitofallpower3,m3)
msg(全勢力数&allpower3&、全人材数&alltalent3&、全ユニット数&allunitofallpower3&、人材を除いた全ユニット数&allunitwithouttalent3&)
msg(全勢力数&@allpower3&、全人材数&@alltalent3&、全ユニット数&@allunitofallpower3&、人材を除いた全ユニット数&@allunitwithouttalent3&)
msg(全勢力数&allpower3f&、全人材数&alltalent3f&、全ユニット数&allunitofallpower3f&、人材を除いた全ユニット数&allunitwithouttalent3f&)
msg(全勢力数&m1&、全人材数&m2&、全ユニット数&m4&、人材を除いた全ユニット数&m3&)
}
-
vahren.exe ver6.20とver6.40で確認
eraseUnit2を使い全勢力から一般ユニットを削除しようとしてもうまくいきません
pushvでユニット数の変化を見ようと思って上記のようなスクリプトを書いてみました
すると結果は以下のようになりました
msg1番目 http://fsm.vip2ch.com/-/sukima/sukima313067.jpg
msg2番目 http://fsm.vip2ch.com/-/sukima/sukima313068.jpg
msg3&4番目 http://fsm.vip2ch.com/-/sukima/sukima313069.jpg
こうして見るとmsg1番目で数値変数であるべきallpower、alltalent3、allunitofallpower3が文字変数として扱われていることが分かります
それはmsg2番目で@allpower3などを表示させた結果と同じであることからも分かります。@allunitwithouttalentはそもそもないので0となります
これはバグなのか仕様なのか分かりませんが、文字変数@allpower3と同じ名前の数値変数allpower3は内部では文字変数@allpower3と同じものとして扱われている様です
ここでmsg3番目のように、数値変数allpower3、alltalen3、allunitofpower3の末尾にfを加えて文字変数とは名前を変えてみると正常に数値が表示されます
文字変数とまったく異なる名前を使ったmsg4番目は正常な動作でしょう
ところで上記のスクリプトで一般ユニットが削除されないのです誰か助けて
|
|
掲示板管理者へ連絡
無料レンタル掲示板