???
Математика на уровне МГУ

Страница 9 из 32 ПерваяПервая ... 567891011121319 ... КрайняяКрайняя
Показано с 201 по 225 из 789

Тема: Вопросы.

  1. #201
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    я понял, просто параллельно показал, что менялось и как пользоваться новым механизмом. Вы, если не ошибаюсь, как раз и интересовались насчёт кампаний, которые бы не портились стимом.
    Ааа, теперь понятно! Д, был такой вопрос от меня.
    Спасибо за разъяснение.

    Цитата Сообщение от naryv Посмотреть сообщение
    ну я же не могу знать, как и что Вы в "простом редакторе" делаете, редактор я поставил, мне он пишет "No Map in mission file", поэтому и спросил - как Вы миссии делаете и запускаете?
    Обычная генерация по условиям. Также как в полном редакторе это делается.
    Саму миссию запускаю строкой: this.singleGame.game.PagePush(this.singleGame.game.PageGet("SingleMissGame"), "имя миссии.mis");

    После установки редактора стандартные миссии запускаются у вас, капании, которые идут с игрой?

    --- Добавлено ---

    Только что снова установил "Простой редактор", все нормально генерируется, запускается и играется. И на стандартные миссии влияния никакого нет.
    Очень похоже на какую-то плавающую ошибку, так кк до этого трижды пробовал проделывать то же самое, ошибка была.

    У другого человека было то же самое, 2-3 раза запуск нормальный, на четвертый запуск ошибка идет. Никакая миссия в Офф-лайне не запускается вообще.
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  2. #202
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Вопросы.

    Наконец-то нашел в чем дело!
    Уважаемый nariv, у вас небольшой баг получается.
    Объясню, в чем дело.
    Когда я у себя на компьютере компилирую "SimpleEditor.dll", то помимо ее в папку "il-2 sturmovik cliffs of dover\ClientAddIns\AddIns\AddOn" попадают также файлы "core.dll, gamePages.dll, gamePlay.dll, gameWorld.dll, part.dll, partBob.dll", то есть те файлы, которые включены в сборку в VisualStudio. Раньше это проблем не создавало. Но, теперь получается так, что по каким-то причинам игра начинает при запуске "цеплять" их, а не те файлы, что находятся в "il-2 sturmovik cliffs of dover\parts\core". А так как в патче их меняли, происходит сбой при загрузке любой миссии.
    Повторюсь, что вышеуказанные файлы там просто лежат и нигде не прописаны к загрузке. Но игра их "цепляет" сама.

    Я их конечно оттуда удалю, но не получится ли так, что игра будет цеплять любую dll, лежащую в папке "\ClientAddIns\AddIns\AddOn" ?
    Крайний раз редактировалось Geniok; 28.06.2011 в 22:52.
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  3. #203

    Re: Вопросы.

    Цитата Сообщение от Geniok Посмотреть сообщение
    Наконец-то нашел в чем дело!
    Уважаемый nariv, у вас небольшой баг получается.
    Объясню, в чем дело.
    Когда я у себя на компьютере компилирую "SimpleEditor.dll", то помимо ее в папку "il-2 sturmovik cliffs of dover\ClientAddIns\AddIns\AddOn" попадают также файлы "core.dll, gamePages.dll, gamePlay.dll, gameWorld.dll, part.dll, partBob.dll", то есть те файлы, которые включены в сборку в VisualStudio. Раньше это проблем не создавало. Но, теперь получается так, что по каким-то причинам игра начинает при запуске "цеплять" их, а не те файлы, что находятся в "il-2 sturmovik cliffs of dover\parts\core". А так как в патче их меняли, происходит сбой при загрузке любой миссии.
    Повторюсь, что вышеуказанные файлы там просто лежат и нигде не прописаны к загрузке. Но игра их "цепляет" сама.

    Я их конечно оттуда удалю, но не получится ли так, что игра будет цеплять любую dll, лежащую в папке "\ClientAddIns\AddIns\AddOn" ?
    Для этих сборок ставь Copy local = false. И вся проблема.

  4. #204
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Вопросы.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Для этих сборок ставь Copy local = false. И вся проблема.
    Да я уже по-другому сделал. Дело не в том что в папке еще dll есть.
    Просто интересно почему игра цепляет сторонние библиотеки, которые нигде не прописаны.
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  5. #205
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    46
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от Geniok Посмотреть сообщение
    Наконец-то нашел в чем дело!
    Вот и хорошо!

    Цитата Сообщение от Geniok Посмотреть сообщение
    Да я уже по-другому сделал. Дело не в том что в папке еще dll есть.
    Просто интересно почему игра цепляет сторонние библиотеки, которые нигде не прописаны.
    насколько я понял, они в using прописаны, поэтому Ваша dll берёт те, которые в её папке лежат, совсем "левые" dll не должна брать, но посмотрим.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Для этих сборок ставь Copy local = false. И вся проблема.
    ага
    Don't happy, be worry

  6. #206
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    насколько я понял, они в using прописаны, поэтому Ваша dll берёт те, которые в её папке лежат, совсем "левые" dll не должна брать, но посмотрим.
    Так и раньше были прописаны. Хотя, все может быть. Но на всякий случай гляньте, мало ли что...

    С Уважением, Евгений!
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  7. #207
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    46
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    Еще раз спасибо, с мелкими вопросами типа пересчет счета и изменение логики атак пытаюсь сам разобраться.

    У меня просьба на будущее. В версии скрипта для островной карты "кресты и круги" была часть, генерирующая вейпойнты для бомбардировщиков.

    Хотелось бы посмотреть пример генерации вейпойнтов для танков, например:

    - группа танков захватила маркер
    - на маркере генерится оборона из противотанковой артиллерии и немного ПВО для прикрытия арты
    - если потери группы танков больше 50% на захваченном маркере генерится новая подмиссия с танками (подкрепление)
    - старые и новые танки выдвигаются на сгенеренные вейпойнты
    - вейпойнты генерятся, например, по алгоритму:
    - если между танками и одним из своих маркеров есть маркер противника, если он не за водной преградой, захватываем его (чтобы в тылу не оставлять незахваченные территории).
    - если в радиусе расстояния до этого маркера есть вражеская наземка - атакуем сначала наземку,
    Если потери больше 50%, начинаем новый цикл.
    Если нет:
    - берем координаты 2х ближайших ключевых объектов из числа аэродромов и городов на территории противника
    - создаем конечный вейпойнт в точке с координатами посередине между этими пунктами (чтобы в города и на аэродромы не въезжать), если там суша и не остров
    - если в радиусе расстояния до этого вейпойнта есть вражеская наземка - атакуем сначала наземку,
    - проверяем, есть ли в радиусе маркер противника, захватываетм его
    Если потери больше 50%, начинаем новый цикл.
    Если нет:
    - едем к конечному вейпойнту, захватываем его, ставим на нем маркер линии фронта своего цвета

    Количесто возрождений одной и той же группы ограничиваем 3 в рамках одного цикла, затем атакуем в другом месте карты либо атаковать начинает противник. Пока нет менеджмента ресурсов и сапплая это можно сделать рандом выбором, а в дальнейшем привязать к уровню сапплая района: атакует тот, у кого сапплай выше, например.

    Может возникнуть проблемка с непроходимостью некоторых участков карты для танков, пока ИИ не выведен на достаточный уровень. Мосты бывают непроходимы для танков. Говорят, реки можно пересекать без мостов по сплайн-дорогам. Против застревания в населенных пунктах можно запретить танкам приближаться к домикам (ставить объездные вейпойнты), и предусмотреть, что если группа не находится на конечном вейпойнте или в бою и при этом не двигается 5 минут, ставить промежуточный вейпойнт где-то сзади и сбоку (чтобы объехать препятствие). В крайнем случае дестроить совсем застрявшую группу и создавать новую с новым маршрутом.

    Тем временем постараемся запутить на Repka миссию с подмиссиями нарисованными вручную, что сильно ограничивает регион действий.
    Собственно написал:
    Dogfight.rar

    Как работает - расставляем на карте маркеры, добавляем скрипт и всё - можно миссию запускать. Что делает скрипт: при инициализации битвы собирает все маркеры, приписывает к ним триггеры на переключение. В точке каждого маркера ставит артиллерию развёрнутую к ближайшему вражескому маркеру. От всех маркеров рождает группы танков, которые едут к ближнему вражьему маркеру или ближней вражьей группе(что ближе будет). Если на маркер приехали - перекрашиваем его и обновляем спаунточки, ну как и раньше. Если группу танков убили - рождаем от ближайшего к месту гибели своего маркера новую группу. Для примера в архиве миссия с уже расставленными маркерами, карта большая, в скрипте постарался всё закомментировать, если что-то захочется поменять, должно быть более менее понятно, если не понятно - постараюсь ответить. Попробуйте, если есть желание.
    Don't happy, be worry

  8. #208
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    Собственно написал:
    Большое спасибо! У меня в ближайшие пару месяцев нет возможности заниматься созданием миссий, к сожалению, но берусь выложить миссию на западном форуме. Там есть 2 человека, делающих миссии.

    Возможно, BigRepa попробует имеющуюся миссию на сервере Repka.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  9. #209
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Вопросы.

    Как я понимаю, ее просто "поставить" нельзя? это шаблон, его нужно настроить?
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

  10. #210
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    46
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    Большое спасибо! У меня в ближайшие пару месяцев нет возможности заниматься созданием миссий, к сожалению, но берусь выложить миссию на западном форуме. Там есть 2 человека, делающих миссии.

    Возможно, BigRepa попробует имеющуюся миссию на сервере Repka.
    ок

    Цитата Сообщение от BigREPA Посмотреть сообщение
    Как я понимаю, ее просто "поставить" нельзя? это шаблон, его нужно настроить?
    можно просто ставить - это миссия со скриптом сразу рабочая, оба файла положить в missions\Multi\Dogfight и грузить сервером MF_any2.mis . Если меняется папка или имя миссии, тогда надо в скрипте в public override void Init(ABattle battle, int missionNumber)
    во второй строчке ISectionFile missFile = GamePlay.gpLoadSectionFile("missions\\Multi\\Dogfight\\MF_any2.mis"); исправить путь и имя. А менять уже можно по желанию, если что-то не устраивает или хочется добавить.
    Don't happy, be worry

  11. #211
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Вопросы.

    Не увидел в скрипте "Aircraft.Bf-109E-1" - добавил

    Запустится на #2 в 19-00
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

  12. #212

    Re: Вопросы.

    How can one make an Ai aircraft say something to the group, like in using a SayToGroup with custom messages (others than the ones from IL2 CoD) like function, please?

    Refuel, repair, rearm (set actor's aircraft's fuel, ammo, health levels)?

    Do damage to a random part of a plane (not using the limited Switch construction, which only allows damage to the parts listed in it, therefore a limited number)?

  13. #213
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    Попробуйте, если есть желание.
    Некоторые моменты не совсем корректно работают. Комментарии в теме Сервер Repka (по поводу Repka #2) http://www.sukhoi.ru/forum/showthrea...60#post1647360
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  14. #214
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    46
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от BigREPA Посмотреть сообщение
    Не увидел в скрипте "Aircraft.Bf-109E-1" - добавил

    Запустится на #2 в 19-00
    иконки наверное имеет смысл включить, ну или завтра "разведсводку" добавлю.

    Цитата Сообщение от adonys Посмотреть сообщение
    How can one make an Ai aircraft say something to the group, like in using a SayToGroup with custom messages (others than the ones from IL2 CoD) like function, please?
    Hi, adonys. You can not use SayToGroup with custom messages - only those wich is already in game - with own sound.

    Цитата Сообщение от adonys Посмотреть сообщение
    Refuel, repair, rearm (set actor's aircraft's fuel, ammo, health levels)?
    real refuel-rearming procedure takes at least 30 minutes, and our chief aircraft programmer said that it is more real to create new plane after landing then RRR it ...

    Цитата Сообщение от adonys Посмотреть сообщение
    Do damage to a random part of a plane (not using the limited Switch construction, which only allows damage to the parts listed in it, therefore a limited number)?
    i'll try answer tomorrow
    Don't happy, be worry

  15. #215

    Re: Вопросы.

    I've suspected SayToGroup can't be used with custom messages, but, is there any way I can put (even only text messages), on the screen and appear as being said by actors (I know about the gpHUDLogCenter way, but that is only usable as "server" messages).

    Regarding RRR - can we force player's transfer into such a newly spawned plane? (I'm needing it for a single player mission/campaign). And even if RRR it would take 30 minutes, I would still like to now how, please.

    Question: How can we change/set/force a new map time for a running mission (like in trying to skip over the night time into the following morning)?

    Question: can you detail a little bit the way to use and effect of Follow and Cover way-path waypoints action types, please?

    Question: Campaign mission branching. Can you explain it, please?

    Request: dynamic way paths. It can be done (in an easier way then generating and over-writing them by hand into a mission file loaded then with a postload function)? This last one is more like a new request for the FMB: can assigning way paths to actor groups be made dynamic (like in not in the static way, using groups name, as it is now, but by having way-paths with unique identifiers and assigning them to groups by specifying the intended way-path unique identifier as a group's property)? And adding a new action AssignWaypathToGroup <group_name> <way-path_name> [<starting_waypoint_number>] ? This would be very useful by defining multiple way-paths on a map, and dynamically assigning groups to them, depending on randomly intended objectives..

    Request: way-path waypoint new Wait action. A WaitForGroup way-path waypoint action would be very useful in having control on airfield circling while waiting for own group's airplanes to takeoff, or gathering a few groups, then send them together towards an objective. A WaitForGroup would need to have an area defined (in which to circle while waiting), a max waiting time (after which they will proceed to the next waypoint even if the waited groups haven't appeared) and a list of groups to be waited (to enter the waiting circle area)

    Thank you for your answers, and time

  16. #216
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    46
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от adonys Посмотреть сообщение
    I've suspected SayToGroup can't be used with custom messages, but, is there any way I can put (even only text messages), on the screen and appear as being said by actors (I know about the gpHUDLogCenter way, but that is only usable as "server" messages).
    You can use gpLogServer to send messages to selected players chat window, or

    Цитата Сообщение от adonys Посмотреть сообщение
    Regarding RRR - can we force player's transfer into such a newly spawned plane? (I'm needing it for a single player mission/campaign). And even if RRR it would take 30 minutes, I would still like to now how, please.
    Small_Bee's script that place player to plain is shown here : http://www.sukhoi.ru/forum/showthrea...=1#post1616450 . And about RRR - as i said chief programmer decide not to do RRR, so you can't do it, just read plane ammo, fuel, health, not set it.

    Цитата Сообщение от adonys Посмотреть сообщение
    Question: How can we change/set/force a new map time for a running mission (like in trying to skip over the night time into the following morning)?
    no, there is no way to change time during mission.

    Цитата Сообщение от adonys Посмотреть сообщение
    Question: can you detail a little bit the way to use and effect of Follow and Cover way-path waypoints action types, please?
    Cover type make AI cover ground units at point, them should barrage over this point. Follow is action that make AI just follow target group, no special action.

    Цитата Сообщение от adonys Посмотреть сообщение
    Question: Campaign mission branching. Can you explain it, please?
    You can take this archive : http://www.sukhoi.ru/forum/attachmen...4&d=1309250431 there is sample showing how to make your own addin - campaign . And if you make such campaign - you can branch mission as you wish at TstCampaign.cs .

    Цитата Сообщение от adonys Посмотреть сообщение
    Request: dynamic way paths. It can be done (in an easier way then generating and over-writing them by hand into a mission file loaded then with a postload function)? This last one is more like a new request for the FMB: can assigning way paths to actor groups be made dynamic (like in not in the static way, using groups name, as it is now, but by having way-paths with unique identifiers and assigning them to groups by specifying the intended way-path unique identifier as a group's property)? And adding a new action AssignWaypathToGroup <group_name> <way-path_name> [<starting_waypoint_number>] ? This would be very useful by defining multiple way-paths on a map, and dynamically assigning groups to them, depending on randomly intended objectives..
    http://www.sukhoi.ru/forum/attachmen...2&d=1305794840 in this sample is shown how to make dynamic way paths for planes, and here - http://www.sukhoi.ru/forum/attachmen...hmentid=136566 sample for ground units.


    Цитата Сообщение от adonys Посмотреть сообщение
    Request: way-path waypoint new Wait action. A WaitForGroup way-path waypoint action would be very useful in having control on airfield circling while waiting for own group's airplanes to takeoff, or gathering a few groups, then send them together towards an objective. A WaitForGroup would need to have an area defined (in which to circle while waiting), a max waiting time (after which they will proceed to the next waypoint even if the waited groups haven't appeared) and a list of groups to be waited (to enter the waiting circle area)
    ok, i transferred request to AI programmer hi will look it.

    Цитата Сообщение от adonys Посмотреть сообщение
    Thank you for your answers, and time
    You are welcome
    Don't happy, be worry

  17. #217

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    Цитата Сообщение от adonys Посмотреть сообщение
    Do damage to a random part of a plane (not using the limited Switch construction, which only allows damage to the parts listed in it, therefore a limited number)?
    i'll try answer tomorrow
    I've made something like this:

    Код:
    // Script that triggered an accidental damage to the player plane
    // Autor: adonys
    // version: 1.1
    
    using System;
    using System.IO;
    using System.Collections;
    using System.Collections.Generic;
    using maddox.game;
    using maddox.game.world;
    using maddox.GP;
    
    public class Mission : maddox.game.AMission
    {
        AiAircraft PlayerPlane;
        
        int PlanePartsNr = 117;
        
        private string[] PlanePartsList = new string[] 
        {   "ElecGeneratorFailure",
            "ElecBatteryFailure",
            "ElecPrimaryFailure",
            "ElecSecondaryFailure",
            "ElecMasterCompassFailure",
            "ElecWeaponryFailure",
            "ElecPriNavigationFailure",
            "ElecSecNavigationFailure",
            "ElecTransceiverFailure",
            "ElecIlluminationFailure",
            "HydraulicsPumpFailure",
            "HydraulicsPrimaryHosePerforated",
            "HydraulicsPistonOpened",
            "HydraulicsEmergencyFailure",
            "HydraulicsTankPerforated",
            "PneumaticsCompressorFailure",
            "PneumaticsPrimaryContainerPerforated",
            "PneumaticsSecondaryContainerPerforated",
            "PneumaticsPrimaryHosePerforated",
            "PneumaticsSecondaryHosePerforated",
            "ControlsGenericKickdown",
            "ControlsElevatorDisabled",
            "ControlsAileronsDisabled",
            "ControlsRudderDisabled",
            "LandingFlapsPistonFailure1",
            "LandingFlapsPistonFailure2",
            "LandingFlapsKinematicFailure1",
            "LandingFlapsKinematicFailure2",
            "LandingFlapsDriveFailure",
            "LandingFlapsHosePerforated",
            "AirbrakeHosePerforated",
            "AirbrakeDriveFailure",
            "AirbrakePistonFailure",
            "WheelBrakesFailureL",
            "WheelBrakesFailureR",
            "WheelBrakesTotalFailure",
            "WheelBrakesHosePerforated",
            "UndercarriageShockFailureL",
            "UndercarriageShockFailureR",
            "UndercarriageShockFailureC",
            "UndercarriageUpLockFailureL",
            "UndercarriageUpLockFailureR",
            "UndercarriageUpLockFailureC",
            "UndercarriageDownLockFailureL",
            "UndercarriageDownLockFailureR",
            "UndercarriageDownLockFailureC",
            "UndercarriageKinematicFailureL",
            "UndercarriageKinematicFailureR",
            "UndercarriageKinematicFailureC",
            "UndercarriageHosePerforated",
            "UndercarriageDriveDamaged",
            "Eng0TotalFailure",
            "Eng0TotalSeizure",
            "Eng0IntakeBurnt",
            "Eng0CompressorFailure",
            "Eng0CompressorGovernorFailure",
            "Eng0CompressorSeizure",
            "Eng0IntercoolerBurnt",
            "Eng0CarbFailure",
            "Eng0CarbControlsFailure",
            "Eng0FuelLinePerforated",
            "Eng0FuelPumpFailure",
            "Eng0FuelSecondariesFire",
            "Eng0Magneto0Failure",
            "Eng0Magneto1Failure",
            "Eng0OilPumpFailure",
            "Eng0OilRadiatorPerforated",
            "Eng0OilLineBroken",
            "Eng0OilGasketLeak",
            "Eng0OilSecondariesFire",
            "Eng0OilSecondariesExtinguished",
            "Eng0OilTankPerforated",
            "Eng0WaterPumpFailure",
            "Eng0WaterRadiatorPerforated",
            "Eng0WaterLineBroken",
            "Eng0WaterTankPerforated",
            "Eng0WaterJacketBroken",
            "Eng0CylinderHeadFire",
            "Eng0CylinderHeadExtinguished",
            "Eng0ExhaustHeadFailure",
            "Eng0GovernorFailure",
            "Eng0GovernorSeizure",
            "Eng0ThrottleControlBroken",
            "Eng0PropControlBroken",
            "Eng0TretiaryControlBroken",
            "Eng0PropBlade0Broken",
            "Eng0PropBlade1Broken",
            "Eng0PropBlade2Broken",
            "Eng0PropBlade3Broken",
            "Eng0Plug00Failure",
            "FuelTank0TinyLeak",
            "FuelTank0SmallLeak",
            "FuelTank0LargeLeak",
            "FuelTank0Fire",
            "FuelTank0Exploded",
            "FuelTank0HosePerforated",
            "FuelTank0PumpFailure",
            "Machinegun00Failure",
            "Machinegun00BeltBroken",
            "Machinegun00Jammed",
            "Machinegun00Charged",
            "Machinegun00LineDamaged",
            "CockpitDamageFlag00",
            "CockpitDamageFlag01",
            "CockpitDamageFlag02",
            "CockpitDamageFlag03",
            "CockpitDamageFlag04",
            "CockpitDamageFlag05",
            "CockpitDamageFlag06",
            "CockpitDamageFlag07",
            "CockpitDamageFlag08",
            "CockpitDamageFlag09",
            "CockpitDamageFlag10",
            "CockpitDamageFlag11",
            "CockpitDamageFlag12",
            "CockpitDamageFlag13",
            "CockpitDamageFlag14",
        };
    
        private string[] PlanePartsListText = new string[] 
        {   "ElecGeneratorFailure",
            "ElecBatteryFailure",
            "ElecPrimaryFailure",
            "ElecSecondaryFailure",
            "ElecMasterCompassFailure",
            "ElecWeaponryFailure",
            "ElecPriNavigationFailure",
            "ElecSecNavigationFailure",
            "ElecTransceiverFailure",
            "ElecIlluminationFailure",
            "Hydraulics Pump failure",
            "HydraulicsPrimaryHosePerforated",
            "HydraulicsPistonOpened",
            "HydraulicsEmergencyFailure",
            "HydraulicsTankPerforated",
            "PneumaticsCompressorFailure",
            "PneumaticsPrimaryContainerPerforated",
            "PneumaticsSecondaryContainerPerforated",
            "PneumaticsPrimaryHosePerforated",
            "PneumaticsSecondaryHosePerforated",
            "ControlsGenericKickdown",
            "Elevator disabled",
            "Ailerons disabled",
            "Rudder disabled",
            "LandingFlapsPistonFailure1",
            "LandingFlapsPistonFailure2",
            "LandingFlapsKinematicFailure1",
            "LandingFlapsKinematicFailure2",
            "LandingFlapsDriveFailure",
            "LandingFlapsHosePerforated",
            "AirbrakeHosePerforated",
            "AirbrakeDriveFailure",
            "AirbrakePistonFailure",
            "WheelBrakesFailureL",
            "WheelBrakesFailureR",
            "WheelBrakesTotalFailure",
            "WheelBrakesHosePerforated",
            "UndercarriageShockFailureL",
            "UndercarriageShockFailureR",
            "UndercarriageShockFailureC",
            "UndercarriageUpLockFailureL",
            "UndercarriageUpLockFailureR",
            "UndercarriageUpLockFailureC",
            "Undercarriage Left down-lock mechanism failure",
            "Undercarriage Right down-lock mechanism failure",
            "Undercarriage Central down-lock mechanism failure",
            "UndercarriageKinematicFailureL",
            "UndercarriageKinematicFailureR",
            "UndercarriageKinematicFailureC",
            "UndercarriageHosePerforated",
            "UndercarriageDriveDamaged",
            "Engine Total failure",
            "Eng0TotalSeizure",
            "Eng0IntakeBurnt",
            "Eng0CompressorFailure",
            "Eng0CompressorGovernorFailure",
            "Eng0CompressorSeizure",
            "Eng0IntercoolerBurnt",
            "Eng0CarbFailure",
            "Eng0CarbControlsFailure",
            "Eng0FuelLinePerforated",
            "Eng0FuelPumpFailure",
            "Eng0FuelSecondariesFire",
            "Eng0Magneto0Failure",
            "Eng0Magneto1Failure",
            "Eng0OilPumpFailure",
            "Eng0OilRadiatorPerforated",
            "Eng0OilLineBroken",
            "Eng0OilGasketLeak",
            "Oil is on fire",
            "Eng0OilSecondariesExtinguished",
            "Eng0OilTankPerforated",
            "Eng0WaterPumpFailure",
            "Eng0WaterRadiatorPerforated",
            "Eng0WaterLineBroken",
            "Eng0WaterTankPerforated",
            "Eng0WaterJacketBroken",
            "Eng0CylinderHeadFire",
            "Eng0CylinderHeadExtinguished",
            "Eng0ExhaustHeadFailure",
            "Eng0GovernorFailure",
            "Eng0GovernorSeizure",
            "Eng0ThrottleControlBroken",
            "Eng0PropControlBroken",
            "Eng0TretiaryControlBroken",
            "PropBlade Broken",
            "Eng0PropBlade1Broken",
            "Eng0PropBlade2Broken",
            "Eng0PropBlade3Broken",
            "Engine Plug 0 failure",
            "FuelTank0TinyLeak",
            "FuelTank0SmallLeak",
            "FuelTank0LargeLeak",
            "FuelTank0Fire",
            "FuelTank0Exploded",
            "FuelTank0HosePerforated",
            "FuelTank0PumpFailure",
            "Machinegun00Failure",
            "Machinegun00BeltBroken",
            "Machinegun00Jammed",
            "Machinegun00Charged",
            "Machinegun00LineDamaged",
            "103 CockpitDamageFlag00: gunsight",
            "104 CockpitDamageFlag01: instruments",
            "CockpitDamageFlag02",
            "CockpitDamageFlag03",
            "CockpitDamageFlag04",
            "CockpitDamageFlag05",
            "CockpitDamageFlag06",
            "CockpitDamageFlag07",
            "CockpitDamageFlag08",
            "CockpitDamageFlag09",
            "CockpitDamageFlag10",
            "CockpitDamageFlag11",
            "CockpitDamageFlag12",
            "CockpitDamageFlag13",
            "CockpitDamageFlag14",
        };
    
        public override void OnTrigger(int missionNumber, string shortName, bool active) 
        {
            if (("trigger01".Equals(shortName) && active))
            {
            		//GamePlay.gpHUDLogCenter("Trigger Activated!");
                DoDamage();
            }
            GamePlay.gpGetTrigger(shortName).Enable = false;
        }
    
        private void DoDamage()
        {
            PlayerPlane = (AiAircraft)GamePlay.gpPlayer().Place();              
                
            Random RandomIncident = new Random();
            
            for (int i = 0; i < 3; i++)
            {
    		        int j = (RandomIncident.Next(1,PlanePartsNr) -1);
    		        PlayerPlane.hitNamed ((part.NamedDamageTypes)Enum.Parse(typeof(part.NamedDamageTypes),PlanePartsList[j]));
    		        GamePlay.gpHUDLogCenter(PlanePartsListText[j]);
    		        serverMessage("Failure: "+PlanePartsListText[j]);
          	}
        }
        
        private void serverMessage(string msg)
        {
            Player pl = GamePlay.gpPlayer();
            Player[] players = { pl };
            object[] args = { msg };
            GamePlay.gpLogServer(players, msg, args);
        }
    
        public override void OnAircraftLanded(int missionNumber, string shortName, AiAircraft aircraft)
        {
            GamePlay.gpHUDLogCenter("Excellent, you've managed to land!");
        }
    
        public override void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft) 
        {
            GamePlay.gpHUDLogCenter("You've crash-landed, but you're still alive!");
        }
    
    }
    I've tested it, and it works, but it is still based on a list of airplane parts (and another for failure messages). Can't it be done in a simpler way, like in a MG function hit-random-airplane-part() ?

    Question: How can I verify if an airplane's part was hit, or not?

    Question: how AiAircraft.hitLimb(part.LimbNames.<linmb_name>) and AiAircraft.cutLimb(part.LimbNames.<linmb_name>) are working?

    Question: how can we check an AirGroup AiAircraft Actor's characteristics (altitude, heading, speed, aircraft's type, etc)?

    Request: Also, regarding actor messages, if there's no such a function, to allow custom messages be said by actors (as in SayToGroup), can't such a function be made, please?

    Request: if there's no such function to force a mission's time, can't such a function be made, please?

    Request: regarding the custom campaigns using the AddIn method, not every campaign designer is also a coder, can't a generic .dll be made, loading campaign's paths ( USER_PATH = "$user/mission/tst/campaign/" and PATH = "$home/parts/tst/mission/campaign/") from an easily editable text/xml file? (I for one don't have the Visual Studio 2010 installed on my PC, so I can't compile those)

    Thanks!
    Крайний раз редактировалось adonys; 30.06.2011 в 20:32.

  18. #218
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    46
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от adonys Посмотреть сообщение
    I've made something like this:


    I've tested it, and it works, but it is still based on a list of airplane parts (and another for failure messages). Can't it be done in a simpler way, like in a MG function hit-random-airplane-part() ?
    No, there is no such fuction . We planed to brake plane parts not randomly, but according to situation

    Цитата Сообщение от adonys Посмотреть сообщение
    Question: How can I verify if an airplane's part was hit, or not?
    no way now, may be we'll add it later . Now it is just integral plane health parameter.

    Цитата Сообщение от adonys Посмотреть сообщение
    Question: how AiAircraft.hitLimb(part.LimbNames.<linmb_name>) and AiAircraft.cutLimb(part.LimbNames.<linmb_name>) are working?
    hitLimb just damages plane part and cutLimb - cut the part away from plane.

    Цитата Сообщение от adonys Посмотреть сообщение
    Question: how can we check an AirGroup AiAircraft Actor's characteristics (altitude, heading, speed, aircraft's type, etc)?
    You can use getParameter function - it gives you big list of characteristics - position of control surfaces, gauges indication, health and so on. Type of plane afair something like "TypedName".

    Цитата Сообщение от adonys Посмотреть сообщение
    Request: Also, regarding actor messages, if there's no such a function, to allow custom messages be said by actors (as in SayToGroup), can't such a function be made, please?
    ok, i transfer your request to programmers

    Цитата Сообщение от adonys Посмотреть сообщение
    Request: if there's no such function to force a mission's time, can't such a function be made, please?
    no game time is very important parameter, and many things depends on it.


    Цитата Сообщение от adonys Посмотреть сообщение
    Request: regarding the custom campaigns using the AddIn method, not every campaign designer is also a coder, can't a generic .dll be made, loading campaign's paths ( USER_PATH = "$user/mission/tst/campaign/" and PATH = "$home/parts/tst/mission/campaign/") from an easily editable text/xml file? (I for one don't have the Visual Studio 2010 installed on my PC, so I can't compile those)
    ok i'll try compile it. By the way there are some free C# compilers like Visual Studio Express you can use it
    Don't happy, be worry

  19. #219

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    Цитата Сообщение от adonys Посмотреть сообщение
    Do damage to a random part of a plane (not using the limited Switch construction, which only allows damage to the parts listed in it, therefore a limited number)?
    i'll try answer tomorrow.
    No, there is no such fuction . We planed to brake plane parts not randomly, but according to situation
    I'm still waiting for that code (only if you had something different in your mind than the way I've did it in the above code), please.

    Цитата Сообщение от naryv Посмотреть сообщение
    hitLimb just damages plane part and cutLimb - cut the part away from plane.
    Yeah, I knew that, but I couldn't make it work (I've tried with the AiAircraft.hitLimb(part.LimbNames.WingL0); and AiAircraft.cutLimb(part.LimbNames.WingL0);, but I couldn't managed it to work). Can you please tell my how?

    Цитата Сообщение от naryv Посмотреть сообщение
    You can use getParameter function - it gives you big list of characteristics - position of control surfaces, gauges indication, health and so on. Type of plane afair something like "TypedName".
    Question: Can you explain this
    Код:
    int personIndex = GamePlay.gpPlayer().PlacePrimary();
                        if (personIndex < 0)
                            personIndex = GamePlay.gpPlayer().PlaceSecondary();
                        AiPerson person = (GamePlay.gpPlayer().Place() as AiCart).Person(personIndex);
                        if (person.Health <= 0)
                            return;
                        if (Campaign != null) {
                            if (Campaign.battleSuccess != null)
                                return;
                            Campaign.battleSuccess = true;
                        }
                        GamePlay.gpHUDLogCenter("MISSION COMPLETE");
    piece of code, please? it makes no real sense to me. IT's from the official gb campain and can be found in several missions at the end of the inherited OnActorDead function (for example in the "Stuka Intercept.cs" script). It looks like is checking to see if the player is still alive.. yet.. why check a secondary place (I assume PlaceSecondary it's a second seat, like the gunner in a Stuka), as the player is in a single seated aircraft, and why the as AiCart part, instead as AiAircraft? Please have mercy and try to enlighten me


    Regarding the "CustomSayToAirgroup" function, we need to can put text in mouth of existent actors (AiAircraft or AiCart), or general (for control tower/radar/etc. speaking).

    A list of these characteristics would be wonderful, from where can I get the members of the getParameter class, please?

    Thank you again for everything, you've been very kind, sir
    Крайний раз редактировалось adonys; 01.07.2011 в 01:09.

  20. #220
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Вопросы.

    Такой вопрос назрел:
    Как из кода подключится к тому или иному серверу?
    Поясню вопрос, как в настоящий момент реализована функция подключения например на странице выбора серверов.
    Пробовал функцию void connectNew(int channel, string address, int port), но что-то не хочет работать.
    Ну и сразу вдогонку вопрос, за что отвечает параметр "channel" в ней?
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  21. #221
    Старший Офицер Форума
    Регистрация
    15.02.2002
    Адрес
    Moscow
    Возраст
    46
    Сообщений
    6,905
    Images
    51

    Re: Вопросы.

    Цитата Сообщение от adonys Посмотреть сообщение
    I'm still waiting for that code (only if you had something different in your mind than the way I've did it in the above code), please.
    no, i meant that we don't make such a function at all . Parts damages just on some conditions like overheat, bullet hit and so on. Your damage code looks good enough, i think it should work.
    Цитата Сообщение от adonys Посмотреть сообщение
    Yeah, I knew that, but I couldn't make it work (I've tried with the AiAircraft.hitLimb(part.LimbNames.WingL0); and AiAircraft.cutLimb(part.LimbNames.WingL0);, but I couldn't managed it to work). Can you please tell my how?
    part can be cut away if it presents at this aircraft AiAircraft.cutLimb(part.LimbNames.WingR2) for example works try it


    Цитата Сообщение от adonys Посмотреть сообщение
    Question: Can you explain this
    Код:
    int personIndex = GamePlay.gpPlayer().PlacePrimary();
                        if (personIndex < 0)
                            personIndex = GamePlay.gpPlayer().PlaceSecondary();
                        AiPerson person = (GamePlay.gpPlayer().Place() as AiCart).Person(personIndex);
                        if (person.Health <= 0)
                            return;
                        if (Campaign != null) {
                            if (Campaign.battleSuccess != null)
                                return;
                            Campaign.battleSuccess = true;
                        }
                        GamePlay.gpHUDLogCenter("MISSION COMPLETE");
    piece of code, please? it makes no real sense to me. IT's from the official gb campain and can be found in several missions at the end of the inherited OnActorDead function (for example in the "Stuka Intercept.cs" script). It looks like is checking to see if the player is still alive.. yet.. why check a secondary place (I assume PlaceSecondary it's a second seat, like the gunner in a Stuka), as the player is in a single seated aircraft, and why the as AiCart part, instead as AiAircraft? Please have mercy and try to enlighten me
    That code was written as pattern i think (i'm not author )- for any type of player controlled unit - single or multicrew, and used in different missions. AiCart - is base class for units that contains "peoples" so it is used instead AiAIrcraft to get Person and its health. And yes, this code checks if the "player" still alive


    Цитата Сообщение от adonys Посмотреть сообщение
    Regarding the "CustomSayToAirgroup" function, we need to can put text in mouth of existent actors (AiAircraft or AiCart), or general (for control tower/radar/etc. speaking).
    Yes, we discuss it same way.

    Цитата Сообщение от adonys Посмотреть сообщение
    A list of these characteristics would be wonderful, from where can I get the members of the getParameter class, please?
    part.ParameterTypes is what you need

    Цитата Сообщение от adonys Посмотреть сообщение
    Thank you again for everything, you've been very kind, sir
    Sorry i was very busy today, and has no time to compile compaign dll - i leave for two weeks vacation and should finish a lot of things, sorry again. By the way you can use C#compiler that was installed when you install Framework4 it is called "csc" and can be found in "WINDOWS\Microsoft.NET\Framework\v4.0.30319" folder .

    Цитата Сообщение от Geniok Посмотреть сообщение
    Такой вопрос назрел:
    Как из кода подключится к тому или иному серверу?
    Поясню вопрос, как в настоящий момент реализована функция подключения например на странице выбора серверов.
    Пробовал функцию void connectNew(int channel, string address, int port), но что-то не хочет работать.
    Ну и сразу вдогонку вопрос, за что отвечает параметр "channel" в ней?
    channel - это номер канала по которому связывается сервер с игроком, если не ошибаюсь - у каждого игрока свой канал. А вот как связаться - увы не знаю, сейчас уже спросить не могу
    Don't happy, be worry

  22. #222
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    channel - это номер канала по которому связывается сервер с игроком, если не ошибаюсь - у каждого игрока свой канал. А вот как связаться - увы не знаю, сейчас уже спросить не могу
    А когда сможете, не могли бы написать?!
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  23. #223

    Re: Вопросы.

    Цитата Сообщение от naryv Посмотреть сообщение
    Цитата Сообщение от adonys Посмотреть сообщение
    Regarding the "CustomSayToAirgroup" function, we need to can put text in mouth of existent actors (AiAircraft or AiCart), or general (for control tower/radar/etc. speaking).
    Yes, we discuss it same way.
    As we'll still here, it would be very useful to can also optionally assign an audio file (in whatever IL2 CoD format needs) to this "CustomSayToAirgroup" function too (besides the text only)

    Цитата Сообщение от naryv Посмотреть сообщение
    part.ParameterTypes is what you need
    I can imagine, but for that, I would need a C# project, with the .dll files from the core folder added to it

    Thank you, narvy, and have a nice holiday !

  24. #224
    Пилот Аватар для aeros
    Регистрация
    02.04.2005
    Адрес
    Краснодар
    Возраст
    52
    Сообщений
    762

    Re: Вопросы.

    Подскажите пожалуйста - с чем связан браузер объектов, кроме самолетов в третьей стороке окна "объект" ни какие объекты не отображаются, инсертом и самолеты на карту не вставляются. С чего начать??
    P8P67EVO/i5 2500K 3.30GHz/8Gb/6950 2Gb/600W/DELL U2410 1920x1200/Directroad HOTAS металл-холлы/TrackIR5 ClipPro/Win7x64

  25. #225
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Цитата Сообщение от aeros Посмотреть сообщение
    Подскажите пожалуйста - с чем связан браузер объектов, кроме самолетов в третьей стороке окна "объект" ни какие объекты не отображаются, инсертом и самолеты на карту не вставляются. С чего начать??
    Начать лучше с редактирования чужих готовых миссий, тех что пришли с игрой, например. ПКМ на объекте и выбираете Свойства объекта (properties). Свойства откроются в браузере объектов как раз. Когда разберете десяток чужих миссий все станет понятно более менее.

    Все объекты в браузере объектов выбираются. На карте кликнуть нужно сначала, чтобы INS сработал. Или CTRL-ЛКМ.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

Страница 9 из 32 ПерваяПервая ... 567891011121319 ... КрайняяКрайняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •