A.I.M. Jagged Alliance2

Добро пожаловать, Гость. Пожалуйста, выберите:
Вход || Регистрация.
25.04.2024 в 07:12:05

Главная Главная Помощь Помощь Поиск Поиск Участники Участники Вход Вход Регистрация Регистрация
A.I.M. « Первые шаги... »
   A.I.M.
   Обсуждаем игры
   Гробокопатели
(Модераторы: Терапевт, ThunderBird)
   Первые шаги...
« Предыдущая Тема | Следующая Тема »
  Тема:  Первые шаги...             Страниц: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Прочитано 140287 раз
Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #250 от 23.09.2004 в 11:22:30 »

SOS !
Пытаюсь в довесок подствольнику M203 реализовать ГП30 со своими выстрелами ВОГ.
Все необходимые изменения внес по аналогии с имеющимися для    UNDER_GLAUNCHER.
Единственная проблема - переключение в режим подствольника.
Weapons.c Ln. 4385 (в чистых исходниках):
if (FindAttachment( &(pSoldier->inv[HANDPOS]), UNDER_GLAUNCHER ) == ITEM_NOT_FOUND || FindLaunchableAttachment( &(pSoldier->inv[HANDPOS]), UNDER_GLAUNCHER ) == ITEM_NOT_FOUND )
Если я добавляю туда аналогичные строки для GP30, то отваливаются оба подствольника. Т.е. перехода в режим вообще не происходит ни с каким.
Если не добавлять ничего, а заменить UNDER_GLAUNCHER на GP30, то ГП30 работает, а М203 - разумеется нет. Это вроде как подтверждает, что больше нигде я не напортачил.
В общем я уже на грани истерики...: cry :
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #251 от 23.09.2004 в 12:10:42 »

2Raty: Такие отрывки не несут особой инфы. Попробую дома порыться.
Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

WISDOM
[Я тоже не знаю где ЧАВО !]
Полный псих

БЫСТРЫЙ И МЕРТВЫЙ


Ё-мэйл

Пол:
Репутация: +80
Re: Первые шаги...
« Ответ #252 от 25.09.2004 в 00:11:53 »

               Доброго всем вечера!
 
После некоторого перерыва,я снова на форуме.
Скачал екзешник с новым разрешением,в связи с чем имею что сказать.
2 Bezumnij_Kovrik:
Юзал новый екзешник-в общем гут,явных глюков я не нашел,хотя если откровенно(не в обиду) я ожидал немного большего,но обо всем по порядку:
1)Переделал имеющиеся у меня исходники под 800х600-в общем не особо сложно,сперва
правда косячило картинку(пока не поменял gpZBuffer с 1280 на 1600).
2)У меня(как и у тебя)нельзя сделать скриншот PrintScrnом(можно только через вставку в Paint)-картинка размазана-почему ???
Похоже нужно править параметры в Overhead map.c Ln 44-    NORMAL_MAP_SCREEN_WIDTH  3160;NORMAL_MAP_SCREEN_HEIGHT    1540;
NORMAL_MAP_SCREEN_X 1580 и.т.д.-но я не пойму,как они расчитываются? ???                                                          
3)Передвинул координаты панели ключей,но кнопка почему то не работает(сталкивался с этим еще при расширении интерфейса),
если тебе не в лом-подскажи пожалуйста,в чем трабла?Помоги пожалуйста! :'(                                                          
4)При заходе в сектор(у тебя,в новом екзе) зона высадки осталась в пределах старых координат-почему? ???
Это связано с физическим размером карт(в смысле нужно рисовать новые)или с чем?
Что за черная зона(по диагонали)в правом верхнем и левом нижнем углу карты,при расстановке мерков,и при просмотре в тактике карты(по правому клику
мышки на радарной карте)-Физическая граница карты?
Размер карты задается в Editor\Sector Symmaru.c (#define MAP_SIZE 208) или где то еще?Можно ли его изменить-в смысле будут ли грузиться
после этого рРедактором старые карты?
2 ALL:
Собрался переделать Редактор под новое разрешение,собрал Дебаг(который запускается в оконном режиме),запустил-подвис!
Но поскольку Редактор увидеть все таки хотелось-внес кое какие изменения в Builddefines.h (в SGP)#ifndef           JA2TESTVERSION
#define JA2TESTVERSION
      #define JA2EDITOR
#endif
В результате:
1)По времени собирается,как релиз(быстрее дебага)  
2)Весит меньше-2.82 против 4.69(дебаг)
3)Работает быстрее Дебага(не тормозит при скролировании)
Собирать можно релиз,только предварительно на вкладке Project\Properties\Linker\Input-убрать подключение
vtuneapi.lib
По сути получился облегченный Дебаг,Редактор активируется аналогично(ja2.exe -EDITOR из Volcov com. или F9 в игре).
Для сборки нормального релиза(без редактора и дебаг функций)нужно поменять мой Builddefines.h в SGP,на предидущий(например из JA2\Build\)
В завершении вопрос всем присутствующим:
Насколько сложно переделать Едитор по типу ЦС-для создания карт с нуля ???
« Изменён в : 25.09.2004 в 00:15:57 пользователем: WISDOM » Зарегистрирован

Мафия убивает выстрелами в упор
Bezumnij_Kovrik
[Обезбашенный ковролин]
Неназываемый

JaFall Team


WWW Ё-мэйл

Пол:
Репутация: +390
Re: Первые шаги...
« Ответ #253 от 25.09.2004 в 15:32:01 »

2WISDOM: А чего ты ожидал?  :). Я же позиционировал переделку исключительно интерфейса и больше ничего другого...
1. Угу-угу... правильно :).
2. Это вряд ли. Скрины скорее всего не делаются из-за какой-то внутренней процедуры. Если приглядишься, то увидишь, что скрины как бы сделаны правильно, но левая сторона несколько раз наложена на правую + какой-то невразумительный интерлейсинг. К тому же объем картинки (в кб) такой же, как должен быть у картинки размером 800х600. Я с этим довольно долго мучился, пока не плюнул. И еще: вставляй картинки из буфера в фотошоп и никаких размытостей не будет.
3. У меня была только одна трабла с этой кнопочкой, но исключительно от кривых моих рук. Я там вместо координаты Y задал координату Х. Как следствие кнопка уехала дааааалеко вниз за пределы экрана. Тщательно просмотри код кнопки. М.б. подобная ботва...
4. Не понял вопроса... какие старые коорднаты? Про черные пятна и дыры ничего сказать не могу, поскольку не видел их... можешь сделать скрин?
 
Редактор: нужно просто раскомментировать тестовую версию, тогда получается редактор, тестовая версия игры (системные сообщения доступны) + НПЦ/квест дебаггер.
Зарегистрирован

Весь софт для редактирования Джа2!
http://ja2.org/
Также, Вы найдете здесь исходники игры ;)
"Беда, коль ПЗС начнет фигачить доктор, А пендицит кромсать - радист!" (ц) Крылов-Лямлюм.

Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #254 от 26.09.2004 в 12:30:58 »

Raty, посмотрел я, наконец, Випон.с и пр.
1. Свой ГП25 ты определил в Item Types.h?
2. Вместо дублирования блока необходимо изменить условие на:
if (FindAttachment( &(pSoldier->inv[HANDPOS]), UNDER_GLAUNCHER ) == ITEM_NOT_FOUND || FindLaunchableAttachment( &(pSoldier->inv[HANDPOS]), UNDER_GLAUNCHER ) == ITEM_NOT_FOUND||(FindAttachment( &(pSoldier->inv[HANDPOS]), GP25 ) == ITEM_NOT_FOUND || FindLaunchableAttachment( &(pSoldier->inv[HANDPOS]), GP25 ) == ITEM_NOT_FOUND))
« Изменён в : 30.09.2004 в 12:55:03 пользователем: Artem13 » Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

WISDOM
[Я тоже не знаю где ЧАВО !]
Полный псих

БЫСТРЫЙ И МЕРТВЫЙ


Ё-мэйл

Пол:
Репутация: +80
Re: Первые шаги...
« Ответ #255 от 29.09.2004 в 17:19:54 »

    Всем доброго вечера
 
2 Bezumnij_Kovrik:
Quote:
 Скрины скорее всего не делаются из-за какой-то внутренней процедуры...

