第四章(´・ω・`)おばあちゃん、ゲームを起動するわよ☆



・起動してみるよ

ビルドが完了したのでゲームを起動してみます。
既に以下のファイルが存在していることを確認してくらはい。
(Steamのインストール先がC:\Program Files\Valve\Steamであると仮定します)。

C:\Program Files\Valve\Steam\SteamApps\SourceMods\Bodycon\bin\client.dll
C:\Program Files\Valve\Steam\SteamApps\SourceMods\Bodycon\bin\server.dll

で、起動は簡単、以下のバッチファイルを実行すればよいのです・・・

C:\Bodycon\run_mod.bat

・・・が、ちょっと待ってください。今 C:\Program Files\Valve\Steam\SteamApps\SourceMods\Bodycon

の下はこんなふうになってますね


そこのGameInfo.txtをテキストエディタで開き、3行目を以下のように書換えて上書き保存します。

game "Bodycon Revival"



そして、その後Steamを再起動してみると・・・

ズガーン!ボディコン、キター!

更にGameInfo.txtをUTF-8形式で保存してやればこんなことも可能

ドガーン!鼻血ブー、ユルシテ!
でもこの後Steamからデスクトップにショートカットを作ったらファイル名が化け化けでした。

ただ起動だけじゃ寂しいですね、maps フォルダを作成して、そこにHalf-Life 2 DMのマップを放り込んでおきましょう。 おばあちゃんはGCFScapeで取り出したdm_lockdown.bspを入れました。


いえーい!準備完了!Steamのメニューから起動しちゃう!



(´・ω・`)やった〜!

・本当にこれでいいの?
しかし、ここで1つの疑念が浮かびます。「本当におばあちゃんがビルドしたDLLを読み込んで起動してんのか?」と。
用意したDLLシカトされて本家Half-Life 2 DMのDLLがロードされている可能性は無きにしも非ず。

そこで簡単な確認を行うためにコードを書き加えてみます。 これをやる前にソースコード一式はバックアップしといた方がいいです。 だって新規MOD作成したとき二、三章の作業もっかいやんのすっげ〜メンドクサイんだも〜ん。

VCのソリューションエクスプローラでclienthlどちらのプロジェクトでもかまいませんから、
Source Files−>HL2MP−>Weapons
の順にツリーを下っていくとweapon_stunstick.cppという ソースファイルが見つかるので開いてください。そう、それにはお馴染みのガッポイスティックの処理が記述されています。



このソースの39行目で赤く記した部分を書換えます。
extern ConVar metropolice_move_and_melee;

#define	STUNSTICK_RANGE			750.0f
#define	STUNSTICK_REFIRE			0.8f
ガッポイスティックの射程距離を10倍に伸ばしてます。

このソースの235行目へ以下に赤く示した行を挿入します。
//#ifndef CLIENT_DLL
	
	CEffectData	data;

	data.m_vNormal = traceHit.plane.normal;
	data.m_vOrigin = traceHit.endpos + ( data.m_vNormal * 4.0f );

	DispatchEffect( "StunstickImpact", data );
	DispatchEffect( "WaterSurfaceExplosion", data );

//#endif
直前の行を見ると分かりますが、ガッポイスティックがヒットした際のエフェクトを発しているところです。 そこへ更に「水面爆発」のエフェクトを追加してみました。
コードの変更を行ったらビルドを行ってください(F7キーを押せばビルドが実行されるよ)。

さあ、おばあちゃん、ゲームを起動してdm_lockdownに 降り立ち、壁に向かってガッポイスティックを振り下ろします。

(´・ω・`)ばきゃーん!!ばきゃ〜ん!!成功ざます。

が、しかし、これだけでは単にクライアント側でのみエフェクトが処理されている可能性があります(client.dllだけが読み込まれている疑い)。
server.dllが読み込まれているのか否かは下のスクリーンショットの間合いでガッポイスティックを振り下ろした際に 爆裂ドラム缶を破壊できるかどうかで判明するのです。

( ´Д`)ふぉっふぉっふぉ、ラーメンマンよ、このドラム缶が破壊できるかな?
(´・ω・`)食らえ!百歩神拳!


(´・ω・`)どぐあーん!

めでたしめでたし。

(´・ω・`)つ次へ