Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Фриловские CMP в BOD | страница 5
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 5 из 6
На страницу: Пред.  1, 2, 3, 4, 5, 6  След. | Все страницы
Поиск в этой теме:
Канал X2: The Threat: «Фриловские CMP в BOD»
CheckerTwo
 550 EGP


Рейтинг канала: 4(96)
Репутация: 103
Сообщения: 412
Откуда: Tomsk
Зарегистрирован: 18.08.2004
AlexYar :
А вот походу переключение музыки при приближении противника походу можно обойти только динамической картой


По поводу CombatMusic:
При обнаружении противника срабатывает NotifyAlert(), которая переключает SectorMusic на CombatMusic. Проверяется диапазон 1001-1005 и по Random запускается трек из этого диапазона. Если нужно - диапазон можно расширить.
Например, нужно расширить 1001-1020, тогда в процедуре
TX_AUDIO.ChangeTrackToCombatMusic
00002A97: ED -> FC // это младший байт 1005 -> 1020
00002ACA: 0E -> 1D // это random(5) -> random(20)

В принципе, если переписать TX_AUDIO.ChangeTrackToSectorMusic, то можно музыку гнать вообще по случайному закону без привязки к сектору.
    Добавлено: 16:31 28-06-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
CheckerTwo :
В принципе, если переписать TX_AUDIO.ChangeTrackToSectorMusic, то можно музыку гнать вообще по случайному закону без привязки к сектору


Суть в том - чтобы наоборот убрать нафиг эту случайность и сделать воспроизведение треков строго контролируемым. Т.е. чтобы трек сектора менять можно было в любой момент скриптом или прогой. Как можно сделать нормальное звуковое оформление сингла, если треки все воспроизводятся через пень колоду?
Если бы так было в стандартном сингле Х2 - тебе бы интересно было играть? Улыбка
    Добавлено: 23:00 28-06-2005   
Dimaxx
 1016 EGP


Рейтинг канала: 1(5)
Репутация: 204
Сообщения: 5811
Откуда: Северодвинск
Зарегистрирован: 26.06.2002
Боевую музыку ваще нафиг отключить. Убрать обработку NotifyAlert() как класс. Пусть всегда будет секторная музыка.
_________________
"Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс
    Добавлено: 20:44 29-06-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
Dimaxx :
Боевую музыку ваще нафиг отключить. Убрать обработку NotifyAlert() как класс. Пусть всегда будет секторная музыка.


А тогда её не сменить средствами игры. А так можно заменять один трек боевой и его крутить Улыбка

зыж Прогой занимается кто-нить?
    Добавлено: 22:10 29-06-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
Людя добрыя, не дайте помереть идее с обработчиком логов, пжалуйста Рыдания.
    Добавлено: 21:50 30-06-2005   
Lazy Cat
 405 EGP


Рейтинг канала: 1(4)
Репутация: 145
Сообщения: 2148
Откуда: Украина, Тернополь
Зарегистрирован: 16.04.2004
Сорри, отвлекся на работу Расстроен
AlexYar :
Насколько большим? Не более же секунды? Желательно знать диаппазон времени, чтобы цикл проверки поточнее настроить в скриптах.

Переименовать/стереть файл относительно недого, скопировать может оказаться дольше, особенно если игра сожрала все ресурсы ... Но это обходится в любом случае если есть способ проверить исполнилась команда или нет Улыбка Сканирование лога можно поставить например раз в 50-200 милисекунд, бОльшая часть команд будет исполняться за доли секунды, так что в секунду в большинстве случаев можно уложиться.
Насчет дополнения лога - прога может чистить отработанные команды, так что скрипту достаточнно будет просто дописывать нужные.
Есть еще одна потенциальная проблема - если Х2 и прога попробуют одновеременно получить доступ к файлу лога. Если проге достатточно будет подождать один цикл, то Х2 может и не записать строчку в файл если он в это время будет занят программой. Но вроде есть вариант как это обойти ...
ЗЫ. К понедельнику (а скорее всего завтра/послезавтра) будет тестовый вариант программы - надо восстановить работспособность Х2 и потестить ...
ЗЗЫ. Ну вот, бОльшая часть проги готова, думаю завтра (в тяпницу) вечером доделаю и потестю соместно с Х2 Зеваеца
_________________
Еж - птица гордая ...
А тут столько летающих eg-й %)
    Добавлено: 22:34 30-06-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
Lazy Cat :
Насчет дополнения лога - прога может чистить отработанные команды, так что скрипту достаточнно будет просто дописывать нужные


Lazy Cat :
Есть еще одна потенциальная проблема - если Х2 и прога попробуют одновеременно получить доступ к файлу лога


Поэтому проге не нужно чистить лог. Т.е. доступ на запись в лог должен оставаться только у скрипта, а на запись в 75001 и 445001 только у проги.

Lazy Cat :
К понедельнику (а скорее всего завтра/послезавтра) будет тестовый вариант программы


