5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  
レス数が900を超えています。1000を超えると表示できなくなるよ。

【PSP】地球防衛軍2 PORTABLE【CWC】2

1 :名無しさん@お腹いっぱい。:2011/12/19(月) 17:11:20.06 ID:TPGL6k00
まだ続きそうなので立ててみた

888 :名無しさん@お腹いっぱい。:2014/10/19(日) 13:45:38.80 ID:tXZajN0i
難易度       パワー(ベース、倍率) ドロップレアリティ(最低、最大、範囲)
EASY       (4, 4)            (0.2, 0.8, 0.3)
NORMAL    (-0.15, 8.15)       (0, 1, 0.3)
HARD       (15, 15)          (0.83, 2, 1)
HARDEST    (30, 40)          (1.76, 3, 2.4)
INFERNO     (100, 60)          (2, 4, 2.4)
IMPOSSIBLE (270, 10)         (0, 0, 0)

アドレス0x001BBB98から328個分の武器情報が並んでます
1個分の武器情報は>>885と同じで
兵種、Vobパスアドレス、武器名アドレス、カテゴリ、レアリティ、ドロップ率 と並んでます

アイテム4種類のうち、武器がドロップする確率は
アドレス0x001BDA58にある比率から、どのミッション、難易度でも2÷(4+1+2+5)=約17%で固定

各ミッション、難易度で出現する武器の判定は、難易度別ドロップレアリティの数値を使用し
最大レアリティ=最低+(最大−最低)×(各ミッションNo÷全ミッション数) ※全ミッション数はEDF2Pの場合78
最低レアリティ=最大レアリティ−範囲 ※最低レアリティが0未満になったら0に修正
この計算で、プレイヤーと同じ兵種用の武器が、最低レアリティから最大レアリティまで出ることがわかります

さらに一つのミッション内で、ドロップすると判定された全ての武器の
ドロップ率を足した数値とランダム数から実際にドロップする武器が決定されます
その武器に決定される確率=その武器のドロップ率÷ドロップすると判定された全ての武器のドロップ率を足した数値

これらの情報から武器の出現範囲と確率の計算ができると思います

敵の体力や攻撃力の計算は、難易度別パワーの数値を使用し
基本値=ベース+倍率×出現時のパワー×(((ミッションNo−1)÷(全ミッション数−1)×2)+1)
体力=基礎体力×基本値×0.1×難易度別補正値
攻撃力=基本値×0.5×難易度別補正値

敵の種類によって若干変わるけど大体こんな感じ
基本値の計算方法は全敵共通だと思います
出現時のパワーは、ミッションファイル内で指定されます。通常は1.0
基礎体力はVobファイルのオフセット0x20に書いてあります
難易度別補正値はプログラムコード内に書いてあります。蟻の場合は、EASY〜HARDで3.0、HARDESTで2.0、INFERNO〜IMPOSSIBLEで2.5
蟻全般のこの計算自体はアドレス0x00064E8Cの関数(clGiantAntクラスの出現時初期化メソッド?)に書いてます

(例) ミッション1NORMALの噛み蟻と酸蟻の、体力と攻撃力
基本値=-0.15+8.15×1.0×(((1−1)÷(78−1)×2)+1)=8
体力=60×8×0.1×3.0=144
攻撃力=8×0.5×3.0=12 …だけど実際は15ダメージくらうから、どこか計算が間違ってるはず!体力計算も間違ってるかも

889 :882:2014/10/19(日) 22:11:18.16 ID:sam0p7R6
ありがとう!!流石に完全には把握してないか
難易度別補正値 それだ!
例外処理の方法が予想より凝ってた!予測値も多少間違えてたな
ドロップ率も気のせいでなく本当にあるのか。新武器のある2PV2で確率を出すのは無理そうだな……

武器範囲の計算でミッションNo.から-1していないのは、略しているor把握してないという認識でいいでしょうか?EDF4のデータでは-1してるっぽかったので。

EASY以外の蟻の体力の計算だと、その難易度補正値をかけない値が正しい値になるっぽいです。
実測値からの予測を表にしたもの。ttp://edf2pv2.ari-jigoku.com/weapon,health.html

スレ違いかもしれないけど過疎ってるから気にしない。

