☆ベルトアクション作成 Beats of rageスレッド☆ (658レス)
☆ベルトアクション作成 Beats of rageスレッド☆ http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
99: 名前は開発中のものです。 [sage] 2021/04/21(水) 00:57:17.50 ID:fX+bN6sg >>95 見逃していました。いつも楽しい作品をありがとうございます。 DDシリーズとても楽しみです。 どの作品でも、敵キャラの動きに表情というか個性を感じられ 予備動作や「間」にとても愛情を感じる事ができ、 次はどんな技を使ってくるんだろう?と敵を倒さずウロウロしてみたりしてます。 さっさと倒して駆け抜けようとしても強技連打が通用せず意外と歯応えがあったりと バランスの妙に感心するばかりです。 私は、プレイヤーキャラにテレポートや分身をくっつけて激しく連打など プレイヤーの強化しか考えていないので、敵のちょうど良い塩梅の動作というのは 仰るとおり非常に難しいことだと想像できます。 クライムバスターズというMODの敵は多彩な動きをするんですが、 画面を斜めに横断するように攻撃してきたり、空中から遠距離攻撃連打してきたり プレイヤー側の対処する技がSpecial位しか無く、ずっと作業になりがちなちょっとアレなバランス 敵の無敵が長すぎるのもフラストレーションになるでしょうし、難しいですね。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/99
100: 名前は開発中のものです。 [sage] 2021/04/21(水) 01:02:42.96 ID:fX+bN6sg maxattacks {max} Default is 4. maxattacktypes {max} Sets the maximum number of attack types. PAIN,FALL, RISE, BLOCKPAIN and DEATH animations limit is also set together with this. {max} is number of available types. Default is 10 & maximum value is 99. maxfollows {max} Default is 4. maxfreespecials {max} Default is 8. maxidles {max} Default is 1. maxwalks {max} Default is 1. maxbackwalks {max} Default is 1. maxups {max} Default is 1. maxdowns {max} Default is 1. http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/100
101: 名前は開発中のものです。 [sage] 2021/04/21(水) 01:20:08.86 ID:fX+bN6sg 上の設定はMODELS.TXTに記述することで効果が得られます。 Entity(プレイヤーや敵など)で利用するコマンドの上限を設定します。 AttacksとFollows、Freespecialsは何も考えずに99とかにしておいて良いかと思います。 Attacksは単純に通常攻撃の手数に影響します、ただコンボは12までしか繋がらないようなので そこまで多くなくても良いかと思います。 FreespecialはCancelや@cmdの跳び先など使い勝手が良いので、ついつい増えがち。 FollowsもFreespecialと同じく FollowanimやFollowcondなどで良く使う事になるので キャラの方向性が落ち着くと山のように増えることが結構あります。 Idle以降はまあ趣味の範疇かなとも思いますが、@cmdの跳び先として便利なのは他と一緒。 たぶんですが、旧型のPCだとメモリの関係上初期設定が少なめになってるかと想像します。 現行のPCなら全部99でも良いのかなと思います。 私の環境で重めのMODでも1.7ギガ程度のメモリ使用量です。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/101
102: 名前は開発中のものです。 [sage] 2021/04/21(水) 01:27:48.11 ID:fX+bN6sg 逆にMODELS.TXTで設定せずに Anim Pain20 などと記述してしまうと簡単に落ちます。 記述に間違いがないのに落ちるーと悶絶することもあります。 中には Logに何も出力されず、ただ落ちることもあります。 とりあえず99で良いかもしれません。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/102
103: kt住江 ◆/VMXjFOJew [sage] 2021/04/21(水) 19:33:21.95 ID:J0YwHZ/b >>99さん ありがとうございます。毎度敵の攻撃パターンには特に気合いを入れて作っていますので、 そう言っていただけると感無量です。 貴重な情報ありがとうございます。クライムバスターズMOD、後ほど見てきます。 わしのベルトアクション技術は、専らダブルドラゴンやベナアックルで勉強しました。 特にベアナックル2は敵の構成パターンに飽きさせない工夫があり、 例えば1面中ボスのジャックは、最初は単体で登場しますが、 次の3面では鞭女2体を連れて、7面ではデブ2体と等、 どの敵キャラも登場する度敵の構成パターンが変わるため、 同じ攻略法が通じない綿密な攻略が必要になるため、非常に参考になります。 くにおくんLAもベアナックル2を参考に、意図的にザコ敵の配置を施してあるんです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/103
104: 名前は開発中のものです。 [sage] 2021/04/23(金) 22:06:45.41 ID:uM7p5A0b 敵の種類をいくつか混ぜてバラっと設定してるMODが多い中(もちろん完成させて発表されてるだけで凄いです)。 くにおくん達はプレイしていて楽しい感覚が妙にクセになるんですよね、 もう一回プレイしようと思えるバランスは流石です。 オーソドックスな作りながら攻守のテンポがよいのは BeatemUp UltimateAllianceでしょうか、 大味ながらつい遊んでしまいます。 これBorpak.exeだけで解凍しようとするとエラーで解凍できないのですが(一部ファイルネーム長すぎ) OprnBoR StatsのFILE→Import PAKで解凍するとXtractフォルダに出力されます。 StreetRage Z3はプレイヤーがレベルアップするタイプ、後半ほぼ無敵になるのが気持ち良いです。 というかレベルアップ(スコアを稼ぐ)しないとボスの攻撃が理不尽系ですw RescueCommandも敵の掴み攻撃をレバガチャで抜けるというギミックに感心します。 Crime Bustersは現在としては古き良きとでも言うような感じです。 C社やS社のキャラを使ったものでは、RocketViper2が模範解答みたいな存在に感じます。 ファンタジー作品など他にもいろいろありますが、技術を駆使する方、 独自の世界観で作を重ねている方や、細かい事はいいから敵をぶっ飛ばすの楽しいでしょって作品、 なにより愛情をこめてMODを作ってらっしゃる方が多いように感じ、 それがOpenBoRの魅力の一つだと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/104
105: 名前は開発中のものです。 [sage] 2021/04/27(火) 00:57:48.13 ID:6v2tN2Sr 最近すごいなと感じたもの KoF beat em up plus 操作可能キャラ39、敵もムゲン系からだと思うのですが、よく集めたなーという感じ KoFという位なので基本 S社のキャラやアレンジしたものが多いです。 スクリプトは使わずOpenBoRの基本機能だけで作られた正攻法作品、中を覗いてみると、 move、movea、movez など駆使して動きを表現しています。 Jumpframeを何故か使っていないので、格闘ゲームによくあるジャンピングアッパーのような 動作も movea(垂直方向キャラ座標変更)でこなしていて、まさにパラパラ漫画要領で アニメーションを作っているのが素敵です。 Anim Runにも move が記述されていて、フレームが跳んだような見た目なので、 手直しをしてキャラ作りの練習台にさせてもらうのも良いかもしれません。 ルート分岐やエンディングまでしっかり作ってある力作(200MB超)。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/105
106: 名前は開発中のものです。 [sage] 2021/04/30(金) 18:02:08.17 ID:81YP+Cwz @script if(frame==3) { void self = getlocalvar("self"); int borx = openborvariant("xpos"); int sdir = getentityproperty(self,"direction"); int y = getentityproperty(self,"a"); int z = getentityproperty(self,"z"); if (sdir == 0){ borx = borx+480; } clearspawnentry(); setspawnentry("name", "estriker2"); void vSpawn=spawn(); changeentityproperty(vSpawn,"parent",self); changeentityproperty(vSpawn,"direction",sdir); changeentityproperty(vSpawn,"position",borx,z,y); } @end_script 画面の端からストライカーって感じのスクリプト http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/106
107: 名前は開発中のものです。 [sage] 2021/04/30(金) 18:09:21.33 ID:81YP+Cwz int borx = openborvariant("xpos"); changeentityproperty(vSpawn,"position",borx,z,y); int sdir = getentityproperty(self,"direction"); if (sdir == 0){ borx = borx+480; } 結局、肝心な部分は上の2つで、パネル(背景)の座標を取得して、 テスト環境は Video 1(480x272)モードなので、 プレイヤーが右(sdir=1)を向いていれば borx(ステージを進んだ距離、画面右端) 左向き(sdir=0)なら(+480画面左端)から助っ人が登場 単純な事なんですが、標準コマンドだけだと意外と面倒。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/107
108: 名前は開発中のものです。 [sage] 2021/04/30(金) 18:18:44.10 ID:81YP+Cwz 訂正 X(ステージを進んだ距離、画面右端) O 画面左端 X(+480画面左端) O 画面右端 @script if(frame==0){ void self=getlocalvar("self"); int sdir=getentityproperty(self,"direction"); setdrawmethod(self,1,256,384,1,0,0,0,0,0,0,0,0); drawstring(120, 120, 4, sdir, 1); if (sdir==0) { // changedrawmethod(self, "flipx", 0); changedrawmethod(self, "scaley", 256); changeentityproperty(self,"velocity",-1,0,0); } else { changeentityproperty(self,"velocity",1,0,0); } } @end_script 何故かストライカーがムーンウォークで登場してしまい悶絶。 その為Drawmethodを使って大きさを変えたりしてチェックする、デバッグ用スクリプト。 散々テストして結局、元の絵(gif)が左向き基準に描いてあっただけという 基本、OpenBoRのキャラ絵は右向き基準で描く事が多いので 左右向きが混在してしまうとOpenBoRは正しい処理しているのに こちらの脳がパンクするという事態に。 結構 Anim Turnなんかでもやっちゃうんですよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/108
109: 名前は開発中のものです。 [sage] 2021/04/30(金) 18:36:19.99 ID:81YP+Cwz anim attack3 cancel 11 20 0 D A freespecial4 cancel 11 20 0 U A freespecial5 delay 6 offset 37 78 frame data/chars/erika/363.gif 〜 〜 delay 4 drawmethod alpha 1 offset 42 105 frame data/chars/erika/373.gif frame data/chars/erika/373.gif 途中を端折ってますが、Cancelを組み込むとき、Drawmethodを使って 受付がスタートしたのを知らせる(alpha 1は半透明)。 Drawmethod fillcolor {int0-256}を使えば指定した色にできるようなことがマニュアルに書いてありますが まだイマイチ数値の指定方法がわかりません、パレット番号なのか、RGB指定みたいな事も書いてあるし またググル先生に聞きにいかなきゃです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/109
110: 名前は開発中のものです。 [sage] 2021/05/01(土) 23:32:33.70 ID:ce6GRoi2 なんとなーく調べたら、drawmethodハイフンfillcolor R G B 各々0-255のようですね drawmethod-fillcolor 0 255 255 で以降のframe コマンドのentityキャラが水色に塗り潰されて表示される筈ですが 現在、別な環境の為確認出来ずにいます。 drawmethodを上手く使いこなせれば、用意する絵的にかなり省力化できるんで マスターしたいところですが、今のトコ自分で絵を用意した方が早いですね http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/110
111: kt住江 ◆/VMXjFOJew [sage] 2021/05/04(火) 01:38:40.54 ID:UuKfeUKx 途中経過画像。開発は順調です。 ttps://twitter.com/ktsuminoe/status/1389177357286608908/photo/1 >>110さん いつもお疲れ様です。 アークシステムワークスの格闘ゲームによくある、 ストライカーまで実装可能とは、スクリプトは本当に凄いですねぇ。 https://twitter.com/5chan_nel (5ch newer account) http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/111
112: 名前は開発中のものです。 [sage] 2021/05/05(水) 23:54:41.45 ID:+/eMzjlh @cmd clearspawnentry();setspawnentry("name", "fire") @cmd bindentity spawn() getlocalvar("self") 0 1 10 1 0 1 便利なことなんでもう一度 たったこの2行だけで(MODELS.txtにfireというEnityの登録は必要ですが) 自分にエフェクトを”くっ付ける”ことが出来ます。 上の例では”fire”というEntityを自キャラに重ねて表示します。 謎の数値 0 1 10 1 0 1 はBindentity(バインド)の座標 くっ付けるキャラ(Entity)の X, Z, Y(A), 向き, 親のAnimと同期するか, キャラに被せるか背景にするか 難しいっぽいのが同期で、実は難しい事などなく、逆に効果的に使えるもので 自キャラ(親)とBindentityで付くEnitityに同じAnimが用意されていると、 親と同じAnimが実行されるので、親がAnim Attackなら子(Bind)もAnim Attackが実行されるというもの 「実体のある分身」が気軽に作れるのが想像できると思います。 しかし、getlocalvar("self")にgetlocalvar("self")はBindできないので、 分身は中身は一緒でも適当に名前を変えてMODELS.txtに登録しておかないとエラー落ちします。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/112
113: 名前は開発中のものです。 [sage] 2021/05/06(木) 02:16:30.98 ID:/KeaSO9B 訂正 setspawnentry("name", "fire") X setspawnentry "name" "fire" O @CMD でスクリプトやコマンドを直接呼び出す際は コマンドに最初から設定されている 括弧やカンマ、ピリオドを消して スペース記号(見えませんが)で区切って記述しないとエラーになることが多いです。 便利な反面、エラーがでるとかなりてこずります。 スクリプトを弄っていてエラー落ちが発生した場合、便利なのがLogフォルダの Scriptlog.txt ここに、どのようなスクリプトが実行されているか出力されるので エラー箇所を特定することになります。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/113
114: 名前は開発中のものです。 [sage] 2021/05/06(木) 02:24:21.35 ID:/KeaSO9B 括弧やカンマなど消すといっても getlocalvar("self") これは? スクリプトや@cmdを使う際にさらに別なコマンドを使うときは 基本どおりの記述でよいので @cmd bindentity spawn() getlocalvar("self") 0 1 10 1 0 1 この場合 spawn() と getlocalvar("self") は通常の記述 大元の bindentityについては括弧やカンマなど削除して記述します。 bindentity(spawn(), getlocalvar("self"), 0, 1, 10, 1, 0, 1); 本来あるべき姿は上のようになります。 OpenBoRのシステムに直接干渉するので、エラー(大概こちらの勘違い)のさいは 結構な手間になりますが、基本コマンド以上に色々弄れるのが痛し痒し。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/114
115: 名前は開発中のものです。 [sage] 2021/05/06(木) 02:47:41.51 ID:/KeaSO9B >>111さん すいません、あまりブラウザ更新しないので気付かずに居ました。 画像を拝見しました。 上からっぽくてすいませんが、 1枚の画像からも kt住江様の世界観や作風を大切になさる様が大いに感じられ ワクワクが止まりません。 いつも人様のムゲンキャラを弄って消費してばかりの私にとって、 いつかは自分もと参考&励みにさせて頂いています。 既存のものを改変するのってとても簡単なので、ついつい人様の作品に弄って楽しんでばかりで そのぬるま湯から抜け出せすにいます。 別なスレに「作品を完成させられない人」ってのもありますが、私はそのタイプ。 イメージを形に出来る方を本当に尊敬します。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/115
116: 名前は開発中のものです。 [sage] 2021/05/06(木) 23:33:55.01 ID:/KeaSO9B @script void self = getlocalvar("self"); int MP = getentityproperty(self,"mp"); setlocalvar("T"+self, findtarget(self)); if( frame == 0 && getlocalvar("T"+self) != NULL() ) { void target = getlocalvar("T"+self); void vAniID = getentityproperty(target,"animationID"); void TType = getentityproperty(target,"type"); int Boss = getentityproperty(target, "boss"); if(TType == openborconstant("TYPE_ENEMY") && Boss==0 && vAniID != openborconstant("ANI_DIE") && vAniID != openborconstant("ANI_SPAWN") && vAniID != openborconstant("ANI_RISE")) { changeentityproperty(self,"mp",MP-80); changeentityproperty(target, "parent", self); changeentityproperty(target, "type", openborconstant("TYPE_NPC")); changeentityproperty(target, "hostile", "TYPE_ENEMY"); changeentityproperty(target, "candamage", "TYPE_ENEMY"); changeentityproperty(target, "lifespancountdown", 2200); changedrawmethod(target, "reset", 1); setlocalvar("T"+self, NULL()); changedrawmethod(target,"tintmode",3); changedrawmethod(target,"tintcolor",rgbcolor(128, 255, 255)); } } @end_script http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/116
117: 名前は開発中のものです。 [sage] 2021/05/06(木) 23:43:25.09 ID:/KeaSO9B 上は、敵をNPCにしてしまうスクリプト anim runjumpattack followanim 9 followcond 1 attack 25 9 76 85 10 1 1 0 60 20 dropv 4 1 offset 31 91 frame data/chars/kunagi/399.gif こんな感じで、攻撃がヒットしたらFollow9に跳ぶようにして anim follow9 ## charm @script 〜 @end_script delay 22 offset 32 91 frame data/chars/kunagi/401.gif 跳び先のFollowにこんな感じでスクリプトを仕込みます。 簡単に説明すると、攻撃がヒットした相手の種別をNPCにして、敵対者をENEMYにしてるだけ そして、Lifespancountdown 2200(およそ100で0.5秒)11秒後に自動で消滅します。 ヒットした直後にスクリプトを即発動せず、わざわざFollowを挟んでいるのは 単なる趣味で、私の場合、このキャラには予備動作、発動、決めポーズの段階を踏ませているため べつに当たるを構わず片っ端からNPC化しても良いのですが、その辺は好みで。 後、これの問題点はステージ終端のラッシュなどで片っ端からNPC化するとステージクリアしてしまうことw http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/117
118: 名前は開発中のものです。 [sage] 2021/05/07(金) 00:13:33.09 ID:RxUWGAGV 上のスクリプトは元々、もっと複雑な仕様(使うにはアイテムを購入して消費)だったものを 簡略化したのでMPさえあれば連続使用できてしまう訳です。 さらには時間で元の敵に戻るということも出来るのですが、それにはMODELS.txtにて 専用 Entityを作成して、それを Bindentityしなければならないので、結構手間がかかります。 簡単に説明すると、Bindentityには必ずParent(親Entity)が必要、それを逆に利用して 透明なEntityをBindentityし、一定時間経ったら元のParent(Entity)の情報に上書きするというもの。 一瞬頭が混乱しますが、Bindentityの特性を理解すると「なるほどー!」となります もちろんオリジナルは私などでは無く、D&D Rise of Warduke2015から拝借しました。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/118
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
123: 名前は開発中のものです。 [sage] 2021/05/09(日) 18:57:27.67 ID:uQy3TiTw OpenBoR stats 0.53 では mugen のairファイルが読み込めて便利と以前に書きましたが たまにファイルが灰色に表示され、選択出来なくなることがあります。 そんな時は無限用のファイターファクトリーでsffファイルを8bit用のデータでセーブしてやると OpenBoRstatsでも読み込めるようになることもあります。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/123
124: 名前は開発中のものです。 [sage] 2021/05/09(日) 23:30:14.44 ID:1QV0D9Lf >>118 ここで「## Charm」とありますが、「#」これ一つで以降に書かれたテキストはOpenBoRとしては無視する いわゆる「コメント(人間が読んだときの栞や説明)」となります。 で一つ「#」を使えば十分なのですが、大量に使って作成者が目印にしたりもします。 私は基本「##」2つ連続で使うのですが、一時的に使わないけど、また後で使うかもなコマンドの最初に # jumpframe 0 0 1 0 こんな感じに使う事で、一時的に無効にすることができます。 で、OpenBoR stats を使っていると、#を使っているとたまに行ごと削除されてしまうことが有り それを防ぐおまじないとして##2つ重ねています。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/124
125: 名前は開発中のものです。 [sage] 2021/05/09(日) 23:36:48.96 ID:1QV0D9Lf 「## Charm」は >>117 でした。 @Script 〜 @End_script ここで使うコメントは「//」となります。 @cmd これをコメントにするときはこんな感じ「# @cmd」 なので スクリプト的に内部動作を弄るときはC言語みたいに「//」だったよなと 「// @cmd 」とするとエラーになりますので注意です。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/125
126: 名前は開発中のものです。 [] 2021/05/10(月) 00:00:27.11 ID:snJfXwVZ この様なサイトがあるのを初めて知りました。 レベルの高い内容ばかりで参考になります。 素人ながら「RescueCommand?」を色々いじって遊んでるのですが 試したいことがあるので教えていただきたいです。 敵キャラ同士が同じ座標に重なったり、すり抜けたりしないように 接触判定の条件?をいいじりたいのですが、どこをどのようにいじればよいか どなたかご教示いただけないでしょうか。 敵キャラ同士の攻撃は従来通り当たらないで、あくまで接触判定だけ変えたいです。 何卒よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/126
127: 名前は開発中のものです。 [sage] 2021/05/10(月) 00:05:01.81 ID:LcOGIvvu >>118 で説明しようとしてた Entityの内容がこれになります。 name Charm type none anim idle @script void self = getlocalvar("self"); int Parent = getentityvar(self,1); if(frame==1) { setdrawmethod(Parent, 1, 128, 128, 0, 0, 0, 6); changedrawmethod(Parent,"tintmode",3); changedrawmethod(Parent,"tintcolor",rgbcolor(128, 255, 255)); } if(frame==3) { setdrawmethod(Parent, 1, 256, 256, 0, 0, 0.5, 0); changedrawmethod(Parent,"flag",0); changeentityproperty(Parent,"hostile","TYPE_PLAYER","TYPE_NPC"); changeentityproperty(Parent,"type",openborconstant("TYPE_ENEMY")); changeentityproperty(Parent,"candamage","TYPE_PLAYER","TYPE_NPC"); } @end_script delay 1 frame data/chars/misc/empty.gif delay 220 frame data/chars/misc/empty.gif delay 1100 frame data/chars/misc/empty.gif delay 1 frame data/chars/misc/empty.gif http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/127
128: 名前は開発中のものです。 [sage] 2021/05/10(月) 00:23:14.55 ID:LcOGIvvu >>116 のスクリプト中に clearspawnentry(); setspawnentry("name", "Charm"); void Ceff = spawn(); setentityvar(Ceff, 1, target); bindentity(Ceff, target, 0, 1, 0, 0, 0, 0); このような感じでMODEL.txt で設定した Entity CharmをBindentityしてあげると name Charm の親Entity(攻撃がヒットした相手)の情報がCharmに収納され 一定時間(delay 1100) frame data/chars/misc/empty.gifが実行されると Frame==3で 元のEntity、changeentityproperty(Parent,"type",openborconstant("TYPE_ENEMY")に戻ることになります。 こういう閃きが出来る方って本当に凄いと尊敬します。 私はスクリプトの中身を読んで「ほへ〜凄いなー」となって、何も考えずコピーして「動いたー!」 さっそくスレに書き込むことしかしないので、どういう経緯でこうなるのか基本全く分かりません。 世の中には凄い人が沢山いるものです。 http://mevius.5ch.net/test/read.cgi/gamedev/1547405874/128
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 530 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s