Вопросы по созданию модов

Форум Модификации для игр серии Ex Machina Вопросы по созданию модификаций
Сообщений: 1744 • Страница 60 из 88 1 ... 57585960616263 ... 88
Аватара

"Хель" писал(а):

Вопрос, а как сделать переход между локациями?

Кое-что хотел подправить и добавить, а лимит времени на правку поста истёк :(
Вот уже точно полный мануальчик по созданию переезда:
Спойлер
Код: Ctrl+A, Ctrl+C
      Пример переезда между локациями r5m1 и sin (Земли Сэма и Свободная земля)
Он подходит как для Меридиана, так и для Махины

Ниже показано, что в какой хемуль требуется дописать.
Можно брать "блоки" прямо отсюда и вставлять в свои файлы.
Естественно, имена меняете на свои, соблюдая регистр (большие имена на большие, малые на малые).
Например у вас две карты: map1 и map2
В таком случае ниже меняете:
ToSIN на ToMAP1
FromSIN на FromMAP1
sin на map1
FromR5M1 на FromMAP2
triggerExitToMapSIN на triggerExitToMapMAP1
RolikExitToMapSIN на RolikExitToMapMAP1
и т.д. и т.п.
Бдоки для локаций (в dynamicscene.xml) вставляем с любыми координатами.
По окончании заходим в редактор, находим их и перемещаем их на нужные места.
Либо можно сначала создать локации в редакторе, а уже потом подправить в хемуле имена.

########################################################################
########################## Папка data\maps\r5m1 #################################
########################################################################
========================
====== файл dynamicscene.xml
========================
<Object
Name="ToSIN"
Belong="1100"
Prototype="genericLocation"
Pos="3514.534 446.024 1821.404"
Radius="50.000"
PassageAddress="sin FromR5M1"
PassageActive="0" />

<Object
Name="FromSIN"
Belong="1100"
Prototype="genericLocation"
Pos="3436.814 450.908 1813.775"
Radius="10.000"
ExitLocation="ToSIN" />

-----------------------------------------------------------------------------------------
Name="ToSIN" ----- ToSIN добавить в object_names.xml для названия переезда на миникарте
Pos= ----------------- Координаты локаций (выставляются позже в редакторе)
========================
====== файл triggers.xml
========================
<trigger Name="triggerExitToMapSIN" active="1">
<event eventid="GE_OBJECT_ENTERS_LOCATION" ObjName="ToSIN" />
<script>
local Plf = GetPlayerVehicle()
Plf:SetThrottle( 0 )
Plf:SetCustomLinearVelocity( 0 )

local PlfID = GetPlayerVehicleId()
local PlfCoor = Plf:GetPosition()
PlfCoor.y = PlfCoor.y + 25*0.74
PlfCoor.z = PlfCoor.z + 25*0.74

if IsQuestTaken("r5m1_FindRemontnik") then

local b = SpawnMessageBox(8801)
if b == 1 then
PassToMap("sin", "FromR5M1", -1 )

GetPlayerVehicle():AddModifier( "fuel", "- "..random(0.5*GetPlayerFuel()) )
else
SaveAllToleranceStatus(RS_NEUTRAL)

FlyAround(1, 0, 25, 2, PlfCoor, PlfID, 1, 1 )
StartCinematic()

TActivate ("RolikExitToMapSIN")
TActivate ("RolikENDExitToMapSIN")
end
else
SaveAllToleranceStatus(RS_NEUTRAL)

FlyAround(1, 0, 25, 6, PlfCoor, PlfID, 1, 1 )
StartCinematic()
AddCinematicMessage( 8802, 0.25 )

TActivate ("RolikExitToMapSIN")
TActivate ("RolikENDExitToMapSIN")
end
</script>
</trigger>
<trigger Name="RolikExitToMapSIN" active="0">
<event eventid="GE_CINEMATIC_ENTER_FADE_IN" ObjName="Player1" />
<script>
trigger:Deactivate()

RuleConsole("g_postEffect NoiseOn")

RotationPlayerByPoints(CVector(getPos("ToSIN")), CVector(getPos("FromSIN")))

GetPlayerVehicle():SetGamePositionOnGround(CVector(getPos("FromSIN")))
</script>
</trigger>
<trigger Name="RolikENDExitToMapSIN" active="0">
<event eventid="GE_END_CINEMATIC" ObjName="Player1" />
<event eventid="GE_SKIP_CINEMATIC" ObjName="Player1" />
<script>
trigger:Deactivate()

RuleConsole("g_postEffect NoiseOff")

RestoreAllToleranceStatus()

SetCameraBehindPlayerVehicle()
</script>
</trigger>
-----------------------------------------------------------------------------------------
if IsQuestTaken("r5m1_FindRemontnik") then ----- r5m1_FindRemontnik - имя квеста (в data\if\diz\dialogsglobal.xml) после выполнения которого откроется переезд
local b = SpawnMessageBox(8801) ---------------- 8801 - текст (в strings.xml) выводимый при запросе согласия на переезд
AddCinematicMessage( 8802, 0.25 ) --------------- 8802 - субтитры (в strings.xml) выводимые при проигрывания ролика при закрытом переезде
==================================================
======== файл strings.xml
==================================================
<string
id="8801"
value="Вы желаете покинуть эту область?"
numButtons="2" />

<string
id="8802"
modelName="NewHero_mask"
value="БРОДЯГА|Я не знаю, куда ведет эта дорога, поэтому останусь здесь."
sound="data\sounds\Speech\r5m1\r5m1_8802_nomad.ogg"
time="5" />
-----------------------------------------------------------------------------------------
sound="data\sounds\Speech\r5m1\r5m1_8802_nomad.ogg" ----- путь к звуковому файлу (для Меридиана)
для Махины меняем на sound="data\sounds\Speech\r3m1\r3m1_8802_hero.ogg"
==================================================
========= файл object_names.xml
==================================================
<Object Name = "ToSIN" FullName = "Дорога в Свободную землю" />

########################################################################
########################## Папка data\maps\r5m1 #################################
########################################################################
========================
======= файл dynamicscene.xml
========================
<Object
Name="ToR5M1"
Belong="1100"
Prototype="genericLocation"
Pos="1110.631 325.434 1865.254"
Radius="50.000"
PassageAddress="R5M1 Fromsin"
PassageActive="0" />

<Object
Name="FromR5M1"
Belong="1100"
Prototype="genericLocation"
Pos="1159.014 322.615 1796.352"
Radius="10.000"
ExitLocation="ToR5M1" />

-----------------------------------------------------------------------------------------
Name="ToR5M1" ----- ToR5M1 - (в object_names.xml) для названия переезда на миникарте
Pos= ----------------- Координаты локаций (выставляются позже в редакторе)
========================
====== файл triggers.xml
========================
<trigger Name="triggerExitToMap51" active="1">
<event eventid="GE_OBJECT_ENTERS_LOCATION" ObjName="ToR5M1" />
<script>
local Plf = GetPlayerVehicle()
Plf:SetThrottle( 0 )
Plf:SetCustomLinearVelocity( 0 )

local PlfID = GetPlayerVehicleId()
local PlfCoor = Plf:GetPosition()
PlfCoor.y = PlfCoor.y + 25*0.74
PlfCoor.z = PlfCoor.z + 25*0.74

if IsQuestTaken("r5m1_FindRemontnik") then

local b = SpawnMessageBox(8801)
if b == 1 then
PassToMap("r5m1", "FromSIN", -1 )

GetPlayerVehicle():AddModifier( "fuel", "- "..random(0.5*GetPlayerFuel()) )
else
SaveAllToleranceStatus(RS_NEUTRAL)

FlyAround(1, 0, 25, 2, PlfCoor, PlfID, 1, 1 )
StartCinematic()

TActivate ("RolikExitToMap51")
TActivate ("RolikENDExitToMap51")
end
else
SaveAllToleranceStatus(RS_NEUTRAL)

FlyAround(1, 0, 25, 6, PlfCoor, PlfID, 1, 1 )
StartCinematic()
AddCinematicMessage( 8802, 0.25 )

TActivate ("RolikExitToMap51")
TActivate ("RolikENDExitToMap51")
end
</script>
</trigger>
<trigger Name="RolikExitToMap51" active="0">
<event eventid="GE_CINEMATIC_ENTER_FADE_IN" ObjName="Player1" />
<script>
trigger:Deactivate()

RuleConsole("g_postEffect NoiseOn")

RotationPlayerByPoints(CVector(getPos("ToR5M1")), CVector(getPos("FromR5M1")))

GetPlayerVehicle():SetGamePositionOnGround(CVector(getPos("FromR5M1")))
</script>
</trigger>
<trigger Name="RolikENDExitToMap51" active="0">
<event eventid="GE_END_CINEMATIC" ObjName="Player1" />
<event eventid="GE_SKIP_CINEMATIC" ObjName="Player1" />
<script>
trigger:Deactivate()

RuleConsole("g_postEffect NoiseOff")

RestoreAllToleranceStatus()

SetCameraBehindPlayerVehicle()
</script>
</trigger>
-----------------------------------------------------------------------------------------
if IsQuestTaken("r5m1_FindRemontnik") then ----- r5m1_FindRemontnik - имя квеста (в data\if\diz\dialogsglobal.xml) после выполнения которого откроется переезд
local b = SpawnMessageBox(8801) ---------------- 8801 - текст (в strings.xml) выводимый при запросе согласия на переезд
AddCinematicMessage( 8802, 0.25 ) --------------- 8802 - субтитры (в strings.xml) выводимые при проигрывания ролика при закрытом переезде
==================================================
======== файл strings.xml
==================================================
<string
id="8801"
value="Вы желаете покинуть эту область?"
numButtons="2" />

<string
id="8802"
modelName="NewHero_mask"
value="БРОДЯГА|Я не знаю, куда ведет эта дорога, поэтому останусь здесь."
sound="data\sounds\Speech\r5m1\r5m1_8802_nomad.ogg"
time="5" />
-----------------------------------------------------------------------------------------
sound="data\sounds\Speech\r5m1\r5m1_8802_nomad.ogg" ----- путь к звуковому файлу (для Меридиана)
для Махины меняем на sound="data\sounds\Speech\r3m1\r3m1_8802_hero.ogg"
==================================================
========= файл object_names.xml
==================================================
<Object Name = "ToR5M1" FullName = "Дорога в Земли Сэма" />

########################################################################
########################## Папка data\if\strings #################################
########################################################################
==================================================
========= файл objectdiz.xml
==================================================
<string
id="r5m1_ToSIN_diz"
value="Дорога в Свободную землю." />

<string
id="sin_ToR5M1_diz"
value="Дорога в Земли Сэма." />
########################################################################

Если всё сделано правильно, переезд будет закрыт и сработает видео ("Я не знаю, куда ведет эта дорога, поэтому останусь здесь.")
И только после того, как возьмёте на выполнение указанный квест, переезд откроется и будет выведено меню ("Вы желаете покинуть эту область?")
Квест берёте любой (из data\if\diz\dialogsglobal.xml), после взятия которого вы хотите, чтбы переезд открылся.
Если же вам нужно, чтобы переезд был открыт всегда, со старта игры,
тогда в настройке локации (в dynamicscene.xml) измените PassageActive="0" на PassageActive="1"



P.S. Прошу удалить предыдущий пост (верхнюю половину), так как он неполный и с одной ошибкой.

Третий Закон: Любая достаточно развитая технология неотличима от магии. (Кларк)
Аватара
У меня небольшой вопрос... Как добавить на карту перед игроком например конвой (враждебный или дружный) ?



Как-никак одна из лучших игр
Аватара
Host, смотря какой. Если в виде каравана - не могу подсказать.
Если конвой, который появляется 1 раз - то тут проще, нужно создать тригер, который будет активироваться игроком и спаунить союзника или врага, а так же активировать тригер, который придаст для этого NPC логику, а точнее цель.

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара
Решил добавить Truck из аркады в Меридиан, но что то не так прописал кажись...
Может кто посмотрит?
http://yadi.sk/d/KmZ-5nkz9LzdX

Профиль уверенного водителя Белаза
Аватара
Apocalypse007, а что не вышло?
Вылетает или что?

Напиши что делал.
С работы не могу глянуть.

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара

"kto" писал(а):

Apocalypse007, а что не вышло?
Вылетает или что?


Ну как бы ничего не вылетает, но нигде не появляется. (имею ввиду в магазине)

"kto" писал(а):

Напиши что делал.


Перекинул файлы модели в Меридиан, прописал в servers.xml и animmodels.xml. Прописал шасси и кабину в resourcetypes.xml. Прописал транспорт в vehicles.xml. Шасси и кабину в vehicleparts.xml. Потом написал в dinamicscene.xml TruckForSale в Малом Яблоке, по типу прописанного скаута.

Еще там прописан Монстер, мне с ним kosty-x17 помог, вот и подумав решил добавить этот агрегат!

Профиль уверенного водителя Белаза
Аватара

"kto" писал(а):

Напиши что делал.


Перекинул файлы модели в Меридиан, прописал в servers.xml и animmodels.xml. Прописал шасси и кабину в resourcetypes.xml. Прописал транспорт в vehicles.xml. Шасси и кабину в vehicleparts.xml. Потом написал в dinamicscene.xml TruckForSale в Малом Яблоке, по типу прописанного скаута.

Еще там прописан Монстер, мне с ним kosty-x17 помог, вот и подумав решил добавить этот агрегат![/quote]

Town.xml трогал или нет?

Аватара

"Хель" писал(а):

Town.xml трогал или нет?


Для тачек это не важно.
Судя по описанию - всё верно.
Возможна несовместимость моделей.

Проверь лог на предмет ошибок + попробуй просто подменить другую тачку меридиановскими моделями.
Если не проканает - значил модели не подходят.

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара

"kto" писал(а):

"Хель" писал(а):

Town.xml трогал или нет?


Проверь лог на предмет ошибок + попробуй просто подменить другую тачку меридиановскими моделями.
Если не проканает - значил модели не подходят.


Вот что нашел:
Код: Ctrl+A, Ctrl+C
      E PrototypeManager.cpp[0113]13/09 16:13:28 Error: No prototype 'truckWheel01r' registered
E PrototypeManager.cpp[0113]13/09 16:13:28 Error: No prototype 'truckWheel01l' registered
E PrototypeManager.cpp[0113]13/09 16:13:28 Error: No prototype 'truckWheel02r' registered
E PrototypeManager.cpp[0113]13/09 16:13:28 Error: No prototype 'truckWheel02l' registered
E PrototypeManager.cpp[0113]13/09 16:13:28 Error: No prototype 'truckWheel02r' registered
E PrototypeManager.cpp[0113]13/09 16:13:28 Error: No prototype 'truckWheel02l' registered

E DynamicScene.cpp[1605]13/09 16:13:59 Error: unknown prototype in DynamicScene.xml: 'TruckForSale'
E GeomRepositoryItem.cpp[0147]13/09 16:13:59 Error: invalid repository item in save file, prototype = 'TruckForSale'

Но модели то в формате *.sam, следовательно я просто не прописал колеса (да какой же я баран.... :D , совсем про колеса забыл)

Профиль уверенного водителя Белаза
Аватара
Apocalypse007, рад, что смогли решить.
Надеюсь на скрины)

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара
Могу дать только один скрин! Скрин Монстра, который я делал раньше. Только у него проблемы с физикой, при повороте падает на бок...


