ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Найденные ошибки | страница 52 |
|
|
|
Звездные волки 2: Гражданская война: «Найденные ошибки» |
|
|
spb_genom
|
|
Arachnid.1M, вы имеете в виду C++ Redistributable? Попробую переустановить.
добавлено спустя 13 минут:
попробовал. Снёс все пакеты C++ Redistributable и поставил заново самый свежий. Попробовал убавить детализацию и разрешение экрана.
Эффекта ноль =((( Так же вылетает с той же ошибкой.
|
|
|
Guest 2075 EGP
Рейтинг канала: 4(87) Репутация: 376 Сообщения: 27975 Откуда: Моск. Зарегистрирован: 12.10.2004 |
|
ОС, ЦП, видеокарта? Драйвера на оборудование последние? Что в логе ДО этого эксепшена? Переменных больно много.
_________________ Трещит земля как пустой орех
Как щепка трещит броня |
|
|
spb_genom
|
|
Guest, я отправлял на почту три дня назад лог, dxdiag и савку.
Отвечу на Ваши вопросы:
ОС: Windows XP Professional ServicePack 3, 32-разрядная, лицензионная, со всеми последними обновлениями.
CPU: AMD Athlon 64 3200+.
RAM 2.5 ГБ
Video: NVidia GeForce 7300 LE.
Драйвера стоят последние.
DXDiag проблем не выявляет.
Содержание лога полностью:
Cкрытый текст (кликните здесь для просмотра)
Log started: 16:35:23, Wednesday, February 08, 2012
Engine version: 1.12 build 284.2331
(16:35:23) (INFO) Root::InitObjects()
(16:35:23) (INFO) Init texture manager
(16:35:23) (INFO) Init Mesh manager
(16:35:23) (INFO) Init material manager
(16:35:23) (INFO) Root::InitObjects() OK
(16:35:23) (INFO) Game::InitApplication()
(16:35:23) (INFO) STARTED 3D system INIT
(16:35:23) (INFO) <Used HAL device>
(16:35:23) (INFO) D3D9_RenderKernel::Init: MultiSampleType = NONE
(16:35:23) (INFO) Primary surface format: PIXELFORMAT_XRGB_8888
(16:35:23) (INFO) Primary surface dimension: 1440 x 900
(16:35:23) (INFO) Set texture default format to: PIXELFORMAT_RGB_888, PIXELFORMAT_ARGB_8888
(16:35:23) (INFO) D3D9_RenderKernel::Init: MultiSampleQuality = 0
(16:35:23) (INFO) Z-Buffer with PIXELFORMAT_Z24S8 created
(16:35:23) (INFO) Direct3DDevice9->SetViewport ok.
(16:35:23) (INFO) Max Anisotropy = 16
(16:35:23) (INFO) Not used Anisotropy
(16:35:23) (INFO) Alpha-Testing State enabled
(16:35:23) (INFO) Hard MaxActiveLights = 8
(16:35:23) (INFO) Used MaxActiveLights = 8
(16:35:23) (INFO) ALPHABLEND= source: 0x3FFF, dest: 0x3FFF
(16:35:23) (INFO) TEXTUREFILTER= 0x3030700
(16:35:23) (INFO) COMPLETE 3D System INIT
(16:35:24) (INFO) Starting InitWorld()
(16:35:24) (INFO) InitWorld: Loading sound...
(16:35:24) (INFO) InitWorld: loading sound ok
(16:35:24) (INFO) GUIInit
(16:35:24) (INFO) GUIApplication::Init()
(16:35:24) (INFO) GUIApplication::Init() OK
(16:35:24) (INFO) GUIApplication::CreateSystemWindows()
(16:35:24) (INFO) GUIApplication::CreateConsole()
(16:35:24) (INFO) GUIApplication::CreateConsole() OK
(16:35:24) (INFO) GUIApplication::CreateSystemWindows() OK
(16:35:24) (INFO) GUIInit OK
(16:35:24) (INFO) RegisterActions OK
(16:35:24) (INFO) Root::GetMouseControl().ChangeFullscreen() OK
(16:35:25) (INFO) InitScene() OK
(16:35:25) (INFO) InitWorld() Complete
(16:35:25) (INFO) Game::InitApplication() OK
(16:35:28) (INFO) ExecuteScriptFile - DATA\Scripts\MapInitialization.script
(16:35:28) (INFO) ExecuteScriptFile - DATA/Scripts/system.lst
(16:35:28) (INFO) ExecuteScriptFile - DATA/Scripts/include/vector3.script
(16:35:28) (INFO) ExecuteScriptFile - DATA/Scripts/AI/shipFormation.script
(16:35:28) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_TransformResult.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_Attack.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_AttackFrontal.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_Defend.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_Eject.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/CalculatePilotSkills.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_RescuePodDestruction.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/JamRocket.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/mshipHangarDispatcher.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/escortDispatcher.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/group_formation.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/perkDispatcher.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Specials.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/PortalInterface.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/AI/ShipPoisoning.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/FloodTradeStations.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/create_flight_2.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/Create_clouds.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/LevelUp.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/PilotProperties.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/ObjectInfo.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/NextTutorialStep.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/Stocks.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/MotherShipDeadMovie.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/MotherShipDeadAction.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/DockStation.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/RandomObjects.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/ObjectList.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/TeleportingStuff.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/Recruits.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/CostOfPirates.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/DeclareRelations.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/NewTriggers.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/RandomContacts.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/RandomFmerc.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/OutOfMission.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/Respawn.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/DefStation.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/MineField.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/Anomalies.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/RespawnProg.script
(16:35:29) (INFO) ExecuteScriptFile - DATA/Scripts/include/PlayLists.script
(16:35:29) (INFO) ExecuteScriptFile - DATA\Scripts\Menu\level.lst
(16:35:29) (INFO) ExecuteScriptFile - DATA\Scripts\Menu\coordinates.script
(16:35:31) (INFO) ExecuteScriptFile - DATA\Scripts\Menu\declare.script
(16:35:31) (INFO) ExecuteScriptFile - DATA\Scripts\Menu\objects.script
(16:35:42) (INFO) ExecuteScriptFile - DATA\Scripts\Menu\movie.script
(16:35:42) (INFO) ExecuteScriptFile - DATA\Scripts\Menu\triggers.script
[ScriptSystem] Begining
(16:35:50) (INFO) ExecuteScriptFile - DATA\Scripts\MapInitialization.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/system.lst
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/vector3.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/shipFormation.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_TransformResult.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_Attack.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_AttackFrontal.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_Defend.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_Eject.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/CalculatePilotSkills.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Case_RescuePodDestruction.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/JamRocket.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/mshipHangarDispatcher.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/escortDispatcher.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/group_formation.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/perkDispatcher.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/Specials.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/PortalInterface.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/AI/ShipPoisoning.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/FloodTradeStations.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/create_flight_2.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/Create_clouds.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/LevelUp.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/PilotProperties.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/ObjectInfo.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/NextTutorialStep.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/Stocks.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/MotherShipDeadMovie.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/MotherShipDeadAction.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/DockStation.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/RandomObjects.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/ObjectList.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/TeleportingStuff.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/Recruits.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/CostOfPirates.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/DeclareRelations.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/NewTriggers.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/RandomContacts.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/RandomFmerc.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/OutOfMission.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/Respawn.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/DefStation.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/MineField.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/Anomalies.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/RespawnProg.script
(16:35:50) (INFO) ExecuteScriptFile - DATA/Scripts/include/PlayLists.script
(16:35:52) (INFO) LoadFromStream_Enviroment: result: Ok!
(16:35:52) (INFO) LoadFromStream_CameraParams: result: Ok!
(16:35:52) (INFO) LoadFromStream_Map: result: Ok!
(16:35:52) (INFO) LoadFromStream_MapSelector: result: Ok!
(16:36:03) (INFO) Current Difficulty level is:EASY
(16:36:03) (INFO) LoadFromStream_TeamManager: result: Ok!
(16:36:04) (INFO) LoadFromStream_SceneStuff: result: Ok!
(16:36:04) (INFO) LoadFromStream_Script: result: Ok!
(16:36:04) (INFO) LoadFromStream_Diplomacy: result: Ok!
(16:36:04) (INFO) LoadFromStream_QuestManager: result: Ok!
(16:36:04) (INFO) LoadFromStream_GameInterface: result: Ok!
(16:36:04) (INFO) LoadFromStream_MusicPlayList: result: Ok!
(16:36:04) (INFO) LoadFromStream_LocationManager: result: Ok!
(16:36:05) (INFO) LoadFromStream_TradeSystem: result: Ok!
(16:36:05) (INFO) LoadFromStream_QuestManager2: result: Ok!
(16:36:05) (INFO) LoadFromStream_PortalManager: result: Ok!
(16:36:05) (INFO) LoadFromStream_RecruitManager: result: Ok!
(16:36:05) (INFO) ExecuteScriptFile - DATA\Scripts\Locations\nk\functions.script
(16:36:05) (INFO) ExecuteScriptFile - DATA\Scripts\Quests\MISSION_15E\BERSERKRETURN_NK.script
[EXCEPTION] 0x005247d0 EXCEPTION_ACCESS_VIOLATION (The thread attempted to read from or write to a virtual address for which it does not have the appropriate access.)
[EXCEPTION] [INFO] Memory Usage = 232.312500 Mb
[EXCEPTION] [INFO] heapchk return = -2 HEAP Ok
|
|
|
|
Kish 835 EGP
Рейтинг канала: 6(464) Репутация: 164 Сообщения: 14640 Откуда: Великокацапия Зарегистрирован: 05.03.2002 |
|
Спасибо за обращение.
Присутствует нестабильная работа игры с Вашего сейва, о причинах можно будет говорить только после анализа ситуации.
Попробуйте воспользоваться более ранним сейвом и пойти по другой ветке.
_________________ If Tetris Has Taught Me Anything, It’s That Errors Pile Up and Accomplishments Disappear |
|
|
zeloone 60 EGP
Рейтинг канала: 2(10) Репутация: 1 Сообщения: 187 Откуда: Киров Зарегистрирован: 24.05.2009 |
|
spb_genom : |
Нью-Киото, отказался от ветки за УЭЛа, после боя с берсерками собрал хабр, затарился на станции и полетел через портал. Вылетает в винду с ошибкой. Причём неважно, через какой портал я выхожу - эффект один и тот же.
|
Такая же фигня была. После массы перезагрузок пришёл к выводу, что станция с УЭЛом должна быть уничтожена последней.
____________________
И ещё не мог добиться прихода Трампа на помощь.
_________________ - Как Вы расслабляетесь?
- А мы и не напрягаемся... |
|
|
spb_genom
|
|
zeloone, в смысле, Мантикору грохать последней? Ну тут надо быть просто ювелиром, так как если её не грохают мои гаврики, её весело и радостно грохают серые.
А Трамп-то там какими судьбами?
Видимо, я немного о другой миссии. Я попал в Нью-Киото по просьбе УЭЛа, потом диалог с Алексом, я шлю УЭЛа, оказываюсь на каком-то летающем дерьме, сматываюсь к станции, там мне дают mothership Лев, я его по-скорому экипирую и иду этим крейсером собирать своих сбитых пилотов и жёстко драть задницы берсеркам. После чего я собираю весь лут, скидываю его за кэш на ближайшей барахолке, покупаю более-менее приличные лоханки и убер-пушки для своих пилотов, прокачиваю умения и отправляюсь в Торр. И вот тут-то у меня и возникает вылет в винду. И неважно, через какой портал я выхожу. Это всё ещё до мочилова со станциями происходит, а задания КФНИ я вообще не выполнял.
добавлено спустя 3 минуты:
Kish, всегда пожалуйста!
Буду ждать, так как по более-менее вменяемым для себя веткам прошёл уже игру. Теперь вот хотелось пройти по этой ветке очень.
Надеюсь, рассмотрение не затянется на века
|
|
|
spb_genom
|
|
ну, как продвигается рассмотрение найденного бага?
|
|
|
.Kraken 70 EGP
Репутация: 5 Сообщения: 290 Откуда: Москва Зарегистрирован: 22.02.2012 |
|
Столкнулся с неожиданной проблемкой. Сделал сейв игры с названием Танцы, после чего в правом верхнем углу экрана (поверх панели управления камерой) выскочила строка с постоянно изменяющимися значениями: ~ 120-130 fps 400-600 mB. Попытка загрузить более ранние сейвы ничего не дала, более того, эта строка теперь выскакивает сразу в меню игры.
Кто ни будь знает как это безобразие отключить, раздражает однако.
Игра куплена в Онлине и пропатчена до 1.12.
ОС: Win 7, 64-разр.
_________________ - Пап!.. А инопланетяне есть?
- Нет, сынок, закончились. На, вот, сыру поешь. |
|
|
Airat 71 EGP
Рейтинг канала: 1(3) Репутация: 4 Сообщения: 123 Откуда: Москва Зарегистрирован: 29.12.2009 |
|
Кнопочка "W" отвечает за включение/выключение FPS. Просто нажми её ещё раз.
|
|
|
valv 62 EGP
Рейтинг канала: 3(42) Репутация: 7 Сообщения: 96 Откуда: Odessa Зарегистрирован: 14.10.2011 |
|
неправильный вызов функций в скриптах. (ЗВ2."Гражданская война", версия 1.12.)
скрипт Data\Scripts\Quests\mission_19c\ProblemOfChoice_NK.script, вызов функции MovieIsPlaying():
в коде скрипта функция вызывается как "if (MovieIsPlaying()) then"…
хотя сама функция всегда возвращает число.
/* 0 - если мульт не проигрывается и 1 - если идёт показ мульта*/
скрипт Data\Script\Menu\objects.script, цикл по пилотам.
типовой вариант:
count = flight_pat_1:GetPilotCount();
for i=0,count,1 do
pilot_tmp = flight_pat_1:GetPilotByNumber(i);
ship_tmp = pilot_tmp:GetShip();
ship_tmp:SetOverVisibleForPlayer(TRUE);
end;
в функции GetPilotByNumber() нумерация начинается с единицы.
_________________ Если мечтать, то ни в чём себе не отказывать :)
Последний раз редактировалось: valv (03:13 13-05-2013), всего редактировалось 2 раз(а) |
|
|
Lion[MX] 270 EGP
Рейтинг канала: 1(9) Репутация: 60 Сообщения: 1141 Откуда: Москва Зарегистрирован: 14.01.2005 |
|
valv : |
в коде скрипта функция вызывается как "if (MovieIsPlaying()) then"…
хотя сама функция всегда возвращает число.
|
Эти числа уже определены в MapInitialization.script
Код: |
--//////////// DEFINES //////////////////
TRUE = 1;
FALSE = 0; |
_________________ Мне сверху видно всё, ты так и знай. |
|
|
Michael_Moon 100 EGP
Рейтинг канала: 4(51) Репутация: -2 Сообщения: 669 Откуда: РК, Кокшетау Зарегистрирован: 15.02.2011 |
|
Lion[MX] : |
valv : |
в коде скрипта функция вызывается как "if (MovieIsPlaying()) then"…
хотя сама функция всегда возвращает число.
|
Эти числа уже определены в MapInitialization.script
Код: |
--//////////// DEFINES //////////////////
TRUE = 1;
FALSE = 0; |
|
А каким образом true/false, на которые идет проверка в данном выражении в приведенной цитате, согласуется с глобальными переменными TRUE/FALSE? Ведь MovieIsPlaying() в любом случае вернет true, т.к. 0 - тоже true.
Последний раз редактировалось: Michael_Moon (06:47 14-05-2013), всего редактировалось 1 раз |
|
|
valv 62 EGP
Рейтинг канала: 3(42) Репутация: 7 Сообщения: 96 Откуда: Odessa Зарегистрирован: 14.10.2011 |
|
в том то и дело, что в Луа if сравнивает своё выражение с nil, а не с TRUE или FALSE, и пока привыкнешь...
код if FALSE then LOG("if-then"); else LOG("if-else"); end; напишет "if-then";
В скрипте миссии было бы правильно написать if (MovieIsPlaying() == TRUE) then ...
тогда, если MovieIsPlaying() вернул бы FALSE, выражение было бы равно nil, и выполнился бы второй блок if.
Cкрытый текст (кликните здесь для просмотра)
а вообще - сама функция при отсутствии мульта должна была бы возвращать не 0 , а nil - тогда не было бы этой путаницы... но чего нет - того нет.
для себя в самом начале знакомства с Луа я в шутку расписал работу if:
true
tag 1, type 'nil', value nil
false
tag 1, type 'nil', value nil
TRUE
объявлена в скрипте MapInitialization.script
tag 2, type 'number', value 1
FALSE
объявлена в скрипте MapInitialization.script
tag 2, type 'number', value 0
("A"=="A")
tag 2, type 'number', value 1
("A"~="A")
tag 1, type 'nil', value nil
not ("A"~="A") -- TRUE
tag 2, type 'number', value 1
not ("A"=="A") -- not(TRUE)
tag 1, type 'nil', value nil
(nil == nil)
tag 2, type 'number', value 1
|
_________________ Если мечтать, то ни в чём себе не отказывать :)
Последний раз редактировалось: valv (14:06 15-05-2013), всего редактировалось 1 раз |
|
|
valv 62 EGP
Рейтинг канала: 3(42) Репутация: 7 Сообщения: 96 Откуда: Odessa Зарегистрирован: 14.10.2011 |
|
Ошибки функций движка в ЗВ2."Гражданская война":
StopHere()
- EXCEPTION при отсутствии у игрока и пилотов и корабля-базы
(наткнулся на ошибку функции не в игре, а в тестовой локации)
RemoveBaseDriver()
- EXCEPTION при отсутствии за управлением корабля-базы пилота игрока;
2013:11:13 ошибка вылазит не всегда. условия её появления не выяснил.
- глобальная переменная BasePilot может не соответствовать значению mothership:GetPilot()
(BasePilot.id ~= mothership:GetPilot().id)
(т.е. не обновляется - забыли)
Cкрытый текст (кликните здесь для просмотра)
после перехода через портал, при отсутствии пилота игрока за управлением корабля-базы,
BasePilot.id == mothership:GetPilot().id
после "сажания" пилота игрока за управление кораблём-базой,
глобальная переменная BasePilot остаётся, но её
GetName() == ""
GetGroup() == nil
GetFlight() == nil
после возвращения прошивке (BasePilot%_AI_name%) управления кораблём-базой
старая переменная BasePilot остаётся с теми же параметрами,
а mothership:GetPilot().id вернёт уже другой ИД,
но mothership:GetPilot():GetName() вернёт то же имя пилота (BasePilot%_AI_name%)
при входе в систему, если ГГ за управлением корабля-базы:
[ScriptSystem] 1. BasePilot
[ScriptSystem] id=688
[ScriptSystem] Flags: IsAlive IsCanSayReplica
[ScriptSystem] Side: Player
[ScriptSystem] Piloting: 10
[ScriptSystem] Gunnery: 10
[ScriptSystem] Missiles: 10
[ScriptSystem] Electronics: 10
[ScriptSystem] Group: <group>, id=177
[ScriptSystem] Flight: <flight>, id=223
[ScriptSystem] FlightRole: ROLE_LEADER
[ScriptSystem] Ship: <ship>, "mothership_arba_pirate", maneurability= 4, id = 29173
[ScriptSystem] PERKS:
[ScriptSystem] Piloting_1
[ScriptSystem] Gunnery_1
[ScriptSystem] Systems_1
[ScriptSystem]
[ScriptSystem] 4. pilot_Hero
[ScriptSystem] id=688
[ScriptSystem] Flags: IsAlive IsCanSayReplica
[ScriptSystem] Side: Player
[ScriptSystem] Piloting: 10
[ScriptSystem] Gunnery: 10
[ScriptSystem] Missiles: 10
[ScriptSystem] Electronics: 10
[ScriptSystem] Group: <group>, id=177
[ScriptSystem] Flight: <flight>, id=223
[ScriptSystem] FlightRole: ROLE_LEADER
[ScriptSystem] Ship: <ship>, "mothership_arba_pirate", maneurability= 4, id = 29173
[ScriptSystem] PERKS:
[ScriptSystem] Piloting_1
[ScriptSystem] Gunnery_1
[ScriptSystem] Systems_1
после снятия ГГ с управления корабля-базы:
[ScriptSystem] 1. BasePilot
[ScriptSystem] id=688
(07:37:06) (ERROR) Pilot_IsCanSayReplica: flight has no leader.
[ScriptSystem] Flags: IsAlive IsCanSayReplica IsEscort (self, <pilot> id=688) IsInBase
[ScriptSystem] Side: Player
[ScriptSystem] Piloting: 10
[ScriptSystem] Gunnery: 10
[ScriptSystem] Missiles: 10
[ScriptSystem] Electronics: 10
[ScriptSystem] Group: <group>, id=177
[ScriptSystem] Flight: <flight>, id=30637
[ScriptSystem] FlightRole: ROLE_DOCKED
(07:37:06) (ERROR) [ScriptError] Can''t get ship or flight into Pilot_GetShip func!
[ScriptSystem] Ship: not defined, result type is <nil>
[ScriptSystem] PERKS:
[ScriptSystem] Piloting_1
[ScriptSystem] Gunnery_1
[ScriptSystem] Systems_1
[ScriptSystem]
[ScriptSystem] 4. pilot_Hero
[ScriptSystem] id=688
(07:37:08) (ERROR) Pilot_IsCanSayReplica: flight has no leader.
[ScriptSystem] Flags: IsAlive IsCanSayReplica IsEscort (self, <pilot> id=688) IsInBase
[ScriptSystem] Side: Player
[ScriptSystem] Piloting: 10
[ScriptSystem] Gunnery: 10
[ScriptSystem] Missiles: 10
[ScriptSystem] Electronics: 10
[ScriptSystem] Group: <group>, id=177
[ScriptSystem] Flight: <flight>, id=30637
[ScriptSystem] FlightRole: ROLE_DOCKED
(07:37:08) (ERROR) [ScriptError] Can''t get ship or flight into Pilot_GetShip func!
[ScriptSystem] Ship: not defined, result type is <nil>
[ScriptSystem] PERKS:
[ScriptSystem] Piloting_1
[ScriptSystem] Gunnery_1
[ScriptSystem] Systems_1
[ScriptSystem] log_returns: line 1, file = log_return(mothership:GetPilot().id)
[ScriptSystem] result[1] <number>, tag 2, value = 30636
[ScriptSystem] log_returns: line 1, file = log_return(mothership:GetPilot():GetName())
[ScriptSystem] result[1] <string>, tag 3, value = BasePilot
[ScriptSystem] log_returns: line 1, file = log_return(BasePilot:GetName())
[ScriptSystem] result[1] <string>, tag 3, value = Hero
|
CombineStr()
- поддержка в маске формата не более двух параметров
StartDialog()
- функция не работает при отсутствии у игрока корабля-базы
(при этом, никакого сообщения об ошибке в лог-файл не выдаётся)
FocusOn()
- EXCEPTION при вызове без параметров, или с параметром равным nil.
pilot:IsEscort()
- EXCEPTION при вызове, если пилот находится в спасательной капсуле.
((pilot:IsAlive() == TRUE) and (pilot:IsCanSayReplica() == nil))
- EXCEPTION при вызове, если пилот не имеет флайта
(пилот создан, но ему не был назначен корабль и корабль не включался в звено)
((pilot:IsAlive() == TRUE) and (pilot:IsCanSayReplica() == TRUE) and (pilot:GetFlight() == nil) and (pilot:GetShip() == nil))
pilot:GetShip()
вызов pilot:GetShip() возвращающий его корабль (tag 11), не означает, что этот корабль имеет каркас,
(определить можно ли вызывать функции корабля можно через сравнение (pilot:GetShip():GetName() ~= nil) )
ClearQuests()
- EXCEPTION если квестов ещё не было.
(поставить первой строкой в функции ACTION_INIT() миссии ReturnHero.script - игра вылетит)
P.S.Если что ещё вспомню - допишу.
P.S.S. как я писал, с практической точки зрения, убрать часть ошибок вполне можно и на скриптовом уровне.
Cкрытый текст (кликните здесь для просмотра)
любая функции движка может быть перекрыта скриптовой, вызывающей оригинальную функцию движка внутри себя,
а соотв. - на уровне скриптов можно ввести любые дополнительные проверки перед вызовом функций движка, и после вызова функции движка, дополнить её работу своим кодом (ну вроде запоминания ИД и типа объекта перед его удалением, и после удаления объекта - установка в nil глобальных переменных ссылающихся на объекты того же типа и с тем же ИД).
...и не делать это в каждом скрипте миссии (ЗВ2.ГВ), после каждого удаления, а один раз для каждого типа игровых объектов - при задании своей функции-оболочки.
|
_________________ Если мечтать, то ни в чём себе не отказывать :)
Последний раз редактировалось: valv (18:29 23-11-2013), всего редактировалось 17 раз(а) |
|
|
valv 62 EGP
Рейтинг канала: 3(42) Репутация: 7 Сообщения: 96 Откуда: Odessa Зарегистрирован: 14.10.2011 |
|
движок ЗВ2."Гражданская война". версия 1.12:
потеря данных в таблицах Lua после сохранения игры и последующей загрузки,
если индекс записи таблицы совпадает с именем константы движка (.exe).
т.е. были в таблице данные. сохранились и загрузились - нет данных ...
прошли портал - опять данные появились. сохранились и загрузились - нет данных ...
проверить можно сразу в начале игры.
Cкрытый текст (кликните здесь для просмотра)
Код: |
tab_test = {};
tab_test['ROLE_ATTACK' ] = TRUE;
tab_test['ROLE_ATTACK_s'] = TRUE;
function log_test()
str1 = format('tab_test[\'ROLE_ATTACK\' ] = %s', tostring(tab_test['ROLE_ATTACK']));
str2 = format('tab_test[\'ROLE_ATTACK_s\'] = %s', tostring(tab_test['ROLE_ATTACK_s']));
_ALERT(str1);
_ALERT(str2);
end;
log_test();
---------------------------------
поставить в любой файл из include.
начать новую игру.
вызвать консоль и выполнить
> runscript log_test()
затем сохраниться и загрузить сохранённую игру.
вызвать консоль и выполнить:
> runscript log_test()
результат:
начало игры:
[ScriptSystem] tab_test['ROLE_ATTACK' ] = 1
[ScriptSystem] tab_test['ROLE_ATTACK_s'] = 1
после сохранения и загрузки:
[ScriptSystem] tab_test['ROLE_ATTACK' ] = nil
[ScriptSystem] tab_test['ROLE_ATTACK_s'] = 1 |
|
насколько я понял, эта "особенность" движка относится ко ВСЕМ именам констант движка (и к числовым и к строковым), и почему-то к TRUE и FALSE.
P.S. уточню, что говоря константы движка, я имею ввиду только те, которые .exe объявляет в контексте lua, к именам переменных, объявленных в скриптах это не относится (или "почти" не относится).
P.S.S. если индекс записи в таблице Lua или тип данных совпадает с чем-то, что движок игры не читает из файла сохранения, то кроме потери данных идёт и некорректное считывание другой информации. эффекты от этого получаются разнообразные.
_________________ Если мечтать, то ни в чём себе не отказывать :)
Последний раз редактировалось: valv (04:43 28-06-2013), всего редактировалось 10 раз(а) |
|
|
Stern Ritter 51 EGP
Репутация: 0 Сообщения: 25 Откуда: Территория Теней Зарегистрирован: 03.01.2013 |
|
Может быть уже обсуждалось - не знаю. Просто неприятный момент.
Когда проходишь сюжетку за ИноКо и надо подбирать Яну у разрушенной станции, получается только после сэйв-лоада, т.к. если подлетать к обломкам с первого раза - ничего не происходит.
|
|
|
valv 62 EGP
Рейтинг канала: 3(42) Репутация: 7 Сообщения: 96 Откуда: Odessa Зарегистрирован: 14.10.2011 |
|
Ну что стоило в движке добавить возможность в скриптах:
- убрать у пилота перк;
- получить текущий уровень щита корабля;
??
P.S. Если остались какие-то тестовые билды экзешника ГВ, имеющие дополнительные возможности, не могли бы вы их выложить ?
_________________ Если мечтать, то ни в чём себе не отказывать :)
Последний раз редактировалось: valv (11:06 21-10-2013), всего редактировалось 1 раз |
|
|
valv 62 EGP
Рейтинг канала: 3(42) Репутация: 7 Сообщения: 96 Откуда: Odessa Зарегистрирован: 14.10.2011 |
|
Проблема со скоростью функций:
GetOwnerTeamOfGroup(group), GetGroupByName(<string>), carcass:GetGroupName()
моя тестовая функция содержала код:
Код: |
local team_name = GetOwnerTeamOfGroup(carcass:GetGroupName());
if not (type(team_name) == 'string') and (team_name ~= '')
then team_name = 'others';
end;
|
второй вариант кода:
Код: |
local team_name = carcass:GetPilot():GetSide();
if not (type(team_name) == 'string') and (team_name ~= '')
then team_name = 'others';
end; |
время выполнения первого варианта функции (в цикле 100 раз):
Engine version: 1.1 build 281.2285
9.97698974609375 секунд
Engine version: 1.12 build 284.2331
3.386993408203125 секунды
время выполнения второго варианта функции (в цикле 100 раз):
Engine version: 1.1 build 281.2285
0.0019989013671875 секунды
Engine version: 1.12 build 284.2331
0.00201416015625 секунды
третий тестовый вариант кода:
Cкрытый текст (кликните здесь для просмотра)
Код: |
local team_name = carcass:GetSide();
if not (type(team_name) == 'string') and (team_name ~= '')
then team_name = 'others';
end; |
с объявлениями функций:
Код: |
_CLASS[_class_tag.Group].GetSide = GetOwnerTeamOfGroup;
_CLASS[_class_tag.Ship].GetGroup = function(carcass)
return GetGroupByName(carcass:GetGroupName());
end;
_CLASS[_class_tag.Ship].GetSide = function(carcass)
return carcass:GetGroup():GetSide();
end;
--эт просто для теста. писать вот так "без проверок" нельзя.
|
время выполнения третьего варианта функции (в цикле 100 раз):
Engine version: 1.1 build 281.2285
10.96400451660156 секунд
Engine version: 1.12 build 284.2331
6.12200927734375 секунды
|
P.S. я понимаю, что код первого и второго варианта - неравноценный "по смыслу" (пилота у каркаса может и не быть, да и проверки возвращаемых функциями результатов - нужны), но тут речь об очень большой просадке в скорости работы функций, по отношению к их возможному аналогу.
P.S.S. разница в скорости - в ПЯТЬ ТЫСЯЧ РАЗ (build 281.2285) или около ТЫСЯЧИ СЕМИСОТ раз (build 284.2331)
_________________ Если мечтать, то ни в чём себе не отказывать :)
Последний раз редактировалось: valv (08:23 22-10-2013), всего редактировалось 11 раз(а) |
|
|
Lion[MX] 270 EGP
Рейтинг канала: 1(9) Репутация: 60 Сообщения: 1141 Откуда: Москва Зарегистрирован: 14.01.2005 |
|
valv : |
Проблема со скоростью функций:
GetOwnerTeamOfGroup(group), GetGroupByName(<string>), carcass:GetGroupName()
|
Во втором варианте значение переменной берется по прямым ссылкам. В первом же варианте - поиском в глобальной таблице (а там содержатся все объекты).
Функция RemovePerk есть в движке версии 1.3.22.109, но использовать его не получится.
_________________ Мне сверху видно всё, ты так и знай. |
|
|
valv 62 EGP
Рейтинг канала: 3(42) Репутация: 7 Сообщения: 96 Откуда: Odessa Зарегистрирован: 14.10.2011 |
|
Lion[MX] : |
valv : |
GetOwnerTeamOfGroup(group), GetGroupByName(<string>), carcass:GetGroupName()
|
...поиском в глобальной таблице (а там содержатся все объекты).
|
Большое спасибо за ответ. По поиску в глобальной таблице - понятно, что он должен быть медленнее, но кеширование тоже можно было сделать.
На практике, использование этих функций в АИ - отличная возможность получить в игре от 1.5 до 2.5, и иногда даже до 5 FPS
В той задаче, что я "уже сделал" под ГВ (включение обсчёта пробиваемости "брони") - эти функции использовались (в первой версии кода) только как вспомогательные, и без них вполне можно было обойтись (замена на аналог).
Lion[MX] : |
Функция RemovePerk есть в движке версии 1.3.22.109, но использовать его не получится.
|
Тут речь идёт о скорее "непрофильном" применении - не столько в скриптах миссий, сколько в АИ, для возможности "удобного" запомининия состояния объекта, как в самой локации, так и при переходе между ними. Аналог - использование вспомогательных таблиц Луа и questlabel, но это и неудобно, и медленнее, и более громоздко с точки зрения написания кода (хотя работает).
С кем можно обсудить возможность вынесения этой функции в официальную версию движка ГВ (специальная редакция, патч к игре, небольшое дополнение, ...) ?
/* вопрос интересен тем, что под ГВ "накопилось" достаточно много мелких изменений, существенно затрагивающих как сам игровой процесс, так и внешний вид игры */
_________________ Если мечтать, то ни в чём себе не отказывать :)
Последний раз редактировалось: valv (05:47 23-10-2013), всего редактировалось 5 раз(а) |
|
|
|
|
|
Звездные волки 2: Гражданская война: «Найденные ошибки» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: На 18 странице совещания модератор КСО Nadin и модератор ЖК и КС Harley наконец решили выяснить, о чем же все же они будут совещаться. (Harley)
|
» Найденные ошибки | страница 52 |
|