☆ベルトアクション作成 Beats of rageスレッド☆ (654レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

83: 名前は開発中のものです。 [sage] 2021/04/13(火) 00:39:56.52 ID:r7OWv6Qx(1/6) AAS
void EnemySpawn(float fX, float fY, float fZ)
{
void self = getlocalvar("self");
void vSpawn, vName;
int iMHealth = getentityproperty(self,"maxhealth");
int iHealth = getentityproperty(self,"health");
int iDirection = getentityproperty(self, "direction");
int iR = rand()%10 + 10;
if (iR >= 0 && iR < 4){
vName = "roxi";
} else if (iR >= 4 && iR < 8) {
vName = "Yanyu";
} else if (iR >= 8 && iR < 12) {
vName = "Sakura";
} else if (iR >= 12 && iR < 16) {
vName = "Spiral";
} else {
vName = "Heiderna";
}
clearspawnentry();
setspawnentry("name", vName);
if (iDirection == 0) { fX = -fX; }
fX = fX +getentityproperty(self, "x");
fY = fY +getentityproperty(self, "a");
fZ = fZ +getentityproperty(self, "z");
vSpawn = spawn();
changeentityproperty(vSpawn, "position", fX, fZ, fY);
changeentityproperty(vSpawn, "maxhealth", iMHealth);
changeentityproperty(vSpawn, "health", iHealth);
changeentityproperty(vSpawn, "direction", iDirection);
}
84: 名前は開発中のものです。 [sage] 2021/04/13(火) 00:46:02.19 ID:r7OWv6Qx(2/6) AAS
上のスクリプトは、vName="Spiral"や"Sakura"など5種類の敵(Entity)を
ランダムに出現させるものです。
changeentityproperty(vSpawn, "maxhealth", iMHealth); 最大HP
changeentityproperty(vSpawn, "health", iHealth); 現在HP
changeentityproperty(vSpawn, "direction", iDirection); 向き
この辺は好みでランダム(rand()%200+ 50)とか設定しても良いでしょう。
85: 名前は開発中のものです。 [sage] 2021/04/13(火) 00:50:45.59 ID:r7OWv6Qx(3/6) AAS
name REnemy
type Enemy
health 100
nomove 1 1
nodrop 2
lifespan 1
defense all 1.0
offense all 1.0
animationscript data/scripts/REnemy.c
load roxy
load Yanyu
load Heiderna
load Sakura
load Spiral
anim spawn
delay 10
offset 1 1
frame data/chars/misc/empty.gif
@cmd EnemySpawn 0 0 0
frame data/chars/misc/empty.gif
anim idle
delay 100
offset 1 1
frame data/chars/misc/empty.gif
これをMODELS.TXTにEntityとして設定します。
spawn REnemy
alias Island_Guard
map 1
coords 500 270
at 3200
そして好きなLevelのテキスト内に上のように記述すれば、そのポイント到達するたび
設定したランダムな敵(Entity)が出現するわけです。
86: 名前は開発中のものです。 [sage] 2021/04/13(火) 00:57:10.12 ID:r7OWv6Qx(4/6) AAS
ステージを作ってるとどうしても内容を覚えてしまったりで、
だんだんテストプレイも飽きてきますので、ちょっとした気分転換になるかな?
敵を増やしたとき、スクリプト側とモデル側を少し書き換えるだけで登場させられるので
少しだけ手間が減らせるかなと思います。
もちろんEntityでさえあれば良いので、登場させるのはNPCだってITEMだって良いわけです。
87: 名前は開発中のものです。 [sage] 2021/04/13(火) 01:17:53.40 ID:r7OWv6Qx(5/6) AAS
@cmd EnemySpawn 0 0 0
frame data/chars/misc/empty.gif
この部分を
@cmd EnemySpawn 0 0 0
@cmd EnemySpawn 40 0 0
@cmd EnemySpawn 80 0 0
frame data/chars/misc/empty.gif
なんてすれば、敵が3人ずつ登場します。
88: 名前は開発中のものです。 [sage] 2021/04/13(火) 01:36:45.64 ID:r7OWv6Qx(6/6) AAS
Anim Blockを設定してしまうと、Special用のボタンを押すたびAnim Blockが実行されてしまい
Specialは標準攻撃(A)とジャンプ(J)の同時押しで発動ということになります。
Anim Blockに攻撃モーションを設定したり、Anim BlockPainに攻撃を設定したりすれば
攻撃にもカウンターにも使えるので、想像力次第でいかようにも使えるのですが。
OpenBoR側でもともと設定された機能としてSpecialだと攻撃を受けたり、掴み攻撃を受けたり
そんなときも1ボタンでSpecial発動できるメリットもあるわけです。
そんなとき意外と忘れられがちなSpecial2(レバー入れスペシャル)にガードポーズを組み込み
FollowAnim#などで反撃モーションなど入れておけば、1ボタンでスペシャルの利便性を残しつつ
ガードも可能になります。もっと忘れられがちなのがジャンプ中にSpecialのJumpSpecial
もともとジャンプには垂直(JumpAttack)レバー上ジャンプ攻撃(Anim JumpAttack3)
レバー下入れ(Anim JumpAttack2)前方ジャンプ攻撃(JumpForward、ForwardJumpと紛らわしい)に
Anim RunJumpAttackと多彩な動作が可能なので、あまりJumpSpecialを使う機会は無いのですが。
ついでにコマンド設定 Com D F A Freespecial2などで、
Com B B A Freespecial なんてすると、レバー入力的には ← → Aという事になります。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.587s*