С грузовиком проблемы... В магазине есть, но вместо кабины большой серый ящик и колеса от урала (что меня очень удивило..)
http://yadi.sk/d/Qq0Yuiu09Tw24
Может kto-нибудь посмотрит все таки?

Я же видел как Бат добавлял его в игру, значит должно добавится.

Профиль уверенного водителя Белаза
Аватара
Apocalypse007, в субботу, не раньше. У меня сейчас Меридиан даже не установлен.
Дай скрин нового грузовика, что есть и т.д.

Если хочешь - под спойлером подробно опиши что, где и как делал, с примерами кода, тогда смогу сказать быстрее.

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара
Так. Вот что получилось:


Спойлер

1) Прописал в animmodels.xml
Код: Ctrl+A, Ctrl+C
      <model
id="truckChassis"
file="data\models\vehicles\truck\shassis.sam"
shadow="1"
shadowVolume="1"
windwavy="0"
trans="0">
<action
name="DEATH1"
skin="8">
<lp
id="w"
effect_id="ET_PS_VEH_EXP_SHASSIS_BIG"
restartOnAnimationChange="0"
ImmediateRemove="0" />
</action>

<action
name="DEATH2"
skin="8">
<lp
id="w"
effect_id="ET_PS_VEH_EXP_SHASSIS1_BIG"
restartOnAnimationChange="0"
ImmediateRemove="0" />
</action>
</model>