Тогда,по логике,дело в Винде?И,опять же исходя из логики,из буфера скрин вставляется нормальным-следовательно бьется он только при создании напрямую(минуя буфер).
Как я уже писал,дело вероятнее всего в NORMAL_MAP_SCREEN_WIDTH  3160 и.т.д,кстати,данный глюк возникает  
сразу после правки Local.h(#define SCREEN_WIDTH 640 и.т.д).
Quote:
    К тому же объем картинки (в кб) такой же,как должен быть у картинки размером 800х600...  

Но в просмотровщике(ACDSee 32)пишеться-640х480х64к?Да,если в просмотровщике уменьшить картинку до 20%(кн.zoom out)
то видно,что на скрине,как бы отрезали кусок справа,и пришили его слева(почти по центру экрана)-похоже,мы где то
неправильно изменили координаты центра экрана.
Quote:
вставляй картинки из буфера в фотошоп ...

Размытости,не в паинте,а при PrintScrn!
Quote:
  Не понял вопроса... какие старые коорднаты..

Которые в файле Tactical Plasement GUI-у тебя рамер экрана расстановки,при заходе в сектор,остался старым. :(
Не так давно,ты писал:При попытке высадиться на подсвеченой територии, приходит сообщениев котором написано "Doesn't look so good there.
От этой идеи(смещения зоны высадки к границе экрана)ты отказалься,вот я и спрашиваю:Это связано с физическим размером карт или с чем то еще? ???
Quote:
Про черные пятна и дыры ничего сказать не могу, поскольку не видел их...

 Сорри, :-[в твоем ехе их действительно нет(поскольку размер миникарты(пр.клик на радарн.карте)осталься старым(увеличино только окно)но его все равно нужно увеличивать,как
и окно расстановки мерков,при заходе в сектор.У себя я увеличил эти размеры,как это смотрится-смотри скрин(пришлось архивировать,поскольку весит-1,37 Мб)
Если знаешь,что за черновщина в верхнем,и нижнем углах-пожалуйста ответь! :'(
Quote:
нужно просто раскомментировать тестовую версию...  

Попробовал-получаеться,то же самое что и у меня-системные сообщения + НПЦ/квест дебаггер(ехе=2,82Мб),но все равно,спасибо за подсказку-твой вариант,немного проще! ;)
2 ALL:
Пара мыслей,по поводу анимации:
В 3D MAX создается модель,анимируется,полученная анимация сохраняется в .AVI,затем при помощи Ulead GIF Animator-а,AVI разбивается покадрово(Motion Kapture).Далее,полученные кадры редактируются,и сохраняются в ВМР,который пакуется в STI.
Я пока не знаю,насколько реалистичной получится такая анимация,но попробовать стоит,тем более,что достать цифровую камеру для съемки  пока не реально(не говоря о отсутствии
видеовхода(GF2-MX400)).К тому же Сиры,возможно использовали какой то аналогичный метод-поясню:
В титрах была указана прога 4D Paint-я нашел в сети упоминания о ней:
Quote:
   ...4D Paint Rembrandt v1.82 Plugin Специальный plug-in, позволяющий передавать данные о моделях между 3DS Max и 4D Paint Rembrandt - удобным 32bit'овым пакетом текстурирования 3D-объектов.4D Paint позволяет  
пользователям в интерактивном режиме помечать и раскрашивать объект...

На Рамблере есть куча ссылок,однако почти все они ведут в интернет магазины,поэтому скачать саму прогу пока не получилось,есть только плагин для 3D MaX.
Может быть получится найти на дисках.
Единственное-я не понял,где и для чего ею пользовались Сиры? ???3D в игре нет и в помине,анимация,если ее делали с использованием(частичным)3D,чего то не того-в общем,сие покрыто мраком.
Если чего то с 3D получится-поделюсь! ;)
   
 
 
 
 
 

Вот прицепился!       SCREEN000.rar
Зарегистрирован

Мафия убивает выстрелами в упор
Ecros
[Житель убежища]
Прирожденный Джаец




WWW

Пол:
Репутация: +198
Re: Первые шаги...
« Ответ #256 от 29.09.2004 в 18:07:50 »

2WISDOM:  
Quote:
В 3D MAX создается модель,анимируется,полученная анимация сохраняется в .AVI,затем при помощи Ulead GIF Animator-а,AVI разбивается покадрово(Motion Kapture).Далее,полученные кадры редактируются,и сохраняются в ВМР,который пакуется в STI.

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

Лучше молчать и казаться идиотом, чем начать говорить, чтобы все в этом убедились.
(с) Не помню чей.

Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #257 от 30.09.2004 в 11:10:13 »

2Artem13:  
Quote:
Свой ГП25 ты определил в Item Types.h?

Ну да... Иначе бы и не скомпилилось. Абсолютно все и везде сделано аналогично UNDER_GLAUNCHER. Где-то в условие добавлено, где-то продублировано с частью кода. Искал "UNDER_GLAUNCHER" и вперед.
 
Quote:
Вместо дублирования блока необходимо изменить условие на...

Так именно с этого я и начал. Со скобками в условии тоже игрался по всякому. Результат был описан выше. Отпадают оба подствольника. Я и условие с кодом(адаптированные под GP30) дублировал и вставлял после соответствующего else и  чего только не делал результат был еще хуже. Один подствольник не работал вообще, с другим после режима одиночной стрельбы включался подствольник, а потом режим очереди и очередь больше не убиралась.
 
В других местах я условия коверкал как хотел(в пределах разумного естественно) и все работает. Здесь же - или UNDER_GLAUNCHER или GP30. Одно из двух, а вместе ну никак. Почему - хз...
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #258 от 30.09.2004 в 12:23:56 »

2Raty: Вообще подствольник входит в группу аттачей: оптика, сошки, утконос, ускоритель, глушак, подствольник, ЛЦУ, удлинитель. Посмотри другие аттачи этой группы. Мне просто некада пока....
Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #259 от 30.09.2004 в 13:01:13 »

2Raty: А вообще то я ступил! Ты как условие изменял?
if((UNDER_GLAUNCHER)||(GP30)) ? Тогда конечно, работать будут только когда ОБА присобачены! Измени на &&.
Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #260 от 01.10.2004 в 11:08:59 »

2Artem13:  
Quote:
Измени на &&.

Да, действительно, все заработало.
Спасибо, что ты есть: pray : :)
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #261 от 01.10.2004 в 12:48:14 »

2WISDOM:  
Quote:
Передвинул координаты панели ключей,но кнопка почему то не работает

Я в свое время тоже помучился...
Саму панель я не трогал, двигал только кнопку, да еще ужал ее немного по горизонтали.
Трабла следующая: Interface Items.c  
строки    #define KEYRING_WIDTH 517 - ?
     #define KEYRING_HEIGHT 469 - ? , вместо "?" должно стоять значение KEYRING_X или KEYRING_Y соответственно.
Ну так вот, есть какая-то привязка к цифрам 517 и 469. Что это за цифры - я так и не понял(возможно координаты правого нижнего угла панели ключей в тактическом интерфейсе, но не факт, они больше нигде не проскакивают в чистом виде, может как-то высчитываются), но если их убрать или изменить кнопка не работает.
В общем я сотворил вот это:
Новые размеры моей кнопки 23х23 (старые вроде 30х23),
KEYRING_X 364
KEYRING_Y 404  
это новые координаты левого верхнего угла кнопки,
...
KEYRING_WIDTH 517 - 364 - 130
KEYRING_HEIGHT 469 - 404,
а это размеры кнопки.
 
517 - 364 - 130 = 23, т.е. 130 - это то, что нужно вычесть из (517-364), чтоб получилось 23. Иначе кнопка получалась офигенно длинная и залазила в интерфейс. Согласен, немного через Ж, но это единственное, что мне пришло в голову, да к тому же сработало, так что я на этом и остановился.
Странно то, что  469 - 404 = намного больше 23 (высоты кнопки), но в тактике высота кнопки получается почему-то нормальная, т.е. 23. Почему - фиг знает. В стратегии - да, кнопка простирается ниже и почти доходит до кнопки с галочкой(я их не двигал).
Но если я начинаю ковырять KEYRING_HEIGHT так чтоб 469 - 404 - ? = 23, то в тактике кнопка умирает(куда она уходит, я так и не нащупал), а в стратегии я и не проверял...
В общем такая вота ботва.
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
WISDOM
[Я тоже не знаю где ЧАВО !]
Полный псих

БЫСТРЫЙ И МЕРТВЫЙ


Ё-мэйл

Пол:
Репутация: +80
Re: Первые шаги...
« Ответ #262 от 13.10.2004 в 09:48:51 »

  Всем доброго дня!
 
2Raty:
Спасибо за помощь,но у меня проблема была в другом:
Я не сразу заметил,что при скролировании интерфейса вверх(от нижней границы экрана),
у меня не сразу появляется стрелка курсора-ошибка была в Handle UI.c-ln 739-821(не поменял
старые параметры(635-478)на новые.Кнопка ключей не работала из за этого,поскольку KEYRING, как то за
вязан на Mousregion-точно не помню.
Quote:
Ну так вот, есть какая-то привязка к цифрам 517 и 469.  

Это правая(517)и нижняя(469)границы кнопки ключей,просто записана сначала конечная точка 517,а потом стартовая 487,почему так-Сир его знает :).Высота(HEIGHT),действительно 445-469-на скрине это видно.
А вот ширина(по скрину) 495-525,а не 487-517 как указано в#define-возможно дело в KEY_RING_ROW_WIDTH 7(Interface Items.c-303),
но утверждать пока не берусь,поскольку не уверен.
Кстати,в Interface Items.c, координаты кнопки есть еще и ниже по файлу(ln 988)- guiSAVEBUFFER, guiGoldKeyVO, 0, 496, 446,-и.т.д.Их тоже нужно менять,иначе кнопка работать не будет.
Quote:
 (старые вроде 30х23), ...

Если точно-29,23.
Да,есть еще какой то _GRAPHIC_OFFSET-я пока не врубаюсь как он расчитывается?Причем,он используется и во многих других размерах.
При расширении панелей старого(640х480)интерфейса,я тоже пытался уменьшить размеры кнопки,но тогда не получилось.Сейчас потихоньку(паралельно
копаю анимацию) перерисовываю(расширяю) панели под 800х600,и до ключей пока не дошел.Так что,еще раз спасибо за совет-как знать,может и пригодится! ;)
2Ecros:
Quote:
 По крайней мере 6й макс умеет...

