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

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

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

Код: Ctrl+A, Ctrl+C
      E Vehicle.cpp[5160]24/01 16:20:11 Error: LoadPoint not found: LP_SSP03L for model 'dozerChassis'
E ComplexPhysicObj.cpp[0542]24/01 16:20:11 Error: couldn't create part for Vehicle id = 2966 prototype = 'ktoCruiser02' part name = CABIN_SIDE_GUN_L, part prototype id = -1, part prototype is NULL


Как лечить-то? Понимаю, достал уже...)

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

Для этого:
1. В vehicles.xml нужно исправить настройки всех машин, использующих сайдганы, а так-же сменить тип и пушку во всех их прототипах.
2. В vehicleparts.xml сменить настройки сайдов и их лоадпоинтов на всех кузовах их использующих.

P.S. Та ещё работка...

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

Возник вопрос.

Я создал свой прототип кузова на основе существующего, а именно на основе 3 типа кузова ( "Бокс" ) предназначенного для автомобиля под названием "Молоковоз". Я поменял ему слот, создал две модели этого кузова со слотами BASKET_SMALL_GUN_1 и BASKET_GIANT_GUN_1.

Дело вот в чём, когда я играл и тестировал данные модели, то при убийстве противника, если из него выпадает оружие, я его подбираю и оно благополучно ставится в этот слот ( BASKET_GIANT_GUN_1 ), таким образом оно слоится друг на друга, каким образом это можно исправить?

В моём случае у меня в слоте для большой пушки стояли пушки под названием "Молот Тора", "Рейнметалл", "ПКТ" и эти пушки не отображались в слоте, таким образом я не мог их снять.
Аватара

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

P.S. Та ещё работка..


Не, проще забить на данную связку модов. КМ 3.0 я проходил не раз, жаль, что не все модмейкеры (особенно те, которые клепают свои первые моды) проверяют работу своего творения сами и при помощи тестеров.
Аватара

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

Возник вопрос.

Я создал свой прототип кузова на основе существующего, а именно на основе 3 типа кузова ( "Бокс" ) предназначенного для автомобиля под названием "Молоковоз". Я поменял ему слот, создал две модели этого кузова со слотами BASKET_SMALL_GUN_1 и BASKET_GIANT_GUN_1.

Дело вот в чём, когда я играл и тестировал данные модели, то при убийстве противника, если из него выпадает оружие, я его подбираю и оно благополучно ставится в этот слот ( BASKET_GIANT_GUN_1 ), таким образом оно слоится друг на друга, каким образом это можно исправить?

В моём случае у меня в слоте для большой пушки стояли пушки под названием "Молот Тора", "Рейнметалл", "ПКТ" и эти пушки не отображались в слоте, таким образом я не мог их снять.


Я тоже сталкивался с такой проблемкой. Когда ты таким образом "обманываешь" игру, т.е. делаешь так, чтобы на лоадпоинт можно было поставить другую, непредусмотренную для него пушку, то зачастую в <PartDescription id = "BASKET" появляются одинаковые лоадпоинты. Например как у меня было у Белаза
Код: Ctrl+A, Ctrl+C
      <PartDescription id = "BASKET" partResourceType="BELAZ_BASKET" lpName = "LP_BSK01" >
<PartDescription id="BASKET_BIG_GUN_0" partResourceType = "BIG_GUN" lpName = "LP_BIG01" />
<PartDescription id="BASKET_GIANT_GUN" partResourceType = "GIANT_GUN" lpName = "LP_BIG02" />
<PartDescription id="BASKET_TANK_GUN" partResourceType = "TANK_GUN" lpName = "LP_BIG01" />
<PartDescription id="BASKET_BIG_GUN_1" partResourceType = "BIG_GUN" lpName = "LP_BIG02" />
<PartDescription id="BASKET_GIANT_GUN_1" partResourceType = "GIANT_GUN" lpName = "LP_GIANT01" />
<PartDescription id="BASKET_GIANT_GUN_0" partResourceType = "GIANT_GUN" lpName = "LP_GIANT02" />
<PartDescription id="BASKET_SIDE_GUN_0" partResourceType = "SIDE_GUN" lpName = "LP_SIDE01L,LP_SIDE01R" />
<PartDescription id="BASKET_SPECIAL_WEAPON" partResourceType = "SPECIAL_WEAPON"/>