<model
id="truckCab"
file="data\models\vehicles\truck\сab_01.sam"
shadow="1"
shadowVolume="1"
windwavy="0"
trans="0">
<action
name="DEATH1"
skin="8" />

<action
name="DEATH2"
skin="8" />

<action
name="STAND1">

</action>
<action
name="MOVE1">
<lp
id="LP_EXH01"
effect_id="ET_PS_EXHAUST_POW_SMOKE1_SMALL"
restartOnAnimationChange="0"
ImmediateRemove="0" />

<lp
id="LP_EXH02"
effect_id="ET_PS_EXHAUST_POW_SMOKE1_SMALL"
restartOnAnimationChange="0"
ImmediateRemove="0" />
</action>

<action
name="MOVE2">
<lp
id="LP_EXH01"
effect_id="ET_PS_EXHAUST_POW_SMOKE1_SMALL"
restartOnAnimationChange="0"
ImmediateRemove="0" />

<lp
id="LP_EXH02"
effect_id="ET_PS_EXHAUST_POW_SMOKE1_SMALL"
restartOnAnimationChange="0"
ImmediateRemove="0" />

<lp
id="LP_GLOW01"
effect_id="ET_PS_GLOW"
restartOnAnimationChange="0" />

<lp
id="LP_GLOW02"
effect_id="ET_PS_GLOW"
restartOnAnimationChange="0" />