c МАХ-ом пока не сложилось-из двух имеющихся(5.0 и 6.0)не один нормально не работает:
3D Max5 требует авторизацию,хотя есть файл лицензии-м.б.коряво ломали;  
3D Max6-на диске отсутствует половина нужных компонентов(хотя на обложке они есть)-покупал давно,сразу не досмотрел.
В данный момент есть полный пакет Maxon Cinema 4D Studio Bundle v8.503- пока разбираюсь с интерфейсом.Имхо-прога гораздо круче Мах-а.
Quote:
 чтобы создать качественную анимацию надо быть нехило шарить не только в 3д..

Я же сказал,что не знаю-получится или нет,но других желающих заниматься этим все равно  нет.  
Quote:
анимация движений персонажей просто отвратительная...

Да,ходьба,бег-действительно не фонтан.Но инверсная киннематика смотрится очень даже ничего -Например,прошиваемая очередью навылет тушка,или вращение в
полете тела,отбрасываемого выстрелом в упор.
 
Зарегистрирован

Мафия убивает выстрелами в упор
Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #263 от 18.10.2004 в 16:23:50 »

2WISDOM:  
Quote:
в Interface Items.c, координаты кнопки есть еще и ниже по файлу(ln 98- guiSAVEBUFFER, guiGoldKeyVO, 0, 496, 446,-и.т.д.Их тоже нужно менять,иначе кнопка работать не будет.

Это кажется вид кнопки если в панели есть ключи? В оригинальном интерфейсе она подсвечивалась подругому. Дело в том, что я курочил интерфейс от НО (кажется от Коврика, ну не помню точно, сорри, тот где серые панели и синий фон, респектный кстати интерфейс) и там кажись этого вида нету, ну я это и отключил. Т.е. кнопка вида не меняет.  
А вообще может и не здесь я отключал<idontnow> Но точно помню, что GoldKey в записи фигурировал.
Quote:
Их тоже нужно менять,иначе кнопка работать не будет.

До того, как я это (а это ли ? смотри выше :)) отключил, новый вид кнопки прорисовывался на старом месте, и сама кнопка (не уверен, давно было) работала.
Сейчас у меня то, что описано было в предыдущем моем посте. В тактике все ОК. В стратегии имею большУю по высоте кнопку ключей(ну не саму кнопку конечно, а область, кликнув по которой, можно открыть панель ключей.) На этом пока и остановился.
 
2ALL:
Люди, а разобрался кто-нибудь со встроенными подствольниками. А то у меня чего-то никак. Много всего перепробовал и максимум чего достиг - это приаттачивание Вог25 к Грозе, переключение в режим подствольника, выстрел и... вылет в форточки:(.  
Абыдна, да...
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
copermine
[Athlon круче]
Раскачавшийся Шэнк

I love this game !




Пол:
Репутация: ---
Re: Первые шаги...
« Ответ #264 от 27.10.2004 в 11:03:28 »

12.03.2004 в 19:31:35, S-Vertal писал(a):
В файле tactical\inventory choosing.c нашёл фрагмент, отвечающий за выпадание предметов
 
#define ENEMYAMMODROPRATE       100      // % of time enemies drop ammunition
#define ENEMYGRENADEDROPRATE    100      // % of time enemies drop grenades
#define ENEMYEQUIPDROPRATE      100      // % of stuff enemies drop equipment
 
// only 1/10th of what enemies drop...
#define MILITIAAMMODROPRATE      100      // % of time enemies drop ammunition
#define MILITIAGRENADEDROPRATE       100      // % of time enemies drop grenades
#define MILITIAEQUIPDROPRATE     100      // % of stuff enemies drop equipment
 
Вероятность указана в %, я выставил 100 по всем видам (отдельно оружие\патроны\снаряжение). Итог - всё вывалилось, как и после патча Терапевта Кулибина. Но при этом барахло высветилось не сразу после конца боя, а только когда я подошёл к трупу, в этом преимущество по сравнению с правкой ехе. Вот что я навоевал с троими врагами в Омерте (броников нет, наверное, не одеты). В этом же файле таблицы выбора оружия драньцами.

 
У кого как, а у меня после выставления всех процентов дропа шмоток ничего не поменялось... Грешил на перекомпиляцию, но ... И клинил, и обджи грохал и все такое. В общем, все как до правки.
Зарегистрирован

copermine
[Athlon круче]
Раскачавшийся Шэнк

I love this game !




Пол:
Репутация: ---
Re: Первые шаги...
« Ответ #265 от 27.10.2004 в 12:04:26 »

Сорри, послал предыдущее сообщение дважды...
« Изменён в : 27.10.2004 в 12:06:31 пользователем: copermine » Зарегистрирован

Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #266 от 27.10.2004 в 12:40:12 »

2copermine: А с чем сравнивал. Просто у некоторых драньцев в скриптах жёстко задано выпадение/невыпадение...
Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

copermine
[Athlon круче]
Раскачавшийся Шэнк

I love this game !




Пол:
Репутация: ---
Re: Первые шаги...
« Ответ #267 от 27.10.2004 в 13:11:20 »

27.10.2004 в 13:40:12, Artem13 писал(a):
2copermine: А с чем сравнивал. Просто у некоторых драньцев в скриптах жёстко задано выпадение/невыпадение...

 
Ситуация: ПВО Драссена, 6 элитчиков.
В начале боя сохранился, поправил код, попытался поубивать супостатов... Ну и выпало пара жалких обойм и кастет. Собсна и все. При выполнении тех же действий с Букой 1.02 с патчем выпадения все пучком, т.е. выпадает все до жвачки включительно.
Зарегистрирован

Терапевт
[Человек в чёрном]
Кардинал


Народный целитель. Шарлатан высшей категории.




Пол:
Репутация: +1190
Re: Первые шаги...
« Ответ #268 от 27.10.2004 в 16:08:29 »

2copermine:
Насколько я понимаю ключевое слово "сохранился". :)
Как я себе представляю, возможно эти вероятности применяются в момент генерации солдат при загрузке тактического экрана. То есть когда ты сохранился, всё всем уже было роздано и флажки выпадения каждого предмета установлены в соответствии со старыми вероятностями. Последующее изменение вероятностей уже, естественно, не отразилось на определённых и сохранённых параметрах.
А патч выпадения просто игнорирует флажки невыпадения, хотя они в соответствии с вероятностями всегда выставляются.
Зарегистрирован

Весна! Я уже не грею пиво! (с) В.Цой
Безбашеный Ковролин
[Обезбашенный ковролин]
Неназываемый

JaFall Team


WWW Ё-мэйл

Пол:
Репутация: +390
Re: Первые шаги...
« Ответ #269 от 27.10.2004 в 18:56:34 »

2copermine: пиши вопрос в 1ой ветке, иначе это нервирует.
Зарегистрирован

Весь софт для редактирования Джа2!
http://ja2.org/
Также, Вы найдете здесь исходники игры ;)
"Беда, коль ПЗС начнет фигачить доктор, А пендицит кромсать - радист!" (ц) Крылов-Лямлюм.

Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #270 от 28.10.2004 в 10:19:29 »