890 :名無しさん@お腹いっぱい。:2014/10/20(月) 09:43:13.17 ID:6spslzpr
アドレス0x00034BA4の関数とアドレス0x00034F68の関数(こっちはアドホック用)でアイテムをドロップしてます
この中で呼び出しているアドレス0x0003493Cの関数が、武器の種類を決定している関数です
この関数の最初で
lw $a1, dword_1BE138
lw $a1, 0x294($a1)
というところがあります
ミッションをプレイ中にCWCでこのメモリを見てみるとミッションNoがそのまま書いてありました
その後の処理でも−1してる形跡がないのでEDF2Pではこの計算で合ってると思われます

この計算とLv計算を足し合わせると最終ミッションINFERNOでSP武器が出るように見えますが
実際はSP武器のドロップ率が0.0になっているためドロップしません

>>889の表を見てオンライン人数で体力が変わることを初めて知った
PSPLINKも復活したので改めて処理を追ってみました

まず難易度EASYのパワー(ベース、倍率)の値が間違ってたので修正
EASY (0, 4)

それとプレイ人数補正値を難易度別補正値と誤認してたらしい
攻撃力の正確な計算方法は結局わからなかった

基本値=ベース+倍率×出現時のパワー×ミッション補正値
体力(int型)=基礎体力×基本値÷10 ※ここで一回目の小数点以下切り捨て
体力(int型)=体力(int型)×プレイ人数補正値 ※二回目の小数点以下切り捨て

ミッション補正値のデフォルト値は1.0
ミッションスクリプトの syscall1 50 を実行すると、ミッション補正値=スクリプトの引数(float型)
ミッションスクリプトの syscall1 51 を実行すると、ミッション補正値=((ミッションNo−1)÷(全ミッション数−1)×2+1)

プレイ人数補正値 ※アドホックモードでの実験はやってないので、もしかしたら順番が逆なのかも
ソロプレイ:1.0
アドホック0人:3.0 ※たぶん例外処理
アドホック1人:3.0 ※ソロプレイで無理やりアドホックモードの処理を通過させた場合
アドホック2人:3.0
アドホック3人:2.5
アドホック4人:2.5
アドホック5人:2.0 ※5人…?一応そのような処理あり

体力は、プレイ中は小数点以下の計算もされますが、敵出現時は小数点以下切り捨てでおkです

以下PSPLINKで実機の値を確認したもの
ミッション3EASYでの黒蟻の体力はソロで25、アドホック1人で75でした
ミッション3NORMALでの黒蟻の体力はソロで50、アドホック1人で150でした

CWCコードではなくツールをたくさん上げてたけど気にしない。

891 :名無しさん@お腹いっぱい。:2014/10/20(月) 20:51:42.55 ID:L9902pEh
もっと別なプレイはないものかと思って、初めてここ訪ねたら、全く皆さんの言ってる意味が解らないw
こんな初心者にオリジナルマップ導入法とかを教えてくださる方などはおりませぬか。

CWCはいれてます!  

892 :名無しさん@お腹いっぱい。:2014/10/20(月) 22:16:08.91 ID:pIZYjJce
【ID】o3430-4

【罪状】ファンメ
【画像】http://i.imgur.com/c5S08ez.jpg

【説明】
ゼロ使って、こっちのマスターの横格に全く対処できないで死んでファンメしてきた

検索したらトロフィーが出てきた
http://psnprofiles.com/o3430-4

893 :名無しさん@お腹いっぱい。:2014/10/21(火) 13:23:08.37 ID:uH+ZnVbk
てすと

894 :名無しさん@お腹いっぱい。:2014/10/21(火) 13:24:27.01 ID:uH+ZnVbk
>>891
とうこそ!

まず、>>410のEDF2Pファイル変換ツールセットと、>>839のカスタムミッションジェネレータセットをダウンロードしておきます

ファイルの展開(1.)&差し替え(2.〜4.)方法
1. ファイル変換ツールのVFS展開.batにEDF2.DAT(disc0:\PSP_GAME\USRDIR\data\jpn\EDF2.DAT)をドラッグ&ドロップ
2. メモリースティックのルートディレクトリに「EDF2 PORTABLE」というフォルダを作ります
3. そのフォルダの中に差し替えたいファイルを入れます
(例) ペイルウィングのモデルデータとテクスチャを差し替え
. EDF2 PORTABLE
. └Object
.   ├Player2.Vob
.   └Player2.HgtConv.Hgt
4. >>8のコードをONにするとメモリースティック内のファイルを優先して読み込むようになります(差し替え完了)