</action>

<action
name="RESERVED2">
<lp
id="LP_LIGHT01"
effect_id="ET_PS_HLIGHT"
restartOnAnimationChange="0" />

<lp
id="LP_LIGHT02"
effect_id="ET_PS_HLIGHT"
restartOnAnimationChange="0" />

<lp
id="LP_GLOW03"
effect_id="ET_PS_HLIGHT"
restartOnAnimationChange="0" />

<lp
id="LP_GLOW04"
effect_id="ET_PS_HLIGHT"
restartOnAnimationChange="0" />

<lp
id="LP_PROJECTOR"
effect_id="ET_PS_PROJECTOR_SCOUT_CAB01"
restartOnAnimationChange="0" />
</action>
</model>


<model
id="truckWheel01l"
file="data\models\vehicles\truck\whell_left_01.sam"
shadow="1"
shadowVolume="1"
windwavy="0"
trans="0">
<action
name="DEATH1"
skin="8">
<lp
id="8"
effect_id="ET_PS_VEH_EXP_WHEEL_MED"
restartOnAnimationChange="1"
ImmediateRemove="0" />
</action>
</model>
<model
id="truckWheel02l"
file="data\models\vehicles\truck\whell_left_02.sam"
shadow="1"
shadowVolume="1"
windwavy="0"
trans="0">
<action
name="DEATH1"
skin="8">
<lp
id="8"
effect_id="ET_PS_VEH_EXP_WHEEL_MED"
restartOnAnimationChange="1"
ImmediateRemove="0" />
</action>
</model>
<model
id="truckWheel01r"
file="data\models\vehicles\truck\whell_right_01.sam"
shadow="1"
shadowVolume="1"
windwavy="0"
trans="0">
<action
name="DEATH1"
skin="8">
<lp
id="8"
effect_id="ET_PS_VEH_EXP_WHEEL_MED"
restartOnAnimationChange="1"
ImmediateRemove="0" />
</action>
</model>