И начинали появляться описанные вами проблемы, по причине того что игра путает одинаковые лоадпоинты. Это выражется не только в установке оружия друг на друга но и в спавне врагов. Чтобы этого избежать нужно сделать так чтобы лоадпоинты не повторялись, т.е. изменить незвание лоадпоинта в самом SAM или GAM файле модели при помощи notepad++, а затем прописать в <PartDescription id = "BASKET" вот так
Код: Ctrl+A, Ctrl+C
      <PartDescription id = "BASKET" partResourceType="BELAZ_BASKET" lpName = "LP_BSK01" >
<PartDescription id="BASKET_BIG_GUN_0" partResourceType = "BIG_GUN" lpName = "LP_BIG01" />
<PartDescription id="BASKET_GIANT_GUN" partResourceType = "GIANT_GUN" lpName = "LP_BIG03" />
<PartDescription id="BASKET_TANK_GUN" partResourceType = "TANK_GUN" lpName = "LP_BIG04" />
<PartDescription id="BASKET_BIG_GUN_1" partResourceType = "BIG_GUN" lpName = "LP_BIG02" />
<PartDescription id="BASKET_GIANT_GUN_1" partResourceType = "GIANT_GUN" lpName = "LP_GIANT01" />
<PartDescription id="BASKET_GIANT_GUN_0" partResourceType = "GIANT_GUN" lpName = "LP_GIANT02" />
<PartDescription id="BASKET_SIDE_GUN_0" partResourceType = "SIDE_GUN" lpName = "LP_SIDE01L,LP_SIDE01R" />
<PartDescription id="BASKET_SPECIAL_WEAPON" partResourceType = "SPECIAL_WEAPON"/>
</PartDescription>

Если вы собираетесь оставить в игре два кузова, то вам придется делать копию модели с другим названием и прописывать её во всех хемулях: animmodels, servers, vehicleparts, servers карты.

Никогда не думал, что Ex Machina начнет мне причинять боль...
Аватара
Возникла идея про мультиплеер(для ExM113). А что если поменять карты и сделать города и играть через хамачи(или что-нибудь другое)? Такое реально? Так-же переделать машины для мультиплеера.Подправить цены(по аналогии Kto Mod 4.0) и пробовать играть. Будет работать иль нет? Была ли такая идея?

Аватара

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

Возникла идея про мультиплеер(для ExM113). А что если поменять карты и сделать города и играть через хамачи(или что-нибудь другое)? Такое реально? Так-же переделать машины для мультиплеера.Подправить цены(по аналогии Kto Mod 4.0) и пробовать играть. Будет работать иль нет? Была ли такая идея?


Я сам лично пробовал запускать в редакторе карты мультиплеера. При открытии карты происходит вылет. А вообще все меняется и делается так же, как в обычной махине. Только скрипты там маленько другие.

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

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

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

Возникла идея про мультиплеер(для ExM113). А что если поменять карты и сделать города и играть через хамачи(или что-нибудь другое)? Такое реально? Так-же переделать машины для мультиплеера.Подправить цены(по аналогии Kto Mod 4.0) и пробовать играть. Будет работать иль нет? Была ли такая идея?


Я сам лично пробовал запускать в редакторе карты мультиплеера. При открытии карты происходит вылет. А вообще все меняется и делается так же, как в обычной махине. Только скрипты там маленько другие.


Если хорошенько постаратся то можно будет реализовать мультиплеер. Вопрос 1 кто будет делать?

Аватара
kto и Семимахов, спасибо за советы, успешно добавил караваны на одну карту, а вот с остальными какая-то проблема - они ни как не хотят появляться. В логе появляется строчка
Код: Ctrl+A, Ctrl+C
      E Trigger.cpp[0402]26/01 20:58:16 ***************** TRIGGER ERROR *******************
E Trigger.cpp[0403]26/01 20:58:16 (triggerURAL1_FUN/ @ 0): run-time script error
Все перепроверял, пробовал разные варианты (таймаут, координаты, автомобили) и все никак. Может быть вы сталкивались с подобной ситуацией?

Никогда не думал, что Ex Machina начнет мне причинять боль...
Аватара

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


Если хорошенько постаратся то можно будет реализовать мультиплеер. Вопрос 1 кто будет делать?


Бэт там Механник Mod вроде делает. Редактировать карты я там тоже умею, и файлы игры шарил. По сути тоже самое. Просто там добавить поселений, всяких развалин, дотов. Я тут еще делал новый интерфейс, но пока учеба, некогда.

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

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

Код: Ctrl+A, Ctrl+C
      E Trigger.cpp[0402]26/01 20:58:16 ***************** TRIGGER ERROR *******************
E Trigger.cpp[0403]26/01 20:58:16 (triggerURAL1_FUN/ @ 0): run-time script error


Это пустяки. Какая-нибудь синтаксическая ошибка в скрипте - непарность скобок, ошибки в конструкции "if end", в имени функций/переменных и тому подобное; тег не закрыт или закрыт два раза. Проверь или выложи сюда весь триггер URAL1_FUN, поглядим. У меня таких ошибок много было. )
Аватара

"Семимахов" писал(а):

Это пустяки. Какая-нибудь синтаксическая ошибка в скрипте - непарность скобок, ошибки в конструкции "if end", в имени функций/переменных и тому подобное; тег не закрыт или закрыт два раза


Дело в том что таких ошибок в первой локации Земли Сэма не было. Я просто копировал триггеры, которые работали из первой локации и изменял им координаты. Пробовал брать координаты deploy городов, а также из консоли как ты советовал, но караваны даже не появлялись.
Вот триггер
Код: Ctrl+A, Ctrl+C
      <trigger Name="URAL1_FUN" active="1">
<event timeout="0" eventid="GE_TIME_PERIOD" />
<script>
TeamCreateWithWarez("11Ural1", 1111, CVector(getPos("TownBigHead_deploy")), {"Ural01", "Bug01", "Molokovoz02"}, nil, 1)

