Jump to content
Korean Random

Lemaxho

User
  • Content Count

    11
  • Joined

  • Last visited

Community Reputation

9 Noob

Contacts

  • Nick
    Lafouine
  1. Я было хотел, даже вижу в каком месте там недочёт, но лень:( и вообще считаю что баг минорный и брать не распределённое в расчёт не приоритетно. Проверить то просто, вывести принтом в лог состояния объекта танкиста которое используем при сравнении, опознать переменную с не распределённым опытом и ввести её в расчёт как дополнительный параметр.
  2. Тут проблема должна быть на уровне этих линий кода if (bestTankman["skills"].length < actualTankman["skills"].length) return true; //CASE 2.3 : bestTankman has the same number of skills that the actualTankman //if the bestTankman's lastskilllevel is < that actualTankman's //select the actualTankman if (bestTankman["lastSkillLevel"] < actualTankman["lastSkillLevel"]) return true; Эту ситуацию я не проверял при написании мода, так как не имел такого экипажа с не распределённой экспой. Нужно распечатать состояние Tankman["lastSkillLevel"] для обоих танкистов, возможно оно null у не распределённого танкиста и сравнение не работает как надо. Проверить не могу, не на ком. Так же надо проверить состояние полей они должны содержать полезную информацию о скиллах. Field : availableSkillsCount Field : lastSkillLevel Field : skills --> array of objects "skill"
  3. Мод работает правильно... в данном случае необходимо проверить состояние объектов танкистов, тут должно сравнивать уровень последнего перка, скорее всего не распределённый уровень игрой знахцится как уровень последнего перка. Если и править, то необходимо проводить точный анализ самого типа перка, а не только его уровня как сейчас. Если перк не распределён, предпочитать танкиста с назначенным перком.
  4. Когда я писал мод, то взял две базовых функции, посадка только родного экипажа, и посадка лучшего. Родной экипаж специально ограничил, на случай если надо посадить свой родной нубский экипаж с 50% в танк, в этом случае реальное умение после штрафа у 100% танкиста с одинаковым типом танка будет всё равно меньше и родной экипаж не будет выбран. Для посадки скилованного экипажа была вторая функция. Эту логику можно изменить, например убрав ограничение родного экипажа у прем танков. Раньше получал разные предложения для мода, например создание пользователем пресетов танкистов (посадили экипаж --> сохранили пресет для этого танка кнопкой. Появляется возможность сажать экипаж по пресету) Проблем с этим несколько, нужно писать пресет локально в папку (есть ли тейническая возможность?) , далее, при выборе пресета нужно парсить будет высаживать некоторых танкистов из танков, если они в пресете но находятся в других машинах. То есть перерыть нужно и другие калссы отвечающие за все танки в ангаре. Работы много, пользы мало. Ещё было предложение добавить опцию отключения кнопки "демобилизировать танкиста" из ангара. Некоторые по ошибке тыкают... Возможность останется в казарме. Динамически строить меню... Сейчас экипаж можно посадить вызовом с любого пустого поста в танке. Если добавляем дин. кнопку "посадить в тэтрарха именно экипаж с эмэс-1" то что будет делать эта кнопка? по нынешней логике, должна полностью сажать доступнуй экипаж с эмэски на все посты танка. А если танкист с эмэски есть только для поста командира, а второй сидит в другом танке?
  5. Так, перечитал сообщение о баге, не там искал проблему. Если посадил в ТТ танкиста от СТ, заместо родного с тт, Значит неправильно посчитало штраф от пересадки, сравнение уровня перков вообще не участвует. Проблема появилась в функции подсчёта штрафа.
  6. 1. Если есть несколько родных танкистов для одного и того же поста, будет выбран первый по списку, не находящийся в этом танке и не выбранный для другого поста этого же танка (например два радиста или заряжающих) Начнётся поиск танкиста для следующего поста. 2. Нет, сажает только родной экипаж, без исключения. Нету подходящих танкистов, ни кого не посадит.
  7. А вот не чего было оптимизорповать рабочий алгоритм) Он был проверен на большом количестве алёшек. Проверка перков должна идти только в случае if (best > current) { return false; } else if (best == current)... В нынешнем же варианте, она просто идёт ИФом после первичных критериев отбора, изза чего и неправильные результаты выбора.
  8. Всё как надо смотрит, или почти как надо... Сначала по штрафам, при равном штрафе сравнивает количество перков, если количество одинаковое, смотрит достигнутый процент на последнем перке и берёт того у кого он больше. Вроде были желающие получить ещё более тонкую сортировку, учитывающую и тип перков при сравнении. Пока не добавлено.
  9. Понятно. Думаю мне нужно тогда почистить свои сорцы (удалить неиспользуемые варгеевские файлы)и привести в соответствие некоторые пути. На этой неделе подготовлю. Пока даю ссылку на репозиторий в гугл коде с моим исходным кодом. http://code.google.com/p/crew-loader-mod/
  10. По этой ссылке http://www.koreanrandom.com/forum/topic/1780-гайд-по-изменению-и-добавлению-логики-swf/ to Sirmax Если интегрировать, то в какой подраздел? Детали лучше обговорить в личке.
  11. На данный момент выглядит так: Позволяет осуществлять посадку всего экипажа в пустой танк, нажатие на родной экипаж позволяет занимать места только специализирующимся на этом танке, на лучший экипаж - наиболее подходящим с учетом штрафов. 'Old message'
×
×
  • Create New...