wwaに関するブログ
by four_piece
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カウンタ-
カテゴリ:wwa作成( 9 )
道パーツが処理されない場合
こんにちは。今回は単純であるが大切なことを書きます。

本題。「道パーツが処理されない場合」

参考WWA:http://uma.s60.xrea.com/wwa/test6.html
上記WWAのdatファイル:http://uma.s60.xrea.com/wwa/gdgd6.html
同じく画像ファイル:http://uma.s60.xrea.com/wwa/making.gif
前回同様datファイルを開いてどんなWWAか把握してみてください。設定自体は簡単、使用したパーツは少ないです。

まず実験。参考WWAを開いてください。以下、次の呼び名を用います。

二者選択の剣パーツ→剣
盾パーツ→盾
ハートパーツ→ハート
出現する剣パーツ→剣2
道パーツ→A

①剣(Yesを選択)に触れると、Aと剣2が現れ、Aに設定したメッセージも出てきます。したがってAは正常に処理されています。
②そのまま次に盾→剣(Yesを選択)の順に触れると、剣が消えたままになるはずです。Aに設定したメッセージも出てきません。Aは処理されていないことがわかります。
③そのまま一歩下に移動し、再びAに乗ってください。剣とメッセージが現れるはずです。
④そのまま再び盾→剣(Yesを選択)の順に触れると、②と同様の結果になるはずです。
⑤そのままハート→剣(Yesを選択)の順に触れると、①や③と同様の結果になるはずです。

実験終了。次のことがわかります。
プレイヤーがある道パーツに乗っている状態で、同パーツを同位置に出現させても、そのパーツは処理されない。
対処方法として、上WWAのハートのように一度道パーツを別のものに変えることがあります。

以上。ではまたね~~~~ん。
[PR]
by four_piece | 2009-05-17 14:32 | wwa作成
モンスターのステータスをカモフラージュする
いきなり本題入ります。「モンスターのステータスをカモフラージュする」
これは静止しているモンスターに限ります。

参考WWA:http://uma.s60.xrea.com/wwa/test5.html
上WWAのdatファイル:http://uma.s60.xrea.com/wwa/gdgd5.dat
同じく画像ファイル:http://uma.s60.xrea.com/wwa/making.gif

単純な仕掛けです。壁パーツを使用しているだけです。
「物体パーツよりも背景パーツの処理が優先される」の法則に従っているだけです。

以上(早っ)。
WWAはおもしろいなあ。じゃあねえ。
[PR]
by four_piece | 2009-05-12 09:13 | wwa作成
物体パーツと背景パーツの優先順位の例外
WWAを作成中に発見したことです。
もしかしたら使用しているJAVAの種類によって結果が異なるかもしれません。そこらへん留意しといてください。

本題。「背景パーツよりも物体パーツが優先されるときがある。」

参考WWA:http://uma.s60.xrea.com/wwa/test4.html
上記WWAのdatファイル:http://uma.s60.xrea.com/wwa/gdgd4.dat
同じく画像ファイル:http://uma.s60.xrea.com/wwa/making.gif

参考WWAの説明をします。①ハート、剣、盾、宝石のアイテムを持っているか。②星のアイテムを持っているか。上下左右のプレートそれぞれがこの2点を調べるというWWAです。プレートに乗ると、初めに①を調べ、4つのアイテムが揃っていれば②を調べます。

マップ作成ツールでdatファイルを開いて見てください。どのパーツにも細かな設定をしてあるので把握しておいてください。単純なのですぐにわかります。
アイテム関係:物体パーツ1~5
左のプレート関係:物体パーツ11~15,背景パーツ10~15
下のプレート関係:物体パーツ21~25,背景パーツ20~25
右のプレート関係:物体パーツ31~36,背景パーツ30~35
下のプレート関係:物体パーツ41~45,背景パーツ40~45

普通、プレイヤーの位置に物体パーツと背景パーツを同時に出現させたとき、背景パーツの処理が優先されます。
したがって、このWWAの場合、5つのアイテムをとってプレートに乗れば『アイテムが全て揃っています』というメッセージが現れるはずです。
試しに、5つのアイテムを全て拾って"左のプレート"に乗ってみてください。残念なことに『星を持っていません』と表示されてしまいます。これは背景パーツ15の処理よりも物体パーツ15の処理が優先されてしまっているためです。

これが今回の本題です。下のプレートは左のプレートとほぼ同じ設定で成り立っています。唯一違うのは、背景パーツ24に『a』というメッセージを入れたことだけです。今度は"下のプレート"に乗ってみてください。ちゃんと『アイテムが全て揃っています』というメッセージが現れたはずです。