2Терапевт: Quote:
Насколько я понимаю ключевое слово "сохранился".  
Как я себе представляю, возможно эти вероятности применяются в момент генерации солдат при загрузке тактического экрана. То есть когда ты сохранился, всё всем уже было роздано и флажки выпадения каждого предмета установлены в соответствии со старыми вероятностями

 
Абсолютно верно, я вчера как то не обратил внимание на ключевое слово. Там действительно флаги невыпадения сохраняются, да и вааще много чего сохр-ся. Структурка статуса солдата самая огромная - несколько десятков полей, я как увидел, чуть со стула не свалился... :D
Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

WISDOM
[Я тоже не знаю где ЧАВО !]
Полный псих

БЫСТРЫЙ И МЕРТВЫЙ


Ё-мэйл

Пол:
Репутация: +80
Re: Первые шаги...
« Ответ #271 от 09.11.2004 в 14:02:20 »

      Всем доброго дня!
Есть хорошие новости-еще одна наша мечта стала реальностью!
Мне наконец то удалось увеличить число врагов в секторе,до-сколько хочется(МАХ=255)!!!
К моему удивлению,это оказалось до смешного просто-нужно поправить 5-8(сечас точно не скажу)файлов,это 10-15 минут времени! :)
Правда была маета с Auto Resolv-ом(аторасчет),но в данный момент это решено.Пока увеличил кол-во
фрагов до Мах=64.Из за дефицита времени нормально потестировать не успел(прошел 7карт),но вроде все
стабильно-глюков и вылетов не было.
Первое впечатление-Здорово!Играть стало ощутимо сложнее,поскольку даже 45 админов с пистолетами,легко могут уложить
3 мерков(Сова,Стрелка,Сгенереный перс)с автоматическим оружием.Не особо помогает даже S/L.Мне с трудом удалось замочить патруль из 45 админов(A11;19:30;3 наемника).В течении боя пришлось медленно отходить через весь
сектор к границе,постоянно имея в зоне видимости 18-22 врага.Получено 19 ранений на 3-х мерков,один из них критический!
Это при том,что я не заморачивался с расстановкой и раздачей скриптов(время,время)-ставил как попало.
А ежели еще и грамотно расставить и раздать скрипты,и регуляры или элита-днем шансы победить близки к 0!!!
Думаю сторонники игры без S/L(к которым,я кстати сказать,НЕ отношусь)будут в восторге!
Я тут подумал о увеличении кол-ва мерков в секторе до 8.Есть какие то возражения? ???
Однако правка кода,это не все. ;)
1)Для того что бы движок мог разместить всех фрагов(больше 32),нужно доставить этих фрагов(сверх 32)на каждой карте и карту сохранить-должно изменится(в редакторе,при сохранении карты) Total map population,и Enemies,иначе при заходе в тактику будет вылет-ошибка Queen Command.c ln 601.Насколько я понял,количество
слотов(точек) под расстановку сохраняется в файле карты,и поправить это кол-во централизованно(через код) не получиться!Если я  
ошибаюсь,и можно увеличить число фрагов на карте,минуя правку каждой карты в редакторе -огромная просьба расказать как???
???Да,чуть не эабыл-для переделки карт нужно собирать Тестовую или дебаг версии ехе,т.е. с Едитором,поскольку в других(Немка и UB) добавить фрагов не выйдет,так же карты с числом фрагов более 32 не будут грузиться в другие(Немка и UB) Едиторы!!!Думаю это всем ясно,но на всякий случай напомнил. :)
2)Поскольку все работы веду на исходниках 800х600,то переделал так же и Едитор.Единственное-пока что не определился,на сколько увеличивать инвентарные слоты-поэтому панель инвентаря мерков и панель Айтемов в Едиторе пока не переделывал.Панель инвентаря мерков, наверное приедется перенести к правой границе экрана и перекомпоновать,поскольку новые слоты(Big Slot х=80;у=32 или х=86;у=34)не поме
щаются(без увеличения общей(у=120)высоты интерфейса) на старом месте.Весь остальной интерфейс Едитора заточил под 800х600,поправив
кстати некоторые глюки;Рамер кисти в едиторе был ограничен ХLarge,в то время как в немке и UBЕдиторах есть еще и Width 1,и Area-сдесь
же при попытке переключения кисти с XLarge на следующий размер-Едитор вылетал,мною это
исправлено.
Если это кому то интересно,то к концу недели могу выложить файлы,как по увеличению числа фрагов.
Так же могу выложить и Едитор-весит он немного(80-100кб).  
2ALL:
1)Друзья,коллеги-кто нибудь знает как сделать в Едиторе создание при сохранении радарной карты,по типу UB??? ??? ???Помогите пожалуйста! :'(
Неплохо бы ло бы,так же сделать создание карты с нуля? ;)
Сдесь упоминались исходники UB,у когото они есть?Может мне можно получить(мылом) оттуда папку Editor-тогда я сам попробую это сделать.
2)Можно ли замедлить скорость роста скилов?Сходу понять как там все расчитывается трудно,а серьезно копать пока нету времени-может
кто то подскажет?
Предел скила-127,я увеличивал параметры-все работало,однако после 100 скил рос как при подьеме с 1(проверял на взрывчатке),т.е.
с 100 до 127 поднялось за 30 циклов поставил\снял мину.Можно ли это(скорость)как то отрегулировать?как?

Вот прицепился!       Screen.rar
Зарегистрирован

Мафия убивает выстрелами в упор
Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #272 от 09.11.2004 в 16:08:44 »

2WISDOM:  
Quote:
Мне наконец то удалось увеличить число врагов в секторе,до-сколько хочется(МАХ=255)!!!

: applause :
Quote:
Я тут подумал о увеличении кол-ва мерков в секторе до 8.Есть какие то возражения?

А какие проблемы с 8 мерками в секторе? Может ты имеешь в виду в отряде? От 800х600 версии я только пару скринов интерфейса видел. Кажись окурат еще 2 рожи в отряде поместятся. В общем я ЗА!
Quote:
Если это кому то интересно,то к концу недели могу выложить файлы,как по увеличению числа фрагов.

Мне интересно ;)
Quote:
Поскольку все работы веду на исходниках 800х600

А вот это уже очень интересно... Сам сделал или Коврик дал? Как бы и мне их заполучить?: shuffle :
 
Ты, как я заметил в основном курочишь интерфейс и стратегию? По стратегии я не рылся(все никак с оружием не разгребусь), а по интерфейсу слегка прошелся. В общем я в интерфейсе мерка добавил 5-ю строчку слотов: 2 маленьких и один большой. В редакторе так же добавил еще один большой слот в инвентаре мерка. Где чего править я уже и не помню ибо записей по дурости не вел. Если интересно, то попытаюсь раскопать, но вряд ли скоро.
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
WISDOM
[Я тоже не знаю где ЧАВО !]
Полный псих

БЫСТРЫЙ И МЕРТВЫЙ


Ё-мэйл

Пол:
Репутация: +80
Re: Первые шаги...
« Ответ #273 от 12.11.2004 в 15:40:30 »

      Доброго дня!
 
2Raty:
Quote:
Может ты имеешь в виду в отряде?...

Конечно в отряде-"в секторе"написал машинально. :-[ Quote:
Кажись окурат еще 2 рожи в отряде поместятся...

Виноват :-[-я совершенно забыл,что будет увеличен большой слот инвентаря,поэтому
8 мордочек,вероятнее всего не поместятся,максимум 7-точнее смогу сказать чуть погодя.
Quote:
Мне интересно...

Как я понял,у тебя исходники 640х480-я поправил файлы от старых,можешь на выходных поюзать!
В архиве есть и тхт.с пояснением,где и чего правилось.
Quote:
Сам сделал или Коврик дал? Как бы и мне их заполучить?...

Поскольку все сделал сам,то-без проблем.Единственное:
1)Я не центрировал(пока)заставки и загрузочные скрины
2)не переделывал интерфейс
Если это тебя не смущает,могу тебе до вторника замылить-весят исходники(с Едитором)-902 Кб
Ежели через почту не подходит-скажи как?
Quote:
 В общем я в интерфейсе мерка добавил 5-ю строчку слотов...

Спасибо,конечно,но если увеличить высоту и ширину слотов,то проблема разместить
имеющиеся,не говоря о добавлении новых.
Quote:
все никак с оружием не разгребусь

