☆ベルトアクション作成 Beats of rageスレッド☆ (654レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
119: 名前は開発中のものです。 [sage] 2021/05/08(土) 00:13:01.25 ID:S2juEpeY(1/4) AAS
少し前に、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/ フォルダの中を見てみれば殆どの方が用意しているので参考になるかと思います。
120: 名前は開発中のものです。 [sage] 2021/05/08(土) 00:34:31.12 ID:S2juEpeY(2/4) AAS
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);これは攻撃が当たったというフラグ
121: 名前は開発中のものです。 [sage] 2021/05/08(土) 00:41:03.92 ID:S2juEpeY(3/4) AAS
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で一網打尽に出来るという
演出重視の処理ができて、仕込んだ本人はご満悦というものです。
122: 名前は開発中のものです。 [sage] 2021/05/08(土) 01:01:56.73 ID:S2juEpeY(4/4) AAS
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つだけです。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s