В том то и проблема что если единица транспорта одна то она едет не по дороге а в 5ти метрах правее дороги. Если поставить больше 1-го то остальные в коллоне едут по дороге но когда догоняют первого то утыкаются.
Нашел выход из положения. Для того чтобы транспорт, или коллона правильно встала на дорогу нулевой вейпоинт надо ставить на удалении от дороги (метров 50-100), чтобы 1-я машинка могла сама зеахеать на дорогу.
Извините если выполнил роль КО.
Крайний раз редактировалось eekz; 08.11.2012 в 23:43.
Потенциал развития в БзБ заложенный ребятами и мной в самом начале на самом деле огромен....
Олег Медокс
Обладает ли ИИ машинок некими скрытыми настройками ИИ, как например опытность у самолетов?
Потенциал развития в БзБ заложенный ребятами и мной в самом начале на самом деле огромен....
Олег Медокс
Сегодня сорвался вылет из-за такой ошибки, всех выкинуло с сервера, а сам он пропал из списка. В логе есть такое:
Была включена подгрузка скинов, которые использовались для опознавания звеньев. Из-за чего такая ошибка может быть? Может из-за имени пользователя на русском("Администратор") такое быть?Код:[20:59:53] ================================================= [20:59:53] System.IO.IOException: Процесс не может получить доступ к файлу "C:\Users\Администратор\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\cache\37946059426376995.jpg", так как этот файл используется другим процессом. [20:59:53] в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) [20:59:53] в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) [20:59:53] в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) [20:59:53] в SjFVnQBTrusTVvpug1l.3HqitlBPlsZPiK5Ivpk.A0TTTpa1FtU(UInt64 , String , Int32 ) [20:59:53] =================================================
А для статиков получается нет метода подобного такому?
Просто храню акторы по номеру подмиссии, а статики только в массив можно выбрать, но номера подмиссии в свойствах нет. Т.е. загрузить я их могу, учесть уничтожение могу, а вот задестроить по номеру подмиссии не получится. Отбирать по радиусу не получится, т.к. колонны сильно растянутыКод:OnActorCreated(int missionNumber, string shortName, AiActor actor)
Подгрузка, чтобы не вызывать фризов при появлении нового игрока идёт постепенно - по частям, пресылаясь в не особо нагруженные моменты(когда нет большого количества стрельбы и т.п.)
нет, ивента такого нет, в полном имени статика, емнип, есть номер миссии в котором он загружен.
Кстати, о колоннах, я посмотрел, если чиф утыкается в препятствие - он 40 секунд стоит ничего не делая, потом препятствие пытается объехать, если не выходит ещё 40 сек стоит, но в итоге должен выезжать, у меня во всяком случае все , даже повтыкавшись в итоге доезжают до места...
Don't happy, be worry
По какому принципу NPC-машинка ставится на spline_road маршрут, если сделать так как указано в этом моем посте http://www.sukhoi.ru/forum/showthrea...=1#post1923560 ?
И есть ли способ как-то регулировать точку появления машинок на таком маршруте?
Потенциал развития в БзБ заложенный ребятами и мной в самом начале на самом деле огромен....
Олег Медокс
У меня при таком раскладе как на скриншотах получается что все машинки респавнятся на сплайн_роуд маршруте независимо от места где их поставить на карте, причем одни движутся в конечную точку маршрута, дагие в начальную - и так по кругу. Я почему спрашиваю, просто таким способом - одной командой на маршрут можно поставить сколько угодно одиночных машинок.
Потенциал развития в БзБ заложенный ребятами и мной в самом начале на самом деле огромен....
Олег Медокс
1. Вот таких сообщений при уничтожении артиллерии собрал
Таких сообщений 7, а юнитов артиллерии всего было 16, т.е. получается не все вызывают такую ошибку. Артиллерия - это танки и броневики из категории "Артиллерия". Что это может быть?Код:[22:51:28] [3055] ERROR [AI] callStateByName(): state "Main.OnActorDied" not found! [22:51:32] [3185] ERROR [AI] callStateByName(): state "Main.OnActorDied" not found! [22:51:45] [3597] ERROR [AI] callStateByName(): state "Main.OnActorDied" not found!
2. Каким событием можно отследить смерть пилота(от аварии или пули) в онлайне на выделенном?
Крайний раз редактировалось podvoxx; 13.11.2012 в 09:20.
стартуют в случайном сегменте сплайновой дороги, таким образом, чтобы в одном сегменте не было двух чифов. Точку появления, к сожалению, задавать нельзя.
это пропущенный рудимент, на такие сообщения не надо обращать внимание, они ни на что не влияют.
для игрока надо взять "person.Player()" (не забудьте проверить не null ли он, для АИшников, емнип null), person.Name() - игровое имя раненого или убитого,person.Player().Name() - имя игрока, соответственно, deltaHealth - степень повреждения, 1 - убили, 0-1, разные степени ранения, initiator - автор повреждений.Код:public override void OnPersonHealth(AiPerson person, AiDamageInitiator initiator, float deltaHealth) { base.OnPersonHealth(person, initiator, deltaHealth); }
Don't happy, be worry
Еще вопрос, скорее уже NET больше касается. Чем больше добавляю кода, тем больше беспокоюсь
Создается много классов и переменных, многие из которых используются один раз или ограниченное кол-во времени. Они куда деваются потом? Вроде читал, что есть какой-то сборщик мусора, который очищает память от неиспользуемых данных. Есть еще деструкторы, но не уверен что правильно понял их назначение(и вроде как их использовать с умом надо). Или это особого значения не имеет?
Ресурсов сервер с миссией ест не много вроде.
GS вообще тема достаточно сложная и неоднозначная. Имхо пока достаточно знать, что все объекты, на которые не осталось ссылок в видимой области, рано или поздно будут уничтожены без твоего вмешательства. Если класс не реализует IDisposable, в общем случае можно быть спокойным, какие-то специальные действия по его уборке не требуются.
Если реализует, то вполне достаточно делать так
using (DisposableObject obj = new DisposableObject())
{
obj.SomeMetod();
// какой-то код
}
По выходу за блок using на объекте будет вызван Dispose(), дальше его сборщик приберет.
Ну и в нашем случае, если ты объект не создавал, то не тебе его диспозить.
Просьба тем, у кого под рукой есть скрипт с выводом повреждений в консоль:
проверьте, плз, корректно ли выводится название оружия нанёсшего урон на Е4 (или Е3).
Поясню - сейчас командер от Тимофея выводит в лог чем было нанесено повреждение.
По Е4 имеем следующу картину - если 1-е попадание было из пулемёта, то все остальные пишут тоже как "попадание из пулемёта", если 1-е попадание из пушки, то всё какбудто бы из пушки повредилось.
З.Ы. Исключение - ранения персонажей. У них, похоже, пишется инверсия от 1-го попадания. Е4 (Е3) выбран потому, как у него есть вооружение с разным названием.
З.Ы.Ы. Либо, вложите скрипт - я сам проверю.
i7 2600К, 16Gb, GTX660Ti, SSD, Win7-64 full ака SDPG_Zed4ever
Из-за чего могут пропадать все декали мелкого калибра после достижения определенного их количества? (подробности по ссылке у меня в подписи)
Потенциал развития в БзБ заложенный ребятами и мной в самом начале на самом деле огромен....
Олег Медокс