895 :名無しさん@お腹いっぱい。:2014/10/21(火) 13:24:57.56 ID:uH+ZnVbk
マップの確認(1.〜4.)&作成(1.と5.〜7.)&差し替え(8.)方法
1. 3DCGソフトウェアとしてBlenderをインストールしておきます。(無料で、かつDAEファイルの読み書きに対応しているので)
2. EDF2.DATを展開し、MAPフォルダから拡張子が.KKMのファイルを探します
3. >>349の「マップを3DCGソフトウェアで読み込む方法」を参考にKKMファイルをDAEファイルに変換し
  Blenderでファイル→インポート→COLLADA(.dae)からDAEファイルを読み込みます
4. マップを見ながらある程度仕組みを理解しておきます
  (マップの大きさの確認、部品ごとに細かく分かれていたり、ジオメトリ名の@マーク以降によって種類が分けられていたり)
5. Blenderでマップを作ります。すでに作ってあるマップを読み込んでもおk
  >>410にサンプルマップがあります
6. >>410の「マップ変換での仕様やバグなど」と「テクスチャ変換での仕様やバグなど」を読んでおきます
7. >>410の「マップ自作方法」を参考にKKMファイルとKKTファイルを作成します
8. 上記のファイル差し替え方法を参考にマップを差し替えます
(例) 住宅街マップを差し替え
. EDF2 PORTABLE
. └Map
.   ├Map07.KkmConv.Kkm
.   └Map07.KktConv.Kkt

896 :名無しさん@お腹いっぱい。:2014/10/21(火) 13:25:37.66 ID:uH+ZnVbk
ミッション内容の確認(1.〜3.)&作成(4.)&差し替え(5.〜6.)方法
1. EDF2.DATを展開し、確認したいミッションをMISSION001〜MISSION078から選びます
  MISSION079は没ミッション、MISSION999は対戦用ミッションっぽいです
2. カスタムミッションジェネレータ v3.02 でBVMファイルを開きます
3. ミッション内容が専用の言語で表示されます(理解できなくてもおk)
4. ランダムミッションジェネレータ v1.02 を起動し、「ミッションファイルを作成」ボタンをクリックします。
5. 「EDF2 PORTABLE」というフォルダが生成されるので、そのフォルダをメモリースティックのルートディレクトリに入れます
(例) ミッション3を差し替え
. EDF2 PORTABLE
. └Mission
.   └Mission003
.     ├Before.bvm
.     ├Before.Kkps
.     ├Mission.bvm
.     └Mission.Kkps
6. Readme.txt内の Load Custom Mission Files と書かれたコードをONにすると、指定した番号のミッションが差し替えられます

より複雑なミッションを作りたいときは、カスタムミッションジェネレータ v1.04〜v3.02 を使いますが作成難易度が上がります
>>845-846にカスタムミッション作成支援ツールが有志者により上げられています
このツールを使うことで作成難易度を下げることができます

897 :名無しさん@お腹いっぱい。:2014/10/21(火) 13:26:48.20 ID:uH+ZnVbk
お、分割したら書き込めた

898 :891:2014/10/21(火) 19:52:26.57 ID:U+BoVhex
>>896
>>895
>>894
わぁお、こんなに詳しく説明していただけるなんて思ってもみませんでした!
ありがとうございます!手こずりながらもやってみようと思いますw

あと、邪道かもしれませんが、PSPだけでの改造などは可能でしょうか?PSPFilerは入れているので、もともとのデータファイルを改造データファイルに置き換えることで改造できちゃう...なんてことは、やはり浅はかな考えでしょうか...

899 :名無しさん@お腹いっぱい。:2014/10/22(水) 14:35:58.15 ID:HXeOh/SO
まだ差し替えられるものがあったの忘れてた

BGM、Voice差し替え
>>226を参照
AT3ファイルの作成はこのスレが参考になると思う
http://kanae.2ch.net/test/read.cgi/gameurawaza/1265727589/

ムービー差し替え
>>233を参照
PMFファイルの作成方法は忘れた
ググったら簡単に見つかると思う
他ゲーのPMFに差し替えて再生できることは確認してる

>>898
PSPFilerでどこまでできるか分からないけど
EDF2.DATは専用フォーマットで圧縮されていて、この中身を直接差し替えることはできないと思う
BGM、Voice、ムービーは一つ一つがそのままファイル化されているので
この3種類は、UMDを吸い出してできたISOファイルの中のファイルを置き換えることで直接差し替えることができると思う
あと英語版EDF2.DAT(disc0:\PSP_GAME\USRDIR\data\usa\EDF2.DAT)を
日本語版EDF2.DAT(disc0:\PSP_GAME\USRDIR\data\jpn\EDF2.DAT)に上書きするという荒業もあった
(動くかどうかは別としてミッション名と説明が英語表記に変わる。それ以外になにが変わるかわからない。武器名はプログラム内に直書きされているので日本語のままのはず)

