ツクールVX Ace 初心者救済、質問スレ Part.1

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
スクリプトやイベントの組み方などが苦手な人を救済するスレです。
このスレが繁栄する事はAceの繁栄につながり、過疎スレとなるとAceの衰退につながります。

質問者を煽ったり、馬鹿にするような書き込みはしないでください。
あまり酷い場合はアクセス禁止依頼を出します。

関連スレ
ツクールVX+Ace★9
http://engawa.2ch.net/test/read.cgi/gameama/1361779229/l50
2名無しさん@お腹いっぱい。:2013/03/10(日) 12:15:06.48 ID:tns6iWre
早速質問です

能力値限界突破で敵のHP99999999に設定
XPスタイルバトルの4810行辺りのスクリプトでHPが7桁しか表示されない
1の位が表示出来ていないだけなので単純な問題だと思う
http://fast-uploader.com/file/6918438118915/
このセーブデータで直ぐしたのスライムと戦うと検証出来る

親切な方よろしくお願いいたします
3名無しさん@お腹いっぱい。:2013/03/11(月) 18:11:28.97 ID:/AJxhqIj
>>2
俺にはわからなかった。
4名無しさん@お腹いっぱい。:2013/03/14(木) 13:37:42.02 ID:VOgGeZ0+
回想領域さんのシンボルエンカウントスクリプトを導入したんですが
undefined method `setup' for class `Game_Event'と表示され起動できません
何もいじってない新規プロジェクトに導入しても同じエラーが出ますが何故なのでしょうか
5名無しさん@お腹いっぱい。:2013/03/14(木) 17:59:45.88 ID:dnMxiVfr
スクリプトの導入の方法と設定が間違ってるんじゃない?
6名無しさん@お腹いっぱい。:2013/03/14(木) 19:15:41.01 ID:r6Ft2mSK
RGSS2のシンボルエンカウント導入してね?
7名無しさん@お腹いっぱい。:2013/09/18(水) 00:53:11.24 ID:EH0WzYhA
何かと競合してるとか
8名無しさん@お腹いっぱい。:2013/09/24(火) 10:55:20.55 ID:U5aymI1T
RPG探検隊さんのサイドビューを使ってるんですけども、
自分で自分のMPを回復した時だけ2重にポップアップされるのってどうにかならないですかね?
9名無しさん@お腹いっぱい。:2013/09/24(火) 12:34:49.99 ID:NnE11rOj
Sideviewの3801行目
@spriteset.set_damage_pop(@subject) if target != @subject && @subject.result.hp_damage != 0 or @subject.result.mp_damage != 0

@spriteset.set_damage_pop(@subject) if target != @subject && (@subject.result.hp_damage != 0 or @subject.result.mp_damage != 0)
に変えれば直る。
10名無しさん@お腹いっぱい。:2013/09/24(火) 12:36:01.01 ID:NnE11rOj
あ、最初の@が全角じゃなくて半角だから注意
11名無しさん@お腹いっぱい。:2013/09/24(火) 13:28:18.26 ID:U5aymI1T
直りました、丁寧にありがとう。()抜けてただけなんだねコレ
これだけでサイドビューやめるかどうかの瀬戸際だったのでマジでありがとう
12名無しさん@お腹いっぱい。:2013/09/24(火) 17:03:10.67 ID:U5aymI1T
もう一つ分からない事が…同じくRPG探検隊さんのサイドビューなんですけども
HPと同時にMPも回復するスキルやアイテムではMPしか表示されないんですが、全部同時に表示させられないでしょうか?
XPバトルのポップアップ拡張を使えって回答はよくみかけるんですがXPバトルは使わないもんで…

target.sv.damage_action(@subject, item)
N03.set_damage(@subject, -target.result.hp_drain, -target.result.mp_drain) if target != @subject

このset_damageがHPとMPどっちかでダメージがあれば表示って部分かな?
でも色々弄っても結局はMPが優先されてしまうんですよね…
ちなみにアイテム側の設定で「効果をMP回復」「ダメージタイプをHP回復」に分けてもだめでした…
13名無しさん@お腹いっぱい。:2013/09/24(火) 19:00:02.63 ID:kA9G5r+M
こんな感じだろうか。
バグフィックスちゃんとしてないからバグあるかもしれない。
http://www1.axfc.net/uploader/so/3038586?key=sideview
14名無しさん@お腹いっぱい。:2013/09/25(水) 04:04:00.58 ID:OnwDNkDc
お返事遅れまして申し訳ない…
そして試してみたところ、ちゃんとできました。すごいですね…
素人目にはかなり書き換えられてるように見えるのに機能してます。
バグってレベルでもないですが、ダメージ実行のendが一個多かったようなので消しておきました。

試しにTPとMPとHPが同時に変動するアイテムを作りましたが問題なく全部表示されてて感動です!ありがとうございます!
15名無しさん@お腹いっぱい。:2013/09/25(水) 04:22:20.26 ID:OnwDNkDc
あと、表示順が上からTP、MP、HPとなってしまって見栄えが悪かったので勝手ながら弄ってみました、
同じ悩みの人の参考になれば幸いです。

【ポップアップの表示順を上からHP、MP、TPにする(HPとTPを入れ替える)】
『ダメージ実行』のtpとmpを入れ替えて、
『ダメージ表示』の when 0; damage = 〜 
 の所のhpとtpを入れ替え、
 add_file = N03::DAMAGE_TP if damage_type == 2 の2を0にする

これでいいはず…?
では、何度も助言大変助かりました。ありがとうございました!
16名無しさん@お腹いっぱい。:2013/09/26(木) 10:09:26.79 ID:NCddLzS7
あーこれダメージを伴わないステート攻撃だとステートアイコンが表示されないバグがあるな・・・
今日中に修正するので見てたら入れ替えお願いします。
17名無しさん@お腹いっぱい。:2013/09/26(木) 12:46:32.45 ID:NCddLzS7
ダメージ部分とステート部分の処理を分離して修正しました。
RPG探検隊様サイドビュー用ダメージポップfix ver1.01
http://www1.axfc.net/uploader/so/3040392?key=sideview

もしダメージ用の画像の縦幅を弄っていて、ステート表示がダメージと重なる場合は
56行目、(@hit * 16)の16の値を修正して調整してください。
(たぶんその状態だとデフォでも重なるので、その場合は同じ行の-40も調整してください)
18名無しさん@お腹いっぱい。:2013/09/26(木) 15:18:57.41 ID:2e3eDoV8
>>17 様わざわざありがとうございます
言われなきゃ気づかなかった…確かにポップされてなかったですね。
ありがたく使わせて頂きます!
19名無しさん@お腹いっぱい。:2013/11/02(土) 21:44:15.40 ID:Dqxvtklh
ももまるさんのXPスタイルバトルのようなダメージポップアップをバトル中でなくマップ上で表示させたいのですがどうすればいいでしょうか?
20名無しさん@お腹いっぱい。:2013/11/11(月) 16:15:28.91 ID:GUmeo29b
 
18 :名無しさん@お腹いっぱい。:2013/09/13(金) 08:25:11.35 ID:x2XYHITC
ももまる氏のXPスタイルバトル導入したんだが戦闘アニメが全体的にでかくね?

790 :名無しさん@お腹いっぱい。:2013/10/19(土) 17:16:52.77 ID:hS1av0/v
ストレイキャットのももまるをコキ使って作った忘翼()

881 :名無しさん@お腹いっぱい。:2013/10/31(木) 16:24:25.53 ID:yLh7lWIA
ももまるに無茶させた名護みい
21名無しさん@お腹いっぱい。:2013/11/18(月) 19:04:06.28 ID:8aBzaYYG
ど初心者な質問ですいません。

ダンジョンのイベントで床が崩落してプレイヤーが落下するイベントを作りたいのですが
崩落する床のタイルが上手く表現できません。

タイルマップの穴を3×4箇所、イベント配置すると床が所々宙に残ってしまっています
穴のオートタイルを置くにはどうすればいいんでしょうか?
22名無しさん@お腹いっぱい。:2013/12/25(水) 18:45:19.54 ID:DkhUlnzx
RPG探検隊様のAce版サイドビュースクリプトを使っていますが
ミスや回避もポップアップ表示させるにはどこを弄ればいいでしょうか?
23名無しさん@お腹いっぱい。:2014/02/10(月) 11:28:58.20 ID:P1XXK+UJ
昨日買ったのですが起動して自動会話で順に会話させたいのに会話がバラバラに表示されますしかもループされます。
ゲームが始まるとあらすじが流れその後次のマップ移動までは造れたのですが自動会話人数は6人ですがどうしても上手くいかなくて
どうすればいいかアドバイスお願いします
24名無しさん@お腹いっぱい。:2014/02/12(水) 15:11:11.87 ID:8uN09E9g
>>23
初めてであれば、ひとまず公式の講座に一通り目を通すことをオススメします。
また、ツクールの基本的な操作であれば、ツクールの種類は違いますが、
YADOTというサイトが非常に参考になります。
25名無しさん@お腹いっぱい。:2014/02/14(金) 22:13:38.87 ID:1tGqAhJa
VXaceしか触ったことがないのですが、
ネットを見ているといろんなところで「XPのほうがきれいなマップを作れた」という評判を見かけます
XPとVXaceでどのような違いがあるのでしょうか?
単純に考えて、タイルセットを移植すればVXaceでも同じものが作れるのでは? と思うのですが
デフォルトで入っていたタイルセットに違いがあったのでしょうか?
XPで作ったマップをVXaceで使えるようにするスクリプトもあるようですが、
そのためだけにXPを買う価値はありますか?
26名無しさん@お腹いっぱい。:2014/02/15(土) 07:21:06.33 ID:wYyZ9TPb
それは自由だがXPのタイルセットは微妙に色数少ない
27名無しさん@お腹いっぱい。:2014/02/15(土) 10:10:09.26 ID:Au+eakEH
大前提として、なぜXPが他のツクールよりもきれいなマップが作成できるか?
ということを、実際に触って理解した方がいいと思います

とりあえずXPの体験版を使ってみる事をオススメします
28名無しさん@お腹いっぱい。:2014/02/16(日) 00:34:22.89 ID:fPOudGRK
キャラクターが隠れるような壁を作るにはどうしたらいいのでしょうか?
29名無しさん@お腹いっぱい。:2014/02/16(日) 01:03:20.23 ID:ELH+B8Ki
Eタイルに壁を設定(要自作)
あとはタイルセットの設定いじるだけ
30名無しさん@お腹いっぱい。:2014/02/16(日) 16:23:17.63 ID:fPOudGRK
>>29
ありがとうございます
31名無しさん@お腹いっぱい。:2014/02/16(日) 17:41:18.17 ID:WeNtcyb9
>>24
とても参考になるサイトを教えていただきありがとうございます。見ていたサイトよりこちらのほうが参考になるようです
32名無しさん@お腹いっぱい。:2014/02/16(日) 20:46:44.02 ID:kcl9cdkC
XPはレイヤー三層あるからな
Aceは実質自由なパーツを置けるのが二層しかない
この違いは大きい
しかも一層目で唯一自由なパーツを置けるA5が何故か横256と少ない
一層目のフリースペースがもっと広ければまだましだったんだが
まあでも遠景を利用した一枚絵マップとかやりたい人はAceの方がいい
エディタ上で遠景表示出来ないXPは辛い
33名無しさん@お腹いっぱい。:2014/02/16(日) 22:36:05.09 ID:ELH+B8Ki
あと、XPはカクカク
34名無しさん@お腹いっぱい。:2014/02/17(月) 18:33:58.88 ID:Vj4LqZ+7
RPG探険隊様のサイドビュースクリプトで
ポップアップダメージ表示に0を表示するには
どうしたらよいですか?
35名無しさん@お腹いっぱい。:2014/02/18(火) 15:13:06.79 ID:sBtUE7l0
表示すること自体は恐らく簡単だけど、
多分、0ダメージ表示するとMPダメージのみとかの攻撃でもHPダメージ表示出るよ?
36名無しさん@お腹いっぱい。:2014/02/18(火) 16:06:45.81 ID:A3/EyvgG
VX Aceにかぎらないのですが、フォルダ名が長いと重くなると聞きました。
パスD:\〜なども短い方が良いのでしょうか?
ためしにD:\FGにゲームファイルを入れてみましたが、重い気がします。
37名無しさん@お腹いっぱい。:2014/02/24(月) 04:33:32.01 ID:+rJggA8F
ビットマップとかをnesすると設定するrectの意味がいまいちわからなくて、ちょっと詰まっています。
ツクールで文字列や画像を表示する場合
ビューポートで範囲指定 → その上に透明のrectを張り、その中に画像を表示させるってイメージでいいんでしょうか?
それでその透明なrectベースで画像表示を整理整頓してるという風になっているんですか?
38名無しさん@お腹いっぱい。:2014/02/24(月) 11:21:34.69 ID:ghboiHA7
nesするの意味が良く分からないのですが・・・多分認識はあってると思います。
一応、viewport,sprite,window,bitmapのそれぞれの役割だけ。

