アットウィキロゴ

マカロフを作ろう

最初にもらえる銃、マカロフ。撃てばわかるが全然当たらない。ちょっとこいつを使える銃に改造しよう。

ここで。
STALKER Shadow of Chernobyl\gamedata\config\weapons
のファイルを修正するのはあまりに簡単だ。簡単だが、当然、敵の武器まで強くなってしまう。

やればわかるがこのゲーム、主人公一人で100人くらいを相手するランボーみたいなゲームなので。敵が凶悪な武器を持たれるとかなりきつい。

なので、カスタムメイドの武器を作る。

ゲーム内に「カスタム」ってのはあるんだけど、めんどくさいので普通の武器をコピーして作り、初期武器に持たせたり店に並べたりしよう。

店って言っても客が主人公しかいないので、店の武器を敵が買ったりしない。最初の項に書いているように、weaponsのフォルダはよく使うのでまるごとコピーしてる。
「config\weapons」

gamedata\config\weapons

まるで改造してねっていうくらいファイル名がわかりやすい。マカロフPMを改造したいので
w_pm.ltx
だ。

これを複製してw_pmc.ltxなんて名前にする。「カスタムのC」だ僕は基本、自分で作ったものは全て、最後にCを入れることにしている。

作った
w_pmc.ltx
を開いて改造していこう。

[wpn_pm]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "weapons\pm" ; option for Level Editor

ここでさっそく[wpn_pm]を[wpn_pmc]とする。このwpn_というのはゲーム内のIDみたいなものなので間違えると大変なことになる。
$spawn = "weapons\pm" ; option for Level Editor
はドロップしたときのIDだが。一応変えておこう。
$spawn = "weapons\pmc" ; option for Level Editor

cost = 280
SoCだと結構どうでもいいのだが、CS、CoPには「修理」というう概念がでてくる。修理代はコストのパーセントで決まるので、このカスタム銃がおいくらなのか結構重要。なので
cost = 28
と、90%オフのお安い値段にしよう。

inv_name = wpn-pm
inv_name_short = wpn-pm

はい、ここ重要。インベントリのIDなのでここを間違えるとエラーになる。
inv_name = wpn-pmc
inv_name_short = wpn-pmc

とcをつけよう。さて。改造の醍醐味だけどここから。

;-----------------------------------------------------------------------------------
;базовая дисперсия
fire_dispersion_base = 0.4 ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках)
;отдача
cam_relax_speed = 8;1.0 ;скорость возврата в исходное положение
cam_dispersion = 0.4 ;увеличения угла (в градусах) с каждым выстрелом
cam_dispersion_inc = 0.0 ;увеличениe cam_dispersion с каждым выстрелом
cam_dispertion_frac = 1.0 ;ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac)
cam_max_angle = 20.0 ;максимальный угол отдачи
cam_max_angle_horz = 5.0 ;(degree) maximum shot horizontal degree
cam_step_angle_horz = 1.0 ;(degree) size of step camera moved in horizontal position while shooting
fire_dispersion_condition_factor= 5 ;увеличение дисперсии в процентах при максимальном износе
misfire_probability = 0.003 ;вероятность осечки при максимальном износе
misfire_condition_k = 0.05
condition_shot_dec = 0.0003 ;увеличение износа при каждом выстреле
;-----------------------------------------------------------------------------------

fire_dispersion_baseは集弾率。これを小さくすればするほど名銃になる。が、しょっぱなからスーパー銃だと面白くないしと
色々悩むところ。ここはほんと、何度も修正して自分で試すのが一番。

;-----------------------------------------------------------------------------------
;базовая дисперсия
fire_dispersion_base = 0.4 ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках)
;отдача
cam_relax_speed = 4;1.0 ;скорость возврата в исходное положение
cam_dispersion = 0.2 ;увеличения угла (в градусах) с каждым выстрелом
cam_dispersion_inc = 0.0 ;увеличениe cam_dispersion с каждым выстрелом
cam_dispertion_frac = 0.5 ;ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac)
cam_max_angle = 10.0 ;максимальный угол отдачи
cam_max_angle_horz = 2.0 ;(degree) maximum shot horizontal degree
cam_step_angle_horz = 0.4 ;(degree) size of step camera moved in horizontal position while shooting
fire_dispersion_condition_factor= 5 ;увеличение дисперсии в процентах при максимальном износе
misfire_probability = 0.0003 ;вероятность осечки при максимальном износе
misfire_condition_k = 0.0005
condition_shot_dec = 0.0 ;увеличение износа при каждом выстреле
;-----------------------------------------------------------------------------------


こんな感じかな。
condition_shot_dec
は壊れやすさ。SoCでは壊れたら直らないので0にしていい。