別の方法で正確に処理させてみます。右のプレートは①の調査と②の調査の間に物体パーツ35を割り込ませたものです。背景パーツ34が次の物体パーツと背景パーツを出現させるのをやめ、一旦物体パーツ35を通させることにしました。"右のプレート"に乗ってみてください。下のプレートと同じ結果になったと思います。

最後に、物体パーツが優先されること自体を利用した方法でやってみます。扉パーツを使用します。詳しいことはdatファイルを見ればわかります。"上のプレート"に乗ってみてください。正しく処理されたはずです。


今回はこんなもんです。WWAが思ったように動かないときはあきらめずに、いろいろ試行錯誤してみてください。新しい発見ができるかもしれません。

ではまた~。
[PR]
by four_piece | 2009-04-30 23:39 | wwa作成
データ改造対策
なんか、究極とも言えるんじゃないかというほどのデータ改造方法を見つけてしまったため、このテーマについてはこれ以上書かないことにします。

うん、暗証番号設定するといいよ。9999以外。ね。

んじゃ~
[PR]
by four_piece | 2009-03-24 16:43 | wwa作成
データ改造対策その1
その1です。対策1つでは、足りません。
簡単なことなので、誰でもできます。


ずばり、「マップデータには暗証番号を付ける、ただし『9999』以外にする」ということです。

暗証番号を設定しなければ、データの改造をしないにせよ、マップデータの中身がばれてしまうので、隠し等の要素は意味をなさないことがあります。