viewportというのは一般的な画像処理で言うとレイヤーと似たような物と考えてください。
複数のspriteをグループ化するための機能で、これを操作する事で、spriteやwindowをまとめて動かしたり色調変化させたりできます。
spriteはbitmapを入れるための額縁のようなものです。
これを操作する事で、拡大縮小を行ったり、傾けたりといったことが出来ます。
windowは色々な機能を持った装飾枠付きのspriteです。
bitmapはキャンバスです。これに絵を描くのがbltで、文字を書くのがdraw_textです。
そして、四角を描くのがfill_rectで、左から右にグラデーションさせた四角を描くのがgradient_fill_rectです。

要するに、画面という部屋に、viewportという展示スペースを置いて、sprite(window)という額縁に入れた、bitmapという絵を飾ってるイメージです。
展示スペースを動かすと、一緒に額縁や絵も動くし、額縁を傾けると絵も一緒に傾きますよね。
展示スペースは部屋の中にいくつも作る事が出来ますが、1つの額縁には1つしか絵は入らない、といった感じです。

こんな説明で分かるかな・・・
39名無しさん@お腹いっぱい。:2014/02/24(月) 11:57:02.51 ID:+rJggA8F
おお、返事ありがとうございます!
nesはnewの間違いです。日本語ばっかチェックしてたらもれてしまいました
それぞれの役割を説明していただいて非常に助かります
おかげで部分部分じゃなくて概念的に理解できました。めっちゃはかどります
40名無しさん@お腹いっぱい。:2014/02/24(月) 12:18:58.27 ID:ghboiHA7
あ、1つだけ修正です。

>windowは色々な機能を持った装飾枠付きのspriteです。

これはちょっと違います。
windowには拡大縮小、角度指定の機能はないので、正確には別の種類の額縁といった感じです。
sprite→拡大縮小、角度指定、透明度変更、波形描画、反転描画等の機能を持った額縁。
window→装飾枠が付いて、開閉処理や選択用カーソル表示等の機能を持った額縁。
という風になります。
41名無しさん@お腹いっぱい。:2014/02/25(火) 15:12:37.78 ID:ebjxwpcF
ステータ画面にある顔グラを消して、立ち絵を入れたいのですが、よくわかりません
http://www4.plala.or.jp/findias/codecrush/material/vxace_rgss3/index.html
ここにかいてある ●立ち絵の変更
# $game_actors[アクターID].picture = "ファイル名"
ってのはどこに追加すればいいのでしょか?
42名無しさん@お腹いっぱい。:2014/02/26(水) 13:32:49.70 ID:ljtqnS+S
>>41
スクリプトとして
$game_actors[アクターID].picture = "ファイル名"
を実行すればいい。(アクターIDとファイル名は任意で変更)

簡単なやり方としては、コモンイベントを使う。
イベントコマンド3ページ目に「スクリプト」ってのがあるからそれで記述。#は不要。
あとは画像を初期設定したいときや、変更したいときにコモンイベントを実行すればいい

$game_actors[1].picture = "A1.png"

なら、アクター1の立ち絵がA1.pngになる。
A1.pngは自分で準備してね
43名無しさん@お腹いっぱい。:2014/03/13(木) 17:52:07.07 ID:H9fY9vlf
トループファイルやコモンイベントの文字を一括置換など可能でしょうか?
4443:2014/03/13(木) 22:15:14.50 ID:H9fY9vlf
NoEditor等に表示させ文字を一括置換という感じです
45名無しさん@お腹いっぱい。:2014/03/14(金) 22:39:54.86 ID:ZDzN1s07
「RPG探検隊」というサイトのサイドビュースクリプトを使っているのですが、これについて詳しい方はいらっしゃるでしょうか?
画面サイズを640×480で制作しているのですが、画面全体に広がる戦闘アニメを作るにはどうすればいいのでしょう?
例えば320×240のアニメーション4つを敷き詰めて同時に再生させるなんてことも出来るのでしょうか?
46名無しさん@お腹いっぱい。:2014/03/16(日) 12:36:27.67 ID:/TXJn2to
Aceは本スレ荒れて、粘着荒し意外は大体外部の板にいったから
こっちは答えてくれる人すくないぞ
47名無しさん@お腹いっぱい。:2014/03/16(日) 16:23:33.22 ID:CTA2o+lt
ありがとうございます
他のところで訊いてみます
48名無しさん@お腹いっぱい。:2014/04/04(金) 21:08:37.67 ID:JnP/gpcE
Ace本スレ12まだー?
49名無しさん@お腹いっぱい。:2014/04/05(土) 22:09:04.12 ID:R8SMU/HE
ただの荒らしが粘着するヲチスレと化してたしいらないだろう
50名無しさん@お腹いっぱい。:2014/05/07(水) 19:23:41.09 ID:3kdTjIf1
商用利用禁止の素材使って完成したゲームを
無料公会しても良いのでしょうか?
51名無しさん@お腹いっぱい。:2014/05/07(水) 23:23:30.72 ID:U40pPWMU
>>50
商用利用禁止の素材=その素材を使った創作物で商売してはいけない

なので、無料なら大丈夫
52名無しさん@お腹いっぱい。:2014/05/08(木) 21:02:39.98 ID:TA18mPzF
素材作者の気持ちを考えると
公開時に使ったのを一報するのがマナーだよな
53名無しさん@お腹いっぱい。:2014/05/09(金) 19:44:37.90 ID:yPFa/HTG
質問です
ダメージ計算式を頑張って考えていざ打ち込もうとしたら計算式が長すぎて入りませんでした
何か解決方法は無いでしょうか