cameraとかなんとかついてるのは「撃った反動」なので低いほどぶれない。44マグナムみたいにどかーんと撃ちたい場合はcam_dispersion_incを大きくするといいんじゃないかな。

hit_power = 0.30, 0.34, 0.37, 0.40
hit_impulse = 100

威力です。いくつか並んでますが、実は前から二つ目しか効果が出ない事がわかってます。なのでCS以降では同じ値になってます。ハンドガンって最初しか使わないのですが。サブウェポンとして重要なんですよね。ちょっと威力を上げましょうか。

hit_power = 0.50, 0.5, 0.5, 0.4
hit_impulse = 150

impulseは威力ではなく吹っ飛び効果なのですが。まるでジョンウー映画みたいに吹っ飛んでくれるはず。

fire_distance = 50 ;1000
bullet_speed = 300 ;290 ;начальная скорость пули

射程距離と弾丸のスピード。マカロフってこんなだっけ?Wikipediaで調べつつ修正。

SoCは結構実銃と同じ設定なのでこのまま。ただし、CS以降はここがかなり低くなってます。修正必須です。

hud = wpn_pm_hud
一番重要ともいえるこれ。ここを
hud = wpn_pmc_hud

と変えておきます。これはエイミングしたときのデザインとかの設定で、下のほうにでてきます。

;addons
scope_status = 0
silencer_status = 0;2
grenade_launcher_status = 0

これはオプションパーツです。残念ながら、ハンドガンにスコープつけたりグレネードつけたりできませんので。ここは0がつけられない、1が付いた状態、2が取り外し自由となります。

せっかくだからサイレンサーくらいはつけますか。
;addons
scope_status = 0
silencer_status = 2
grenade_launcher_status = 0

さっき出てきた、ここ重要ってやつ。ここの名前をあわせます。
[wpn_pm_hud]
[wpn_pmc_hud]

これで、マカロフPMカスタムができました。注意)これだけだとゲーム内に存在するだけでどこにも出てきません。次の武器を登録する方法を見ましょう。

ついでだ。AK74も作ってしまおう。

w_ak74.ltx
をコピーして
w_ak74c.ltx
を作る。AK74カスタム。

[wpn_ak74c]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "weapons\ak-74c" ; name and section in level editor

名前を変えて
cost = 200 ; the price of the item

値段を下げて
inv_name = wpn-ak74c ; name in inventoly
inv_name_short = wpn-ak74c
インベントリ名を変えて

fire_dispersion_base = 0.2 ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках)
control_inertion_factor = 1.25f
;отдача
cam_relax_speed = 3;3.5; 0.15 ;скорость возврата в исходное положение
cam_dispersion = 0.15 ;увеличения угла (в градусах) с каждым выстрелом
cam_dispersion_inc = 0.1 ;увеличениe cam_dispersion с каждым выстрелом
cam_dispertion_frac = 0.4 ;ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac)
cam_max_angle = 5.0 ;максимальный угол отдачи
cam_max_angle_horz = 5.0 ;(degree) maximum shot horizontal degree
cam_step_angle_horz = 0.1 ;(degree) size of step camera moved in horizontal position while shooting
fire_dispersion_condition_factor = 5 ;увеличение дисперсии в процентах при максимальном износе
misfire_probability = 0.0003 ;вероятность осечки при максимальном износе
misfire_condition_k = 0.0005
condition_shot_dec = 0.0 ;увеличение износа при каждом выстреле
;-----------------------------------------------------------------------------------

集弾率、壊れやすさを修正。壊れなくする。

hit_power = 0.40, 0.40, 0.40, 0.40 ; size of damage by bullet
hit_impulse = 140 ; size of physic impulse by bullet

ヒットパワー

fire_distance = 400 ; maximum fire distance that bullet can fly
bullet_speed = 900 ; starting bullet speed
rpm = 600 ; max round per minute

飛距離とスピード。SoCだとそのままでいいけど、CS以降はここをかなり修正する必要がある。

hud = wpn_ak74c_hud ; name of the section of the hud

ここの名前を忘れると必ずアプリが落ちる。凡ミス

;addons
scope_status = 2 ; 0 - no addon
silencer_status = 2 ; 1 - permanent
grenade_launcher_status = 2 ; 2 - attachable

AK74はグレネード、スコープ、サイレンサー全てのパーツを使えます。まぁグレネードはなくてもいいんですけど。
[wpn_ak74c_hud]
はい、ここも直さないと落ちます。

さて、終わったら{武器の登録}だ。

タグ:

+ タグ編集
  • タグ:
最終更新:2013年11月01日 17:24