А ты случайно не знаешь,как увеличить длинну очереди больше 6? :-[ Quote:
 Ты, как я заметил в основном курочишь интерфейс и стратегию?

В основном,я курочу то,на что хватает моих скромных знаний+до чего дотянутся ручки. :D
2ALL:
Траблы с Auto Resolve-при 40-45 карателях,все выглядит более менее нормально,но
при 50-64 карателя+20 Ополченцев-крайнего левого ряда лиц(ментов)не видно-
не помещаются на экране!Нужно сместить панель авторасчета в право;
Кто знает  как их высчитать  ??? ???
В Auto Resolve.с координаты заданны как то через ж...,типа gpAR->sCenterStartX + 141 + 55*x).
Може кто то сможет мне помочь?  ??? :'(
 
 
 

Вот прицепился!       More_Enemies(640x480).rar
Зарегистрирован

Мафия убивает выстрелами в упор
WISDOM
[Я тоже не знаю где ЧАВО !]
Полный псих

БЫСТРЫЙ И МЕРТВЫЙ


Ё-мэйл

Пол:
Репутация: +80
Re: Первые шаги...
« Ответ #274 от 12.11.2004 в 15:42:25 »

А это увеличение кол-ва фрагов для   800х600  :)
Вот прицепился!       More_Enemies(800x600).rar
Зарегистрирован

Мафия убивает выстрелами в упор
Терапевт
[Человек в чёрном]
Кардинал


Народный целитель. Шарлатан высшей категории.




Пол:
Репутация: +1190
Re: Первые шаги...
« Ответ #275 от 12.11.2004 в 20:29:25 »

2WISDOM:
Quote:
как сделать в Едиторе создание при сохранении радарной карты,по типу UB

В этом нет необходимости. У этого едитора есть параметр коммандной строки -DOMAPS, который запускает едитор в режиме автогенерации мникарт по всей папке Maps.
Зарегистрирован

Весна! Я уже не грею пиво! (с) В.Цой
Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #276 от 15.11.2004 в 09:30:23 »

2WISDOM:
Спасибо за файло.
 
Quote:
Если это тебя не смущает,могу тебе до вторника замылить

да на мыло без проблем
 
Quote:
А ты случайно не знаешь,как увеличить длинну очереди больше 6?

К сожалению<idontnow>
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
WISDOM
[Я тоже не знаю где ЧАВО !]
Полный псих

БЫСТРЫЙ И МЕРТВЫЙ


Ё-мэйл

Пол:
Репутация: +80
Re: Первые шаги...
« Ответ #277 от 16.11.2004 в 17:15:37 »

     
2Терапевт:
Спасибо за подсказку,позволю себе только уточнить:
Перед запуском ja2 -DOMAPS нужно создать папку Radarmaps-Едитор складывает
туду радарные имаджи.
Паша-как отключить "туман войны"на страт.карте в исходниках(что бы отображались отряды)?
Поджскажи если знаешь.Хочется проверить кое какие идеи по страрегическому АI,а времени
на полное прохождение не хватает.
2ALL:
1)Нашел,где прописаны места генерации королевских войск:
файл-Strategic Ai.C ln 498-функция INT32 ReinforcementsAvailable( INT32 iGarrisonID )
Всего таких мест 5:    
        case LEVEL1_DEFENCE:
    case LEVEL2_DEFENCE:
    case LEVEL3_DEFENCE:
    case ALMA_DEFENCE:
    case ALMA_MINE:
Думаю можно попробовать расширить данный список!
2)При увеличении размеров имаджей оружия,инвентарь мерка в Едиторе переделывать НЕ нужно:
Думаю,все обращали внимание,что при размере в игре Большого слота 58-60х22,имаджи стволов(MDGuns),
нормально помещаются в инвентарь мерка в Едиторе,хотя размер Большого слота в Едиторе=48х15.
Имаджи отображаются потому,что для инвентарных слотов в Едиторе используется Буфер,который произ
водит 20% сжатие картинки,при помещении ее в слот!
Editor Taskbar Utils.c ln 200-vs_desc.usWidth =60
        ln 201 vs_desc.usHeight= 20
 
Указанные размеры,нужно просто изменить на нужные(например vs_desc.usWidth =71и.т.д)
В завершение:
Выкладываю файлы по увеличению кол-ва фрагов V1.(800х600)
1)Лимит на фрагов-80 чел.,но в патрулях максимально может быть 45-56 чел-большее кол-во не
поместится на экране при авторасчете(25 ментов+6мерков+56 фрагов)
2)Вроде бы отрегулировал интерфейс авторасчета
3)В порядке эксперимента увеличил кол-во ментов до25 на сектор
Замечание!!!!
Численность патрулей и гарнизонов(Strategic.Ai)я НЕ менял-каждый может сделать это сам,
в соответствии со своими желаниями.Я только Предусмотрел возможность увеличения(гарнизоны=80,патрули=45-56)
Численность патруля НЕ может привышать MAX_STRATEGIC_TEAM_SIZE-(я пока поставил 45)и должна равнятся
pGroup->ubGroupSize(SaveLoadGame.C ln 5171).
Если увеличивать патрули сверх 45- в файле SaveLoadGame.C найти поиском все строчки:
             pGroup-
>pEnemyGroup->ubNumAdmins = 45;
             pGroup->pEnemyGroup->ubNumElites = 45;
             pGroup->pEnemyGroup->ubNumTroops = 45;
В этих строках 45 нужно изменить на желаемое.
 
 

Вот прицепился!       More_Enemies(800x600).V1.rar
Зарегистрирован

Мафия убивает выстрелами в упор
Терапевт
[Человек в чёрном]
Кардинал


Народный целитель. Шарлатан высшей категории.




Пол:
Репутация: +1190
Re: Первые шаги...
« Ответ #278 от 16.11.2004 в 17:51:24 »

2WISDOM:
Quote:
как отключить "туман войны"на страт.карте в исходниках(что бы отображались отряды)?

Как это сделать в экзешнике я знаю. А вот где это находится в исходниках - не искал. Могу только подсказать, что у каждого сектора (в его структуре) есть флажок "посещения игроком", если его установить, то происходящее в секторе, т.е. наличиствующий там противник и его радарная карта будут видны.
 
Quote:
Нашел,где прописаны места генерации королевских войск:

Там не всё так просто. С этой "находкой" нужно быть очень осторожным. Можно сделать так, что противник начнёт покидать охраняемые им сектора, и эта потеря не будет восполняться. Мы столкнулись с этим в некоторых городах в НО 1.0.
Зарегистрирован

Весна! Я уже не грею пиво! (с) В.Цой
WISDOM
[Я тоже не знаю где ЧАВО !]
Полный псих

БЫСТРЫЙ И МЕРТВЫЙ


Ё-мэйл

Пол:
Репутация: +80
Re: Первые шаги...
« Ответ #279 от 21.11.2004 в 12:54:38 »

        Доброго дня!
2Терапевт:
Quote:
 ...у каждого сектора (в его структуре) есть флажок "посещения игроком",
 
