☆ベルトアクション作成 Beats of rageスレッド☆ (654レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
322: 名前は開発中のものです。 [sage] 2022/04/13(水) 00:14:16.67 ID:aDur5ZAn ピヨリについて、面倒だと思うよーとか適当な事言っておいて EntityVar に値を入れておけば楽だと思うよーとか超いい加減なことばっかレスしてるんで 一応作ってみました、結果そんなに苦労はないかも? 今回はプレイヤーがピヨリ値を蓄積し、一定に達すると4秒間ピヨリ レバガチャで時間短縮と成功でリバーサル攻撃。 内容は単純でAnim Pain実行時ピヨリ値をプラス、Anim Idleで少しづつピヨリ値減少 一定数たまったら、Executeanimationで”Ani_Follow{#}”でピヨピヨ実行 このとき、レバガチャEntityをプレイヤーにBindEntityして ガチャ成功するとリバーサル攻撃用のAnim_Follow{#}にExecuteanimationするというもの レバガチャEntityにはLifespan 4が設定してあって、4秒で自動消滅 CPU戦でピヨるとかウザイだけかもという認識でしたが、作ってみたら意外と良かったw tu.be/6iLBqsjC2eI http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/322
323: 名前は開発中のものです。 [sage] 2022/04/13(水) 01:10:35.54 ID:aDur5ZAn anim pain @script if (frame==0) { void self = getlocalvar("self"); int incDM = getentityvar(self,9); if((incDM==NULL())||(incDM<=0)) { incDM=1; } incDM+=incDM; spawn01("dmflashsp", 0, 4, 0); if(incDM>=20) { executeanimation(self,openborconstant("ANI_Follow9")); } setentityvar(self,9,incDM); } @end_script ピヨリ蓄積部分もこんな感じで単純です。Anim Painの度に倍になってゆき、 数値20以上でピヨリAnim(Follow9)を実行。 anim idle @script if(frame==5) { void self = getlocalvar("self"); int incDM = getentityvar(self,9); if (incDM<=0) { setentityvar(self,9,NULL()); } if(incDM!=NULL()) { setentityvar(self,9,incDM-=1); } } @end_script アイドル状態でピヨリ値1ずつ減少。AnimのFrameが最後の方まで描画されたら 減少するようになってます。または、Anim Sleepを設定しておいて、 そちらで下がるようにしても良いかも。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/323
324: 名前は開発中のものです。 [sage] 2022/04/13(水) 01:17:03.20 ID:aDur5ZAn script @script #include "data/scripts/escript.c" void main() { void self = getlocalvar("self"); void par = getentityproperty(self,"parent"); void vict = getentityproperty(par, "playerindex"); void vict2 = getplayerproperty(vict,"entity"); int HP = getentityproperty(self,"health"); int HPmax = getentityproperty(self,"maxhealth"); if(HP>=80) { spawn01("dmsuper", 0, 0, 1); executeanimation(vict2, openborconstant("ANI_Follow11")); bindentity(self, NULL()); killentity(self); } else if(playerkeys(vict, 2, "moveleft")) { // Left is pressed? changeentityproperty(self, "health", HP+4); } else if(playerkeys(vict, 2, "moveright")) { // Right is pressed? changeentityproperty(self, "health", HP+4); } else if(playerkeys(vict, 2, "attack")) { // Attack is pressed? changeentityproperty(self, "health", HP+2); } else if(playerkeys(vict, 2, "jump")) { // Jump is pressed? changeentityproperty(self, "health", HP+6); } } @end_script レバガチャ部分もシンプルで、方向キーで+4、アタック+2、ジャンプ+6で 80以上溜まったら成功(Follow11、リバーサル攻撃) http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/324
325: 名前は開発中のものです。 [sage] 2022/04/13(水) 01:25:34.49 ID:aDur5ZAn 2行目で #include "data/scripts/escript.c" してるのは、 成功時の演出 spawn01("dmsuper", 0, 0, 1);の為だけです。 anim spawn @script void self = getlocalvar("self"); changeentityproperty(self, "health", 1); @end_script 最初に Health 100(MaxHP)などと設定しておき、Anim Spawn時に 現HPを1にしています。 これを プレイヤーにBindEntity するのですが、スクリプト上方のSelf,Par,Vict,Vict2 ここを理解するのに頭こんがらがるかも知れませんね、元々他のモッダーさんが組んだ スクリプト(古くからあるのでBloodBane氏でしょうか?)をアレンジしましたです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/325
326: 名前は開発中のものです。 [sage] 2022/04/13(水) 04:05:16.91 ID:aDur5ZAn 元々、仕様とバグのギリギリいってる手法なので、 ピヨリ中にもう一回敵からのBindEntityを利用した攻撃を受けると OpenBoRが落ちますw やっぱり標準コマンドで何とかしたほうが良さそうですね。 レバガチャで回復早めるとかしなければ、EntityVarを使って 値を蓄積して、一定時間無防備になるというのは バグの危険なく可能です。 中々難しいものですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/326
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s