<model
id="truckWheel02r"
file="data\models\vehicles\truck\whell_right_02.sam"
shadow="1"
shadowVolume="1"
windwavy="0"
trans="0">
<action
name="DEATH1"
skin="8">
<lp
id="8"
effect_id="ET_PS_VEH_EXP_WHEEL_MED"
restartOnAnimationChange="1"
ImmediateRemove="0" />
</action>
</model>]


2) Прописал в servers.xml
Код: Ctrl+A, Ctrl+C
       <Item
id="truckChassis"
file="data\models\AnimModels.xml" />

<Item
id="truckCab"
file="data\models\AnimModels.xml" />

<Item
id="truckWheel01l"
file="data\models\AnimModels.xml" />

<Item
id="truckWheel01r"
file="data\models\AnimModels.xml" />

<Item
id="truckWheel02l"
file="data\models\AnimModels.xml" />

<Item
id="truckWheel02r"
file="data\models\AnimModels.xml" />


3) Прописал в resourcetypes.xml:
шасси
Код: Ctrl+A, Ctrl+C
      <Type Name="TRUCK_CHASSIS" />

кабину
Код: Ctrl+A, Ctrl+C
      <Type Name="TRUCK_CABIN" />


4) Прописал прототип в vehicles.xml
Код: Ctrl+A, Ctrl+C
       <Prototype
Class = "Vehicle"
Name = "Truck"
ResourceType = "VEHICLE"

DiffRatio = "9.0"
MaxEngineRpm = "15000"
LowGearShiftLimit = "5000"
HighGearShiftLimit = "7000"
SteeringSpeed = "0.5"
DriftCoeff = "0.0"
HornSound = "ET_S_HORN08"


AdditionalWheelsHover = "0.2"
DecisionMatrix = "vehiclemain.lua"
HitForce = "10"
SteeringN = "1.4"
SteeringTime = "4.0"
MinNotIdleRpm = "500"
IdleEngineSoundSpeed = "0.5"
EngineRpmForNormalSound = "3000"
LookRadius = "250.0"
IntersectionRadius = "4.5"
TakingRadius = "30.0"
ForMultiplayer = "true"
MassSize = "4 3 9"
MassTranslation = "0 -0.9 -0.2"
DestroyEffectPiercing = "ET_PS_VEH_EXP1_MED"
DestroyEffectBlast = "ET_PS_VEH_EXP2_MED"
DestroyEffectEnergy = "ET_PS_VEH_EXP3_MED"
DestroyEffectWater = "ET_PS_VEH_EXP2_MED"
WheelSpringCoeffSmall = "5000.0"
WheelSpringCoeffBig = "7000.0"
WheelUpDampingCoeff = "400.0f"
WheelDownDampingCoeff = "700.0f"
WheelSuspensionRange = "0.4"
WheelCriticalSuspensionDelta = "0.3"
AllowedRoles = "roleMeat roleBarrier"
Abstract = "true" >
<MainPartDescription id = "CHASSIS" partResourceType = "TRUCK_CHASSIS" >
<PartDescription id = "CABIN" partResourceType = "TRUCK_CABIN" lpName = "LP_CAB01" >
<PartDescription id = "CABIN_BIG_GUN_1" partResourceType = "BIG_GUN" lpName = "LP_BIG02" />
<PartDescription id = "CABIN_BIG_GUN_2" partResourceType = "BIG_GUN" lpName = "LP_BIG01" />
</PartDescription>
</MainPartDescription>
<Parts>
<Part id = "CHASSIS" Prototype = "truckChassis" />
</Parts>
<Wheels>
<Wheel Prototype = "truckWheel01r" steering = "correct" />
<Wheel Prototype = "truckWheel01l" steering = "correct" />
<Wheel Prototype = "truckWheel02r" />
<Wheel Prototype = "truckWheel02l" />
<Wheel Prototype = "truckWheel02r" />
<Wheel Prototype = "truckWheel02l" />
</Wheels>
</Prototype>


5)Прописал шасси, кабину, колеса в vehicleparts.xml
Код: Ctrl+A, Ctrl+C
       <Prototype
Class = "Chassis"
Name = "truckChassis"
ModelFile = "truckChassis"
ResourceType = "TRUCK_CHASSIS"
NodeScale = "1 1 1"
Mass = "300.0"
Price = "40000"
RepairCoef = "14"