通常攻撃用 (物理)(luk=近接技量ステータス)
2*(a.atk*((a.mhp-a.hp)/a.mhp+1)+a.agi*(a.hp/a.mhp)+a.luk*(-5*(a.hp**2/a.mhp**2)+6*(a.hp/a.mhp))*(a.atk*a.agi*a.luk)/(b.def*b.agi*b.luk))
-(b.def+b.agi*(b.hp/b.mhp)+b.luk*(-5*(b.hp**2/b.mhp**2)+6*(b.hp/b.mhp)))
入力できる範囲
2*(a.atk*((a.mhp-a.hp)/a.mhp+1)+a.agi*(a.hp/a.mhp)+a.luk*(-5*(a.hp**2/a.mhp**2)+6*(a.hp/a.mhp))*(a.a
54名無しさん@お腹いっぱい。:2014/05/10(土) 12:32:13.77 ID:24wAw2MS
やり方自体は
class Game_Battler < Game_BattlerBase
def na(a,b)
作った計算式
end
end
をスクリプトの適当なところに入れて、ダメージ計算式を
a.na(a,b)
とすればできると思います。

ただし、計算式に除算が入っているため、そのままでは正常な結果は得られません。
これは整数/整数の結果が整数となる仕様のためです。
除算する数字のどちらかに.to_fを加えて、浮動小数とすることで正常な結果が得られるようになります。
55名無しさん@お腹いっぱい。:2014/05/10(土) 19:57:28.04 ID:IFtlh2ob
>>54
ありがとうございます
問題は長さだけではなかったのですね
56名無しさん@お腹いっぱい。:2014/05/13(火) 03:45:46.34 ID:bEsQQoY/
VXですが既に仲間に入っているキャラの覚えているスキルを変更しようと考えています。
キャラ数が多く、覚えているスキルも多いのですが、現在覚えているスキルを一気に忘れる方法ってないのでしょうか?

最初は現在経験値を記録してレベルを1に戻して記録した経験値を戻したのですが、
変更後は覚えない変更前は覚えているスキルを覚えたままでした。
これを消すためには1キャラ1キャラ、スキルも1つずつ1つずつ何百位回も行い消すしかないのでしょうか?
現在データに登録している初期Lv初期スキルできると便利なのですが。
57名無しさん@お腹いっぱい。:2014/05/13(火) 16:58:43.69 ID:4qDpYlBi
先日、vxaceを購入しました

一作目として簡単なゲームを一つ作っているのですが、テストプレイの戦闘で得た経験値によってレベルアップの処理が行われていないようです
これは実際のゲームとして起動した時にはどうなるのでしょうか

現段階で何か設定する項目が欠けているのでしょうか?仕様なのか判断に困っています。
何か処理が必要であれば現段階で対応したいのですが…
58名無しさん@お腹いっぱい。:2014/05/13(火) 17:07:40.26 ID:kXtXOHN3
>>57
すみません、自己解決しました
実動させた場合はレベルアップの処理が行われる事を確認しました

そこで改めて質問したいのですが、
皆さんは戦闘に関するゲームバランスは実際に動かした物を触って調整を行っているという認識でよいでしょうか?
テストプレイ時に反映させる方法は基本的には無いと考えていいでしょうか?

どうぞ宜しくお願いします
59名無しさん@お腹いっぱい。:2014/05/14(水) 23:00:55.59 ID:42m3Rhom
RPGツクールVXリーダーで何回かやってるとガオーとか出て使えなくなったんだけど
OSのクリーンインストール以外で体験版の制限消すことできる?販売停止で買えないので。
レジストリの体験日数みたいなの消すソフトいいのあったら教えて。
昔でいうtrash key creanerみたいなやつ希望。
無理なら仮想PCで使うけど。うざいよなこういう体験版でわざわざ消しても残る記録残して
粘着質に制限してくるソフト。そのくせ買えないとか作者頭沸いてんのか?だったらソフトの公開自体停止しろよって思う。
60名無しさん@お腹いっぱい。:2014/05/15(木) 16:09:51.00 ID:cpgqgfYi
それVXゲー作者が連名組んでVectorにツクールVXの暗号解読は違法なので販売するなって何度も送りつけたやつだったような?

なおその手法は商用販売されてる他のソフトにもいくらでも応用できるので、昔は存在したその手のソフトが消えていった経緯からお察しください。
61名無しさん@お腹いっぱい。:2014/06/04(水) 02:04:57.39 ID:VBN2+C4c
質問です。
ステートが解除されるまでのターン数を表示したいのですが、どうやったらいいでしょうか?
たとえば麻痺を食らった時に、「麻痺が解けるまで、あと○ターン」と表示させたいです。
62名無しさん@お腹いっぱい。:2014/06/04(水) 12:25:03.28 ID:uPK44yYj
・ステートの残りターンを表示するスクリプトを入れる
・Window_BattleLogのdisplay_current_state辺りを改造して自力で表示出来るようにする

のどちらかです。
例のようにテキストで残りターンを表示するには、自力でスクリプトを改造するしか無いと思います。
63名無しさん@お腹いっぱい。:2014/06/04(水) 18:09:08.06 ID:VBN2+C4c
>>62
やはりスクリプト勉強しないとダメなんですね
制御文字等で何とかなればと思ったんですが…
即レスありがとうございました
64名無しさん@お腹いっぱい。:2014/06/10(火) 14:54:46.21 ID:reCL6yU0
初心者です

デフォのスクリプトで使われているメソッドやモジュールを
どんなメソッドやモジュールなのか調べるためにスクリプトエディタから検索かけてたどるときのコツってなにかありますか?
65名無しさん@お腹いっぱい。:2014/06/10(火) 17:29:10.08 ID:QwOwtIxb
VXAceでいいんだよね?

・Ctrl+Shift+Fでスクリプト内全文検索を利用する。
は基本として、

・p callerを入れて処理の流れを確認する。
(callerはそのメソッドがどこから呼び出されたのかが分かるメソッド)
・p 1,p 2などを各所に入れて処理の流れを視認しやすくする。

なんかが流れを理解するのには有効じゃないだろうか。
66名無しさん@お腹いっぱい。:2014/06/11(水) 11:31:03.27 ID:vFDvtsjp
ダメージ計算式で装備品の補正前の攻撃力とか防御力を使いたいんですがどう書けば使えるでしょうか。
以前FSMで似たような質問を見たと思うんですが、その時の話の中で
完全な素のステータス、ステータスアップアイテムによる補正後のステータス、装備による補正後のステータス
の3パターンあるというようなことが言われていて
そのうちのステータスアップアイテムの補正はあるけど武器の補正はない状態のステータスを取得したいです。
67名無しさん@お腹いっぱい。:2014/06/11(水) 12:30:27.82 ID:YvX4Cze1
まず、デフォルトのスクリプトのままでは取得は不可能です。
なので、スクリプトに
class Game_Actor < Game_Battler
def param_plus2(id)
return @param_plus[id]
end
end
を追加します。
これは、ステアップアイテム等で上昇した分のステータスを取得するのに必要なメソッドです。
後は
a.param_base(パラメータID)でステアップを含まない能力の取得
a.param_plus2(パラメータID)でステアップ分の能力の取得ができます。
つまり、
a.param_base(パラメータID)+a.param_plus2(パラメータID)
で装備と特徴の補正を含まない値が取得できます。

パラメータIDは
0:HP,1:MP,2:攻撃力,3:防御力,4:魔法力,5:魔法防御,6:敏捷性,7:運 です。
68名無しさん@お腹いっぱい。:2014/06/11(水) 14:00:37.70 ID:vFDvtsjp
>>67
ありがとうございます。
希望のステータスを取得することができました。
69名無しさん@お腹いっぱい。:2014/06/12(木) 14:00:44.24 ID:RYYozBCv
>>65
ありがとうございます。
シーンのクラスから始まってるスクリプトがどんな処理をしているのかを、ちゃんと観てみます。
70名無しさん@お腹いっぱい。:2014/06/19(木) 05:32:30.40 ID:fV4fk6md
質問です
戦闘画面で常に攻撃力を表示させることはできないでしょうか?
71名無しさん@お腹いっぱい。:2014/06/19(木) 07:41:19.63 ID:Ph3U6lub
できる。
72名無しさん@お腹いっぱい。:2014/06/20(金) 21:04:30.16 ID:5ApgIcuR
戦闘時に攻撃力を防御に、防御力を回避率などに変更して戦闘が終了したら元の数値に戻るスクリプトって可能かな?
73名無しさん@お腹いっぱい。:2014/06/20(金) 21:09:57.78 ID:OCxD/Ds2
スクリプトの基本が理解できてれば充分可能
74名無しさん@お腹いっぱい。:2014/06/26(木) 13:54:40.54 ID:pm12PHX1
〜することはできないでしょうか
〜することは可能かな

いずれも訳すと
"〜する方法を教えてください"である
DQNが"ちょっと金貸してくれや"というのと同じ
75名無しさん@お腹いっぱい。:2014/06/26(木) 16:48:44.14 ID:NxQFqN6b
初心者であろうと、「できないわけが無いこと」はまともな知能があればわかる
76名無しさん@お腹いっぱい。:2014/06/27(金) 02:44:38.79 ID:LLGHK7KY
>>74
>>75
これが直観主義的誤謬ってやつだなw
77名無しさん@お腹いっぱい。:2014/06/27(金) 05:46:29.45 ID:JbRNkZO8
>>76
>>71>>74みたいに
聞かれたことにそのまま答えればいいだけなのにねw
78名無しさん@お腹いっぱい。:2014/06/27(金) 05:48:54.17 ID:JbRNkZO8
間違えた>>71>>73
79名無しさん@お腹いっぱい。:2014/07/04(金) 02:04:10.03 ID:8ACOGp2w
すみません質問です
RGSS3を動かせるような統合開発環境ってないんでしょうか…できればフリーでwin用で
ブレークポイント置いたりステップ実行したりしたいです
80ササキタケオ:2014/07/08(火) 08:47:39.45 ID:jWIf1Ki5
Vxace でプリキュアみたいな、RPGを作るには
どうすれば良いですか?教えて下さい。
宜しくお願いします。
81名無しさん@お腹いっぱい。:2014/07/08(火) 13:00:39.13 ID:pSmd9KYd
>>79
まだ見てるか分からないけど、ステップ実行やブレークポイント使えるエディタは無いと思うよ。
RGSS2をNetBeansなんかで編集する方法を解説してる所はあるっぽいけど、RGSS3はなさそう。
82名無しさん@お腹いっぱい。:2014/07/08(火) 14:01:26.31 ID:s8O4645H
そもそもそんなことするまでもない
83名無しさん@お腹いっぱい。:2014/07/08(火) 23:30:05.10 ID:g3tC/s2n
>>81
見てますよーありがとう、やっぱそうかー
数万程度なら出費でもいいやと思ってたんだけどなぁ。

>>82
よちよちの若葉なんで全然追えないんですわorz
callerとか使いかた判らんけど試してみるか…
84名無しさん@お腹いっぱい。:2014/07/10(木) 02:34:26.87 ID:tJu9FYPi
初心者でVX aceでゲーム作ってるんですが、
「変数nがxの倍数の場合」みたいな条件分岐ってどうやるんですかね
85名無しさん@お腹いっぱい。:2014/07/10(木) 12:23:36.95 ID:Gaf39ItJ
変数の操作:変数nのxの剰余
条件分岐:変数nが0と同値
86名無しさん@お腹いっぱい。:2014/07/13(日) 16:45:02.39 ID:yLseqFca
「一炊の夢、一酔の幻」様制作の吹き出しメッセージACE版について。

文字数に関わらず、ネームウィンドウとメッセージウインドウの横幅を
任意の値で固定にしたいのですが、どこを弄れば良いですか?

キャラや台詞によって、ウインドウの幅や顔グラの位置がコロコロ変動
するのが非常にストレス溜まるので、どうにか固定化したいのです。
87名無しさん@お腹いっぱい。:2014/07/13(日) 19:54:06.95 ID:zaukRTy1
自分でスペース入れて調整しろや身の程知らずが
88名無しさん@お腹いっぱい。:2014/07/13(日) 21:47:04.70 ID:m/tJFgzX
>>87
初心者救済する気あんの?>>1を1万回ほど読んで納得して二度とここ来ないでくれる?
89名無しさん@お腹いっぱい。:2014/08/09(土) 13:37:14.38 ID:1MhtSBXI
パラメータを初期の6個から拡張したいのですがどうやったらできるでしょうか?
追加したパラメータにも成長曲線を設定したいです。
例えばですが、勇気と信仰心みたいなパラメータを追加するといった感じです。
この値の参照も、初期であるATKとかと同じように扱えるようにもしたいです。
90名無しさん@お腹いっぱい。:2014/08/09(土) 14:04:17.14 ID:IqVDV3Lb
パラメータを増やすこと自体は難しくないです。
成長曲線で設定できるようにするのもできます。
他のステータスと同じように特徴に対応させることはメモ欄で設定するようにすれば可能です。

ただし、それら全てを説明したところで、どこにどう表示するのか?という問題が出てきます。
ステータス欄に加え、装備欄でも表示枠を確保しなければいけません。

そこまですると、もう説明するより素材を作る方が簡単です。
なので、誰かに素材を作ってもらうか自力で作れないのならあきらめてください。
91名無しさん@お腹いっぱい。:2014/08/09(土) 14:25:46.48 ID:1MhtSBXI
表示に関しては値さえ取得できれば特に問題無いと思います。
基本的には内部パラメータとして扱うだけで、表に出てくる部分ではありませんので。
92名無しさん@お腹いっぱい。:2014/08/09(土) 15:17:54.46 ID:oolckmAr
なら最低限の機能だけ

class Game_Actor < Game_Battler

def sc ;$data_classes[self.note[/^<サブ能力:(\d+)>/] ? $1.to_i : 0 ] ; end
def pparam(param_id) ; sc ? sc.params[param_id,@level] : 0 ; end
def brave ; pparam(2) ; end
def faith ; pparam(3) ; end

end

これをスクリプトに貼って、アクターのメモ欄に<サブ能力:クラスID>と記述します。
ここで指定したIDのクラスの攻撃力をbrave、防御力をfaithとして取得できます。

特徴や装備による能力の操作はできません。
また、<サブ能力:○>の記述がないアクターのこれらの能力は0になります。
93名無しさん@お腹いっぱい。:2014/08/09(土) 17:31:05.75 ID:1MhtSBXI
>>92
ありがとうございます。
早速導入してみましたが、うまく行きません。

サブ能力用のクラス(ID10)を作って、とりあえず成長曲線はデフォルトのままとしました。
サブ能力をつけたいアクターのメモに <サブ能力:10> と記述しました。
スキルID1の通常攻撃の計算式欄に、a.braveとだけ記載しました。

これで、通常攻撃を行うとbraveと同じだけのダメージが当たると思うのですが0ダメージにしかなりません。
a.braveをa.atkとするとメイン職業のatkの値のダメージは出ています。

仕組み的には別クラスのATKやDEFといったパラメータを
サブ用として名前を変えて持ってきて使うという感じだと思うのですがあってるでしょうか。
94名無しさん@お腹いっぱい。:2014/08/09(土) 18:19:09.17 ID:YuRDP+sW
ごめんなさい、アクターのノートの取得が間違ってますね・・・
def sc ;$data_classes[self.note[/^<サブ能力:(\d+)>/] ? $1.to_i : 0 ] ; end
ここは
def sc ;$data_classes[self.actor.note[/^<サブ能力:(\d+)>/] ? $1.to_i : 0 ] ; end
が正解です。

それでそのままだとエネミーでこの値を使うとエラーがでてダメージが0になるので

class Game_Enemy < Game_Battler
def brave ; self.enemy.note[/^<brave:(\d+)>/] ? $1.to_i : 0 ; end
def faith ; self.enemy.note[/^<faith:(\d+)>/] ? $1.to_i : 0 ; end
end

を入れて、エネミーのメモ欄に<brave:数値>と<faith:数値>でbraveとfaithを設定できるようにするといいと思います。

仕組みに関してはお察しの通りです。
95名無しさん@お腹いっぱい。:2014/08/09(土) 18:33:22.70 ID:1MhtSBXI
>>94
変更してみたところ無事設定した別クラスのパラメータを追加パラメータとして取得することができました。
この方法だと成長曲線をスクリプトの中で設定しなくてもいいのでとても助かります。
ありがとうございました。
96名無しさん@お腹いっぱい。:2014/08/12(火) 21:42:27.61 ID:/4q4VsNi
現在作成中の作品は攻撃にヒット数があって、最大10HITなら1〜10回ヒットするというものなのですが
このヒット数をAGIによって大きめの値が出やすい、としたいです。
何も影響ない時が
rand(10) + 1 だとして、AGIが高ければ高いほどこのrandの中で5↑の出る確率が上がるという感じです。
あくまで上がりやすいというだけで、絶対に上のほうが出るというわけではありません。
AGIは最大値が120程度(レベル99の時)を想定していますが、実際そこまで行くとやりこみ要素なので
AGIが1〜10の時はrandしただけと同じぐらい(平均5ヒット)、11〜30ぐらいで平均6〜7ヒット、31〜50で平均8ヒット
というような上がり方にしたいのですが、どういった計算式を用いれば可能でしょうか。
10ヒットは割と高レベル想定なので、ヒット数に依存しない計算方法が知りたいです。
序盤は1〜3ヒットが普通になると思うので。
97名無しさん@お腹いっぱい。:2014/08/15(金) 22:49:21.90 ID:fJE+9w+f
はじめまして。質問ですm(._.)m

ツクールXPからこの度VXAceに鞍替えしました。
以前は外付けスクリプト(コモンイベントなどから直接実行できるスクリプト)を
結構使っていたので、今回も使いたいのですがコマンドが分かりません。


選択肢ウィンドウを表示するスクリプトの書き方を教えてください。
普通のウィンドウはXPと同じく

$win_newmap = Window_Base.new(@w_x,@w_y , @yoko , @tate)

こんな感じで作れましたが

選択肢は

$win_list = Window_Command.new(160[s1,s2,s3,s4])

これで出来ませんでした。XPで使っていた書き方です。



私はプログラミングの知識は少々ありますが、Rubyの言語は初心者です。
書き方が分かれば大体自力でどうにかなるんですが、どなたかご存知でしたら教えていただけませんか?
98名無しさん@お腹いっぱい。:2014/08/16(土) 09:43:54.73 ID:z+DrZ1Kj
>>96
ムリに計算式でどうこうするより、最低ヒット数と最高ヒット数の配列を用意するとか、
複数のテーブルを用意して、AGIのランクでそれを切り替えるとかの方法はどうでしょうか。
AGIが1〜10なら[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10]
AGIが11〜30なら[1,2,3,3,4,4,5,5,6,6,6,7,7,7,8,8,9,9,10,10]
のようなイメージで。

>>97
とりあえず、ツクールのヘルプのスクリプト入門に一通り目を通した方が良いと思います。
それの基礎編>クラス定義>オブジェクト初期化に書かれている通り、newされたクラスは、initializeが実行されます。
そして、Window_Commandのinitializeを見るとinitialize(x,y)となっているので、コマンドの内容を直接指定する形ではありません。
では、どうやってコマンドの内容を入れるのかというと2通りの方法があります。
1つはmake_command_listを再定義する方法、もう1つはadd_commandで追加する方法です。

ただ、単純に選択肢ウィンドウを出したいだけなら、@paramsに任意のデータを突っ込んで、command_102を実行した方が早いです。
@paramsの内容は[選択肢名の配列,キャンセルを押したときどの選択肢が実行されるか]です
2つ目の変数は0だとキャンセルを許可しません。結果は@branchに保存されています。
どちらも実際にcommand_102の最初にp @paramsを、最後にp @branchをいれてコンソールで内容を確認して見るといいと思います。
99名無しさん@お腹いっぱい。:2014/08/16(土) 10:10:16.89 ID:z+DrZ1Kj
あ、ごめんなさい、少し訂正

Window_Commandを使う場合、2つの方法があるといいましたが、
add_commandはmake_command_list内で使うためのメソッドなので
実質make_command_listを再定義するしかないです。

ただ、この方法で選択肢を作るのはオススメしません。
Window_Commandは選択されたシンボルを取得して、
ハンドラで直接対応するメソッドを実行するためです。
100名無しさん@お腹いっぱい。:2014/08/16(土) 10:46:48.47 ID:6OnPtKnu
97です回答ありがとうございます。
英語版を使っているのでヘルプ見てもヘルプにヘルプがいるような状態に(笑)
はかどらないので、ネット上にヘルプページ日本語で落ちてませんかねーorz
困ったものです。

ID:z+DrZ1Kjさんの結論としては、内部のスクリプトを再定義しない限り、外付けのスクリプトでは書けないという事であっていますか?
101名無しさん@お腹いっぱい。:2014/08/16(土) 11:09:00.38 ID:z+DrZ1Kj
ヘルプは日本語の体験版を落としてきて、ヘルプデータを上書きすれば日本語にできたかと。
結論としては、
「Window_Commandは内部的に実装する事を前提としたウィンドウなので、単独で使用するのには向かない。
選択肢だけで使用するならcommand_102で、メッセージに付随している選択肢ウィンドウを使用する方が良い。」
という感じです。
ちなみに、@paramsに直接データをいれて、command_102を呼び出した場合、選択肢の項目数は4択以上もできます。
102名無しさん@お腹いっぱい。:2014/08/16(土) 15:13:42.23 ID:6OnPtKnu
ID:z+DrZ1Kjさん、とてもご親切にありがとうございました!
俄然やる気が沸いてきました^^いただいた情報をモトに、根性で作り上げます。
具体的な番号も教えてくださってありがとうございます。
とても助かりましたm(._.)m夫婦揃ってプログラマなんで何とかなるでしょう!(笑)
103名無しさん@お腹いっぱい。:2014/08/16(土) 20:22:35.06 ID:TX5Fvt+Q
>>98
10ヒット決め打ちならそれでもいいのですが
先にも書いたように、ヒット数は変動する為
1〜2ヒットから最大で1〜20ヒットまで、しかも4〜6ヒットという中間の場合もあり
この全てに配列で対応というのはあまり現実的ではないと考えています。
汎用性を持たせたいので、計算で意図的に乱数に偏りを与える方法を探している次第です。
104名無しさん@お腹いっぱい。:2014/08/16(土) 20:29:50.91 ID:1ANWcaid
ツクールVXで乗ると移動する床を作りたいのですが
移動床をいくつも置いて連続してプレイヤーが移動していくというのが
上手くいかないのです
1つ1つの床をイベント化して触ったらイベント発生で
イベントを受け渡すようにして、次々とキャラクタを動かせば出来そうと
考えてたんですが、一度移動させるとそこでイベントが途切れてしまい
次の床の移動イベントが発生しないんです
問題解決方法を教えてもらえませんか
105名無しさん@お腹いっぱい。:2014/08/16(土) 21:05:01.68 ID:1ANWcaid
自己解決しました
106名無しさん@お腹いっぱい。:2014/08/16(土) 21:46:54.80 ID:zVKbsZ1K
>>103
うーん、それって結局重み付きの乱数生成しないとダメになりますよね。
重み付きの乱数を生成する仕組みを作って、各項目に重みを付与する仕組みを考えるくらいなら、
数十行くらいベタ打ちで並べてしまったほうが早いし分かりやすいと思うのですが。
sampleでいいから別に配列のサイズとか関係ないですし。

class Game_Battler < Game_BattlerBase
def atk_cnt
case agi
when 1 .. 10; return [1,1,1,2,2,3,4,5,6,7,8,9,10].sample
when 11 .. 30; return [1,1,2,2,2,3,3,3,4,5,6,7,8,9,10].sample
when 31 .. 50; return [1,2,2,3,3,4,4,4,5,5,6,6,7,8,9,10].sample
when 51 .. 80; return [1,2,3,3,4,4,5,5,5,6,6,6,7,7,8,8,9,10].sample
when 81 .. 100; return [1,2,3,4,5,5,6,6,7,7,7,8,8,9,9,10].sample
when 101 .. 119; return [1,2,3,4,5,6,6,7,7,7,8,8,8,9,9,10,10].sample
when 120 .. 999; return [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20].sample
end
end
end

みたいな感じで。
107名無しさん@お腹いっぱい。:2014/08/16(土) 21:50:15.28 ID:pCJuKPT/
数学で何とかできないかって言いたいのかも
108名無しさん@お腹いっぱい。:2014/08/16(土) 23:09:08.70 ID:zVKbsZ1K
本当に計算式だけでやるなら漸近線とかだろうか・・・

サガ 漸近線 で検索すればサガフロ2のインタビューが出てきて、
そこのダメージ計算のところに計算式とグラフが載ってるはずです。
109名無しさん@お腹いっぱい。:2014/08/16(土) 23:18:17.81 ID:TX5Fvt+Q
>>106
各項目に重みの付与、という部分がよくわからないのですが
イメージで言うと
x = 最低保証ヒット数
y = 最大ヒット数

x + rand(y+1)

↑これにAGI(1〜120の範囲で)をかけるなり√なりなんでもいいのである計算を行うと
AGIが高い程乱数の結果も高めの数値が出やすくなる、という計算式があればというところです。
例えばrand(1000)としておいてそこからAGIで除算してその余りを求めるといい感じの数値が求められる(これは適当な計算です)とか
そんな数学スゲーってなるようなテクニックがないかなと。

>>107
その通りかもしれません。
110名無しさん@お腹いっぱい。:2014/08/16(土) 23:21:00.37 ID:TX5Fvt+Q
>>108
数学はあまり得意ではないのですが、インタビューを参考にしてみます。
111名無しさん@お腹いっぱい。:2014/08/17(日) 14:40:39.67 ID:vfRCqAXA
repeat = (Array.new(agi){x + rand(y+1)}).max
112名無しさん@お腹いっぱい。:2014/08/17(日) 18:03:32.77 ID:8tzO5fSN
>>111
AGIの分だけ配列を作ってそこに最低〜最大のヒット数分の乱数を放り込んで
その中で一番大きいのを取得する、という感じでしょうか?
AGIが5なら5回ランダム作り、50なら50回作る。
当然50回乱数作成する方がその中に大きい数値が含まれる可能性が高くなるのでAGIが高い程大きめが出やすい。
この解釈であってるでしょうか?

ただこのままだとAGI100とかいくと殆ど最大値付近しか出なくなりそうなので
Array.new(agi / 5)等として作る配列を減らして使ってみようと思います。
この辺は調整してみないとどれぐらいはいいかはわかりませんが。
作成する配列の数が小さくなれば、出現する最大値も多少抑えられるように思えるので。
どうもありがとうございました。
113名無しさん@お腹いっぱい。:2014/08/18(月) 11:43:21.99 ID:exaMfdhw
114名無しさん@お腹いっぱい。:2014/08/18(月) 20:17:36.28 ID:LI+wH3A0
質問です・・・
RGSS3で一次配列の書き方は違うんですね
values = [] # 空の配列を作成
p values # values の中身を表示
values.push 0 # values に 0 を追加
p values
values.push 1 # values に 1 を追加
p values

これをやるにはRGSS3ではどう書けばいいんでしょうか^^;
115名無しさん@お腹いっぱい。:2014/08/18(月) 21:24:49.90 ID:GlgZWFxQ
>>114
ん?そのままで使えるような・・・?
116名無しさん@お腹いっぱい。:2014/08/18(月) 22:37:02.31 ID:LI+wH3A0
自己解決いたしましたm(._.)m
>>115さんありがとうございました。
117名無しさん@お腹いっぱい。:2014/08/19(火) 11:52:53.95 ID:Rq/oAfeT
質問です
コモンイベント内で自作したグローバル変数($game_variables[]とは違う名前)
って、ゲームプレイ中は保持されますが再起動すると消えてしますんですね。
二次元配列を使っているので$game_variables[]にそれを使うと、
デバッグモードの時画面に表示しきれず強制終了するので使いたくないんですが
セーブしてゲームを再起動しても残すことが出来るグローバル変数って
VXAceに用意されているのは$game_variables[]だけなんでしょうか?
118名無しさん@お腹いっぱい。:2014/08/19(火) 12:20:55.40 ID:LJC+g0i6
そりゃあ、$game_variablesなんかのグローバル変数は起動するたびに中身がリセットされて
セーブデータを読み込んだところで内容を展開してるのだから当然かと

値を残したいっていうのなら、グローバル変数にするんじゃなくて
Game_Systemなんかのインスタンス変数にするとかでいいんじゃないかな
119名無しさん@お腹いっぱい。:2014/08/19(火) 12:46:24.65 ID:Rq/oAfeT
118さん、回答ありがとうございます。
結局デバッグモードを捨てて$game_variables[]の中に当てることにして、解決しました。
インスタンス変数にすればよかったのか・・・。
120名無しさん@お腹いっぱい。:2014/08/19(火) 15:18:49.33 ID:Rq/oAfeT
質問内容が数学のお話で申し訳ないんですけど、

1ページ内に8行書けるとして
20行の場合はMAXページ数は3ですよね。

行数がその時々で変化するのですが、
MAXページ数を算出する計算式ってどう書けばいいんですか?^^;
よろしくお願いします(;´ρ`)
121名無しさん@お腹いっぱい。:2014/08/19(火) 15:46:52.29 ID:gcFseDfa
(行数/8.0).ceil

to_i→小数点以下切捨て
round→四捨五入
ceil→大きい方に丸める(1.2→2,-1.2→-1)
floor→小さい方に丸める(1.2→1,-1.2→-2)

整数同士の割り算だと結果が整数しか出てこないため、
結果を小数にする必要があるので、片方を小数の8.0にしている
122名無しさん@お腹いっぱい。:2014/08/19(火) 15:49:19.82 ID:Rq/oAfeT
>>121 助かりました!ありがとうございますm(._.)m
早速メモ帳に記録しておきました。
123名無しさん@お腹いっぱい。:2014/08/24(日) 20:18:06.05 ID:Qq4XclWY
すみません、イベントでどう書けばいいのかわからないので教えて下さい。

変数1はアイテムIDを表します。
変数1の中身は毎回変わります。
変数1の指定するIDのアイテムをプレイヤーが入手するには、
スクリプトでどの様に書けば出来ますか?
124名無しさん@お腹いっぱい。:2014/08/24(日) 20:26:52.91 ID:Qq4XclWY
自己解決…
n = $game_variables[1]
a = 個数
$game_party.gain_item($data_items[n], a)

これで行けました。すみませんでした。
125名無しさん@お腹いっぱい。:2014/08/25(月) 00:35:42.13 ID:6ahjPSi5
質問です。
アクターID:001はかならずパーティに居るのですが、
アクターID:001の現在の「class名」を変数に代入したいです。
どう書けば良いのでしょうか?
126名無しさん@お腹いっぱい。:2014/08/25(月) 03:33:22.52 ID:6RMF4UkA
class_name = $game_actors[1].class.name
127名無しさん@お腹いっぱい。:2014/08/25(月) 13:54:30.17 ID:6ahjPSi5
ありがとうございます;
128名無しさん@お腹いっぱい。:2014/08/25(月) 21:55:12.64 ID:6ahjPSi5
質問です;
文章のスクロールと似た機能を、イベントコマンドのスクリプトで作り出すことは可能ですか?
マップ上のイベントをタッチして作業中に経験値を取得することがあるのですが、
取得した経験値(変数の値)を画面上に +変数値exp として下から上へスクロールしたいんです。

見た目は文章のスクロールと同じでいいのですが、
その間イベントが止まらないようにしたいんです。
129名無しさん@お腹いっぱい。:2014/08/25(月) 22:40:27.75 ID:6ahjPSi5
質問2 ツクールVXAceにて…

adv_self_switches(マップID, イベントID, "スイッチ名", true / false)

これを実行すると、NoMethodErrorが発生します。
ググっていろいろ調べていますがこの書き方で出来そうなのに何で出来ないのか…
関係あるかわかりませんが、マップID、イベントID、"スイッチ名"の部分の値をputsコマンドで
直前にコンソールに表示していますが問題ありません。
綴りもあっています。

どうして?orz

puts "mapid = " + mapid.to_s
puts "eveid = " + eveid.to_s
puts "switch = " + switch
adv_self_switches(mapid, eveid, switch, true)

実際に実行しているスクリプトのコピペです。
これでエラーになるんです…
130名無しさん@お腹いっぱい。:2014/08/25(月) 22:52:57.56 ID:6ahjPSi5
>>129 自己解決orz
131名無しさん@お腹いっぱい。:2014/08/26(火) 04:36:26.59 ID:xMblGHYQ
「ちいさな本屋」さんttp://xrxs.at-ninja.jp/Nov9.htmのスクリプトの
「BaST」で"Undefined method 'guarding'"何ちゃらって
出るんですがこれどう解決すればいいのか教えて下さい
132名無しさん@お腹いっぱい。:2014/08/26(火) 04:51:57.43 ID:xMblGHYQ
'gurading'は'guarding='でした
あとVXです、お願いします
133名無しさん@お腹いっぱい。:2014/08/26(火) 04:57:15.97 ID:xMblGHYQ
マルチレスで本当に申し訳ないのですが。
エラー内容は正確には"Undefined method 'guarding =' for nil:nilclass"でした
134名無しさん@お腹いっぱい。:2014/08/26(火) 10:55:56.99 ID:M6RECElQ
>>128
出来ないことはないでしょうが、非常に面倒です。
大人しく入手インフォメーションなどの素材を使って表示するほうが良いと思います。
>>131
ちいさな本屋さんの素材はサポートがされてなく、かつ放置されているバグが多いです。
そのバグを修正したとしても、別のバグに当たる可能性は高いので、
自力でどうにかできないのであれば使用しない方が良いと思います。

また、スクリプトのエラーを報告するときは、
「エラーメッセージの全文」「エラーが起きた状況」「同時に入れているスクリプト」
の3点が無ければ、正確な修正は難しいです。
その文だけだと行数が足りないため、原因を特定するのに非常に手間がかかります。
135128:2014/08/26(火) 19:09:51.52 ID:uZcU5Ith
>>134さんありがとうございます。1秒ほどの待ち時間なので、諦めます。
136名無しさん@お腹いっぱい。:2014/08/26(火) 22:05:25.56 ID:uZcU5Ith
いつもお世話になってます。

質問です・・・

イベントコマンドのスクリプトで、
変数の示すIDのクラスに変更することはできますか?
どう書けば出来ますか?
137名無しさん@お腹いっぱい。:2014/08/27(水) 00:44:45.97 ID:fUGHoALs
>>134 申し訳ございません。

エラーメッセージ:「スクリプト'BaST'(註:ちいさな本屋さんのBaST【バトルシステムテンプレート】本体です)の1867行目で
NoMethodErrorが発生しました。Undefined method 'guarding=' for nil:NilClass」

状況:同サイトさんからの併用スクリプト(プラグイン)はサイドビュー、二軸3DバトルカメラXC.、BaST-VX.BM1. クリアメッセージ、
    BaST-VX.BS3. ラピッドデザインZ、バトルバックウェーブ無効化です。戦闘において味方が戦闘不能になった次のターンの
    開始直前(直後?とにかくターンが切り替わるタイミングです)に上記の内容でクラッシュします

ここまで書いておいて何なのですが、新規プロジェクトでBaST本体だけを入れて起動した場合も、
同じ症状が発生しました。

どうぞよろしくお願いします。
138名無しさん@お腹いっぱい。:2014/08/27(水) 03:07:09.74 ID:KM/Xtscj
スクリプト素材のバグを直すなんて頼むだけ無駄
139名無しさん@お腹いっぱい。:2014/08/27(水) 10:17:25.81 ID:FcOegBgH
>>137
guarding= ていうのがエラーになってるんだし、guarding=って 間にスペースのない文字列検索してそこにスペース入れりゃいいだけじゃないの?
140名無しさん@お腹いっぱい。:2014/08/27(水) 10:22:10.10 ID:DYOhmfZc
>>136
さすがに少しスクリプトを眺めて見ることを覚えた方がいいと思います。
スクリプト全文をShift+Ctrl+Fで全文検索が出来ますので、「職業の変更」で検索を掛けて見てください。
2つ引っかかると思うので、見比べて試行錯誤してみてはどうでしょうか。
>>137
大前提として、そのスクリプトはバトルエンジンのいずれかと同時に導入されていることが前提となっているような感じです。
主原因としては、active_battlerがnilになっているため、command_rights_userがnilになっているせいだと思われます。
恐らく、rights_user = command_rights_user(action)の下にreturn unless rights_userを挿入する事でエラーは消えるとは思いますが、
また他のエラーが出る可能性も高いです。
141名無しさん@お腹いっぱい。:2014/08/27(水) 10:55:55.75 ID:FcOegBgH
>>140
見てますよ^^;
結局無理そうなので非現実的ですが入ってきた時の職業ごとに分岐させる方法で半解決しました・・・
そして英語版なのでchange classで検索していましたが引っかかってきたのはそれぞれの変数の値を
変更してるような部分だけ。
じゃあ直接値を変更したら?とも思いましたが経験値のテーブルを引っ張ってくるのが
書き方がよくわからなかったのであきらめました  今ココ(´Д`)
クラスチェンジできればスムーズでわかりやすかっただけに残念です。
142名無しさん@お腹いっぱい。:2014/08/27(水) 10:59:23.39 ID:FcOegBgH
だけど140さんの書き方だと出来るみたいだし、もう少し粘ってみますー
回答閉め切ります、ありがとうございました。
143名無しさん@お腹いっぱい。:2014/08/27(水) 11:15:03.48 ID:FcOegBgH
ちょっと理解できないけど

id = 変数
class_id = 変数
actor = $game_actors[id]
actor.change_class(class_id) if actor && $data_classes[class_id]

これで出来るみたいだからこれで使ってみます。
actor.change_class(class_id) if actor && $data_classes[class_id]
この行とか何やってるかサッパリわからないから私はセンスないのかもしれない。
144名無しさん@お腹いっぱい。:2014/08/27(水) 12:13:47.40 ID:MogpqIbT
こんなんで「作者」とか言ってしまうから、アクアリウムスみたいなゴミプログラムが出来上がるんだな。
フリーゲーム製作界もお先真っ暗だ。
145名無しさん@お腹いっぱい。:2014/08/27(水) 12:23:32.15 ID:6cd4KyNw
>>143
とりあえず、それらを解説すると

id = 変数 # アクターのIDを設定
class_id = 変数 # クラスのIDを設定
actor = $game_actors[id] # 設定したアクターのIDからアクターを取得
# 取得したアクターのクラスを設定したIDのクラスに変更する
# ただし、アクターのIDやクラスのIDが範囲外でnilになっているときは処理を行わない
actor.change_class(class_id) if actor && $data_classes[class_id]

となります。

最後のif actor && $data_classes[class_id]がない場合、
データベースで設定していないアクターやクラスのIDをいれたとき、エラーが出ます。

また、VXAceの場合体験版のスクリプトも製品と全く同じなので、
日本語の体験版を落としてくれば日本語のコメントを見ることが出来ます。
146名無しさん@お腹いっぱい。:2014/08/27(水) 13:03:15.43 ID:FcOegBgH
>>145さん
「データベースで設定していないアクターやクラスのIDをいれたとき、エラーが出ます。」
ここがよくわかっていませんでした。
ご丁寧に解説して下さって感謝していますm(__)m
147名無しさん@お腹いっぱい。:2014/08/27(水) 16:14:04.80 ID:fUGHoALs
>>140 ご回答有難うございました。
早速試させていただきます。
148名無しさん@お腹いっぱい。:2014/08/28(木) 19:31:05.63 ID:+fmJTTie
たびたび質問すみません。

イベントコマンドのスクリプトでウィンドウを開いて、
そこに文字列や画像を表示させているのですが。

文字列は""を代入して再度表示すれば文字列だけは消せますが、
画像はどうやれば画像だけ消せますか?
ウィンドウは消したくないんです。
disposeもnil代入もせずに、画面に出ている画像を見えなくするだけでいいのですが
やり方が分かりません。
149名無しさん@お腹いっぱい。:2014/08/28(木) 19:56:30.02 ID:FAZQo4xZ
透明度上げるとか?
150名無しさん@お腹いっぱい。:2014/08/28(木) 20:10:11.32 ID:+fmJTTie
ウィンドウにグラフィックを表示させる
$ウィンドウ名 .contents.blt(
@pic_x,@pic_y,@pic,Rect.new(表示させる画像のX座標,画像のY座標,画像の横幅,画像の縦幅))

私が知る限りだと、書き方がこうなっているので、
透明度をいじることが出来ません。(´Д`)
151名無しさん@お腹いっぱい。:2014/08/28(木) 20:17:26.00 ID:NcQ/sOEs
blt(x, y, src_bitmap, src_rect[, opacity])
src_bitmap の矩形 src_rect (Rect) から、このビットマップの座標 (x, y) にブロック転送を行います。

opacity には不透明度を 0 〜 255 の範囲で指定できます。

ヘルプも読めないならバグをだすだけ
152名無しさん@お腹いっぱい。:2014/08/28(木) 20:30:18.42 ID:+fmJTTie
どうもすみません^^;おっしゃる通りです。
そしてご親切にありがとうございます。
153名無しさん@お腹いっぱい。:2014/08/28(木) 20:45:55.49 ID:+fmJTTie
やったー!出来ました!

結局、開いているウィンドウ名の後

.contents.clear とすれば画像だけ消すことが出来ました!

どうもお世話になりましたm(._.)m
透明にする書き方は未だに良くわかってませんが
まぁその内たどり着けるかな…。
154名無しさん@お腹いっぱい。:2014/08/28(木) 21:23:56.24 ID:4v6VTteN
質問です。
そのスキルを使うと以後敵からの攻撃のダメージが
全部MPにいき、MPが0になると効果が切れHPにダメージが戻るような
MPバリアを作りたいのですが方法がわかりません。
よろしければ教えてください。
155名無しさん@お腹いっぱい。:2014/08/29(金) 09:20:52.77 ID:UEh1c529
スキルってか適当なステートを用意して
ダメージ計算の方でそのステートにかかってる時
ダメージをMPにいかせて、ifでMPが0の時はHPダメージにする じゃあかんの?
156名無しさん@お腹いっぱい。:2014/08/29(金) 10:21:18.31 ID:Yi7bXSNw
>>154
スクリプト作らないと無理だとは思います。
というか、ここはAce用のスレだとは思うのですがVXの質問をする人もいるので
一応ツクールの種類は明記してください。
157名無しさん@お腹いっぱい。:2014/08/29(金) 15:04:36.05 ID:deuKk8/r
>>154です。

>>155-156さん、ありがとうございます。
変数でMPを管理しようと思ったのですが
ダメージの計算がわからず断念しておりました。

ツクールはAceです。表記漏れで申し訳ありません。
やっぱりスクリプトしかないのでしょうか…。
158名無しさん@お腹いっぱい。:2014/08/29(金) 15:14:54.22 ID:PDHweQ7D
今テストが出来ないので、きちんと動く保証ないですが

class RPG::State < RPG::BaseItem
def magic_wall?
self.note.include?("<マジックウォール>")
end
end

class Game_Battler < Game_BattlerBase
alias _____execute_damage execute_damage
def execute_damage(user)
if self.states.any?{|st| st.magic_wall? }
if self.mp <= @result.hp_damage
@result.mp_damage += self.mp
@result.hp_damage = @result.hp_damage - self.mp
self.states.each{|st| self.remove_state(st.id) if st.magic_wall?}
else
@result.mp_damage += @result.hp_damage
@result.hp_damage = 0
end
end
_____execute_damage(user)
end
end

たぶんこんな感じです。
ステートのメモに<マジックウォール>と書くと、ダメージをMPに変換します。
159名無しさん@お腹いっぱい。:2014/08/29(金) 15:21:21.81 ID:LK3ITQX+
>>154ナイスな質問ですね〜私も使いたいシステムです(わくわく)
160154:2014/08/29(金) 16:27:41.13 ID:deuKk8/r
>>158
ありがとうございます!
思い描いていたものと同じもので感動しました!
HPが少なく、MPが多い魔法キャラに使おうと思ってたので
重宝させていただきますね。

>>159
自分が遊んでいたゲームの技ですが
すごくいいシステムですよね。
161名無しさん@お腹いっぱい。:2014/08/30(土) 18:20:10.68 ID:JhVCxVSQ
>>59
HKEY_USERS\S-1-5-21-2781864741-XXXXXXXXX-XXXXXXXX-1000\Software\nukomofu\RPGVX_Reader : RestSaveCount
HKEY_USERS\S-1-5-21-2781864741-XXXXXXXXX-XXXXXXXX-1000\Software\Enterbrain\RPG : ScalePos
レジストリエディタでnukomohuとEnterbrainを検索してフォルダを削除すれば
初期化出来るぞ。
162名無しさん@お腹いっぱい。:2014/08/30(土) 20:46:47.93 ID:g3YQMrlz
ツクールVXのスクリプトの質問させてください
戦闘中にバトルイベントでBGMを変更した場合に
戦闘終了後もそのBGMを途切れさせず続けて流すにはどうすればいいでしょうか?
スクリプトが必要と思うのでそれを教えてもらえないでしょうか
163名無しさん@お腹いっぱい。:2014/08/31(日) 14:04:41.13 ID:fF6PXMYt
VXAceのスクリプトの質問です

バトルイベントのイベント項目「スクリプト」(もしくはコモンイベントの「スクリプト」)から、
$game_messageのほうにではなくバトルログのほうにメッセージを出力したいです。
この場合スクリプトでどう弄ればいいのでしょうか?

@a = WindowBattleLog.new
@a.add_text("test")としてももう一つ新しいバトルログが出来るだけですし、
元のバトルログになんとかアクセスしたいのですが…
164名無しさん@お腹いっぱい。:2014/09/01(月) 10:13:15.42 ID:O5cFHHo2
>>163
class Scene_Map < Scene_Base
attr_accessor :log_window
end
これを導入して、

イベントコマンドのスクリプトから
SceneManager.scene.log_window.add_text(表示したいテキスト)
で可能です。
165名無しさん@お腹いっぱい。:2014/09/01(月) 20:34:43.48 ID:BmNoGQxE
>>164
おお…バトルで使うのでScene_Battleのほうに導入したらいけました!
attr_accessorがよく分からなかったのですが、こういう使い方をするんですね…。
ありがとうございます…本当に助かりました。
166名無しさん@お腹いっぱい。:2014/09/02(火) 08:16:27.93 ID:QSjcBKxW
ごめんなさい、最初の一行は
class Scene_Battle < Scene_Base
でしたね。

attr_accessor :log_windowは

def log_window
return @log_window
end

def log_window=(value)
@log_window = value
end
を一行で同時に導入する機能だと考えてもらえばいいと思います。
ヘルプのスクリプト入門>基礎編>クラス定義>アクセサの定義に詳細が書かれています。
167名無しさん@お腹いっぱい。:2014/09/02(火) 08:17:45.40 ID:QSjcBKxW
>>162
戦闘開始直前にマップBGMをその変更後のBGMに変更するのは試しましたか?
確か、戦闘中のBGMとマップのBGMが同じ場合、途切れずに流れ続けるという仕様があったと思います。
168名無しさん@お腹いっぱい。:2014/09/03(水) 08:06:53.08 ID:hkdO31iB
二刀流や複数攻撃が出来る武器で複数攻撃すると
アニメーションの再生が途中で止まって次のアニメーションに移ってしまうのですが
長いアニメーションだから途中で途切れてしまうと不自然になってしまうので最後まで再生させたいです
最後まで再生させるにはスクリプトのどの部分を弄ればいいのでしょうか
169名無しさん@お腹いっぱい。:2014/09/04(木) 03:15:38.13 ID:Q1tSqZZr
VXACEで敵の数でダメージが変わるスキルが作りたくて
a.mat * $game_troop.members.size * 3 - b.mdf
っていう式にしてみたんですけどこれだと死んでるかどうかの判定してくれないのですが
生きてる敵だけ参照するにはどう書けばいいでしょうか?
170名無しさん@お腹いっぱい。:2014/09/04(木) 08:21:46.69 ID:l2JGZT0l
>>168
ツクールの種類を・・・
AceならScene_Battleのshow_normal_animationの
abs_wait_short を wait_for_animation に変更すれば全部再生されます。

>>169
members のところを alive_members にする。
171名無しさん@お腹いっぱい。:2014/09/04(木) 09:56:10.79 ID:Q1tSqZZr
>>170
ありがとうございます、できました
172名無しさん@お腹いっぱい。:2014/09/04(木) 18:31:31.60 ID:glsYhd7J
>>170
168です
すいません
スレタイにVX AceとあったのでAce用のスレだと勝手に思っていました

アドバイスありがとうございました
おかげで自然なアニメーションをするようになりました
173名無しさん@お腹いっぱい。:2014/09/06(土) 17:29:07.68 ID:kXgTmrfy
クリティカルをダメージ増加ではなく即死扱いにしたいんですがどうすればできますか?
ダメージを1万倍とかにして絶対カンストダメージで事実上即死とかではなく即戦闘不能です。
Wizardryの首切りをイメージして貰えるとわかりやすいかと思います。
174名無しさん@お腹いっぱい。:2014/09/06(土) 19:10:38.84 ID:c7yUQ/R0
>>173
ツクールのバージョンは知らないからエスパーレスですまんな

クリティカル判定(cri?)ならadd_state(1)するような処理をすればいい
175名無しさん@お腹いっぱい。:2014/09/06(土) 19:36:17.58 ID:kXgTmrfy
>>174
ツクールはAceです。

def apply_critical(damage)
damage * 3
end

ここをいじればいいんでしょうか?
ただadd_state(1)するにもここだと引数がdamegeしかきていないので
ステートを付与する対象が識別できないように思えます。
それともこの関数ではないのでしょうか。

それと、これだと戦闘不能ステート耐性がある場合その耐性率によって軽減されてしまわないでしょうか?
クリティカルは、その耐性も無視して発生すれば100%死ぬとしたいです。
クリティカルの方の耐性は会心回避率で設定するつもりです。
ボスは会心回避率が99%といった感じで。
176名無しさん@お腹いっぱい。:2014/09/06(土) 23:59:55.31 ID:c7yUQ/R0
>>175
Aceか
こっちは慣れてないものの、自分なりに色々やってみた
しかし
>それと、これだと戦闘不能ステート耐性がある場合その耐性率によって軽減されてしまわないでしょうか?
これと表示の面で課題が残ってしまった
期待を裏切る結果になってすまない
177名無しさん@お腹いっぱい。:2014/09/07(日) 12:11:18.74 ID:AAYNykme
>>176
わざわざ調べてもらってありがとうございます。
自分でも試してはいるんですがなかなかうまくいきません。
耐性についてはクリティカルがでた時点でそれ以降の処理をすっ飛ばして終わらせるか
そもそも判定を耐性より後にする等を考えてみましたが
どこでそれをするべきかがよくわからない状況です。
178名無しさん@お腹いっぱい。:2014/09/07(日) 13:11:03.20 ID:sN7eaubC
>>177
def apply_critical(damage)
die
damage * 3
end

答えはシンプルにhpを0にすれば良い(キリッ

考え方としては、どうしたら倒せるのか?を考えれば良いだけです。
敵が死ぬ時はどういった時ですか?
hpが0になった時です。

つまり、クリティカルを食らったらhpを0にしてしまえば
死んでしまうんです。
179名無しさん@お腹いっぱい。:2014/09/07(日) 14:13:34.89 ID:wvKv6luf
やっとできたと思ったらそんな簡単な手法がorz
しかし、もしバトルログがデフォのままだと表示がおかしくなるので
その時はこれを追加で
class Game_Battler
#--------------------------------------------------------------------------
# (メソッド追加)クリティカル判定
#--------------------------------------------------------------------------
def critical ; @result.critical ; end
end
class Window_BattleLog < Window_Selectable
#--------------------------------------------------------------------------
# ● HP ダメージ表示
#--------------------------------------------------------------------------
def display_hp_damage(target, item)
return if target.critical # クリティカル判定の時
return if target.result.hp_damage == 0 && item && !item.damage.to_hp?
if target.result.hp_damage > 0 && target.result.hp_drain == 0
target.perform_damage_effect
end
Sound.play_recovery if target.result.hp_damage < 0
add_text(target.result.hp_damage_text)
wait
end
end
180名無しさん@お腹いっぱい。:2014/09/07(日) 15:00:04.03 ID:AAYNykme
>>178
早速やってみたのですが、クリティカルが発生した瞬間に

undefined method 'abs' for {}:Hash

上記エラーが出てしまいます。

def apply_variance(damage, variance)
amp = [damage.abs * variance / 100, 0].max.to_i ←ココ
var = rand(amp + 1) + rand(amp + 1) - amp
damage >= 0 ? damage + var : damage - var
end

クリティカルが出ない場合はエラーは発生せず普通のダメージが出ます。

>>179
ありがとうございます。
上記の件が解決できたら導入して試してみます。
181名無しさん@お腹いっぱい。:2014/09/07(日) 15:45:06.62 ID:wvKv6luf
>>180
他に何かスクリプト入れてるでしょ
新規プロジェクトで試してみた?
182名無しさん@お腹いっぱい。:2014/09/07(日) 16:59:47.46 ID:AAYNykme
>>181
damage * 3
を要らないと思って消してしまっていたのが原因でした、申し訳ないです。

それに加えてログ表示の方も確認できました。
そのままだと即死しているのにダメージが表示されてしまうのを消す為のものと思っていいんですよね?
ただXPスタイルバトルでのダメージポップアップは出てしまっていたので
こちらはログ非表示のを参考にしてクリティカル時はダメージは出さないように自分で対応しようと思います。

ありがとうございました。
183名無しさん@お腹いっぱい。:2014/09/08(月) 10:12:53.82 ID:n5dGi/Jc
>>182
すっごい遅レスでもう見て無いかもしれないけど、そもそもそこじゃなくて
def item_apply(user, item)の方に処理を持ってくれば良いのでは
unless item.damage.none?
@result.critical = (rand < item_cri(user, item))
make_damage_value(user, item)
execute_damage(user)
end
ここを
unless item.damage.none?
@result.critical = (rand < item_cri(user, item))
if @result.critical
die
else
make_damage_value(user, item)
execute_damage(user)
end
end
こうすれば、クリティカル時にダメージ計算しなくなるから
ダメージでなくなると思うんだけども
184名無しさん@お腹いっぱい。:2014/09/08(月) 23:41:03.23 ID:iQtjSOu1
>>183
アドバイスどうもです。
試してみましたが、クリティカルが出なかった時は普通のダメージが出て問題ないのですが
クリティカルが出た時にダメージを与えられなかった!とログに出てしまいます。
でも相手は死にます。
dieで死んでるけど、damageの値が0だから?でしょうか?
185名無しさん@お腹いっぱい。:2014/09/08(月) 23:58:17.41 ID:vkWrxgVi
>>184
>>179を入れてみた?
XPスタイルバトル入れてるみたいだから意味ないかもしれないけど
186名無しさん@お腹いっぱい。:2014/09/09(火) 00:06:49.52 ID:2Z1vmNuO
>>179をやらなくてもダメージ処理自体なくせばこれだけでいける
という意味だと思ったんですが違うんでしょうか?
>>179が必要なのであれば、元々の処理の方がよりシンプルな気もするのですが。
187名無しさん@お腹いっぱい。:2014/09/09(火) 08:03:47.91 ID:yPW2FpB7
>>182

ダメージの表示を消すなら、こんな感じ。
余計なメッセージが必要なければコメントアウトすれば良い。
見えて困るなら隠せと言う簡単な答えです(キリッ
実装は色々あるし、アルゴリズムも人それぞれ好きなやり方を選べば良いと思う。

class Window_BattleLog < Window_Selectable
#--------------------------------------------------------------------------
# ● ダメージの表示
#--------------------------------------------------------------------------
def display_damage(target, item)
if target.result.critical
add_text(sprintf("%sは首を跳ねられたorz", target.name))
wait
return
end
if target.result.missed
display_miss(target, item)
elsif target.result.evaded
display_evasion(target, item)
else
display_hp_damage(target, item)
display_mp_damage(target, item)
display_tp_damage(target, item)
end
end
end


素材の方は知らんよ。
表示する場所があるはずだから、
クリティカルの時は実行しないように分岐すれば、
良いだけですよ。

こうして謎の一つが解明された。
END(ってなればいいんですけどね。更なる謎が……!!)
188名無しさん@お腹いっぱい。:2014/09/09(火) 10:15:05.79 ID:wNVlg8dI
ちゃんとテストしてきました。
これで決定版だと思うけども

class Game_Battler < Game_BattlerBase
alias _____make_damage_value make_damage_value
def make_damage_value(user, item)
if @result.critical
self.hp = 0
@result.success = true
else
_____make_damage_value(user, item)
end
end
end

class Window_BattleLog < Window_Selectable
alias _____display_damage display_damage
def display_damage(target, item)
if target.result.critical
add_text(sprintf("%sの息の根を止めた!",target.name))
wait
else
_____display_damage(target, item)
end
end
end

これを(ここに追加)以下▼メイン以上の出来るだけ下のほうにいれる。
189名無しさん@お腹いっぱい。:2014/09/10(水) 14:01:16.13 ID:syFfPNU2
ACEですけど
戦闘中に戦闘背景の変更する方法ってないですか?
イベントにはそのものずばりなものがあるんですけど
戦闘中では作動しませんでした
190名無しさん@お腹いっぱい。:2014/09/10(水) 15:16:32.73 ID:p/bruuyM
戦闘背景は戦闘開始時にしか読み込まれないため、変更するにはスクリプトが必要です。

class Spriteset_Battle
def reload_battleback
@back1_sprite.bitmap = battleback1_bitmap
@back2_sprite.bitmap = battleback2_bitmap
end
end

class Scene_Battle < Scene_Base
def reload_battleback
@spriteset.reload_battleback
end
end

これを入れて、イベントコマンドで背景を変更した後でイベントコマンドスクリプトで
SceneManager.scene.reload_battleback
を実行すれば変わります。
191名無しさん@お腹いっぱい。:2014/09/10(水) 16:34:50.01 ID:syFfPNU2
ありがとうございます
出来ました
192名無しさん@お腹いっぱい。:2014/09/10(水) 23:20:55.92 ID:r56h2e+b
>>187>>188
返答が遅くなりました。
一番最初のパターンも含めて色々試してみましたが、どれも一長一短だったので
いいとこ取りをする感じで調整しております。
新規プロジェクトだと問題ないのですが、自分の環境だと他のスクリプトの関係で完璧、とはならないようでした。
なので自分の環境用に試行錯誤しています。
それぞれのスクリプトを参考にさせてもらって、勉強しながら頑張ってみたいと思います。
皆さん有難うございました。
193名無しさん@お腹いっぱい。:2014/09/19(金) 12:40:54.72 ID:3XP0Qjmp
よろしくお願いします。

1ターンで二回攻撃するキャラなのですが
1回目のスキル攻撃の効果を、二回目の攻撃に反映させたいのですが
やり方がわかりません、よろしければ教えてください。

■やりたい事
一回目のスキルでジャブというスキルを使う
二回目でストレートというスキルを使う
ジャブの効果でストレートを必中攻撃にしたい。

■試した事
ジャブに[命中率100%]というステートを追加したのですが
ストレートスキルの発動にある[成功率]の方が優先されるみたいで失敗しました。

また、ジャブにコモンイベントでスイッチAを付加して
ストレートのコモンイベントに条件分岐を入れ
スイッチAなら、ステート命中率+100%を入れたのですが
ストレートの攻撃が先に処理されるし
命中率も、上記と同じくスキルの成功率が優先され
これも駄目駄目でした。

まだACEに触って三日程度なので
トンチンカンな返答をするかもしれませんが
教えてくださるとありがたいです。
194名無しさん@お腹いっぱい。:2014/09/19(金) 15:07:08.18 ID:nTC4f9N9
そもそも成功率と命中率は別物だから
成功率はそのスキルを実行するかどうか
命中率は実行したスキルが命中するかどうか
195名無しさん@お腹いっぱい。:2014/09/19(金) 15:27:44.72 ID:3XP0Qjmp
>>194
ありがとうございます
何が違うのか全然判ってなかったので助かります。
では、それを念頭に置いて、弄ってみます。
196名無しさん@お腹いっぱい。:2014/09/19(金) 21:26:51.20 ID:R50wBkP5
VXACEなんですが
戦闘にはいったときのバシャーン!ってエフェクトを消すには
どうすればいいでしょうか?
197名無しさん@お腹いっぱい。:2014/09/20(土) 12:52:24.60 ID:AdOgwYvj
>>196
トランジションを消すにはScene_Map54行目の
perform_battle_transition if SceneManager.scene_is?(Scene_Battle)
をコメントアウトする。
戦闘開始時のSEを消すにはシステムのタブで戦闘開始のSEをなしにする。
198名無しさん@お腹いっぱい。:2014/09/20(土) 16:20:24.70 ID:y8hGW9p1
できました、ありがとうございます。
戦闘開始のエフェクトtransitionっていうんですね・・
199名無しさん@お腹いっぱい。:2014/09/25(木) 07:46:13.75 ID:XUSVmmTD
タイトル画面のニューゲーム、コンティニューやステータスの装備アイテムっていう表記
どうすれば変えれるんですか?
200名無しさん@お腹いっぱい。:2014/09/25(木) 12:52:27.48 ID:r0MtVLSP
VXなのかAceなのか・・・
タイトル画面の表示はデータベースの用語タブで変えられる。
ステータスに装備アイテムなんて表記はVXもAceも書いてない。
VXは装備って書いてあるけど、これもデータベースの用語タブで変更できる。
ただし、ここを変えるとメニューの表示も変わる。
それがいやならWindow_Statusの75行目のVocab::equipの部分を変更する。
201名無しさん@お腹いっぱい。:2014/09/25(木) 17:02:58.87 ID:nHGMUgHF
いつも思うんだけど、ここは基本ACEスレじゃないの?
確かにタイトルだけ読むと「VXとACE」「VXACE」どちらにもとれるけど。

>このスレが繁栄する事はAceの繁栄につながり、過疎スレとなるとAceの衰退につながります。
>>1でこう書いてあるしさ。

何も記載がなければACEの事と考えていいような気がする。
202名無しさん@お腹いっぱい。:2014/09/25(木) 18:09:05.17 ID:6c+/5G46
いや、単純に「装備アイテム」って記述がどっちにもなくて、
Aceはステータスの装備欄には何も書いてなくて
VXには「装備」って書いてあったからVXの可能性があるなと思ったので

質問内容的にVXの方が近かったから、どっちか書いて欲しいなーと
203名無しさん@お腹いっぱい。:2014/10/05(日) 19:00:48.82 ID:6CwbdwM1
すみません、VX Aceのスクリプトで質問があります
全員分のアクターの操作をしようと以下のようなスクリプトを記載しました

$game_actors.each do |actor|
actor.xxxx(xxxx:処理内容メソッド)
end

ですが、実行すると以下のようなエラーが出ます
undefined method 'each' for #<Game_Actors:0x6d8ga1c>

$game_actorsから全員分ループで取り出したいのですが、何か良い方法はないでしょうか
とりあえず、べた書き($game_actors[yy].xxxx)で対応しています
204名無しさん@お腹いっぱい。:2014/10/05(日) 20:17:25.89 ID:nh8O08ky
そもそもGame_Actorsは配列じゃなくてただのクラスです。
全てのアクターをループで処理したいなら、
$data_actors.each{|a|
next unless a
$game_actors[a.id]…
}
といったように処理します。
205名無しさん@お腹いっぱい。:2014/10/05(日) 20:59:35.70 ID:6CwbdwM1
ありがとうございます
206名無しさん@お腹いっぱい。:2014/10/12(日) 05:55:40.55 ID:IsbbwhGu
VXACEについて質問させてください。

遠景をマップとして扱い、スクリプトで切り替えながら
「呼吸する巨大モンスターの腹の上を歩く」というような演出を
したいのですが、遠景が切り替わる瞬間どうしても動きがカクカク
してしまいます。もし動きを改善する方法があれば教えてください。
207名無しさん@お腹いっぱい。:2014/10/12(日) 18:57:41.93 ID:7gKquHnC
Spriteset_Mapの212行目をコメントアウト
208名無しさん@お腹いっぱい。:2014/10/12(日) 22:19:15.11 ID:stdRHex9
>207

回答ありがとうございます。早速試してみましたが、
動作に変化は見られませんでした。
@parallax.bitmap.dispose if @parallax.bitmap のコメントアウト
で正しいでしょうか。
カクつきは一瞬(0.1秒程度)なので、処理上どうしても
かかるのでしょうか……。
209名無しさん@お腹いっぱい。:2014/10/12(日) 22:43:14.83 ID:7gKquHnC
遠景がでかすぎるかイベント内容に無駄がある
210名無しさん@お腹いっぱい。:2014/10/13(月) 00:22:13.75 ID:qMAVVPOS
プレイヤーの環境を収集したいのですが、どのようにすれば良いですか?
211名無しさん@お腹いっぱい。:2014/10/13(月) 00:46:05.29 ID:eESbt4jW
遠景のサイズが800*1600ですから、でかすぎですね。
イベント内容は以下のスクリプトをウェイトをはさんで記述してます。

$game_map.instance_variable_set(:@parallax_name, "×××")

プレイ自体はできますので、そのままにすることにします。
ありがとうございました。
212名無しさん@お腹いっぱい。:2014/10/16(木) 01:41:51.13 ID:guAlgu4F
VXAceで質問です。

数十種類のアイテムの中からランダムに一つ手に入る宝箱を作りたいのですが、乱数で条件分岐以外に効率の良いやり方があれば教えてください。
213名無しさん@お腹いっぱい。:2014/10/16(木) 08:41:10.52 ID:a2/ITOp7
ないよ
214名無しさん@お腹いっぱい。:2014/10/16(木) 22:29:35.84 ID:1Ku0izpo
スクリプト
215名無しさん@お腹いっぱい。:2014/10/16(木) 23:29:15.75 ID:O5NdiHiU
スクリプト使うにしろ中身は結局乱数使った分岐じゃね。
それをラッピングして定形呼び出しで使えるかどうかなだけで。
216名無しさん@お腹いっぱい。:2014/10/17(金) 18:26:03.53 ID:9gOJGHcA
>>215
けっきょくは同じ手間なわけですね。今日、このスクリプトを見つけてやってみたんですけど、うまくいきませんでした。これでできれば最高なんですけど。
ttp://www.geocities.jp/f_itiuma/veritemscript.txt
217名無しさん@お腹いっぱい。:2014/10/18(土) 05:40:17.61 ID:fBh6so//
VXaceに関してです。

スタートメニュー(ニューゲーム・コンティニュー・シャットダウン)の
項目を増やすにはどうすればいいでしょうか?
ttp://dlsite.blogimg.jp/RG18260/imgs/6/f/6fc5eb59.jpg ←こういう形が理想なのですが・・・。
218名無しさん@お腹いっぱい。:2014/10/18(土) 12:41:21.21 ID:C5wgDwck
増やすのは簡単ですが、それくらいのことができないのであれば、
増やした項目を制御するのは難しいと思うんですが・・・
219名無しさん@お腹いっぱい。:2014/10/26(日) 17:31:00.61 ID:XhtWS7kE
FMSが閉鎖したから質問するところってここくらいしか残ってないんかな?
あそこで質問したり素材共有してた制作者は皆何処行ったんだろうか
220名無しさん@お腹いっぱい。:2014/10/26(日) 17:35:23.86 ID:hIqtCX0p
情弱!
221名無しさん@お腹いっぱい。:2014/10/27(月) 05:23:45.48 ID:SlgJfjL/
おしえて
222名無しさん@お腹いっぱい。:2014/10/27(月) 05:33:36.18 ID:+kuGp36k
ggrks
223名無しさん@お腹いっぱい。:2014/10/27(月) 20:33:53.07 ID:rQ1gMOts
FSMのメンバーも自前のHPとかblog持ってる人は居たような
224名無しさん@お腹いっぱい。:2014/10/31(金) 21:02:19.98 ID:I7sLHbyX
てst
225名無しさん@お腹いっぱい。:2014/11/01(土) 00:08:22.27 ID:S8EGCfyz
戦闘で敵を倒した時に出るメッセージ
「敵を倒した」という文章を変えたいのですが
スクリプトで検索しても該当箇所が出てきません。
下部に出る戦闘終了時のメッセージはあるのですが。
226名無しさん@お腹いっぱい。:2014/11/01(土) 00:27:40.37 ID:hzBzGipI
そりゃあ、スクリプト探してもないと思うよ。
倒した、って敵に死亡ステートが付与された時のメッセージだし。
227名無しさん@お腹いっぱい。:2014/11/01(土) 00:47:50.03 ID:fvVfBdR1
盲点でした
ありがとうございます!
228名無しさん@お腹いっぱい。:2014/11/06(木) 15:27:53.82 ID:wLux+s50
白の魔さんが公開されてるアイテム合成のスクリプトについて聞きたいのですが…
ttp://izumiwhite.web.fc2.com/rgss3/rgss3_004.html
↑これです
「アイテムC」を作成する時に「アイテムA」+「アイテムB」にする、というのは問題ないんですけど、
「アイテムC」を作るのに複数のパターンを持たせる方法は無いでしょうか?
A+B=C
A+D=C
B+D=C、という感じで結果が同じレシピを複数作りたいんですが、どうも出来なくて…
白の魔さんはリクエストを受けてないようなのでもし改造が可能でしたら改造して頂きたいです。どうかお願いします…
229名無しさん@お腹いっぱい。:2014/11/06(木) 15:42:16.65 ID:qoMvUASt
金払え
230名無しさん@お腹いっぱい。:2014/11/06(木) 22:13:06.51 ID:gWVpdZyf
てかスレチだな
クレクレはFSMの専売特許だったんだが
231名無しさん@お腹いっぱい。:2014/11/09(日) 20:48:17.07 ID:s8cFjmem
素材やごときがクレクレに対応せずに需要者を叩きだすとはゴミだな
232名無しさん@お腹いっぱい。:2014/11/09(日) 21:59:26.67 ID:WU76uwSH
我々作者様に素材を使ってもらってることを
ゆめゆめ自覚してもらいたいものだな
あ?そうだろ?素材屋!
233名無しさん@お腹いっぱい。:2014/11/09(日) 22:04:45.02 ID:WU76uwSH
>>231->>232
激しく同意
作者と素材屋では武士と農民くらい身分差があるよね
クレクレに対応しないなんてマジありえない
そこ分かってんのかなー
234名無しさん@お腹いっぱい。:2014/11/10(月) 05:56:32.06 ID:p85VCngE
ここは作者様が初心者様の質問に答えるスレであって
素材屋ごときには発言権すらないことを自覚するべき
235名無しさん@お腹いっぱい。:2014/11/10(月) 06:41:08.11 ID:ZUQqInV7
クレ!クレ!クレ!
作者として恥ずかしくないのか!
236名無しさん@お腹いっぱい。:2014/11/10(月) 07:52:19.65 ID:cwJCzmeH
誰に与えてるの?
人にあげたくないならサイト閉じろよ
237名無しさん@お腹いっぱい。:2014/11/10(月) 08:03:34.33 ID:E8hlonXL
>>235
作者以外の発言は認めない!
238名無しさん@お腹いっぱい。:2014/11/29(土) 17:52:18.33 ID:1RsH1zFI
二週間以上も書き込まれてない!!
228さん、クレクレよくないのでこれで我慢しよ!
合成品AをID連番で3つ作ってそれぞれレシピ設定するだけ。
239名無しさん@お腹いっぱい。:2014/11/29(土) 19:08:11.13 ID:1RsH1zFI
追記
これだと合成品Aが3種出来てしまうので
「まとめ」コマンドを作って一つのIDにまとめてしまえばすっきり!
人のスクリプト理解するより早い
240名無しさん@お腹いっぱい。:2015/01/03(土) 00:18:16.17 ID:atBS0wwN
質問なんですけど・・・
マップからワープ、つまり場所移動してその場で独り言を言ってイベント終了後、
なぜかキャラが動かせません。メニューは開けるしキャラの向きだけは変えれる
状態です。スイッチも特に何もないし、原因がさっぱりわかりません。

すでに3週間ねばりましたがダメでした、どなたか教えてください。
241名無しさん@お腹いっぱい。:2015/01/03(土) 00:31:12.52 ID:0AZATt9j
場所移動したマップで新規に自動イベントで繋いだ方がいい
前のマップのイベント継続だと何かとバグが起きる
242名無しさん@お腹いっぱい。:2015/01/03(土) 00:41:06.09 ID:beRx7CKM
移動先MAPの歩行設定がxになってたりしないよね
向き変えられるってことはイベント中じゃないと思うからMAPのほうが怪しい気もするけど
243名無しさん@お腹いっぱい。:2015/01/03(土) 00:57:39.72 ID:atBS0wwN
ワープしてそのまま継続してイベントをやめて、ワープだけにして独り言は
マップの邪魔にならないところに自動実行で作成してみましたが・・

AからBへワープ→自動実行で独り言イベント→セルフスイッチONで独り言が二度と
起こらないように設定→やはり動けない
244名無しさん@お腹いっぱい。:2015/01/03(土) 01:01:55.20 ID:JbaI8snL
qwwwwe
245名無しさん@お腹いっぱい。:2015/01/03(土) 01:03:36.71 ID:atBS0wwN
>>242
歩行設定は○でした
246名無しさん@お腹いっぱい。:2015/01/03(土) 01:18:35.30 ID:0AZATt9j
独り事のイベントを削除して見る。
それでも同じ現象が起こるなら独り事は関係ない。

同じマップに他のイベントがあるなら、それが作用してる可能性がある。

上層チップの透明なやつが×とかもある
247名無しさん@お腹いっぱい。:2015/01/03(土) 01:25:11.06 ID:XXWxWUI8
質問なんですが、マップチップは上層、下層にしか分けられないんでしょうか?
素材サイトさんで拾ってきたマップチップを 下層 床 中間 机 上層 本のようにしたいのですが
そういったことは可能でしょうか?
248名無しさん@お腹いっぱい。:2015/01/03(土) 02:52:18.73 ID:7l4Aajqn
メッセージウィンドウの閉じる時間をもうちょっと速くできないものかな
2000は表示中でも入力を受け付けてくれるのか超速で開閉できるけど
VXやAceは完全に文章を表示するまでは閉じるを受け付けてくれないっぽくて
決定キー連打しても微妙なウェイトに邪魔されちゃう
249名無しさん@お腹いっぱい。:2015/01/03(土) 08:58:58.95 ID:atBS0wwN
>>246
上層チップの透明なやつが罰になってました。どうもありがとうございました!
250名無しさん@お腹いっぱい。:2015/01/14(水) 01:47:15.15 ID:Db4xsjbM
てすと
251名無しさん@お腹いっぱい。:2015/01/18(日) 03:22:34.59 ID:2i9BNrzs
周りが海で動けません
252名無しさん@お腹いっぱい。:2015/01/20(火) 16:45:57.73 ID:Sd7qjpnI
マップかデータベースのどっちかやって動けるようにしないと
使ってるやつは知らないけどマニュアルかヘルプにそれがあるはず
253名無しさん@お腹いっぱい。:2015/02/14(土) 16:07:02.07 ID:KzFIUx9t
初歩的な質問で申し訳ございません
$game_actors[1].param(0) = 1000 などで最大HPに直接数値を代入させようと思ったのですが
エラーでできません
最大HPは数値を直接代入することはできないのでしょうか
254名無しさん@お腹いっぱい。:2015/02/14(土) 16:19:29.07 ID:lr5mBoMx
param(0)が何を表してるかちゃんと調べろ
255名無しさん@お腹いっぱい。:2015/02/14(土) 21:55:46.91 ID:KzFIUx9t
了解です
改めて勉強しなおしてみます
256名無しさん@お腹いっぱい。:2015/02/16(月) 11:52:50.05 ID:9jc4LYHd
初歩的な質問、すみません
マップ上で、階層的にピクチャの上にアニメーションを表示させたいのですが、animation_set_spritesのsprite.zを書き換えても上になりません
しかも、わざわざ書き換えなくてもデフォでピクチャ側のself.zはアニメのzより低くなってるみたいですが、実際の表示はピクチャが上になります

アニメーションを上にする場合はzではなく何を書き換えればよろしいでしょうか
257名無しさん@お腹いっぱい。:2015/02/16(月) 12:02:14.74 ID:eWclZzGA
ビューポート
258名無しさん@お腹いっぱい。:2015/02/16(月) 12:27:47.74 ID:9jc4LYHd
>>256
マップで生成されてるピクチャのビューポートを2から1に変更したらいけました
ありがとうございます
259名無しさん@お腹いっぱい。:2015/02/16(月) 12:28:05.86 ID:9jc4LYHd
間違えました
>>257
260名無しさん@お腹いっぱい。:2015/03/06(金) 16:48:04.70 ID:fATC+PCG
VXaceインストール後にまともに立ち上がりません。
「プログラムを解凍中にエラーが発生しました。コードLP5。製作者に報告してください。」
って出ます。
261名無しさん@お腹いっぱい。
製作者に報告してください。