PSPだけでのファイル差し替え方法は今まで考えてなかった
元々のデータを置き換えるより、差し替え用のCWCコードで動的に差し替えた方が簡単な気もする
配布されてるカスタムミッションやカスタムマップをPSPのインターネットブラウザーでダウンロードして
ファイラーアプリでzip内のファイルを指定された場所に展開
あとは差し替え用のCWCコードを実行するだけ
他にも他ゲーからAT3ファイルやPMFファイルを指定された場所にコピーして
上記の「BGM、Voice差し替え」や「ムービー差し替え」のCWCコードを実行して差し替える方法もあるね

900 :891:2014/10/22(水) 21:52:47.03 ID:+mV0HQgO
>>899
ここは神様ばっかりのスレなのか。ホントにありがとうございます!
頑張ってみます!  

901 :名無しさん@お腹いっぱい。:2014/10/24(金) 13:18:47.30 ID:8TU50wLd
武器のテクスチャのサイズって変更しても問題ない?
流石に16x16は見るに堪えない…

陸戦兵のテクスチャは128x128だから大丈夫なような気はするんだけど

902 :名無しさん@お腹いっぱい。:2014/10/27(月) 14:20:59.33 ID:dxV97M2F
>>901
2の累乗になってれば問題ないと思うよ
ただ、今のファイル変換ツールではHGTファイルを作るとき128x128以外のサイズは正常に変換できなかったような気がする
今ツール作り直し中

903 :名無しさん@お腹いっぱい。:2014/10/30(木) 17:29:04.24 ID:BIFL19VS
>128x128以外のサイズは正常に変換できなかったような
あらら、そうなのですか
最低でも128以上で作った方がいいかね
x64で作ってたテクスチャ作り直さなきゃ…

変えること自体に問題は無いみたいで一安心
おーし礼賛乙つくるどー

904 :名無しさん@お腹いっぱい。:2014/11/05(水) 15:28:55.22 ID:70tfMfNj
テクスチャ変換ツール 暫定版
斧にうpできなかったのでこっちに上げました
http://ux.getuploader.com/EDF2_Portable/
変換ツールセットのテクスチャ関連のバグを修正したもの
代わりにBMPやTIM2などの変換ができなくなったので、変換ツールセットに上書きしない方がいい
・TGAファイルの24bitフォーマット、32bitフォーマットに対応
・128x128以外のサイズでも正常な変換ができるようになった(と思う)
※HGTに変換するとき、TGAには256色パレットが必須です
※横幅は 16, 32, 64, 128, 256, 512 のみ対応
※高さは 8, 16, 32, 64, 128, 256, 512 のみ対応
最大サイズが512までなのはゲーム側の仕様
最小サイズが16x8までなのはツール側の都合

905 :名無しさん@お腹いっぱい。:2014/11/06(木) 01:18:52.91 ID:37kRS3VY
>>905
おぉ、乙です

906 :名無しさん@お腹いっぱい。:2014/12/13(土) 02:29:37.15 ID:K8e7rnio
今さら始めたけど、面白いな
やっぱりEDFはチート使えてなんぼだわ
3Pや4も面白かったけどさ

907 :名無しさん@お腹いっぱい。:2014/12/13(土) 06:29:22.23 ID:jIUNKI4n
マジか…

908 :名無しさん@お腹いっぱい。:2015/02/12(木) 09:18:04.65 ID:b/FjLMTq
>>880のジェノサイドガンいろいろ改修したやつができたんだけど需要あるカナ?
っていうか前の上げてからもう4か月も経ってる…

そもそもこのスレ人残ってるんだろうか…
よく見りゃこれが今年初の書き込みだし

909 :名無しさん@お腹いっぱい。:2015/02/12(木) 12:27:14.02 ID:S457o8JE
>>908
需要ありますよ!
書き込む内容がないだけじゃないんかな

910 :名無しさん@お腹いっぱい。:2015/02/12(木) 14:23:10.63 ID:EFoeUfCY
>>908
需要アリアリ

ソラス系透明化
_L 0x200A6BD8 0x00000000
マザー本体透明化
_L 0x2007AA68 0x00000000
マザージェノ砲透明化
_L 0x20080674 0x00000000
卵透明化
_L 0x200C6770 0x00000000

911 :名無しさん@お腹いっぱい。:2015/02/12(木) 20:42:32.24 ID:X4L49DHC
>>909-910
おや、意外といるのね
ほいじゃお言葉に甘えて
http://www1.axfc.net/u/3410712?key=2017
ほい
といってもVob圧縮できない現状じゃ使い道はまったく…だけどね