Флажок называется -SF_ALREADY_VISITED,но в коде есть только одно место,где он
в позиции FALSE-при переключении туман исчезает,но не врагов,не радар.карты не  
видно(Map Screen Interface Map.c ln 757).
Можеш подсказать,что значит-установить флаг,если можено-приведи пример,заранее
прошу прощения-но в этих вопросах я ноль. :-[
По поводу структуры-STRATEGIC\Campaing Types.h ln 178-идет структура сектора(typedef struct SECTORINFO),но там
указывается только размер переменных(INT,UINT)-где ставить флаг?Или в какой то другой структуре??
Поясни пожалуйста,если не трудно. :-[ Quote:
  ...противник начнёт покидать охраняемые им сектора...  

В двух словах-почему ???
Теперь немножечко о другом:
В ветке"Клуб НО"писалось-
Quote:
  в НО 1.0 бонус "снайпер",будет работать не только с крыши.

Я нашел в коде этот скилл,и похоже что в Golde тоже это сделали-смотри:
Weapons.c ln 2810;
       if ( pSoldier->bLevel == 0 )
 {
  if ( pSoldier->bTargetLevel > 0 )
  {
   // penalty for firing up
   iChance -= AIM_PENALTY_FIRING_UP;
      }
 }
 else // pSoldier->bLevel > 0 )
 {
  if ( pSoldier->bTargetLevel == 0 )
  {
   iChance += AIM_BONUS_FIRING_DOWN;
  }
  // if have roof trait, give bonus
  if ( HAS_SKILL_TRAIT( pSoldier,
ONROOF ) )
  {
   iChance += gbSkillTraitBonus[ ONROOF ] * NUM_SKILL_TRAITS( pSoldier, ONROOF );
  }
 }
 
Насколько я могу судить единственное,что указывает- крыша\не крыша, bTargetLevel-остальное скорее
косметика,поскольку меняется как угодно(ONROOF-собственно имя скила(Sjldier Profile Type.h 96)-можно изменить на SNIPER,
а AIM_BONUS_FIRING_DOWN,прямо задается через DEfine(=15).Порылся в коде-вроде бы крыша это не bTargetLevel == 0(If a roof does not exist here, make level = 0),но не уверен,т.к.абсолютного значения не нашел-похоже что крыша это +или -1(опять же не уверен).Кроме того если, bLevel(похоже-BasementLevel?) == 0-крыша,то почему при условии bTargetLevel > 0,идет AIM_PENALTY_FIRING_UP-как с крыши,можно стреллять вверх?
Теперь,собственно вопрос:
Прав ли я по поводу вышеизложенного?Если не прав-подскажи,как нужно изменить код,что бы бонус"снайпер",работал не только с крыши.
Очень надеюсь на ответы,и заранее благодарен! :-/
2ALL:
Огромная просьба ко всем кто может помочь: :'(
Weapons.h ln 132:
1)AMMO_DAMAGE_ADJUSTMENT_HP( x ) ( (x * 17) / 10 )-тело
2)AMMO_ARMOUR_ADJUSTMENT_HP( x ) ( (x * 3) / 4 )-тело в б\ж
3)AMMO_ARMOUR_ADJUSTMENT_AP( x ) ((x * 3) / 4) б\ж  
Обьясните мне кто нибудь по человечески-как это все считается,что значат(и как определяются эти параметры-(x),(x * 17) и.т.д).
Если не трудно-может быть можно пару примеров? :-[ :-/
Почему формулы ARMOUR_ADJUSTMENT_HP и ARMOUR_ADJUSTMENT_AP-одинаковы ???
Очень расчитываю на вашу помощь!!!
 
 
 
 
 
Зарегистрирован

Мафия убивает выстрелами в упор
Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #280 от 21.11.2004 в 19:42:37 »

2WISDOM:
1. Посещение/непосещение не влияет на видимость отрядов противника - нужно, чтобы в соседнем секторе были союзники, посмотри такие условия...
2. Quote:
bLevel(похоже-BasementLevel?) == 0-крыша,то почему при условии bTargetLevel > 0,идет AIM_PENALTY_FIRING_UP-как с крыши,можно стреллять вверх?

Во первых, первая строчная буква в имени переменной не относится к её осмысленному имени, а обозначает тип этой переменной для простоты ориентировки в коде (b - символ, байт (типы char, INT8, CHAR8, ..), ub - беззнаковый байт(UINT8, UCHAR8, unsigned char), s - короткое целое, 2 байта (INT16, short), us - беззнаковый s (UINT16, unsigned short), i - целое, 4 байта (INT32, int, long(для Вин32 типы int и long совпадают...)) и т.д.) Вобщем, учи матчасть :)
Во вторых - крыша - вряд ли левел 0, скорее уж 1. Это условие определяет штраф при стрельбе с крыши на крышу (кстати, непонятно почему...). bTargetLevel - дословно "целевой уровень", т.е. уровень, КУДА стреляют...
Чтобы бонус работал вскгда попробуй что то вроде
 
 if ( pSoldier->bSkillTrait1 == SNIPER || pSoldier->bSkillTrait2==SNIPER )  
{  
   iChance += AIM_BONUS_FIRING_DOWN;  
}
 
Однако, ИМХО, лучше для снайперов просто убрать штраф при стрельбе снизу вверх....
 
По поводу просьбы - это функции-макросы. В первых скобках - аргументы, во вторых - выполняемое действие. Т.е., например в коде есть строка
sDamage = AMMO_ARMOUR_ADJUSTMENT_AP( 5 );
Это переводитяся как
bDamage = 5 * 3 / 4;
 
По-поводу одинаковости - у меня  
#define AMMO_DAMAGE_ADJUSTMENT_HP( x ) ( (x * 17) / 10 )
// but they SUCK at penetrating armour
#define AMMO_ARMOUR_ADJUSTMENT_HP( x ) ( (x * 3) / 2 )
// armour piercing bullets are good at penetrating armour
#define AMMO_ARMOUR_ADJUSTMENT_AP( x ) ((x * 3) / 4)
// "super" AP bullets are great at penetrating armour
#define AMMO_ARMOUR_ADJUSTMENT_SAP( x ) (x / 2)
Все логично....
Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

Bezumnij Kovrik
[Обезбашенный ковролин]
Неназываемый

JaFall Team


WWW Ё-мэйл

Пол:
Репутация: +390
Re: Первые шаги...
« Ответ #281 от 22.11.2004 в 00:59:50 »

2WISDOM: Для себя делал. Решил, что делиться тоже нуна ;)
Вставь это в Campaign Init. Думаю нйдешь куда ;).
Лишний пункт закомментируй.
 
 SetSectorFlag( 1, 1, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 2, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 3, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 4, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 5, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 6, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 7, 0, SF_ALREADY_VISITED );
   SetSectorFlag( 1, 8, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 9, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 10, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 11, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 12, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 13, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 14, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 15, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 1, 16, 0, SF_ALREADY_VISITED );
 
   SetSectorFlag( 2, 1, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 2, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 3, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 4, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 5, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 6, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 7, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 8, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 9, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 10, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 11, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 12, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 13, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 14, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 15, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 2, 16, 0, SF_ALREADY_VISITED );
 
   SetSectorFlag( 3, 1, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 2, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 3, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 4, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 5, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 6, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 7, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 8, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 9, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 10, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 11, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 12, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 13, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 14, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 15, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 3, 16, 0, SF_ALREADY_VISITED );
 
   SetSectorFlag( 4, 1, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 2, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 3, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 4, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 5, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 6, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 7, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 8, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 9, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 10, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 11, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 12, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 13, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 14, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 15, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 4, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 5, 1, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 2, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 3, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 4, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 5, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 6, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 7, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 8, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 9, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 10, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 11, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 12, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 13, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 14, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 15, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 5, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 6, 1, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 2, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 3, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 4, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 5, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 6, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 7, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 8, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 9, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 10, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 11, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 12, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 13, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 14, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 15, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 6, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 7, 1, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 2, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 3, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 4, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 5, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 6, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 7, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 8, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 9, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 10, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 11, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 12, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 13, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 14, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 15, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 7, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 8, 1, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 2, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 3, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 4, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 5, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 6, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 7, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 8, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 9, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 10, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 11, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 12, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 13, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 14, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 15, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 8, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 9, 1, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 2, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 3, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 4, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 5, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 6, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 7, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 8, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 9, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 10, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 11, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 12, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 13, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 14, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 15, 0, SF_ALREADY_VISITED );
 SetSectorFlag( 9, 16, 0, SF_ALREADY_VISITED );
Зарегистрирован

Весь софт для редактирования Джа2!
http://ja2.org/
Также, Вы найдете здесь исходники игры ;)
"Беда, коль ПЗС начнет фигачить доктор, А пендицит кромсать - радист!" (ц) Крылов-Лямлюм.

Bezumnij Kovrik
[Обезбашенный ковролин]
Неназываемый

JaFall Team


WWW Ё-мэйл

Пол:
Репутация: +390
Re: Первые шаги...
« Ответ #282 от 22.11.2004 в 01:01:10 »

   SetSectorFlag( 10, 1, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 2, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 3, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 4, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 5, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 6, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 7, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 8, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 9, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 10, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 11, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 12, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 13, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 14, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 15, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 10, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 11, 1, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 2, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 3, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 4, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 5, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 6, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 7, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 8, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 9, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 10, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 11, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 12, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 13, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 14, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 15, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 11, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 12, 1, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 2, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 3, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 4, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 5, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 6, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 7, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 8, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 9, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 10, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 11, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 12, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 13, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 14, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 15, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 12, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 13, 1, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 2, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 3, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 4, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 5, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 6, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 7, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 8, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 9, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 10, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 11, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 12, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 13, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 14, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 15, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 13, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 14, 1, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 2, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 3, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 4, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 5, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 6, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 7, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 8, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 9, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 10, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 11, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 12, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 13, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 14, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 15, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 14, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 15, 1, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 2, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 3, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 4, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 5, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 6, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 7, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 8, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 9, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 10, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 11, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 12, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 13, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 14, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 15, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 15, 16, 0, SF_ALREADY_VISITED );
 
    SetSectorFlag( 16, 1, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 2, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 3, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 4, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 5, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 6, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 7, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 8, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 9, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 10, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 11, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 12, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 13, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 14, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 15, 0, SF_ALREADY_VISITED );
      SetSectorFlag( 16, 16, 0, SF_ALREADY_VISITED );
 