MaxHealth = "1200"
MaxFuel = "560"

BrakingSound ="ET_S_BRAKE01"
PneumoSound ="ET_S_PNEUMO_BRAKE01"
GearShiftSound ="ET_S_GEAR_SHIFT01"
LoadPoints = "LP_CAB01 LP_BSK01" >
<GroupsHealth
Main = "10000"
/>
</Prototype>


Код: Ctrl+A, Ctrl+C
       <Prototype
Class = "Cabin"
Name = "truckCab"
ModelFile = "truckCab"
ResourceType = "TRUCK_CABIN"
NodeScale = "1 1 1"

Durability = "120"
DurCoeffsForDamageTypes = "13 5 0"

Mass = "1.0"
MaxPower = "300"
MaxTorque = "105"

EngineHighSound = "ET_S_ENGINE_BEETLE_3_HIGH"
BlowEffect = "ET_PS_VEH_PART_BLOW_SMALL_CAB"

Price = "20000"
RepairCoef = "0.5"
FuelConsumption = "0.08"
MaxSpeed = "225.0"

LP_Scales = "LP_THORN2 0.8, LP_THORN1 0.8, LP_THORN3 0.8, LP_THORN4 0.8, LP_THORN7 0.8, LP_THORN8 0.8, LP_THORN6 0.8, LP_THORN5 0.8, LP_THORN11 0.8, LP_THORN12 0.8, LP_THORN10 0.8, LP_THORN9 0.8"
LoadPoints = "LP_BIG01 LP_BIG02" >
<GadgetDescription>
<Slot
ResourceType = "GADGET_COMMON"
MaxAmount = "3" />

<Slot
ResourceType = "GADGET_WEAPON"
MaxAmount = "3" />
</GadgetDescription>
<GroupsHealth
Main = "0"
/>
</Prototype>


Код: Ctrl+A, Ctrl+C
       <Prototype
Class = "Wheel"
Name = "truckWheel01l"
ModelFile = "truckWheel01l"
NodeScale = "1 1 1"
Mass = "9"
SuspensionModelFile = "uralSusp01"
SuspensionCFM = "0.0013"
SuspensionERP = "0.25"
SuspensionRange = "1.0"
mU = "1.0"
EffectType = "BIGWHEEL" />


<Prototype
Class = "Wheel"
Name = "truckWheel01r"
ModelFile = "truckWheel01r"
NodeScale = "1 1 1"
Mass = "9"
SuspensionModelFile = "uralSusp01"
SuspensionCFM = "0.0013"
SuspensionERP = "0.25"
SuspensionRange = "1.0"
mU = "1.0"
EffectType = "BIGWHEEL" />


<Prototype
Class = "Wheel"
Name = "truckWheel02l"
ModelFile = "truckWheel02l"
NodeScale = "1 1 1"
Mass = "9"
SuspensionModelFile = "uralSusp02"
SuspensionCFM = "0.0013"
SuspensionERP = "0.25"
SuspensionRange = "1.0"
mU = "1.0"
EffectType = "BIGWHEEL" />


<Prototype
Class = "Wheel"
Name = "truckWheel02r"
ModelFile = "truckWheel02r"
NodeScale = "1 1 1"
Mass = "9"
SuspensionModelFile = "uralSusp02"
SuspensionCFM = "0.0013"
SuspensionERP = "0.25"
SuspensionRange = "1.0"
mU = "1.0"
EffectType = "BIGWHEEL" />


Кстати слот под оружие только один, а должно быть два.

Профиль уверенного водителя Белаза
Аватара

"Apocalypse007" писал(а):

Прописал в animmodels.xml


</model>] - лишний ]
Параметры брал с другой тачки? или из аркады?

"Apocalypse007" писал(а):

Прописал в servers.xml


"Apocalypse007" писал(а):

Прописал в resourcetypes.xml:


Тут нормально.

"Apocalypse007" писал(а):

Прописал прототип в vehicles.xml


опять таки, брал из аркады или из аркады?

И ты не создал прототип тачки.

"Apocalypse007" писал(а):

Прописал шасси, кабину, колеса в vehicleparts.xml


Судя по коду - использовал параметры других тачек, верно?


По поводу скринов - что это за мутазоид?
Сделай так: чистая игра, на ней ВМЕСТО первой кабины того же Молоковоза подсовываешь кабину этой тачки.
То есть не в параметрах, а физически, вместо файла cab01.sam Молоковоза ставишь файл кабины из Аркады, переименовав его в cab01.sam.

Если станет - значит модель в норме.
Будем решать дальше.

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара
Возник вопрос. А как поменять текстуры поверхности у новой карты? Если не трудно напишите подробный мануальчик

Аватара

"Apocalypse007" писал(а):

Так. Вот что получилось

Скорее всего (если кругом модель прописал) забыл прописать её в servers.xml самой карты, поэтому и "ящик".

Добавлено:

"Apocalypse007" писал(а):