人型モデルも作りたいなぁ
技術足りないけど

912 :名無しさん@お腹いっぱい。:2015/02/16(月) 16:36:35.72 ID:L/rtCsPd
2Pにフェンサー出すとしたらどんな名前になるんだろ
陸戦に倣って重騎兵とかいいような気がするけど既に似た名前のミッションが…
4みたいな名づけ方(兵科の特徴を英訳)だとアーマードフェンサーとか?

もしV2方式なら相当むごいことになるな…
自分の所属部隊に柵なんて名前つけられたら辞職願叩きつけるわ

913 :名無しさん@お腹いっぱい。:2015/02/26(木) 21:31:37.72 ID:IftI+1iE
amakawa1

http://psnprofiles.com/amakawa1

http://i.imgur.com/2wBrdWk.jpg

殺すぞ雑魚

トロフィーレベル低い糞が粋がるなよ
お前の家族殺した後に唾はいてやろうか?

バイオハザード晒しスレの有名な在日朝鮮人なだけあってクソワロタ
こいつバイオ以外にも色んなゲームで晒されてるトロフィー厨のチョンね
漆黒のブラックタイガーとか中二の餓鬼丸出しだなおい

914 :名無しさん@お腹いっぱい。:2015/03/14(土) 11:25:53.47 ID:NLSGrWD8
ん?

915 :名無しさん@お腹いっぱい。:2015/03/23(月) 21:51:01.80 ID:DUWuxZFg
没ミッションはあるが没武器ってあるんだろうか
PS2版のパケ裏にはライトニング01なる武器があったが…

916 :名無しさん@お腹いっぱい。:2015/04/01(水) 23:25:18.96 ID:BPaUlTFP
http://www1.axfc.net/u/3442354?key=2025
礼賛乙出来ました
4.1発売になんとか間に合った…

相変わらずアレな出来ですが欲しい方はどぞ

917 :名無しさん@お腹いっぱい。:2015/06/14(日) 18:24:45.40 ID:mRDp5N5p
syscall1 1005 void Disappear (int objectIndex);
syscall1 512 void (CallBack)Movement Finished? (int objectIndex);
syscall1 1701 void ThrowDownEnemy(int objectIndex,int count,float interval,float power,bool active);
syscall1 1903 void Warp(int objectIndex);

918 :名無しさん@お腹いっぱい。:2015/06/14(日) 22:04:26.33 ID:mRDp5N5p
○storePop,storePop.s.w,storePop.w.s,storePop.s.s,storePushはスクリプト用スタックのアドレスにも使用可能みたいです。
○syscall1 1020 は傍観者に敵投下関係のアクションを起こさせるのに先立って設定する必要があるようです。(syscall1 1010 Moveでは不要)
syscall1 1901 void Warp(int objectIndex, char* pos, int latency?);
syscall1 1020 void Prepare(int onlookerIndex, float dir?, float latency?);

919 :名無しさん@お腹いっぱい。:2015/06/14(日) 23:55:19.03 ID:mRDp5N5p
syscall1 521 void (CallBack)OutsideBarrierGeneratorDestroyed(void);
syscall1 522 void (CallBack)InsideBarrierGeneratorDestroyed(void);
syscall1 523 void (CallBack)OutsideBarrierBroken(void);
syscall1 524 void (CallBack)InsideBarrierBroken(void);
syscall1 525 void (CallBack)OutsideBarrierAttacked(void);
syscall1 526 void (CallBack)InsideBarrierAttacked(void);
syscall1 527 void (CallBack)DepartmentPortDestroyed(void);
syscall1 530 void (CallBack)MatherShip2Damaged(int objectIndex,float ?(90.0));

920 :名無しさん@お腹いっぱい。:2015/06/15(月) 01:44:07.64 ID:YMM9KToH
○syscall1 251は音声の再生同期,syscall1 253はバッファの解放のようです。
○局所変数のアドレスは0,1,2...(loadで指定する数値と同じ),スクリプト用スタックのアドレスはpushs 0,1,2...(loadsで指定する数値と同じ)で取得できます。
(>>918でstorePopとstorePushが逆でした。すみません。)
syscall1 251 void SyncWaiting(void);
syscall1 253 void ReleaseBuffer(void);

多レススマソ

921 :名無しさん@お腹いっぱい。:2015/06/16(火) 10:34:51.39 ID:RiZrFISp
乙です
よく解析したな

332 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)