local t = GetEntityByName("11Ural1")
if t then
t:StackOpen()
t:SetDestination( CVector(getPos("SpawnWowVehWall_loc") ))
t:SetDestination( CVector(getPos("TheTownMichikar_deploy") ))
t:SetDestination( CVector(getPos("ThePensilvansk_deploy") ))
t:SetDestination( CVector(getPos("TheKonneks_deploy") ))
t:StackLoop()
t:StackClose()
end
TActivate( "URAL1_FUN_DIE" )
trigger:Deactivate()
</script>
</trigger>
<trigger Name="URAL1_FUN_DIE" active="0">
<event eventid="GE_OBJECT_DIE" ObjName="11Ural1_vehicle_0" />
<script>
TActivate( "URAL1_FUN_WAIT" )
trigger:Deactivate()
</script>
</trigger>
<trigger Name="URAL1_FUN_WAIT" active="0">
<event timeout="30.0" eventid="GE_TIME_PERIOD" />
<script>
TActivate( "URAL1_FUN" )
trigger:Deactivate()
</script>
</trigger>
Он без труда запускался в Землях Сэма и никак на других картах. :( Естественно координаты в разных картах я делал свои

Никогда не думал, что Ex Machina начнет мне причинять боль...
Аватара
Так, теперь у меня несколько вопросов по квестам и триггерам (в Меридиане, хотя и в Махине, по идее, всё так же).

Походу (при старте игры) у меня мост заблокирован автобусом, попавшим в аварию :D
Спойлер
Позже, при прохождении определённого квеста, автобус убирают (чтоб можно было проехать).
Как я хотел, так и сделал (CreateNewDummyObject.... плюс getObj("имя"):Remove())
НО. Хотелось бы, чтобы у автобуса капот дымился.
Эффект я нашёл, координаты вычислил (через редактор), а вот как его поставить!?!
(Не ставить же его с редактора (в world.xml), он же, после "убирания" автобуса останется)
CreateNewDummyObject вроде не катит, эффект это не объект, или я что не понимаю?
Короче, первый вопрос, как поставить эффект на карту (снять, понятно, не проблема).

Вторая беда, непись даёт задание, и, после выполнения отсылает к другому (квесты сам сделал).
Второй "сидит" в баре (установил в dynamicscene.xml)
А вот как сделать, чтоб он появлялся только тогда, когда выдаётся квест для него?
А то он, естественно, сидит у меня сейчас сразу, при старте игры.
Может как-то через триггер можно "посадить" его в бар из квеста?
Я "перешерстил" server.lua, и, увы, не нашёл никакой подходящей функции (может плохо искал, или не в той луа :( )

Ну, и третий (маленький) вопрос, движёк Меридиана поддерживает "тайфуны" (смерчи), или это "фишка" только Аркадовского движка?

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

тоесть связь в мультиплеере через интернет очень не стабильная
игроки постоянно зависают друг для друга без восстановления

так что на практике мультиплеер работает - можно играть и даже карты делать
но жутко нестабилен - и любая работа с ним без доступа к коду игры будет подвигом
который никто совершать не будет (я каждый раз думаю что проще новую игру самостоятельно сделать)

=== а про мультиплеер в городами идею можно сразу похоронить..
кратко это или кооп игра или ммо - в обоих случая требуются люди с опытом и деньги - ни того ни другого нету
к сожалению сами разработчики уверен тоже кроме классических онлайн побоищь (команды на команду)
что то дополнительное в близжайшие года 3-4 делать не будут - это не популярно и слишком дорого
проще найти желаемое в другой похожей игре
ps. извиняюсь за то что приношу плохие новости : ]

Аватара

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

Дело в том что таких ошибок в первой локации Земли Сэма не было. Я просто копировал триггеры, которые работали из первой локации и изменял им координаты. Пробовал брать координаты deploy городов, а также из консоли как ты советовал, но караваны даже не появлялись.
...
Он без труда запускался в Землях Сэма и никак на других картах. :( Естественно координаты в разных картах я делал свои


Так и нужен триггер, который давал ошибку, то есть тот, который на других локациях. На первой-то локации эти триггеры работают. Единственно, в <event eventid="GE_OBJECT_DIE" ObjName="11Ural1_vehicle_0" /> указана машина. То есть, когда уничтожается "Урал", то создаётся новый караван, а две другие из предыдущего продолжают ехать. Если так и нужно, то всё в порядке, если же нужно, чтобы новый караван создавался после уничтожения всего предыдущего, то надо указать <event eventid="GE_OBJECT_DIE" ObjName="11Ural1" />.

Добавлено:

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


Вторая беда, непись даёт задание, и, после выполнения отсылает к другому (квесты сам сделал).
Второй "сидит" в баре (установил в dynamicscene.xml)
А вот как сделать, чтоб он появлялся только тогда, когда выдаётся квест для него?
А то он, естественно, сидит у меня сейчас сразу, при старте игры.
Может как-то через триггер можно "посадить" его в бар из квеста?



Не надо триггер. В редакторе диалогов и квестов для каждой реплики в диалоге есть поле "Скрипт-условие", где и указывается при каком условии выдаётся реплика. Персонаж показывается в баре только тогда, когда выполняется условие показа первой реплики диалога. В файле data\if\diz\dialogsglobal.xml это поле scriptCondition. Диалог игрока с Серго в Южном как раз подходящий пример:
Код: Ctrl+A, Ctrl+C
      IsQuestTaken( "Buyer_Quest1" ) and not(IsQuestTaken( "TalkWithFather_Quest")) and (GetCurNpc():GetSpokenCount() == 0)


Чтобы второй появлялся в баре только после взятия квеста, то у первой реплики должно быть такое условие:
Код: Ctrl+A, Ctrl+C
      IsQuestTaken( <название квеста> ) and (GetCurNpc():GetSpokenCount() == 0)

Предполагается, что в dynamicscene.xml стоит SpokenCount="0". Тогда второй появится в баре только тогда, когда квест взят и когда счётчик обращений равен нулю.

В завершающей реплике диалога со вторым надо в поле "Скрипт-результат" сменить значения счётчика обращений, например, на единицу:
Код: Ctrl+A, Ctrl+C
      GetCurNpc():SetSpokenCount(1)

После этого мужик в баре больше не показывается.
Аватара
Вот код тригера, который не сработал
Код: Ctrl+A, Ctrl+C
      <trigger Name="URAL4_FUN" active="1">
<event timeout="0" eventid="GE_TIME_PERIOD" />
<script>
TeamCreateWithWarez("11Ural4", 1111, CVector(getPos("r5m2_Pervomayka_deploy")), {"Ural01", "Bug01", "Molokovoz02"}, nil, 1)

local t = GetEntityByName("11Ural4")
if t then
t:StackOpen()
t:SetDestination( CVector(getPos("r5m2_Vraska_deploy") ))
t:SetDestination( CVector(getPos("r5m2_Cvetograd_deploy") ))
t:StackLoop()
t:StackClose()
end
TActivate( "URAL4_FUN_DIE" )
trigger:Deactivate()
</script>
</trigger>
<trigger Name="URAL4_FUN_DIE" active="0">
<event eventid="GE_OBJECT_DIE" ObjName="11Ural4_vehicle_0" />
<script>
TActivate( "URAL4_FUN_WAIT" )
trigger:Deactivate()
</script>
</trigger>
<trigger Name="URAL4_FUN_WAIT" active="0">
<event timeout="30.0" eventid="GE_TIME_PERIOD" />
<script>
TActivate( "URAL4_FUN" )
trigger:Deactivate()
</script>
</trigger>

Опять ошибка в логе
Код: Ctrl+A, Ctrl+C
      E Trigger.cpp[0402]28/01 15:26:58 ***************** TRIGGER ERROR *******************
E Trigger.cpp[0403]28/01 15:26:58 (triggerURAL4_FUN/ @ 0): run-time script error

Никогда не думал, что Ex Machina начнет мне причинять боль...
Аватара
Подскажите пожалуйста как лучше сделать инсталлятор. Понимаю гугл в помощь, но наверняка здесь кто-то уже этим занимался и знает проверенный способ. Мне даже не надо подробных описаний, а просто с помощью чего?

Никогда не думал, что Ex Machina начнет мне причинять боль...
Аватара
Rusya_27, Inno Setup 5, я с его помощью делал инсталятор для kM3 и kM4, а так же для сопутствующих модов.

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


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

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

Inno Setup 5, я с его помощью делал инсталятор для kM3 и kM4, а так же для сопутствующих модов.


Для моего ума это оказалось слишком сложно :) Сделал с помощью Smart Install Maker. Вроди получилось

Никогда не думал, что Ex Machina начнет мне причинять боль...
Аватара

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

Вот код тригера, который не сработал


Данный триггер на всех картах кроме первой будет сбоить из-за ошибок в data\scripts\server.lua. Там часть когда, которая отвечает за добавление товара в зависимости от региона, не доделана. Работает только на первой карте.

Дело в том, что TeamCreateWithWarez в Меридиане не используется. Потому надо либо заменить строку
Код: Ctrl+A, Ctrl+C
      TeamCreateWithWarez("11Ural4", 1111, CVector(getPos("r5m2_Pervomayka_deploy")), {"Ural01", "Bug01", "Molokovoz02"}, nil, 1)

на
Код: Ctrl+A, Ctrl+C
      CreateTeam("11Ural4", 1111, CVector(getPos("r5m2_Pervomayka_deploy")), {"Ural01", "Bug01", "Molokovoz02"})

В этом случае в машины в караване создаются без товара.

Либо поправить server.lua.
Там в функции CreateTeam есть строка
Код: Ctrl+A, Ctrl+C
       local r = random(2) + mapNum

Её надо заменить на
Код: Ctrl+A, Ctrl+C
       local r = random(3)

Тогда в каждую машину каравана независимо от карты случайным образом будут добавляться металлолом, горючее или запчасти.
Аватара
Как бы мне изменить игровое меню, интерфейс? Речь не о худ. оформлении уже существующего, о расположении тех или иных кнопок и индикаторов на экране, ключевых изображениях и их размере.

Уровень профиля
Сообщений: 1744 • Страница 70 из 88 1 ... 67686970717273 ... 88