ЗЫ: количество врагов действительно не видно, но даже так можно хорошенько проконтролировать маршруты патрулей.
« Изменён в : 22.11.2004 в 01:06:06 пользователем: Bezumnij Kovrik » Зарегистрирован

Весь софт для редактирования Джа2!
http://ja2.org/
Также, Вы найдете здесь исходники игры ;)
"Беда, коль ПЗС начнет фигачить доктор, А пендицит кромсать - радист!" (ц) Крылов-Лямлюм.

Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #283 от 22.11.2004 в 15:29:22 »

2ALL:  
Подскажите пожалуйста где лежат координаты строк, которые появляются в левом нижнем углу экрана над фоткой мерка. Типа скрыт, открыт и т.д. желтым текстом которые.
 
Если кому-то интересно, то я кажется нашел, почему не работала кнопка ключей в тактическом интерфейсе, если ее передвигать.
\\Build\Tactical\Interface Items.c  ln858  :
MSYS_DefineRegion( &gKeyRingPanel, KEYRING_X, KEYRING_Y, KEYRING_X + KEYRING_WIDTH, KEYRING_X + KEYRING_HEIGHT, MSYS_PRIORITY_HIGH,
MSYS_NO_CURSOR, MSYS_NO_CALLBACK, KeyRingClickCallback );
если заменить Х на Y, то все вроде ОК. Новые координаты работают, а KEYRING_WIDTH и KEYRING_HEIGHT можно задавать напрямую, а не как это есть сейчас через какие-то вычисления.
« Изменён в : 22.11.2004 в 15:33:12 пользователем: Raty » Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
Bezumnij Kovrik
[Обезбашенный ковролин]
Неназываемый

JaFall Team


WWW Ё-мэйл

Пол:
Репутация: +390
Re: Первые шаги...
« Ответ #284 от 23.11.2004 в 00:22:12 »

2Raty: ну да... ту же ботву с этой кнопкой я описывал, но тога думал, что это я своими кривульками Х вместо У напечатал... Вона оказывается как... это у всех значит присутствует :).
 
Насчет вопроса: описываю метод, дабы ты не мучался с аналогичными траблами.
В файле _EnglishText.c ищешь слово, которое нужно передвинуть.
Смотришь, в каком блоке оно находится.
Смотришь его хэдер в text.h
И ищешь в исходниках.
Рядом в 95% случаев - искомые координаты.
Зарегистрирован

Весь софт для редактирования Джа2!
http://ja2.org/
Также, Вы найдете здесь исходники игры ;)
"Беда, коль ПЗС начнет фигачить доктор, А пендицит кромсать - радист!" (ц) Крылов-Лямлюм.

WISDOM
[Я тоже не знаю где ЧАВО !]
Полный псих

БЫСТРЫЙ И МЕРТВЫЙ


Ё-мэйл

Пол:
Репутация: +80
Re: Первые шаги...
« Ответ #285 от 24.11.2004 в 08:47:39 »

        Доброе утро всем!
 
2 Bezumnij_Kovrik:
Quote:
Для себя делал. Решил, что делиться тоже нуна...

Спасибо за помощь-Полностью согласен,посему расскажу,что нарыл буквально вчера:
Есть менее трудоемкий вариант-за отображение численности врага отвечает флаг -SF_PLAYER_KNOWS_ENEMIES_ARE_HERE,
Что бы отображались отряды и их численность,нужно сделать следующее;
Map Screen Interface Map.c:
1) ln 6471 и ln 6484 - return KNOWS_THEYRE_THERE; нужно заменить на return KNOWS_HOW_MANY;
2)ln 6481 -if( GetSectorFlagStatus( sSectorX, sSectorY, 0, SF_ALREADY_VISITED ) == TRUE )
TRUE поменять на FALSE.
Кстати -идею с флагом подсказал Artem,за что ему так же большое спасибо!
2Artem13:
Quote:
Посещение/непосещение не влияет на видимость отрядов противника...

Огромное спасибо за помощь!
Quote:
Вобщем, учи матчасть...