Только у него проблемы с физикой, при повороте падает на бок...

Уменьш средний (вторая цифра) параметр Mass Translation (только без фанатизма :D ) и будет тебе счастье.
(Если он в нуле, делай в минус).

P.S. Первый параметр - развесовка влево/вправо.
(стоит всегда ставить ноль)
Второй - высота центра тяжести.
(если сделать на пару метров в минус, тачка будет как "приклеенная" к земле,
если пару метров в плюс, перевернётся вверх колёсами, и так и останется лежать)
Третий - развесовка перед/зад.
(если ноль, тачка с трамплина "пойдёт" парралельно земле,
если в плюс, "клюнет" носом,
если в минус, зад "провалится")

Добавлено:

"K@b@l" писал(а):

Что такое node scale? 1 1 1? Не врубаюсь! Надо попробовать, может это скин???


Три точки, Ш/В/Д (ширина/высота/длина).
То есть, это масштабирование.
Но оно не используется (для динамики).

Третий Закон: Любая достаточно развитая технология неотличима от магии. (Кларк)
Аватара

"bat13" писал(а):

Скорее всего (если кругом модель прописал) забыл прописать её в servers.xml самой карты, поэтому и "ящик".


А зачем в карте? Это же авто, там вообще нигде ничего про авто не прописано...

"kto" писал(а):


</model>] - лишний ]
Параметры брал с другой тачки? или из аркады?


Этот символ уже тут случайно написал, там у меня его нет!
Да из Аркады брал.

"kto" писал(а):

И ты не создал прототип тачки.


Всмысле? Где именно?

"kto" писал(а):

Судя по коду - использовал параметры других тачек, верно?


Может тоже из Аркады.


"kto" писал(а):

По поводу скринов - что это за мутазоид?


А ты не видишь? Ящик на шасси, с колесами от Урала :D

"kto" писал(а):

Сделай так: чистая игра, на ней ВМЕСТО первой кабины того же Молоковоза подсовываешь кабину этой тачки.
То есть не в параметрах, а физически, вместо файла cab01.sam Молоковоза ставишь файл кабины из Аркады, переименовав его в cab01.sam.


Попробую

Профиль уверенного водителя Белаза
Аватара

"Apocalypse007" писал(а):

А зачем в карте? Это же авто, там вообще нигде ничего про авто не прописано...


Нужно.
В servers общем указываются все модели, а в servers карты - то, которые нужно загрузить призагрузке карты.
Сделано для оптимизации. К примеру - зачем грузить файлы из региона "Роща друида" при загрузке карты "Либриум"?

__________!///_ _____
_________( @@ )_____
_______ooO-(_)-o o____
Пришёл, увидел, забанил. Ещё вопросы?


Если у Вас нет бана - это не Ваша заслуга - это наше упущение.
Уровень профиля от John
Аватара
Ну прописал я там и ничего нового не произошло! Попробовал на молоковоз сделать, модель рабочая.


"bat13" писал(а):


Уменьш средний (вторая цифра) параметр Mass Translation (только без фанатизма :D ) и будет тебе счастье.
(Если он в нуле, делай в минус).


Вот что вышло :D . Там уже было -0.9 ну я и сделал -1.3

