「スクリプトの競合対策と自作」の編集履歴(バックアップ)一覧はこちら
「スクリプトの競合対策と自作」(2014/10/15 (水) 10:54:08) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
&tags()
&sizex(3){引用元:[[RPGツクールVX Ace スレ 5>http://jbbs.shitaraba.net/bbs/read.cgi/game/49104/1365322497/]]}
&update(format=Y-m-d)
----
#divclass(name){920 :名無しさん@お腹いっぱい。:2014/07/09(水) 21:42:58 ID:aqzCez6k}
スクリプトに原因不明のエラー
その原因を解明した時のカタルシス
#divclass(name){921 :名無しさん@お腹いっぱい。:2014/07/09(水) 22:36:46 ID:3Ywluq1M}
素材作成を人任せにする乞食には味わえない喜びだよな
#divclass(name){922 :名無しさん@お腹いっぱい。:2014/07/09(水) 22:48:29 ID:ktvNt.Ro}
素材制作自作できなくても借り物素材の競合対策できれば味わえるじゃん
#divclass(name){923 :名無しさん@お腹いっぱい。:2014/07/09(水) 22:56:46 ID:dRlG5LkA}
競合対策難しいんだよなぁ
自分で組んだプログラムじゃないと理解しづらい
#divclass(name){924 :名無しさん@お腹いっぱい。:2014/07/09(水) 23:16:08 ID:v/HBRAK6}
昔はよくわからなかったけど
競合の理由を理解したら全てがわかった。
なのでそれ以降、スクリプトの最上部にどの既存関数を変更しているか書いてほしいと思うようになった。
現状だと全部ズラーっと読んでみないとどれが競合になりそうなのかわからないから。
スクリプトが2個あるとして、
αに
・関数Aを再定義
・関数Bをalias
βに
・関数Aを再定義
と最上部に書いてたら、ああ関数Aが競合してんだなきっと、とすぐわかるしさ。
#divclass(name){925 :名無しさん@お腹いっぱい。:2014/07/10(木) 00:45:45 ID:dNPvX1Os}
&nowiki(){>>}924
検索で無駄にHitするから邪魔になるだけだと思う。
それに最上部に一覧で書いたりするのは書き忘れや、更新した際に変更し忘れが起きやすい。
素材屋によっては既存関数の再定義箇所は目立つ目印がついてたりするけど、それが一番、無難じゃないかな。
#divclass(name){926 :名無しさん@お腹いっぱい。:2014/07/10(木) 11:08:27 ID:H0tAn.Ko}
検索でヒットしても元のスクリプト名が表示されてるから全く邪魔にならないよ。
書き忘れや変更し忘れは目立つ印でも同じなんだし。
それに印は作者によってバラバラだから検索もしづらい。
何より再定義の競合を探したい時は印を探したいのではなく再定義されている関数を知りたいわけで
印がついていても意味が無い。
そして最上段に書かれていれば、検索すらせずスクリプトを十字キーでずらーっと変えながら眺めるだけでいい。
40行程度まではそれだけで見えるから、最上段に書かれていたら再定義被ってるスクリプトが一目でわかるから。
スクリプトエディタの検索は一度開くと検索が閉じてまた検索し直さないといけないから
この探し方ができる方が余程効率がいい。
まぁどうせ全作者がそんな事をするわけでもないからただの希望ではあるけど。
少なくとも作者毎にたまに目印が付いているとか程度よりはわかりやすいという話。
作者としても印をつけるとかよりは有用だと思うし、本人にとっても後でわかりやすいから。
#divclass(name){927 :名無しさん@お腹いっぱい。:2014/07/10(木) 11:30:39 ID:upNmt.3I}
&nowiki(){>>}926
それは素材だけの話じゃなくて、完全自作のRGSS作成でも使えるテクニックなんだよね
どの部分を再定義してるのかインデックスがあったら、全体像を把握しやすく製作ミスも格段に減る
自分は再定義とエイリアスを別セクションに分けて隔離してるけど
#divclass(name){928 :名無しさん@お腹いっぱい。:2014/07/10(木) 13:57:55 ID:H0tAn.Ko}
&nowiki(){>>}927
だよね。
昔スクリプトがあまり理解できない頃は適当に簡単な自作スクリプト作ってたけど
その辺理解し始めてからは自分のにそうやって書くようにした。
触りまくってる時は覚えてるからいいけど、暫く離れて久しぶりにやる時にとても助かる。
どこで何再定義したとか覚えてないから。
スクリプトが数個程度なら把握できるけど、数十個あると何導入したとかすら覚えてないからね。
#divclass(name){929 :名無しさん@お腹いっぱい。:2014/07/10(木) 16:14:47 ID:dNPvX1Os}
インデックスは整合性を維持する手間が大きいからね。
関数を再定義したり消去する度に最上段にスクロールしてインデックスを書き換える必要がある。
俺の知る限りでは実際にインデックスを作ってる人は少ない。
目印は関数の直前に記述する概要を少し編集するだけで済む。
関数を消す場合は概要もまとめて消すので消し忘れは滅多に起こらない。
あと、上手く目印を付ければスクリプト自体をインデックスに近いものに出来るからね。
#--------------------
# ● 既存関数の再定義
#--------------------
#--------------------
# ○ 新規の関数
#--------------------
みたいに目印の列を固定すれば判りやすい。
この場合、スクロールしながら3列目付近にある●を探すだけで既存関数の変更箇所は見つかる。
自分で作ったスクリプトを自分で把握するだけならこれで十分だろうね。
そして、目印をつけてる作者はそれなりに見かける。
インデックスがあったら便利だよね。
作る側としてはメリットより手間の方が大きいからやる人は少ないけど。
&tags()
&sizex(3){引用元:[[RPGツクールVX Ace スレ 5>http://jbbs.shitaraba.net/bbs/read.cgi/game/49104/1365322497/]]}
&update(format=Y-m-d)
----
#divclass(name){920 :名無しさん@お腹いっぱい。:2014/07/09(水) 21:42:58 ID:aqzCez6k}
スクリプトに原因不明のエラー
その原因を解明した時のカタルシス
#divclass(name){921 :名無しさん@お腹いっぱい。:2014/07/09(水) 22:36:46 ID:3Ywluq1M}
素材作成を人任せにする乞食には味わえない喜びだよな
#divclass(name){922 :名無しさん@お腹いっぱい。:2014/07/09(水) 22:48:29 ID:ktvNt.Ro}
素材制作自作できなくても借り物素材の競合対策できれば味わえるじゃん
#divclass(name){923 :名無しさん@お腹いっぱい。:2014/07/09(水) 22:56:46 ID:dRlG5LkA}
競合対策難しいんだよなぁ
自分で組んだプログラムじゃないと理解しづらい
#divclass(name){924 :名無しさん@お腹いっぱい。:2014/07/09(水) 23:16:08 ID:v/HBRAK6}
昔はよくわからなかったけど
競合の理由を理解したら全てがわかった。
なのでそれ以降、スクリプトの最上部にどの既存関数を変更しているか書いてほしいと思うようになった。
現状だと全部ズラーっと読んでみないとどれが競合になりそうなのかわからないから。
スクリプトが2個あるとして、
αに
・関数Aを再定義
・関数Bをalias
βに
・関数Aを再定義
と最上部に書いてたら、ああ関数Aが競合してんだなきっと、とすぐわかるしさ。
#divclass(name){925 :名無しさん@お腹いっぱい。:2014/07/10(木) 00:45:45 ID:dNPvX1Os}
&nowiki(){>>}924
検索で無駄にHitするから邪魔になるだけだと思う。
それに最上部に一覧で書いたりするのは書き忘れや、更新した際に変更し忘れが起きやすい。
素材屋によっては既存関数の再定義箇所は目立つ目印がついてたりするけど、それが一番、無難じゃないかな。
#divclass(name){926 :名無しさん@お腹いっぱい。:2014/07/10(木) 11:08:27 ID:H0tAn.Ko}
検索でヒットしても元のスクリプト名が表示されてるから全く邪魔にならないよ。
書き忘れや変更し忘れは目立つ印でも同じなんだし。
それに印は作者によってバラバラだから検索もしづらい。
何より再定義の競合を探したい時は印を探したいのではなく再定義されている関数を知りたいわけで
印がついていても意味が無い。
そして最上段に書かれていれば、検索すらせずスクリプトを十字キーでずらーっと変えながら眺めるだけでいい。
40行程度まではそれだけで見えるから、最上段に書かれていたら再定義被ってるスクリプトが一目でわかるから。
スクリプトエディタの検索は一度開くと検索が閉じてまた検索し直さないといけないから
この探し方ができる方が余程効率がいい。
まぁどうせ全作者がそんな事をするわけでもないからただの希望ではあるけど。
少なくとも作者毎にたまに目印が付いているとか程度よりはわかりやすいという話。
作者としても印をつけるとかよりは有用だと思うし、本人にとっても後でわかりやすいから。
#divclass(name){927 :名無しさん@お腹いっぱい。:2014/07/10(木) 11:30:39 ID:upNmt.3I}
&nowiki(){>>}926
それは素材だけの話じゃなくて、完全自作のRGSS作成でも使えるテクニックなんだよね
どの部分を再定義してるのかインデックスがあったら、全体像を把握しやすく製作ミスも格段に減る
自分は再定義とエイリアスを別セクションに分けて隔離してるけど
#divclass(name){928 :名無しさん@お腹いっぱい。:2014/07/10(木) 13:57:55 ID:H0tAn.Ko}
&nowiki(){>>}927
だよね。
昔スクリプトがあまり理解できない頃は適当に簡単な自作スクリプト作ってたけど
その辺理解し始めてからは自分のにそうやって書くようにした。
触りまくってる時は覚えてるからいいけど、暫く離れて久しぶりにやる時にとても助かる。
どこで何再定義したとか覚えてないから。
スクリプトが数個程度なら把握できるけど、数十個あると何導入したとかすら覚えてないからね。
#divclass(name){929 :名無しさん@お腹いっぱい。:2014/07/10(木) 16:14:47 ID:dNPvX1Os}
インデックスは整合性を維持する手間が大きいからね。
関数を再定義したり消去する度に最上段にスクロールしてインデックスを書き換える必要がある。
俺の知る限りでは実際にインデックスを作ってる人は少ない。
目印は関数の直前に記述する概要を少し編集するだけで済む。
関数を消す場合は概要もまとめて消すので消し忘れは滅多に起こらない。
あと、上手く目印を付ければスクリプト自体をインデックスに近いものに出来るからね。
#--------------------
# ● 既存関数の再定義
#--------------------
#--------------------
# ○ 新規の関数
#--------------------
みたいに目印の列を固定すれば判りやすい。
この場合、スクロールしながら3列目付近にある●を探すだけで既存関数の変更箇所は見つかる。
自分で作ったスクリプトを自分で把握するだけならこれで十分だろうね。
そして、目印をつけてる作者はそれなりに見かける。
インデックスがあったら便利だよね。
作る側としてはメリットより手間の方が大きいからやる人は少ないけど。
#divclass(name){942 :名無しさん@お腹いっぱい。:2014/07/11(金) 18:58:19 ID:.IMyq54g}
スクリプト入門が一度全部やったはずなのに頭入ってなくてムカつく
画像連番にしてcaseで変数にいれて表示させてたけど何かいい方法ないか半日ググった末に
ツクールスクリプト入門の文字列の#{}にいきついた自分が憎い。なんでこんなアホなんだ
プログラマーの学生でも一度は現場に揉まれないと
使い物に成らないってよく見るのはこんな感じなんだろうか
#divclass(name){943 :名無しさん@お腹いっぱい。:2014/07/11(金) 19:40:47 ID:BB9oOxUA}
#{}ってなあに?
#ってコメントでしょ?
#divclass(name){945 :名無しさん@お腹いっぱい。:2014/07/11(金) 21:11:33 ID:BB9oOxUA}
あーなる
http://www.rubylife.jp/ini/string/index5.html
#divclass(name){946 :名無しさん@お腹いっぱい。:2014/07/11(金) 21:16:53 ID:bd/U90T.}
その方法使ったことないから完全に忘れてたわ
わざわざto_sメソッドとか使って連結とかしてた
次からそれ使うわ
#divclass(name){947 :名無しさん@お腹いっぱい。:2014/07/11(金) 21:27:56 ID:5LY2rE82}
スクリプト自作で組んでる人ってどんなスクリプト組んでるの?
素材屋で公開されているものとは全然違うの?
#divclass(name){949 :名無しさん@お腹いっぱい。:2014/07/11(金) 23:32:18 ID:NQAG01KA}
&nowiki(){>>}947
素材屋は汎用性考えていたり高機能なものが多いので
汎用性を度外視した自分のゲームにしか使えないであろう小物とかそんなの。
一例を言うと
毒ダメージをHP割合だけじゃなくて、固定ダメージ+割合ダメージ且つ毒レベルがあってついでに上位で上書きできるとか。
毒1:15+HPの5%
毒2:48+HPの7%
毒3:100+HPの10%
で、毒1がかかってる状態で毒3をかけると毒1はきえて毒3で上書きされる。
ステートが別なので上書きしないとダブルでかかっちゃうから。
でも毒3に毒1をかけても上書きできないで毒3のまま。
自分のはスキルがレベル制なので、プレイヤーはスキルレベルを上げると毒ダメージが強くなり
雑魚は序盤は毒1使ってきて後半は毒3使ってくるって感じ。
それぞれ個別なら素材屋が公開しているスクリプトであるけど、まとめてこれを満たせるのは自分は知らない。
そして色々混ぜて使うといらない機能もあるし、そのいらない機能で競合したりするしで
シンプルにこれだけでいいやってのを自作する。