Пытаюсь. :-[ Quote:
  Во вторых - крыша - вряд ли левел 0...

Да,действительно-крыша ==+1 - где то видел в коде.
Quote:
 Однако, ИМХО, лучше для снайперов просто убрать штраф при стрельбе снизу вверх...

  if ( pSoldier->bLevel == 0 )
      {
  if ( pSoldier->bTargetLevel > 0 )
  {
   // penalty for firing up
  // iChance -= AIM_PENALTY_FIRING_UP;
  }
 }
Штраф закоментировал.Может быть нужно закоментировать так же и -if ( pSoldier->bTargetLevel > 0 )?
Уточни пожалуйста! :-[ Quote:
В первых скобках - аргументы, во вторых - выполняемое действие...

Извини,если я торможу :-[ -bDamage = 5 * 3 / 4;  
Это пять умноженное на три и поделенное на четыре,-или,пять помноженное на три четвертых;
Поясни,если не трудно-еще раз прошу прощения. :
У меня к тебе есть просьба: :-/
Editor Taskbar Utils.c ln 187;
 
void CreateEditorBuffers()
{
 
 INT32      i;
 VSURFACE_DESC  vs_desc;
 UINT16     usUselessWidth, usUselessHeight;
 UINT8      ubBitDepth;
 
 
 GetCurrentVideoSettings( &usUselessWidth, &usUselessHeight, &ubBitDepth );
 vs_desc.fCreateFlags = VSURFACE_CREATE_DEFAULT | VSURFACE_SYSTEM_MEM_USAGE;
 vs_desc.usWidth = 60;
 vs_desc.usHeight = 25;
 vs_desc.ubBitDepth = ubBitDepth;
 if( !AddVideoSurface( &vs_desc, &guiMercTempBuffer ) )
  AssertMsg( 0, "Failed to allocate memory for merc tempitem buffer." );
 
 //create the nine buffers for the merc's inventory slots.
 vs_desc.usHeight = MERCINV_SLOT_HEIGHT;
 for( i = 0; i < 9; i++ )
 {
  vs_desc.usWidth = i<3 ? MERCINV_SMSLOT_WIDTH : MERCINV_LGSLOT_WIDTH;
  if( !AddVideoSurface( &vs_desc, &guiMercInvPanelBuffers[i] ) )
   AssertMsg( 0, "Failed to allocate memory for merc item[] buffers." );
 }
}
 
Можно ли сделать что то аналогичное,для оружейных слотов инвентаря на панели BOTTOM_BAR.STI?Может быть ты сможешь это сделать,если,конечно будет время?
Есть идея,увеличить кол-во мерков в отряде,до 8 чел-однако из за планируемого увеличения
слотов инвентаря 8 панелей Не помещаются на экране(максимум 7).Если сможешь помочь,тогда размер оружейных слотов на общей панели отряда можно сделать меньше,чем в индивидуальном инвентаре.Очень прошу помочь-сам я это сделать скорее всего не смогу!!!!! :'(
2 ALL:
Для тех,кому я высылал исходники 800х600.Подправил панель выбора Тайлесетов(стены,двери и.т.д)в Едиторе
(меню Build)-сразу не заметил.Файл из подписи кинуть в ja2\Build\Editor.
P.S.Вы хоть напишите-дошли исходники или нет?
 
 
 
     
Зарегистрирован

Мафия убивает выстрелами в упор
Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #286 от 24.11.2004 в 09:26:15 »

2WISDOM: Quote:
Штраф закоментировал.Может быть нужно закоментировать так же и -if ( pSoldier->bTargetLevel > 0 )?  
Уточни пожалуйста!

 
Я не владею полной инфой и сырцов под рукой нет, но я имел в виду примерно следующее
 
   if ( pSoldier->bLevel == 0 )  
   {  
       if ( pSoldier->bTargetLevel > 0 && pSoldier->bSkillTrait1!=SNIPER&& pSoldier->bSkillTrait2!=Sniper)
       {  
             // penalty for firing up  
             iChance -= AIM_PENALTY_FIRING_UP;
       }  
   }  
 
Quote:
Можно ли сделать что то аналогичное,для оружейных слотов инвентаря на панели BOTTOM_BAR.STI?

 
Ты бы ещё обяснил популярно, что оно делает.... В общем то думаю, что можно, но не сейчас...
« Изменён в : 24.11.2004 в 09:33:51 пользователем: Artem13 » Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #287 от 29.11.2004 в 09:50:56 »

Ребята! Помогите, плз. Или я дурак или одно из двух, но я не смог в сырцах найти флаг, отвечающий за "одноручную" анимацию для стрельбы из дверучного оружия...
Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #288 от 29.11.2004 в 10:17:28 »

Доигрался блин.....
Если новому ехе-шнику подсунуть старую карту из Maps.slf, переконверченную в нужный формат, то на карте нет никого. Ни врагов, ни гражданских... никого.
А новый редактор вообще не открывает такие карты. Шкала загрузки доходит до 100% и привет винды.
Есть карта А9, типа тестовая, на ней я еще до изменения исходников поудалял врагов, Фатиму и Пакоса. Такая карта в редакторе открывается нормально, но если я хочу разместить на ней бейджатого непися(исключение - хаммер), пофиг врага или гражданского получаю следующую ошибку:
Assertion Failure -- Line 4435 C:\ja2\Build\Tactical\Items.c    
Это строка(в оригинале кажется 4086) - Assert( ubNumber <= MAX_OBJECTS_PER_SLOT );
К чему бы это вдруг? Ведь MAX_OBJECTS_PER_SLOT - я вообще нигде не трогал.
Если ставить не бейджатого гражданского или врага, то все оки, вылета нет, но в игре видно только врагов, гражданских как не бывало.
Вообще сложилось впечатление, что в редакторе нормально открываются оригинальные карты, на которых нет бейджатых неписей.
Что изменено в исходниках: новые стволы, патроны, взрывчатка и.д., кое что убрано и добавлено в аттачи и объединения, встроенные оружейные аттачи, новые слоты в инвентаре мерков(в т.ч. и в редакторе), 800х600 по рецепту WISDOM.
800х600 ИМХО не причем, т.к. такая ерунда наблюдается на старых копиях исходников еще до перехода на 800х600. В общем кажется я попал.....: cry :: help :
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #289 от 29.11.2004 в 12:36:36 »

Хм, в Релизной версии Assert кажется ваще должен игнорироваться...
А вообще строка проверяет udNumber на непревышение MAX_OBJECTS_PER_SLOT.... Т.е. крах происходит, кады этот самый намбер становится больше MAX_OBJECTS_PER_SLOT. Что это за намбе, за что отвечает?
Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #290 от 29.11.2004 в 13:12:43 »

2Artem13:  
Quote:
Что это за намбе, за что отвечает?

<idontnow> Я ж ламер, сложно это для меня.
MAX_OBJECTS_PER_SLOT - это, если я прально понял, скока в маленьком слоте инвентаря может одинаковых предметов поместиться. Значит udNumber - что-то связанное с этим. : rolleyes :
 
Попробовал строку закоментировать, бейджатые ставятся, но в игре один хрен не появляются. Исключение - долбаный хаммер. Я его и его продавца проедитом в А9 прописал. Хаммер появляется, а барыга, Пакос и Фатима - нет.
 
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #291 от 29.11.2004 в 13:56:55 »

Мндя.,я то так и не смог нормально редактор собрать, так что тут я не советчик....
Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

copermine
[Athlon круче]
Раскачавшийся Шэнк

I love this game !




Пол:
Репутация: ---
Re: Первые шаги...
« Ответ #292 от 30.11.2004 в 09:59:34 »

В модуле Interface.c есть функция *GetSoldierHealthString, возвращающая указатель на литерал с состоянием солдата (zHealthStr[ cnt ] = L"ПЛОХ", например). Вот ее текст.
 
UINT16 *GetSoldierHealthString( SOLDIERTYPE *pSoldier )
{
   INT32 cnt, cntStart;
 
 if( pSoldier->bLife == pSoldier->bLifeMax )
 {
  cntStart = 4;
 }
 else
 {
  cntStart = 0;
 }
 //Show health on others.........
 for ( cnt = cntStart; cnt < 6; cnt ++ )
 {
  if ( pSoldier->bLife < bHealthStrRanges[ cnt ] )
  {
   break;
  }
 }
 return zHealthStr[ cnt ];
}
 
Я хотел бы добавить в литерал еще некоторые значения параметров солдата, например: pSoldier->bLife.  
Довольно поверхностно знаю C, не подскажете, как на нем получить строку типа  zHealthStr[ cnt ] + STRING<pSoldier->bLife> или что либо подобное ?
Зарегистрирован

Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #293 от 30.11.2004 в 10:20:23 »

Попробуй нечто вроде:
UINT16 *GetSoldierHealthString( SOLDIERTYPE *pSoldier )  
{  
   INT32 cnt, cntStart;  
   UINT16 zWideString[80];
 
 if( pSoldier->bLife == pSoldier->bLifeMax )  
 {  
  cntStart = 4;  
 }  
 else  
 {  
  cntStart = 0;  
 }  
 //Show health on others.........  
 for ( cnt = cntStart; cnt < 6; cnt ++ )  
 {  
  if ( pSoldier->bLife < bHealthStrRanges[ cnt ] )  
  {  
   break;  
  }  
 }  
 wsprintf(zWideString, "%s %i", zHealthStr[cnt], pSoldier->bLife);
 return zWideString;  
}  
 
Под рукой нет компилятора, проверит не мОгу. Но идея та...Даже ф-цию вроде та, что нужно (wsprintf), но вот прокатит ли...
Есл не покатит, попробуй заменить wsprintf на конструкцию:
wscpy(zWideString, zHealthStr[cnt]);
wsprintf(zWideString, "%i", pSoldier->bLife);
« Изменён в : 30.11.2004 в 10:34:57 пользователем: Artem13 » Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

copermine
[Athlon круче]
Раскачавшийся Шэнк

I love this game !




Пол:
Репутация: ---
Re: Первые шаги...
« Ответ #294 от 30.11.2004 в 11:07:33 »

Спасибо, попробую оба варианта.
Зарегистрирован

Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #295 от 30.11.2004 в 14:21:37 »

2Artem13:  
Я разобрался с траблой.
Виноваты были дополнительные слоты. Сделал откат и все заработало. Даже повоевал немного. Только вот Фатима, бл.. такая, письмо брать не хочет. Это кажись из-за того, что в скриптах привязка идет по номеру итема, а не по имени. А итемы у меня сдвинулись.
Да и оказывается я со слотами не до конца разобрался, не все изменения вносил. А когда вроде как все поправил, игруха вообще после начального мультика или после его прирывания замирала. Не зависала, а именно замирала.
Отсюда вопрос: в профдат часом нет ничего про количество слотов в инвентори? Подозреваю, что трабла может быть в этом.
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #296 от 30.11.2004 в 14:39:14 »

В профдат есть поле, представляющее собой массив из 19 элементов - по 1 на каждый слот. В них содержатся номара итемов, что при себе мерк имеет....
 
По ИД неписей - да, так и есть. У мя та же трабла возникла, когда я добавил профили в середину профдат. Пришлось добавлять в конец...
« Изменён в : 30.11.2004 в 14:40:35 пользователем: Artem13 » Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

copermine
[Athlon круче]
Раскачавшийся Шэнк

I love this game !




Пол:
Репутация: ---
Re: Первые шаги...
« Ответ #297 от 30.11.2004 в 15:01:44 »

Прокатило совсем другое, но опять же с баааальшой помощью Артема. Респект.
Зарегистрирован

Raty
[индус-гранатометчик]

Прирожденный Джаец

Здесь красивая местность...




Пол:
Репутация: +109
Re: Первые шаги...
« Ответ #298 от 30.11.2004 в 15:10:31 »

2Artem13:  
Понятно.....
А раскриптованный профдат, он будет доступен всем или это только для ФУР? ;) И вообще чего он из себя представляет? Смогу ли я допустим(ну если получу конечно) добавить в массив дополнительные элементы?  
Зарегистрирован

На траве развалился убитый, он должно воевал против нас, он нам крикнул, что все мы бандиты, вот и пуля вошла между глаз...
Artem13
[13-й воин]
Прирожденный Джаец

Ап, и черти у ног моих сели...


WWW Ё-мэйл

Пол:
Репутация: +441
Re: Первые шаги...
« Ответ #299 от 30.11.2004 в 20:24:21 »

2Raty:
Он будет доступен - с Пашей мы вопрос обсудили,а в ФУРе я его просто обкатал. Добавить в массив новые элементы - без проблем, но как организовать их действие, ещё не очень понятно/известно - ща Костя приступает к обкатке, как закончит - поделимся...
« Изменён в : 30.11.2004 в 20:25:27 пользователем: Artem13 » Зарегистрирован

Artem13.gif
http://www.aap13.narod.ru
И пули, что найдет тебя,
Ты не услышишь,
А остальные мимо пролетят

Страниц: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  Послать Тему Послать Тему Печатать Печатать

« Предыдущая Тема | Следующая Тема »

Статистика. Размер данных: 221246 GZip: off
A.I.M. » Powered by YaBB Modification 4 (v.4.0.0-pre)!
YaBB © 2000-2003. All Rights Reserved.