Форумы Homeworld3.RU  

Go Back   Форумы Homeworld3.RU > Сделай сам! > Верфи близ Сарума [HW2 Modding]
Register Forum Rules FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools
Quote
Old 12-09-2008, 06:29 PM   #1
umka01
Командир звенаКомандир звена
 
Join Date: Aug 2008
Posts: 221
Как менять точность выстрелов?

Вот столкнулся с проблемой. Где и какие параметры нужно изменить, что бы изменить точность попадания выстрелов во вражеский корабль. Пытался менять параметры в папке Weapon, но ничего не изменилось.
Как пример, в моде Фриспейс импульсное оружие имеет эффект промаха по крупным кораблям. Я хочу добиться такого эффекта в моде Вавилон 5, как это было в фильме, а не 100% точность как мов моде.

Кто в курсе этих дел, отпишитесь, только подробно, пожалуйста.
umka01 is offline   Reply With Quote
Old 12-09-2008, 07:15 PM   #2
Ten
Главнокомандующийp2ambassador
 
Ten's Avatar
 
Faction:
Стражи Садов Кадеша

Join Date: Feb 2004
Location: Great Nebula
Posts: 2,513
Re: Как менять точность выстрелов?

За точность попаданий отвечает функция setAccuracy, которая вызывается в .wepn-файле следующим образом:

Lua:
setAccuracy(<vObjectType>, <bEnable>, {<vFamilyName1> = <fValue1>}, {<vFamilyName2> = <fValue2>}, ... , {<vFamilyNameN> = <fValueN>});
Параметры:

<vObjectType> - переменная-объект (точнее, таблица), представляющее новое оружие. Указывается переменная NewWeaponType, т.к именно её мы инициализировали несколькими строками выше.

<bEnable> - включение/выключение данной настройки точности. 1 означает, что корабль будет обладать ею с самого начала, 0 – что эта особенность будет добавлена позднее по ходу игры.

<vFamilyName1>, <vFamilyName2>, ... <vFamilyNameN> - название семейства кораблей.
<fValue1>, <fValue2>, ... <fValueN> - множитель точности против данного семейства кораблей. Число с плавающей точкой, от 0 (минимальная, точнее, орудие даже не будет стрелять по указанному семейству) до 1 (не промахивается).

// UPD:
Просьба привести название корабля, точность орудий которого ты хочешь изменить. Или название оружия.

Last edited by Ten : 12-09-2008 at 07:28 PM.
Ten is offline   Reply With Quote
Old 12-10-2008, 12:59 PM   #3
umka01
Командир звенаКомандир звена
 
Join Date: Aug 2008
Posts: 221
Re: Как менять точность выстрелов?

Спасибо за оперативный ответ, но если чесно, то ничего из этого не понял, так как слабоват в этом. Только не делю как начал разбираться

Хочу изменить параметры точности в Моде Вавилон 5, всех кораблей, крупных. Что бы точность снизить на 50%.

Те параметры что ты привел ниже..... я их не видел в веп файле.

например..... Омега. Захожу в луашный файл, открывая его через блокнот, но таких параметров там нет.
Путь к луашке??? Data\Weapon\***.lua ??????????? там где менять надо???? Обьясни как можно подробнее. Может разрабы мода даже не внесли таких параметров, предполагая единую точность для всех кораблей, без возможности изменения??
umka01 is offline   Reply With Quote
Old 12-10-2008, 02:15 PM   #4
Prisoner
Контр-адмиралПрайд
 
Prisoner's Avatar
 
Faction:
Хиигаряне

Join Date: Jul 2008
Location: город герой Киев
Posts: 559
Re: Как менять точность выстрелов?

Quote:
Originally Posted by umka01 View Post
Может разрабы мода даже не внесли таких параметров, предполагая единую точность для всех кораблей, без возможности изменения??

утебя раскомпилированый скрипт? или нет?

Last edited by Prisoner : 12-10-2008 at 09:15 PM.
Prisoner is offline   Reply With Quote
Old 12-10-2008, 06:21 PM   #5
Ten
Главнокомандующийp2ambassador
 
Ten's Avatar
 
Faction:
Стражи Садов Кадеша

Join Date: Feb 2004
Location: Great Nebula
Posts: 2,513
Re: Как менять точность выстрелов?

