counter今日counter昨日counter

記事一覧

ただいま

______ 
|←樹海|
. ̄.|| ̄      三┏( ^o^)┛ 樹海に行く服がナカタ
  ||       三  ┛┓
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
img

もののけが出そうな感じでした
ほんとに道が無かったらどっち向いてるか分かりませんよ これは
遭難するのも納得の樹海
しかもでこぼこなんです。溶岩が固まったのがそこら中にっていうか全面
あとは洞窟を回ったり
半日しか歩いてないのにもの凄く疲れました
あ、普段運動しないからですね ごめんなさい


グングニルを調整したりmistwing.sを作り直したり構造体Handleの2種類目を作ってUPしました
不具合などあったら教えてください

imgimg
Ryosuke氏のおかげで出来るようになりました
まだ横移動のみで高さに対応してません
おそらくコレもグングニルのmistwing.sのように別スクリプトになります
この先作るcleoで使い回し出来そうなので

img
まだ車に乗るとこんな状態
これも直さないと。

トラックバック一覧

コメント一覧

Ryosuke Eメール URL 2008年09月18日(木)23時59分 編集・削除

三┏( ^o^)┛ 外に出る服がナカタ
さすがにこれはまずいかも…。学校は行ってますよ。

金額はCPickupItem+0x08に入ってます。

あと、点を飛ばす速度を求めるには
01BB: store_object 1@ position_to 3@ 4@ 5@
00A0: store_actor $PLAYER_ACTOR position_to 6@ 7@ 8@
0063: 6@ -= 3@ // (float)
0063: 7@ -= 4@ // (float)
0063: 8@ -= 5@ // (float)
050A: 2@ = distance_between_XYZ 6@ 7@ 8@ and_XYZ 0.0 0.0 0.0
0017: 2@ /= 50.0
0073: 6@ /= 2@ // (float)
0073: 7@ /= 2@ // (float)
0073: 8@ /= 2@ // (float)
0381: throw_object 1@ velocity_in_direction 6@ 7@ 8@
という感じで正規化+αをまとめてやると楽だと思います。

航空機に乗りながら集めるとさらに痛いです。
気づいたら黒煙噴いてて爆発したり。

奏@GTA 2008年09月19日(金)00時37分 編集・削除

グングニルですが、前のバージョンではレバ剣と一緒につかえていたのですが、今回はだめなようですね。
ジャンプして攻撃すると多分IFPが干渉合ってクラッシュしてしまいます。

varistor0 Eメール 2008年09月19日(金)01時57分 編集・削除

>ryosukeさん
アークタンジェント使って角度計算してました
そういう発想が出来ないのは悲しいです

ところで
000A: 0@ += -0xE
0A8D: 2@ = read_memory 0@ size 2 virtual_protect 0
0109: player $PLAYER_CHAR money += 2@
000A: 0@ += -0x8
0A8D: 2@ = read_memory 0x9788C0 size 4 virtual_protect 0
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
0062: 30@ -= 2@ // (int)
0016: 30@ /= 0x19C
0A8D: 2@ = read_memory 0x9788C0 size 4 virtual_protect 0
000A: 2@ += 0x4
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
005A: 2@ += 30@ // (int)
0A8D: 2@ = read_memory 2@ size 1 virtual_protect 0
0012: 30@ *= 0x100
005A: 30@ += 2@ // (int)
0215: destroy_pickup 30@
000A: 0@ += 0x16
こんな感じでpickupのHandle取ろうとしたらエラー吐かれてしまいました
0x19Cをいくつに書き換えればHandle取れるのでしょうか
それとも別の理由…?
こういうのが調べられるようになれれば良いんですけどね…

>奏@GTAさん
IFPは変更していないのでおそらく別の原因があると思います
刀の持たせ方変えたのでそれなのかもしれません
調べてみる必要がありそうです

えふ 2008年09月19日(金)16時48分 編集・削除

はじめまして、いつもcsのお世話になっています。
新しいグングニルなんですが、起動やアクションは問題なく出来るものの、終了するため「gung」と入力したところ落ちました。軽量版でも同じ結果に。

cs部分のみ、上方向に撃ち出せるようになった最初のモノに変えたところクラッシュせずに終了しました。
自分の環境に何か干渉するものがあったせいかもしれませんが、一応ご報告までに...

Ryosuke Eメール URL 2008年09月19日(金)18時32分 編集・削除

CPickupItemの配列はCPedやCObject、CVehicleとは違って静的なのでByteMapなどが存在しません。
pickupのハンドルは(WORD(CPickupItem+0x1A)) * 0x10000 + Indexとなっています。
(ポインタあたりをどう書けばいいのか…。)

30@や0@の指し示す位置がよく分からないのですが

000A: 0@ += -0x18
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
000A: 0@ += 0x18
if
8039: not 1@ == 0
then

000A: 0@ += -0xC
0A8C: write_memory 0@ size 2 value 3@ virtual_protect 0
000A: 0@ += 0x2
0A8C: write_memory 0@ size 2 value 4@ virtual_protect 0
000A: 0@ += 0x2
0A8C: write_memory 0@ size 2 value 5@ virtual_protect 0
000A: 0@ += 0x8
end

の間の0@がCPickupItem+0x1Cを指している間に記述するなら

0085: 30@ = 0@ // (int)
000E: 30@ -= 0x9788DC
0016: 30@ /= 0x20
000A: 0@ += -0x14
0A8D: 2@ = read_memory 0@ size 2 virtual_protect 0
0109: player $PLAYER_CHAR money += 2@
000A: 0@ += 0x16
0A8D: 2@ = read_memory 0@ size 2 virtual_protect 0
0012: 2@ *= 0x10000
005A: 30@ += 2@ // (int)
0215: destroy_pickup 30@
000A: 0@ += 0x2

という感じでハンドル取得、破棄ができますが
破棄してから実際に消えるまで少し時間がかかるので

000A: 0@ += -0x14
0A8D: 2@ = read_memory 0@ size 2 virtual_protect 0
0109: player $PLAYER_CHAR money += 2@
000A: 0@ += 0x4
0A8C: write_memory 0@ size 4 value 0 virtual_protect 0
000A: 0@ += 0x10
01BC: put_object 1@ at 0.0 0.0 3000.0

といったコードのほうが簡単で安全で確実でしょう。

いずれもテスト済みです。

varistor0 Eメール 2008年09月19日(金)23時05分 編集・削除

>えふさん
おそらく0ABA: end_custom_thread_named 'MISTWING'
これが原因と見て間違いありません
書き忘れていたのですが、今回のバージョンから新しいopcodeを使っています
http://cleo.sannybuilder.com/ から最新バージョンを入れてください

>Ryosukeさん
ありがとうございます
変数の位置書き忘れていましたね… それで合っています
pickitemは特殊なんですね
下の例だとCPickupItem+0xCを0にしてるようですが
ここは何があるんでしょうか?
存在フラグのようなもの…?

Ryosuke Eメール URL 2008年09月20日(土)01時39分 編集・削除

消滅する時刻です。
0は常に過去なんで次回のPickup更新時に消えてくれます。

varistor0 Eメール 2008年09月20日(土)23時33分 編集・削除

なるほど、武器やセーブのフロッピーもこれを弄ったら消えちゃうんでしょうか
使い道なさそうですけど
あとで試してみましょうか