SRPGStudio総合スレ その1 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
シミュレーションゲーム制作ソフト、
SRPGStudioについて語るスレです
■公式
http://srpgstudio.com/
■SRPG Studio wiki
http://www8.atwiki.jp/srpg_studio/
関連スレ
【同人ゲーム板】 - SRPG_Studio Part6
http://hayabusa6.2ch.net/test/read.cgi/gameama/1491309082/
【ゲーム製作技術】 - 製作者スレ SRPG Studio 24章
http://mevius.2ch.net/test/read.cgi/gamedev/1495252696/
◆注意事項◆
・次スレは>>950がワッチョイ形式で立ててください
・制作に関する質問や、作品・素材の投稿は自由です
・ほのぼの会話推奨。荒らしはスルー。NG機能を有効に利用しましょう
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) コンフィグでもメッセージスピードは設定できるけど、それでもまだ早いってことなのか? ゲーム内のコンフィグにメッセージ速度の項目はあるよ >>856-857
エディターばかり見ていてゲーム内にあるのを忘れていました
しかし低速でやっと丁度いい速さに感じますね カスパラやプラグインに変数の値を呼び出してそれに応じて武器攻撃力を変動させるってのがやりたいんだけど
ゲーム中で確認したら文字が\va5[0]とかになってしまって読み出すことができない
制御文字使ってva変数を数字として出力する事ってもしかしてできない? 制御文字はヘルプのところに書いてあるけどメッセージ系のイベントにしか使えないぞ
カスパラで変数のグループ番号やIDを指定して
プラグイン側でその変数の値を取り出して武器攻撃力に設定するってやり方になる カスパラに「{number}indexva5[0]」みたいに入れて
プラグインにunit.custom.numberみたいに入力すればいいのかな 例えばva5[0]の値を使いたいならカスパラを{group:5, id:0}として
var group = unit.custom.group;
var id = unit.custom.id;
var value = root.getMetaSession().getVariableTable(group).getVariable(id);
みたいな感じになる
↑はカスパラのチェックとかしてないからそのままは危ないけど >>862
カスパラに{group:5,id:0}を突っ込んだら
「","がありません」ってエラーが出てしまう
原因は既に他のカスパラを入れてるからだったけどこれはなぜ競合してしまうんだろう? ないとは思うけど
{group:5,id:0}{hokano:100}
みたいにやってるとか
{group:5,id:0,hokano:100}
にしてる? うん。ない
ちゃんと{}文を下に改行してから改めて{}文を記述してる ごめん、理解できた
要するに他のプラグインと競合する場合には{}と{}の間に,を入れなきゃならないんだな
で次の問題だけど「指定した変数の値だけ指定したステータスが強化される(この場合は変数+力)」プラグインを作ろうと思ったけど
(function() {
var alias1 = AbilityCalculator.getPower;
var group = unit.custom.group;
var id = unit.custom.id;
var value = root.getMetaSession().getVariableTable(group).getVariable(id);
AbilityCalculator.getPower = function(unit, weapon) {
var pow = alias1.call(this, unit, weapon);
if (unit.custom){pow += value;}
return pow;
};
})();
と宣言させたら「line3: 'unit'は宣言されていません」と出てエラー落ちしてしまう
何か宣言させなきゃならない? ううむ、まず宣言とか競合の意味ちゃんと分かってる?
とりあえずvar group以下の3行をvar powの下にでも移せばエラーは出なくなると思うけど
あと武器の表示上の攻撃力も変動させたいならItemSentenceだかも変えなきゃダメかも 確かにグローバルでは宣言されていないからunitなんて変数使えんって言われているわけだけど
他でAbilityCalculator.getPowerを呼び出した時のunitの部分にユニットデータを入れているんだから
メソッド内でunitに関する処理を書かないと攻撃力計算時のユニットデータを取り扱う事ができないよ >>868-869
すまん、正直な話その処理の書き方が分からない…… ここまでの流れ全然読んでないけどunitがnullならunitにまつわる処理飛ばすようにすればいいんじゃないの
if(unit !== null){ 以下略
とでも付ければいい >>870
ざっくりな説明になるから正確ではないけど
var group = unit.custom.group;っていうのが
groupって変数を作るよ
中にはunitって変数のカスタムパラメータのgroupの値を入れるよって意味な訳
でもエラー出るのはunitなんて変数教えてもらってないから知らねえよって怒られてんのよ
で、AbilityCalculator.getPower = function(unit, weapon) {
ってのが他所からunitとweaponって変数持ってきてAbilityCalculator.getPowerをやるよ
って意味だから、unitが書いてある行をその下に移してみて ぶっちゃけるとgroup, id, valueの部分を全部getPower内に書けばいい
違いがわからない時は
ローカル変数(局所変数)やグローバル変数(大域変数)についてググりなされ
AbilityCalculator.getPower = function(unit, weapon) {
var pow = alias1.call(this, unit, weapon);
var group = ...
var id = ...
var value = ...
... スクリプトで倒せなかった時の経験値の部分をいじらないとダメージ分の経験値入ってきたはず もしかして反撃してこないで攻撃だけの敵って作れない?
全キャラの反撃オンオフや反撃するスキルはあるけどキャラ単体をしない設定は見つからなくて…
これスクリプト案件なんでしょうか 一方向だと反撃しないだけじゃなくて反撃されないもついちゃうからなぁ
スクリプトいじれば簡単だけどこれは普通に要望出してもいい気がする まぁスキルでいけるな。パッと思いつく限りでもステート攻撃と有効相手を利用するとか
やり方は色々あるだろうから、もっとスマートにもできるだろうけど 皆さんありがとうございます
とりあえずスキル色々いじってみます 一方向って地味に使いにくいよな。デフォ機能だけどほぼ使わない まぁマニアックな要望もたくさん取り入れてるみたいだから、人によってそんな機能は沢山あるんだろうな >>872-873
ありがとう、おかげでエラー落ち自体は消えたよ
でも該当のカスパラ持ちの武器持たせて変数も調整して動作を確認してみたら
機能していない……
もう機能の搭載を諦めた方がいいのかもしれないな…… いや、そりゃユニットじゃなくて武器にカスパラ書くならunit.custom.じゃなくて
weapon.custom.にしなきゃダメだよ
作りは少し違うけど変数の値が武器攻撃力に加算されるスクリプトなら
俺も2年前くらいに作ってずっと現役で使ってるから出来るのは間違いない >>886
(function() {
var alias1 = AbilityCalculator.getPower;
AbilityCalculator.getPower = function(unit, weapon) {
var pow = alias1.call(this, unit, weapon);
var group = weapon.custom.group;
var id = weapon.custom.id;
var value = root.getMetaSession().getVariableTable(group).getVariable(id);
if (weapon.custom){pow += value;}
return pow;
};
})();
これに変更してみたけどやっぱり機能しない
変数には10とか入れて絶対に変更がわかるようにしたけどやっぱりダメ 上でも言ったけど「武器の攻撃力を上げる」じゃなくて「攻撃力を上げる」
スクリプトだけどそれは大丈夫?
それそのまま新規プロジェクトに入れて変数に1000突っ込むとこうなったよ
https://i.gyazo.com/cce67e02adc87351e7ccc2b0bf93c6ce.png あと連レスになるけど変数の指定の仕方が制御文字と少し違うから気を付けて
どっちも0から始まるから例えば最初の変数なら{group:0,id:0}の指定になるよ >>888
ご指摘ありがとう
確かに新規プロジェクトではそういう風になるというのを確認したよ
でも製作中のプロジェクトだと機能しないから恐らく何かと競合してるらしかった
こっちでも色々やってみるよ協力ありがとね 本体更新したらなぜか魔法キャラ数人のモーションが動かなくなったんですがここ1,2ヶ月で何か規格変わったりしました? 実際に更新してないから断言はできんが
更新履歴見てた限り規格そのものは変わってないはずだけど
どれくらいのバージョンから更新したん? >>894
たぶん1,145○のあたりだと思います
履歴見たけどそれらしい変更点がなくって…… saniファイルの規格が変わって、ファイルがインポート出来なくなったりはあったけど
もともとのアニメが動かなくなるような要素はないはず
戦闘アニメ制作画面からもう動かないの? いえ、アニメーション製作の時は前と変わらず動くのですがテストプレイで戦闘になると動かなくなってしまいます 念のために聞いておくけどプラグインを抜いても動かない?
やってたらごめん プラグイン全部抜いてもダメでした……
まあ気長に調べてみます ユニットの登場で参照できるID変数って該当のID変数に現在登録されてる番号と同じユニットIDのキャラを出せるって事?
その場合そのID変数にアイテムから代入できるアイテムID番号(データ画面のアイテム名の横に出てるID番号のこと)を変えることができる手段ってある? 「ステータスウィンドウ軍別色(ver1.134)」
「戦力表示(ver1.051)」
上記二つのスクリプトを同時に使うと
敵軍と同盟軍のステータスウィンドウ(右)が自軍と同じ色になってしまいます
軍別色の方は、今まで(下)と(右)が半透明ではなかったので使っていませんでしたが
どれも半透明に修正されたので使いたいのです
正常に表示するにはどうすればいいでしょうか >>901
ステータスウィンドウ軍別色.jsをメモ帳で開いて読むと書いてあるんだけど
「$ExStatusWindow」をMaterialフォルダにコピーして「ExStatusWindow」にフォルダ名を変更した? >>902
していますよ
軍別色の方だけ使うと正常の色になります
『戦力の方と同時に使った場合のみ』敵軍も同盟軍も
『ステータスウィンドウ(右)だけ』が自軍と同じ色になると言っているのです >>903
戦力表示(ver1.051)ってのはcustom-unit-tsuyosa20160122.jsのことだよな?
1.162の環境で空のプロジェクト作って両方入れても普通に表示されてるんだが… >>904
一行目についてはそうです
二行目については今夜確認してみます
今日は祝日ですが仕事なので…… >>904
1.162で新規プロジェクトは両方入れたら正常に表示されました
制作中のプロジェクトはPluginフォルダ内を
該当の二つ以外空にしても直りません
残念ですが軍別色は使わず保留にしておきます スクリプトの方直接弄るとそうなるよ
一回新規の方からプラグインフォルダとスクリプトフォルダをそのまま上書きさせれば直ると思う >>907
Scriptフォルダを上書きしたら直りました
ありがとうございました CBさんの武器熟練度システムをいじっているのですが
熟練度Sボーナスを武器タイプ毎に設定する場合は
どのような記述を足せばよいのでしょうか 163の更新で反撃関係のスクリプトがエラー吐くようになったね 強弓スクリプトがエラー出るなぁ
一方向の武器の処理部分をコメントアウトしたら動いたけど AttackChecker.isCounterattackの最初が少し変わってるっぽいね
singleton-calculatorの方にisCounterattackAllowedができてそっち参照するようになった
逆に言えばそこだけ直せば大丈夫な気もするけど どうもこいつの解像度の仕様がよくわからんな
画面が800*600の設定で一枚絵を戦闘中に表示させようとすると
横幅が840くらいないと端までとどかない
でも戦闘中じゃなければそのまま800でピッタリ表示される このツールの解像度の仕様はシーンごとにバラバラっぽいから戸惑うよなぁ >>915
戦闘画面の方は表示されてる画像が
画面中央になってないからじゃないか? いや中央になってるし両端が少しずつ足りてないんだ
まあ個人的にはもう840で作ってるから要望まで出すほどでもないかな
これからの人の事を考えるなら、ヘルプのどこかに注釈くらいはあった方がいいかもしれないけど
>>916
ああ、やっぱりバラバラなのか
もし別のシーンで同じ画像を使いまわす時があったら不便かもな チャプターの表示で出てくる画像を800×600の解像度にピッタリ合うように画像を編集したんだけど
いざその画像に設定しても表示位置が初期設定のままだから右にずれた状態になってしまう
chapterとかscreenframeとかでフォルダを検索して色々いじってみたけど
「第〇章」とかの文字を動かす事しか出来なかった・・・
お時間のある時にでもいいのでどこをいじれば良いのかだけでも教えていただけると幸いです ユニット出撃画面の一覧にキャラチップ表示.jsってなんかバグってね? 最新に更新したらOT氏の範囲アイテムでユニットを選択するときに
Errow:window\windwmanager-posmenu.js
Line 259:this̠objはNull〜
のエラー吐くんだけど他にもなる人いる? item-baseのItemPackageControlの中にgetCustomItemPotencyObjectていうのが追加されたようで
取り合えずOT氏のスクリプト(EffectRangeDamageの方)の最初のItemPackageControlが色々書かれているところに↓を追加して
var alias6 = ItemPackageControl.getCustomItemPotencyObject;
ItemPackageControl.getCustomItemPotencyObject = function(item, keyword) {
var result = alias6.call(this, item, keyword);
if (keyword === OT_ItemEffectRange_getCustomKeyword()) {
return OT_ItemEffectRangePotency;
}
return result;
}
下らへんのどっか適当なところ(OT_ItemEffectRangeInfoとOT_ItemEffectRangeAvailabilityの間ぐらい)に↓追加したら動く
var OT_ItemEffectRangePotency = defineObject(BaseItemPotency,
{
_value: 0,
setPosMenuData: function(unit, item, targetUnit) {
},
drawPosMenuData: function(xBase, yBase, textui) {
},
getKeywordValue: function() {
return this._value;
},
getKeywordName: function() {
return '';
}
}); >>924
横からだけど乙。超助かった
使えなくなったら困るスクリプトはたくさんあるけど、特にあの人のが使えなくなるとどうしようもない
範囲攻撃と必要条件がデータに浸透しまくってて修正のしようがない
今回のようにいつも有志が助けてくれるわけじゃないだろうし
まあ自分でなんとかできようjsを研究中ではあるけど
それまではどっかで更新とめといた方が安全かなあ >>925
おかげさまで解決しました!ありがとうございます!
使用してみたところスクリプトを入れただけで左右がピッタリはまりました >>928
■概要
チャプターの画像の幅が640を超えていても中央に表示するよう調整します
って書いてあった・・・お恥ずかしいスレ汚し失礼しました・・・ なんか敵が突然攻撃してこなくなった(攻撃力命中率ともに---になってしまう)んだけどこれ何かコンフィグの設定かなんか関係ある?
一応プラグインは全部抜いて調べた それだけ聞くとスクリプトっぽいけどどうだろ
スクリプト復元処理してもダメなら単に有効な武器持ってないとか
あとは新しい敵作っても駄目なのか新規プロジェクトでも駄目なのかとか それに加えて、まずないと思うが敵軍で移動力がマイナスになる武器を装備して移動力が0より下になった場合
たとえそれが超射程武器で射程内に自軍がいたとしても攻撃されないことがあった。今は知らんが 範囲アイテムの件だけど>>924の記述追加したら今度は
Errow:item\item-base.js
Line 706 オブジェクトでサポートされてないプロパティ〜
のエラー吐きました
取得expに関係してるのかな? >>932-933
ありがとう、原因がわかった
難易度設定の「反撃可能」をOFFにして「AIは攻撃0でも攻撃する」をOFFにする、の二つの条件を満たしている時にそうなるらしかった >>934
ごめん最初のItemPackageControl.getCustomItemPotencyObject; のところで
alias6にしていたのが原因
1550行目辺りのItemExpFlowEntry._getItemExperience;でalias6使ってたので被ってしまってた
なのでそこを被らない数字(7なら大丈夫なのは確認した)に書き換えれば取り合えずはエラー出なくなるはず
自分で修正した時、数字被らないようにalias55にして動くの確認したんだけど
急に数字が飛んでたら紛らわしいかと思って6に書き換えて動作確認してなかった
あとあくまで応急処置なんで他にも行き届いてない部分があるかもしれないけどすまない o-toさんのEPFPプラグインで
イベント上でEPFPを増減できる方法ってある?
ざっと説明を読んでみたけどイベント上の処理は書かれてなかった 書かれてないってことはないんじゃないか
本人のブログがあるから、そこで聞くのが確実だと思う
今もここ見てるのか分からんし ブログ更新してなくてもメールなり何なりで連絡はつくんじゃないか クエストマップから戻る時にセーブ画面を呼び出したくないんだが
どこかに設定する場所あったっけ? むしろなんでないのかと
もしかして昔のバージョン使ってる?
>>937
前に同じこと考えたけどないな
俺はステートやイベントで擬似的に再現したけど
あくまで擬似的だからもしそれで再現できなかったら他の人が言う通りメールした方がいいんじゃね? 最新版だよ
クエストの場合、マップクリアのコマンドじゃなくて
シーンの変更の戦闘結果で拠点に戻るようにするんだが、そこでは設定できないのよ 設定はないからこんな感じのを使ってる
var alias1 = BattleResultSaveFlowEntry._completeMemberData;
BattleResultSaveFlowEntry._completeMemberData = function(battleResultScene) {
var mapInfo = root.getCurrentSession().getCurrentMapInfo();
if(mapInfo.getMapType() === MapType.QUEST) {
this._doSaveAction();
return EnterResult.NOTENTER;
}
return alias1.call(this, battleResultScene);
}; >>944
おおありがとうございます
使わせてもらうね >>95
このプラグインを使ったステートを持つと
何故か持ったユニットが武器を使用できない状態になってしまうんだけど
同じ症状の人っている? ん?これマップチップのパレット左上の色が透過するんじゃないの?
透過してくれないんだが それが原因かは知らんが背景色はデフォルトで左上の色になってるだけじゃね
変え方はツールによって違うからググってみれば? edgeで開いてみたけど背景色は間違ってないはず
白にしても変わらない
こっち側で何か設定するの? edgeは右クリックで選択してる色が透過色になる
ファイル→エクスポート→PNG形式で保存を選んで
背景色を透過させるにチェック入れればできるよ ストックをユニットのコマンドじゃなくてイベントから読みだせる方法ってあるかな?
ストックを特定の施設でしか使えないっていう所謂「預かり所」みたいなシステムにしたいんだ
ストックを使える場所をあえて制限することによって
歯ごたえのある戦闘とストックが使えた瞬間の安心感、みたいなゲーム性目指してるからさ レス数が950を超えています。1000を超えると書き込みができなくなります。