Не, раскоппилированый скрипт у тебя А там они вполне текстовые и компилируются на лету.

Итак, Омега. Такой корабль нашёлся в папке <ХВ2>\Data\Ship\EAR_Omega (вообще, их там несколько, но принцип один и тот же). Открываем .ship-файл в поисках вызова функции StartShipWeaponConfig, т.к. именно она навешивает на корабль соответствующие орудия. Получаем целую россыпь:

Lua-код под катом

Я не зря выделил второй параметр – собственно, это и есть подпапки в папке <ХВ2>\Data\Weapon. В подпапках живёт единственный .wepn-файл с конфигурацией заданого оружия.

Отсеиваем дубли из кода выше и получаем 9 разных с точки зрения игры типов орудий:
  • Ear_OmegaPulseFront
  • Ear_OmegaBeamFront
  • Ear_OmegaPulseSideFrontLeft
  • Ear_OmegaPulseSideFrontRight
  • Ear_OmegaPulseSideMidLeft
  • Ear_OmegaPulseSideMidRight
  • Ear_OmegaPulseSideBackRight
  • Ear_OmegaPulseSideBackLeft
  • Ear_OmegaPulseRear

Хмык... Ладно, качаем. Выясняется, что все файлы <ХВ2>\Data\Weapon\EAR_OmegaPulseSide*\EAR_OmegaPulseSide*.wepn имеют одинаковые вызовы setAccuracy, а именно:

Lua-код под катом

Конечно, можно всё это записать одной строкой, но так гораздо нагляднее. Например, сразу видим, что против семейства SmallCapitalShip точность боковых орудий составляет 88% (0.88), а против BigCapitalShip – 96% соответственно. Если это много – корректируем Настройки точности против других семейств также не кусаются при изменении. Я практически ничего не знаю о сериале и понятия не имею, кто и как должен стрелять, но думаю, что с этим у вас трудностей точно не возникнет В других .wepn-файлах иные настройки точности, но правятся они аналогичным образом.

Чтобы узнать, к какому семейству принадлежит тот или иной корабль, нужно открыть его файл и глянуть на строчку NewShipType.AttackFamily. Для Омеги, например, она выглядит следующим образом:

Lua:
NewShipType.AttackFamily = "BigCapitalShip"

umka01, как видишь, ничего тут сложного нет Успехов!
Ten is offline   Reply With Quote
Old 12-11-2008, 06:11 PM   #6
umka01
Командир звенаКомандир звена
 
Join Date: Aug 2008
Posts: 221
Re: Как менять точность выстрелов?

Спасибо, братан, что помогаешь, но у меня есть еще пару вопросов, которые я не могу понять

1. Что такое Декомпилировать??
2. Как и чем это делают (прога специальная или как)??

Вот то, что я вижу, когда открываю wepn файл через блокнот:


Lua:
-- Omega Front Pulse Cannons (Yellow)
--
-- Edited by Zeelich (15/03/2007)
-- Edited by CnlPepper (14/10/2007)

StartWeaponConfig(NewWeaponType,
	"AnimatedTurret",	-- Type
	"Bullet",		-- FireType
	"PulseCannon_Yellow_Large",	-- FireName
	"Normal",		-- Activation
	2500,			-- FireSpeed
	7000,			-- FireRange
	0,			-- FireRadius
	0,			-- FireLifetime
	0,			-- FireMisc1
	0,			-- FireAxis
	1,			-- MaxEffectsSpawned
	1,			-- UseVelocityPred
	0,			-- CheckLineOfFire
	0.25,			-- FireTime
	1.0,			-- BurstFireTime
	1.5,			-- BurstWaitTime
	1,			-- ShootAtSecondaries
	1,			-- ShootAtSurroundings
	60,			-- MaxAzimuthSpeed
	50,			-- MaxDeclinationSpeed
	0.1,			-- SpeedMultiplierWhenPointing
	"Normal",		-- WeaponShieldPenetration
	1,			-- TrackOutOfArc
	0,			-- UseCodeRed
	0)			-- BlowThroughHealth

AddWeaponResult(NewWeaponType,
	"Hit",
	"DamageHealth",
	"Target",
	282,
	282,
	"")

setPenetration(NewWeaponType, 5, 1,
	{
	    MediumArmour = 1.1,
	},
	{
	    PlanetKillerArmour = 0,
	},
	{
	    SubSystemArmour = 1,
	},
	{
	    ResArmour = 0.6,
    	})

