ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
 
  |  
|   » Найденные ошибки | страница 52 |  
 
	
		 | 
		 | 
		 | 
	 
	| 
Звездные волки 2: Гражданская война: «Найденные ошибки» |  
	| 
	 |  
	 |  
	
		spb_genom  
   
 
     | 
         | 
		Arachnid.1M, вы имеете в виду C++ Redistributable? Попробую переустановить. 
 
 
добавлено спустя 13 минут:
 
 попробовал. Снёс все пакеты C++ Redistributable и поставил заново самый свежий. Попробовал убавить детализацию и разрешение экрана.
 
 
Эффекта ноль =((( Так же вылетает с той же ошибкой. 
        	  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Guest
   2076 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 Сообщения: 292  Откуда: Москва Зарегистрирован: 22.02.2012
      | 
         | 
		Столкнулся с неожиданной проблемкой. Сделал сейв игры с названием Танцы, после чего в правом верхнем углу экрана (поверх панели управления камерой) выскочила строка с постоянно изменяющимися значениями: ~ 120-130 fps 400-600 mB. Попытка загрузить более ранние сейвы ничего не дала, более того, эта строка теперь выскакивает сразу в меню игры.
 
Кто ни будь знает как это безобразие отключить, раздражает однако.   
 
Игра куплена в Онлине и пропатчена до 1.12.
 
ОС: Win 7, 64-разр. 
        	 _________________ - Пап!.. А инопланетяне есть?
 
- Нет, сынок, закончились. На, вот, сыру поешь.  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Airat
   72 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: Гражданская война: «Найденные ошибки» |  
	
		| 
		
		 | 
	 
 
      
        | К списку каналов | Наверх страницы  |  
Цитата не в тему:  "Не гоняй мандалея, ибо гоним оринокой будешь" - псалм 3, глава 2, строка 34 межгалактической библии.
 
  |  
        |   » Найденные ошибки | страница 52 |  
       
      
 |