何故9999じゃダメなのかというと、ID生成アルゴリズムの関係で、データ伝達CGIにおいてIDが全て「0」になってしまうからです。
IDが「0」=>暗証番号が「9999」は偽ですが、その逆は真なのです。だから、この暗証番号を設定しても、あまり意味がないのです。(分かる人にとってはですがw
さらに、データ伝達CGIによってURLにデータが記されますが、闇雲にデータを書き換えても、それは全て正しいものとみなされWWAに反映してしまいます。こういった危険を避けるため、暗証番号は「9999」以外に設定しましょう。


今のところ、暗証番号を設定しなければマップデータがばれてしまうというととと、9999と設定するとデータ書き換えが簡単になることしか書いてませんね。
暗証番号を設定する意味は、まだあります。

データ伝達用CGIを使用したWWAにおいて、暗証番号がなければ、架空データの生成は容易になります。
暗証番号を設定することで、それを困難にすることができます。

しかし、逆に言うと、暗証番号がわかってしまえば、簡単に架空データが生成できてしまいます。
そして暗証番号を見つけることはできます。
それについては次回説明します。

ではさいならー。
[PR]
by four_piece | 2008-01-20 10:08 | wwa作成
データ改造について
生きています。山月記です。

最近またWWAを作ろうかと思いはじめています。
で、アイデアの一つに昔ハマった某WWAのようにデータ保存機能とか、CGIを使うというものがあります。
まぁ、作るかどうかは別として。
もし作るとしたら、プレイヤー一人一人のデータを絶対に他人に盗まれないようにセキュリティ面も考えなければなりません。
前置きが長かったですが、ここでデータ改造について書こうと思いましたw

で、WWAデータ改造といってもいろいろな方法がありますよ。
あなたはできますか?できたとしてもやらないでくださいねw

ぶっちゃけると、現在のほとんどのWWAにおいてデータ改造は可能です。
いろいろな方法があると書きましたが、方法によってできるWWAとできないWWAがあります。
しかし、絶対とは言い切れないものの、ほぼ完璧なデータ改造対策方法もあります。
これらは、WWAがより安全にプレイされるための、WWA製作者向けの情報です。決して悪用しないでください。

というわけで、次回から少しずつ書き込んでいきたいと思います。
でゎー。
[PR]
by four_piece | 2008-01-05 21:13 | wwa作成
戦闘シミュレーション
こんにちわ、山月記です。

今回は、具体的な、というか一つの例として説明していきます。
「敵を全員倒すと先へ進める」というシミュレーションを行います。
これは一つの応用例なので、自分なりに改造してみるといいかもしれません。

3タイプあります。
(1)http://uma.s60.xrea.com/wwa/test1.html
(2)http://uma.s60.xrea.com/wwa/test2.html
(3)http://uma.s60.xrea.com/wwa/test3.html

(1)
見ての通り、モンスターを倒すとお金が+1されます。全て倒すと11になります。
扉(メッセージパーツ)に触れると、背景パーツAとステータス変化Aを出現させます。
背景Aは背景Bを出現させます。
背景Bは、全て倒していないときのメッセージを表示させて標準背景パーツにもどります。
ステ変化Aは、お金を-11させ、標準背景パーツを出現させ、扉を消し、全て倒したときのメッセージを表示させます。

(2)
それぞれの敵を倒すごとに、マクロ文$itemでそれぞれの透明アイテムを持たせています。
それぞれの背景パーツは、それぞれのアイテムに反応するように設定し、順番に出現させていきます。
結果全て敵を倒す、つまり全てのアイテムを入手すれば全ての背景パーツが反応します。
最後の背景パーツで、メッセージ表示、マクロ文$itemで透明パーツを全て消します。

(3)
(2)と同様、ただし透明パーツの代わりに、回復ハートのアイテムと全く同じ形や機能のアイテムを使う。

wwa製作でいろんな発想がでるように、他のwwaのいろんなイベントを分析してみるのはいい勉強になると思います。

~補足~
ステータス変化について。
プレイヤーのHPが100で、ステータス変化でHP-1000000と設定するとプレイヤーは死にますが、ステ変化パーツは消えず、「指定位置にパーツを出現」の設定は無視されます、
プレイヤーの攻撃力(防御力、お金)が100で、ステータス変化でそれ-10000000と設定するとプレイヤーには何の変化もおきず、ステ変化パーツが消え、「指定位置にパーツを出現」の設定は無視されます。




使えないとか言わないでね。
[PR]
by four_piece | 2007-10-27 14:08 | wwa作成
アイテムに反応する
こんにちはー。
前回の記事はかなり重要なポイントでしたが、今回のも重要です。…多分ね。
道パーツがあります、そしてそれは自分の持っているアイテムの中に、特定のアイテムがあれば反応できる機能を持っています。
この機能は素晴らしいです、応用性が抜群です。
今回は、『アイテムに反応するタイミングはややこしい』ことについて説明します。

えー、当たり前のことを書きます。
アイテムには、3つの使用属性があり、それは「通常」「クリックで使用可」「使用しても無くならない」です。反応するアイテムを設定された道パーツの上にのったとき、そのアイテムをもっていれば、使用属性にかかわらず、道パーツの処理が始まります。

ではいきます(どこへw
アイテム設定された道パーツをA、そのアイテムをBとします。
①Aの上にBがのっていて、プレイヤーがそこに歩いていくと、Aは反応します。
②Aの上にBがのっていて、プレイヤーがジャンプゲートによってそこにのったとき、Aは反応しません。
③Bが置いてあって、Bをとって、Aが出現したと同時にのったとき、Aは反応します。
④Aが置いてあって、Aにのって、Bが出現したと同時にとったとき、Aは反応しません。

とりあえず、この4つのシチュエーションを整理しておくといいです。
①は当たり前です。
②は意外です。反応しそうでしません。
③はなんとなくわかるでしょう。Bをとってその場にAが出現したらAは反応してくれます。
④、これがポイントだったりします。Aの上に立っている状態でBをとっても、Aは反応してくれません。もちろん、「クリックで使用」しても反応しません。

以上でっすっ


知っとるわボケェナス!!とか言わないでください。
[PR]
by four_piece | 2007-10-18 18:04 | wwa作成
物体パーツと背景パーツ
早速投稿しまっす!

えー、題名わかりにくくてすみません。。。
何を書きたいかというと、『物体パーツと背景パーツの両方が、同時に重なった場合、背景パーツの処理が優先される』ということです。うわー基本だこれ。

一例を挙げると、道パーツAをおいて、さらにそこにステータス変化のパーツBをおく。ちなみにそのAとは、上に乗るとHPを-100させるステータス変化Cのパーツを出現させる、また、Aの上においたBは、HPを-10000させます。このとき、ジャンプゲートによってそれらのパーツに重なると、HPが-100されてあとは何も起きません。それは、Aが出現させたCによってBが消滅するからです。もし、HPを-10000と-100させたかったら、Aを出現させるだけのパーツDを作り、Aの代わりにDをおくことで、、 重なる→Dの処理→Bの処理→Aの処理→Cの処理 となり、結果HP-10100させます。

以上!(ww
どうやらワンテンポおくことがポイントみたいです。

~たまにしか書かないと思う、補足説明~
パーツの処理はひとつひとつのブロックとして行われると思うとわかりやすいかも。イメージイメージ。
『(背景パーツの処理) → (物体パーツの処理)』 → 『(背景パーツの処理) → (物体パーツの処理)』 → 『(背景パーツの処理) → (物体パーツの処理)』 → …


ちなみに次場合は違いますよ!
背景パーツをおいて、さらにそこに物体パーツを置く。そしてそこにプレイヤーが歩いていって重なる。この場合は先に物体パーツの処理が行われます。






イラン説明だとか言わんでね。
[PR]
by four_piece | 2007-10-08 12:05 | wwa作成