setAccuracy(NewWeaponType, 1,
	{
	    Fighter = 0.021875,	-- Prob(hit/s) = 0.035
	},
	{
	    Corvette = 0.0375, 	-- Prob(hit/s) = 0.06
	},
	{
	    munition = 0.125, 	-- Prob(hit/s) = 0.2
	})

setAngles(NewWeaponType,
	0,			-- cosMaxAnglesFromNorm
	-60,			-- MinAzimuth
	60,			-- MaxAzimuth
	-5,			-- MinDeclination
	65)			-- MaxDeclination
Как видишь, почти всех классов кораблей нет, только истребители, корветы и какой-то minition (за что он отвечает и на что влияет понять не могу, по английскому двоечником был ).

Я так понял, что можно вручную прописать остальные классы кораблей??
Главное правильно прописать???

Да, вот еще, под каждым классом кораблей в твоем примере есть такой параметр как Демейдж 1, за что он отвечает и что будет если поставить значение большее или меньшее. В моем примере такого нет, хотя это файл оригинал, я его прям с игры дернул.

Last edited by Ten : 12-12-2008 at 04:40 PM.
umka01 is offline   Reply With Quote
Old 12-12-2008, 06:32 PM   #7
umka01
Командир звенаКомандир звена
 
Join Date: Aug 2008
Posts: 221
Re: Как менять точность выстрелов?

О-о, все получилось, спасибки дружище. Я просто взял и копирнул твой пример в свой файл и изменил процентовку и все заработало

Вот еще вопросик. Я уже видел тему на форуме соответствующую, но там как-то непонятно написано.
Я хочу и з одного мода перетащить кораблик в другой мод, вместе с оружием, или просто оружие перетащить.
Как это сделать, только обьясняй как ребенку, просто я в этом очень слаб.

Спасибо тебе человеческое заранее.
umka01 is offline   Reply With Quote
Old 12-12-2008, 07:05 PM   #8
Ten
Главнокомандующийp2ambassador
 
Ten's Avatar
 
Faction:
Стражи Садов Кадеша

Join Date: Feb 2004
Location: Great Nebula
Posts: 2,513
Re: Как менять точность выстрелов?

Корабли лежат в папке Ship, оружия – в папке Weapon, подсистемы – в Subsystem. Узнать какие оружия использует корабль можно по вызовам StartShipWeaponConfig в .ship-файле (название оружия – второй параметр), выше я про это писал под катом. В случае подсистем это вызовы StartShipHardPointConfig (названия подсистем – последние 8 параметров). Эти оружия и подсистемы находишь в одном моде и тащишь в другой с сохранением структуры каталогов. Потом нужно подправить скрипты постройки и исследований той расы, которой ты хочешь приписать новый корабль. Блин, ещё там эффекты могут быть...

Слух, Умка, напиши какой корабль и куда перетащить. Это не так сложно, просто куча рутины и очень долго объяснять, если во всех подробностях. Мне Arkatneil уже задавал подобный вопрос, но за нехваткой времени я успешно про него забыл... где-то даже валялись результаты экспериментов, гляну.
Ten is offline   Reply With Quote
Old 12-15-2008, 04:16 PM   #9
umka01
Командир звенаКомандир звена
 
Join Date: Aug 2008
Posts: 221
Re: Как менять точность выстрелов?

Хочу просто уметь из одного мода претягивать кораблики в другой мод. Ну... например из Звездных воен, какой нить имперский крупный кораблик пертянуть в Вавилон 5. Кстати исследования не обязательно для него делать. В В5 есть режим Capture\Testing. там на старте тебе дается небольшой флот кораблей, его можно менять в папке скриптс, стартфлитс. мне бы хватило, что бы можно было имперский крупный кораблик вписать в старт, ну а если и строить можно будут..... класс

И самое главное, как оружие из мода впихнуть в другой мод???

Респект тебе, дружище.

Вообще-то я с Pandorazero по телефону консультируюсь, но он силен только в моделировании, а втаких вещах как мне надо не сильно
umka01 is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +3. The time now is 04:28 AM.

Page generated: 0.051 seconds (91.75% - PHP and 8.25% - MySQL), 10 queries total