Профиль уверенного водителя Белаза
Аватара
Решусь поделится познаниями о создании городов. На примере r1m1 :) (для чайников)
Спойлер
1.Скачиваем пакет СДК(есть на сайте)
2. Делаем город в M3DEditor(необязательно)
3.Далее идём по путю из корневой папки игры: Ex Machina 1\data\maps\r1m1
4. Открываем файл dynamicscene
5.Копируем существуещий город(не глухое, могут возникнуть ошибки)
6. Изменяем белонг(есть в пакете СДК)
7.Изменяем название деревни\города на своё
8.Ставим позицию\Pos(в M3DEditor'e очень просто это сделать просто найти точку которую вам надо и нажать Insert и координаты автоматом скопируется в буфер обмена)
9.Создаём вход и ставим позицию\Pos
10.Далее ставим defend и deploy(свой в новом городе)
11.Пример:
Спойлер
<Object
Name="TheTAVillage"
Belong="1011"
Prototype="r1m1_TAVillage"
Pos="3789.181 345.063 1670.936"
Rot="0.000 0.429 0.000 0.903"
PointOfViewInInterface="50.000 50.000 50.000"
CaravansDest="TheTown_enter">
<Object
Name="TheTAVillage_Bar"
Belong="1011"
Prototype="bar">
<Object
Name="TheTAVillage_Bar_Barman"
Belong="1011"
Prototype="NPC"
ModelName="r1_man"
cfg="228"
NpcType="BARMAN"
SpokenCount="0" />
</Object>

<Object
Name="TheTAVillage_Workshop"
Belong="1011"
Prototype="workshop">
<Vehicles />
</Object>

<Object
Name="TheTAVillage_Shop"
Belong="1011"
Prototype="shop">
<GunsAndGadgets>
<Item
PosX="0"
PosY="0"
Flags="16"
Prototype="additional_fuel_tank" />

<Item
PosX="0"
PosY="1"
Flags="16"
Prototype="cooling_system_guns" />

<Item
PosX="1"
PosY="1"
Flags="16"
Prototype="grouping_angle_guns" />
</GunsAndGadgets>
</Object>

<Object
Flags="21"
Name="TheTAVillage_enter"
Belong="1011"
Prototype="genericLocation"
Pos="3789.181 344.828 1670.936"
Radius="33.818"
LookingTimeOut="30.000" />

<Object
Flags="21"
Name="TheTAVillage_defend"
Belong="1011"
Prototype="genericLocation"
Pos="3789.272 346.985 1602.124"
Radius="36.672"
LookingTimeOut="70.000" />

<Object
Flags="21"
Name="TheTAVillage_deploy"
Belong="1011"
Prototype="genericLocation"
Pos="3789.272 346.985 1602.124"
Radius="8.058"
LookingTimeOut="20.000" />

<Parts />

<EntryPath />

<ExitPath />
</Object>

12.Важно! Всегда обращайте внимание на закрытие тегов и т.д. и создайте свой бар и бармена с любым именем
13.Мы разобрались с городом и его месторасположением, теперь надо создать прототип города
Спойлер
Prototype="r1m1_TAVillage" Эта строчка

Дляэтого мы идём из корневой паки игры в Ex Machina 1\data\gamedata\gameobjects и открываем towns.xml
14.Ищем город(любой) и копируем и вставляем. Изменяем название Prototype города на свой у меня это: Name = "r1m1_TAVillage"
вы же пишите свой. Пример:
Спойлер
<Prototype
Class = "Town"
Name = "r1m1_TAVillage"
ModelFile = "brick_debris1"
NodeScale = "1 1 1"

MusicName = "agriculruar_town1"

GunGenerator = "gunHornetGenerator"
DesiredGunsInWorkshop = "6"

GunAffixGenerator = "villageaffixGenerator"
GunAffixesCount = "1"

CabinsAndBasketsAffixGenerator = "villagetruxaffixGenerator"
CabinsAndBasketsAffixesCount = "2"

WeaponPriceMultiplier = "2"
WeaponPriceDispersion = "5"

MaxDefenders ="0"
Vehicles = "Molokovoz02">

<Article
Prototype = "potato"
Amount = "4"
ExternalPriceCoefficient = "0.7"
Import = "FALSE"
Export = "TRUE"
PriceDynamic = "1"
MinCount = "0"
MaxCount = "45"
RegenerationPeriod = "300"
/>

<Article
Prototype = "firewood"
Amount = "0"
ExternalPriceCoefficient = "1.3"
PriceDynamic = "1"
Import = "TRUE"
Export = "FALSE"
MinCount = "0"
MaxCount = "60"
RegenerationPeriod = "300"
/>


<Article
Prototype = "machinery"
Amount = "0"
ExternalPriceCoefficient = "1.3"
PriceDynamic = "1"
Import = "TRUE"
Export = "FALSE"
MinCount = "0"
MaxCount = "3300"
RegenerationPeriod = "300"
/>

</Prototype>

Далее входим в игру и проверяем работоспособность города. Если всё работает то идём дальше, если нет спрашивайте
15.После теста города нужно посмотреть на карту, если есть белый\красный\зелёный квадрат то идём далее по путю: Ex Machina 1\data\if\ico
и открываем файл: modelicons
16.Для примера берёте TownSouth <Item id="TownSouth" file1="data\if\ico\LocalMap\icn_town.dds" file=""/>
копируете и вставляете на следующей строчке и изменяете название Town South на свой у меня же r1m1_TAVillage. И вауля на карте значок города, с деревнями аналагично найдите деревню например Freedom скопируйте вставте и измените название.
17. На карте отображаеться имя r1m1_TAVillage как исправить? Идём по путю D:\Ex Machina\Ex Machina 1\data\maps\r1m1 и открываем object_names.xml . Далее копируем город или деревню и подгоняйте названия под свою деревню.
Пример:
Спойлер
<Object
Name="TheTAVillage"
Fullname="Северный" />

<Object
Name="TheTAVillage_Bar"
Fullname="Ресторан У Вилли" />

<Object
Name="TheTAVillage_Bar_Barman"
Fullname="Директор Вилли" />

<Object
Name="TheTAVillage_Workshop"
Fullname="Мастерская Билли" />

<Object
Name="TheTAVillage_Shop"
Fullname="Грандмаркет Богач" />

<Object
Name="TheTAVillage_enter"
Fullname="Северный" />
не забывайте про закрывающие тэги!
Там где написано Fullname=" подставляйте своё название магазина\города и т.д.

Если было извиняюсь, но 60 страниц это нечто. Если что-то непонятно, обращайтесь

Сообщений: 1744 • Страница 60 из 88 1 ... 57585960616263 ... 88