☆ベルトアクション作成 Beats of rageスレッド☆ (654レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
119: 名前は開発中のものです。 [sage] 2021/05/08(土) 00:13:01.25 ID:S2juEpeY 少し前に、data/scripts/フォルダ下に特定のファイルを入れておくと自動で読み込まれ 優先的に実行されると書きましたが、Loading.c もその一つ void main() { void s; void value = getlocalvar("value"); void max = getlocalvar("max"); if(max==1){ return; }else{} void percent=value*99/max; percent%=++percent; void dot=percent%3; if(dot==0) s="."; else if(dot==1) s=".."; else s="..."; drawstring(80,144,1,"Loading Please Wait Moment"+percent); drawstring(128,176,1,"Loading Complete Part"+s); drawbox(160,197,126,10,11,rgbcolor(200,0,0),0); drawbox(160,197,percent*126*0.01,10,15,rgbcolor(200,200,0),0); } こんな感じでテキストファイルを先のファイル名で保存しておけばOK いくつかMODをプレイしていると、最初にパーセントやメーターが上昇してゆく スクリーンを見た事があるかと思います。 data/BGS/ フォルダ下にLoading.gif など画像を入れておくと、同じく最初に自動で表示されます。 その他にも色々と自動で表示される画像などは多々ありますが、 その辺は各MODの data/BGS/ フォルダの中を見てみれば殆どの方が用意しているので参考になるかと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/119
120: 名前は開発中のものです。 [sage] 2021/05/08(土) 00:34:31.12 ID:S2juEpeY didhitscript @script void main() { void self = getlocalvar("self"); void opp = getlocalvar("damagetaker"); if(opp != NULL()) { if(getentityproperty(self, "animationID") == openborconstant("ANI_RUNATTACK")) { if (getentityproperty(opp,"a")==0) { changeentityproperty(opp, "nextanim", getentityproperty(opp, "nextanim")+360); changeentityproperty(opp, "nextthink", getentityproperty(opp, "nextthink")+360); setglobalvar(getlocalvar("self")+"_delayhit",1); } } } } @end_script 普通なら data/SCRIPTS/ フォルダに入れておいて都度参照するように指定するスクリプトを じかにEntityに仕込みAnim RUNATTACKがヒットしたら、その相手が3.5秒ほど硬直するというもの setglobalvar(getlocalvar("self")+"_delayhit",1);これは攻撃が当たったというフラグ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/120
121: 名前は開発中のものです。 [sage] 2021/05/08(土) 00:41:03.92 ID:S2juEpeY anim runattack jumpframe 0 0 1 0 @script if (frame==13){ void self = getlocalvar("self"); if (getglobalvar(self +"_delayhit")) { setglobalvar(self +"_delayhit",NULL()); changeentityproperty(self, "animation", openborconstant("ANI_SPECIAL")); } } で、件のAnim RUNATTACKにて最終 frame(この例ではFrame==13)にて getglobalvar(self +"_delayhit")フラグが成立していると SPECIALに自動で移行するというもの 別にスクリプト使わなくてもAttackコマンドの後にSTUN 3と記述すれば 攻撃がヒットした相手は3秒ほど硬直するので、追撃は可能なのですが、 例の場合、直線にならんだ多数の敵を硬直させ、SPECIALで一網打尽に出来るという 演出重視の処理ができて、仕込んだ本人はご満悦というものです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/121
122: 名前は開発中のものです。 [sage] 2021/05/08(土) 01:01:56.73 ID:S2juEpeY jumpframe {Frame}{a}{x}{z}について もともとキャラクター(Entity)の座標を直接変化させるには Move(水平)Movea(垂直)Movez(奥行き)があり、 コマンド後に書かれたFrame 掛ける Moveの数値分座標が移動します(+なら進行方向 ーなら逆) Move 0コマンドが記述されるまでFrameの度に移動しますので注意。 Jumpframeコマンドは、その名の通りジャンプに関するコマンドなのですが 指定したFrame(最初は0で数える)からスタートして、{a}{x}{z}分 自動で移動します。{a}を3などにすれば通常通りジャンプするのですが、 {a}を0にし、{x}{z}に+−数値を入れる事で、ジャンプせずに移動も可能になります。 すべる様にに移動するので、Moveではガクガクしてしまう動作も滑らかにすることができます。 が、微妙な距離調整が必要になるので、そんな時便利なのが @cmd changeentityproperty getlocalvar("self") "velocity" 0 0 0 後ろのほうの数値が 0 0 0 とあるように全ての方向への慣性が0になります。 つまり動作STOP、数値の並びは x z a なので色々弄って遊ぶのも良いかと。 jumpframeだけでも結構いろいろ使えるので便利ではあります。 問題は、Anim中に複数記述しても有効なのは1つだけです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/122
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.524s*