Ура! Улыбка А какие функции там будут? Оченно интересуют 1,2 и 4 пункты Гы-гы

Кстати, если тесты пройдут успешно, то на основе этой проги (расширив её) можно забацать целую скриптовую систему с офигенными возможностями!
    Добавлено: 07:12 01-07-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
Dimaxx :
Боевую музыку ваще нафиг отключить. Убрать обработку NotifyAlert() как класс. Пусть всегда будет секторная музыка.


Кстати, если Shaddie раскопает и сделает управление треками, то тогда согласен с тобой. А еще лучше - сделать временную "блокировку" этого алерта с помощью скрипта (когда это нужно в миссиях).
    Добавлено: 07:26 01-07-2005   
Executor
 1860 EGP


Рейтинг канала: 3(29)
Репутация: 522
Сообщения: 9024
Откуда: Менск. Беларусь.
Зарегистрирован: 09.05.2001
хм, а нафига выключать боевые треки? По мне так они как раз нужны, удобно.
_________________
Император Всея Галактики, Прилегающих Туманностей, Комет И Астероидов, А Также Планеты Ракксла, Буде Она Все-Таки Обнаружится :)
    Добавлено: 08:16 01-07-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
Executor :
хм, а нафига выключать боевые треки?


Чтобы делать новые синглы и миссии Подмигиваю Без нормальной озвучки и муз сопровождения они будут Задница
    Добавлено: 08:39 01-07-2005   
Lazy Cat
 405 EGP


Рейтинг канала: 1(4)
Репутация: 145
Сообщения: 2148
Откуда: Украина, Тернополь
Зарегистрирован: 16.04.2004
AlexYar :
Поэтому проге не нужно чистить лог. Т.е. доступ на запись в лог должен оставаться только у скрипта, а на запись в 75001 и 445001 только у проги.

А если скрипт захочет записать сразу две-три команды и успеет это сделать ДО того как прога считает те что еще не выполнила? Часть команд тогда пропадет ... Вариант обхода есть, причем он дает возможность запускать целую последовательность команд за один заход, с контролем последовательности их исполнения. Правда это немного усложнит формат строки с командой (добавится еще один параметр) и надо будет писать два одинаковых файла лога, но это легко обходится в скрипте (анализатор с этим уже работает, так что с ним проблем не будет). Хотя если надо будет - это опять же будет несложно переделать Гы-гы
AlexYar :
А какие функции там будут? Оченно интересуют 1,2 и 4 пункты

1-4 + дополнительно команды управления самой прогой (вдруг понадобится Гы-гы ) + возможность относительно легко добавлять новые команды. Насчет имен команд - реализовал выбор команды по имени (например "delete") + дополнительно сколько угодно "синонимов", т.е. можно будет написать либо
rename file1 file2
либо
1 file1 file2
и т.д.
_________________
Еж - птица гордая ...
А тут столько летающих eg-й %)
    Добавлено: 15:51 01-07-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
Lazy Cat :
А если скрипт захочет записать сразу две-три команді и успеет это сделать ДО того как прога считает те что еще не выполнила?


Для этого в скрипте надо делать соответствующие задержки и не нагружать шибко прогу Улыбка

Кстати, возможен даже такой вариант, как игрок поставит обновление мода, скрипт-система отработает своё дело и попросит игрока перезапустить игру, чтобы задействовать новые настройки из папки Types Улыбка Либо просто попросит сохраниться и перегрузить сохраненку. С такой прогой поистине безграничные возможности открываются Улыбка

А можно добавить функцию, чтобы при выдаче скриптом "setid pXXXX tYYYY ЦИФРЫБУКВЫ" прога записала в два вышеперечисленных файла (44 и 7) следующее:

<page id="XXXX" title="" descr="">
<t id="YYYY">ЦИФРЫБУКВЫ</t>
</page>

А если такие ID найдены, то переписывала значение "ЦИФРЫБУКВЫ".

Или это сложно и долго уже сделать? Хотя пока и 1-4 хватит за глаза для экспериментов Улыбка
    Добавлено: 17:52 01-07-2005   
Lazy Cat
 405 EGP


Рейтинг канала: 1(4)
Репутация: 145
Сообщения: 2148
Откуда: Украина, Тернополь
Зарегистрирован: 16.04.2004
Для экспериментов сделаю что сказал, а там если все заработает как надо, то можно будет уже наращивать. Теоретически можно сделать все что угодно, а практически - только то что не лениво или очень надо Подмигиваю
_________________
Еж - птица гордая ...
А тут столько летающих eg-й %)
    Добавлено: 20:05 01-07-2005   
Lazy Cat
 405 EGP


Рейтинг канала: 1(4)
Репутация: 145
Сообщения: 2148
Откуда: Украина, Тернополь
Зарегистрирован: 16.04.2004
Ну вот, пока дело касалось только С++ все работало как и ожидалось, а дошло дело до скриптов - первые грабли, Не получается записать лог или я его не там ищу Расстроен
Вот код скрипта:
Код:

Version: 0
for Script Engine Version: 25

Description
Description
Arguments
1: command , String , 'command'
Source Text

001   $counter = get global variable: name='lazycat.logmonitor.counter'
002   inc $counter =
003   $str = '' + $counter + ' ' + $command
004   write to log file #9998  append=[TRUE]  value=$str
005   write to log file #9997  append=[TRUE]  value=$str
006   write to log file #2  append=[FALSE]  value='test 2'
007   write to log file #1  append=[TRUE]  value='test string'
008   set global variable: name='lazycat.logmonitor.counter' value=$counter
009   return $counter

Пытался его упрощать - оставлял только строчки 6, 7 и 9 - всеравно фиг, ниодин лог не нашел Расстроен Придется видно все отложить пока не научусь писать логи из Х2 ...
ЗЫ. Х2 v1.4 US with noCD exe.
_________________
Еж - птица гордая ...
А тут столько летающих eg-й %)
    Добавлено: 23:59 01-07-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
Lazy Cat :
всеравно фиг, ниодин лог не нашел


А ты где лог ищешь? Он там же, где и Х2.ехе лежит. Называется log9998.txt .

Вот что пишу в скрипте:

002 write to log file #99998 append=[FALSE] value='1 s,001 s,002'
003 write to log file #99998 append=[TRUE] value='testoviytext'
004 return пусто

Вот что выдает в лог:

1 s,001 s,002
testoviytext


Если что - говори, что и куда надо выводить, я напишу скрипт.

Кавычки в скрипте писать не надо, надо просто выбрать - "текст" в низу, он автоматом сам в кавычки возьмется. Иначе ты текстовую переменную не задашь.
    Добавлено: 00:30 02-07-2005   
Lazy Cat
 405 EGP


Рейтинг канала: 1(4)
Репутация: 145
Сообщения: 2148
Откуда: Украина, Тернополь
Зарегистрирован: 16.04.2004
Уже разобрался, заработало ... Говорят скрипт надо было таки запустить, чтобы он хоть что-то мог записать в лог Ой, не могу!.. Сразу видно что давно скриптописанием не занимался Гы-гы
Есть еще вопрос: В качестве возвращаемого значения в скрипт мне нужно передать целое число, чтобы потом сравнить его с другой переменной (тоже целое число, сравнение надо на меньше/больше/равно). Как это лучше сделать, ато я оказывается забыл практически все? Расстроен
_________________
Еж - птица гордая ...
А тут столько летающих eg-й %)
    Добавлено: 13:23 02-07-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
Lazy Cat :
Говорят скрипт надо было таки запустить, чтобы он хоть что-то мог записать в лог


Ой, не могу!.. Ой, не могу!.. Ой, не могу!..

Lazy Cat :
В качестве возвращаемого значения в скрипт мне нужно передать целое число, чтобы потом сравнить его с другой переменной (тоже целое число, сравнение надо на меньше/больше/равно). Как это лучше сделать


Задать в скрипте аргумент и его возвращать. А вызывать этот скрипт из другого с параметром из этого аргумента. Это вернуть.
А передать - так же, только число писать не в аргумент, а первым параметром типа:

"отдай" THIS callscript "скрипт" аргумент "бери".

Или:

"отдай" PLAYERSHIP callscript "скрипт" аргумент "бери".
    Добавлено: 13:41 02-07-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
AlexYar :
"отдай" PLAYERSHIP callscript "скрипт" аргумент "бери".


Т.е. "бери" - это ты передаешь скрипту переменную "бери" с её значением в скрипте, из которого вызываешь.
А "отдай" - это то, что будет записано вызываемым скриптом после Return "на" в переменную "отдай".
    Добавлено: 13:53 02-07-2005   
Lazy Cat
 405 EGP


Рейтинг канала: 1(4)
Репутация: 145
Сообщения: 2148
Откуда: Украина, Тернополь
Зарегистрирован: 16.04.2004
Да нет, я имел ввиду из анализатора логов ... Эта задачка немного посложнее будет ...
_________________
Еж - птица гордая ...
А тут столько летающих eg-й %)
    Добавлено: 14:06 02-07-2005   
AlexYar
 1916 EGP


Рейтинг канала: 6(445)
Репутация: 325
Сообщения: 32768

Зарегистрирован: 26.10.2003
Lazy Cat :
Да нет, я имел ввиду из анализатора логов ... Эта задачка немного посложнее будет ...


В смысле, из текстовой переменной в числовую перевести?
    Добавлено: 15:14 02-07-2005   
Канал X2: The Threat: «Фриловские CMP в BOD»
На страницу: Пред.  1, 2, 3, 4, 5, 6  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Не недооценивайте тинейджеров - мы тоже умные бываем, но редко. (сказал Poluks)

  » Фриловские CMP в BOD | страница 5
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18