The New Future :: FOnline, Half-life 2 :: Roleplay It!  

Вернуться   The New Future :: FOnline, Half-life 2 :: Roleplay It! > Прочее > FOmod > Учебка

Учебка Обучающие материалы.

Ответ
 
Опции темы Опции просмотра
Старый 09.06.2010, 10:54   #11
heX
Senior Member
 
Специализация: Скриптер
Регистрация: 15.10.2009
Сообщений: 121
Вес репутации: 98
heX will become famous soon enough
По умолчанию

Цитата:
Сообщение от PowerMagic Посмотреть сообщение
если там не анимация, а просто кадры надо выдать, то используй item.AnimStayBegin = frm;...
Можешь показать описание прототипа итема? - а то чето у меня все-равно не работает.

Последний раз редактировалось heX; 09.06.2010 в 11:01.
heX вне форума   Ответить с цитированием
Данный пользователь сказал FFUU~~ heX за этот пост:
Fujhover (19.11.2010)
Старый 09.06.2010, 11:33   #12
qthree
A Nice King
 
Аватар для qthree
 
Специализация: Скриптер
Регистрация: 07.10.2009
Адрес: мск+3
Сообщений: 524
Вес репутации: 304
qthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond repute
По умолчанию

Редактируй в редакторе объектов и ставь галку на цикличной анимации (чекбокс находится во второй вкладке над полями с Anim*). Без неё анимация указанная в полях проигрывается только один раз при появлении/отображении/исчезании (show/stay/hide) объекта.
Если редактор объектов у вас не работает, то откапывайте irc логи, я уже объяснял как с флагами из текстового редактора работать.
__________________
 qthree has been possessed!
qthree вне форума   Ответить с цитированием
Старый 09.06.2010, 11:45   #13
qthree
A Nice King
 
Аватар для qthree
 
Специализация: Скриптер
Регистрация: 07.10.2009
Адрес: мск+3
Сообщений: 524
Вес репутации: 304
qthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond repute
По умолчанию


Если редактируем ручками в текстовом редакторе, то:
Цитата:
<qthree> 33562624
<qthree> типа 0x2002000
<qthree> 10000000000010000000000000
<qthree> одна единичка это CanLook вторая ShowAnim
Цитата:
<qthree> 8192 - только шоу аним
<qthree> это 0x2000
Цитата:
<qthree> например есть у тебя некий набор флагов Flags=167774282
<qthree> переводишь это число в hex, полчуается 0xA00084A
<qthree> прибавляешь 0x2000 (флаг ShowAnim)
<qthree> получаем 0xA00284A
<qthree> переводим обратно в десятеричную и вставляем результат в прототип
<TabaK> ку3, ты - гений
<TabaK> аж не верится что ты состоял в АС)
upd:
Цитата:
<TabaK> Возможно, что-то из этого дерьма поможет AnimWaitBase=0
<TabaK> AnimWaitRndMin=0
<TabaK> AnimWaitRndMax=0
<TabaK> AnimStay_0=0
<TabaK> AnimStay_1=0
<TabaK> AnimShow_0=0
<TabaK> AnimShow_1=0
<TabaK> AnimHide_0=0
<TabaK> AnimHide_1=0
<qthree> AnimStay_0 - первый кадр
<qthree> AnimStay_1 - последний кадр
<TabaK> на ведь нам нужна непрерывная анимация
<qthree> AnimWaitBase - задержка между повторами
<TabaK> лол
<TabaK> Все так просто?
<qthree> мм... да
<TabaK> а сценери точно будут анимироваться?
<qthree> почему нет?
<TabaK> А кадры индексируются от 0, или от 1?
<qthree> но анимация должна быть в прототип быть вшита
<qthree> от 0 по идеи
<qthree> show и hide - это так же что проигрывать, но при появлении и исчезании предмета из поля видимости (к сценери не юзабельно *они всегда видимы*)
upd2: У itemов емнип есть дублирующие динамичные поля, которые можно менять на лету. При создании значения копируются из прототипа, а далее их можно менять.

upd3: если менять флаги в скриптах (добавить ShowAnim), то надо юзать существующий макрос и дефайн по добавлению флага:
#define SETFLAG #(x,flag) ((x)=(x)|(flag)) *из _macros.fos*
#define ITEM_SHOW_ANIM (0x00002000) *из _define.fos_*

например SETFLAG(item.Flags,ITEM_SHOW_ANIM)

ну и
Цитата:
Сообщение от PowerMagic Посмотреть сообщение
Код:
item.AnimStayBegin	= frm;
	item.AnimStayEnd	= frm;
	item.AnimShowBegin 	= frm;
	item.AnimShowEnd 	= frm;
	item.AnimHideBegin 	= frm;
	item.AnimHideEnd	= frm;
__________________
 qthree has been possessed!

Последний раз редактировалось qthree; 09.06.2010 в 12:00.
qthree вне форума   Ответить с цитированием
4 Пользователей сказали спасибо qthree За этот пост:
binyan (09.06.2010), heX (09.06.2010), PowerMagic (09.06.2010), Sargonius (24.08.2010)
Старый 02.07.2010, 20:39   #14
binyan
Senior Member
 
Специализация: Вне команды
Регистрация: 09.02.2010
Сообщений: 339
Вес репутации: 171
binyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant future
По умолчанию

[18:15:28] <binyan> А что будет, если на одной карте одновременно запустятся 2 скрипта, использующие один и тот же мап_луп?
[18:17:00] <cvet> Как?
[18:18:32] <binyan> Ну скажем в скрипте одного НПС будет мспользоваться мап_луп0, который будет проверять где находится НПС, а в скрипте другого НПС будет использоваться также мап_луп0, который, скажем, будет проверять какое оружие у этого непися в руке
[18:19:40] <binyan> Я говорю про случаи несогласованной работы, можно сказать. Когда 2 разных человека делают два разных скрипта в которых используют один и тот же мап_луп, а затем оба этих скрипта используются на одной карте
[18:20:50] <cvet> Нельзя установить два события.
[18:21:26] <cvet> Установка события отменяет предыдущее.
[18:22:15] <binyan> Т.е. если будет инициализировано 2 скрипта, то мап_луп будет работать только для второго?
[18:23:12] <cvet> Я не знаю что ты подразумеваешь под инициализацией. События устанавливаются с помощью SetEvent
[18:24:12] <binyan> Ну да. Я имею ввиду если все события устанавливаются в процедуре инициализации, тогда ивент будет работать только для последнего инициализированного скрипта
[18:26:02] <cvet> Да.
binyan вне форума   Ответить с цитированием
Старый 02.07.2010, 21:13   #15
qthree
A Nice King
 
Аватар для qthree
 
Специализация: Скриптер
Регистрация: 07.10.2009
Адрес: мск+3
Сообщений: 524
Вес репутации: 304
qthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond reputeqthree has a reputation beyond repute
По умолчанию

Кэп, ты?
__________________
 qthree has been possessed!
qthree вне форума   Ответить с цитированием
Старый 02.07.2010, 22:04   #16
binyan
Senior Member
 
Специализация: Вне команды
Регистрация: 09.02.2010
Сообщений: 339
Вес репутации: 171
binyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant future
По умолчанию

Он самый.
binyan вне форума   Ответить с цитированием
Старый 05.07.2010, 06:59   #17
binyan
Senior Member
 
Специализация: Вне команды
Регистрация: 09.02.2010
Сообщений: 339
Вес репутации: 171
binyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant future
По умолчанию

Херовенькие новости, друзья коллеги... Точнее для кого то это может и не новость, но для меня стало сюрпризом. Неприятным таким сюрпризом. Оказывается в качестве таймера МапЛуп еще хуже чем ТаймИвент. Если минимальный интервал для ТаймИвент это 3 секунды (при ТаймМултиплаер х20), то для МапЛуп минимальный интервал это 5000 мс = 5 секунд. Вот такие то новости. Теперь вопрос, как захерачить таймер хотя бы с интервалом в одну секунду?
binyan вне форума   Ответить с цитированием
Старый 05.07.2010, 11:31   #18
heX
Senior Member
 
Специализация: Скриптер
Регистрация: 15.10.2009
Сообщений: 121
Вес репутации: 98
heX will become famous soon enough
По умолчанию

uint CreateTimeEvent ( uint beginMinute,
string& funcName,
uint[]& values,
bool save
)
Плюс sleep - правда год назад она работала как-то странно...

P.S. МапЛуп был нужен для неспешного анализа карты. И МапЛуп это устаревший атавизм - думаю цвет рано или поздно уберет его.

Последний раз редактировалось heX; 05.07.2010 в 12:05.
heX вне форума   Ответить с цитированием
Данный пользователь сказал FFUU~~ heX за этот пост:
Fujhover (19.11.2010)
Старый 05.07.2010, 16:15   #19
binyan
Senior Member
 
Специализация: Вне команды
Регистрация: 09.02.2010
Сообщений: 339
Вес репутации: 171
binyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant futurebinyan has a brilliant future
По умолчанию

Цитата:
Сообщение от binyan Посмотреть сообщение
Минимальный интервал для ТаймИвент это 3 секунды (при ТаймМултиплаер х20)
Поясняю. uint beginMinute - целочисленное значение, значит не может быть меньше одного. Если beginMinute = _FullMinute+1 (а это минимальное значение), то при максимальном _TimeMultiplier (х20), эта одна игровая минута будет равна 3 реальным секундам. Мне же нужно создать таймер ну МАКСИМУМ на 1 секунду. А желательно и того меньше.
binyan вне форума   Ответить с цитированием
Старый 05.07.2010, 16:19   #20
heX
Senior Member
 
Специализация: Скриптер
Регистрация: 15.10.2009
Сообщений: 121
Вес репутации: 98
heX will become famous soon enough
По умолчанию

Эту особенность Ку и ТовПрапор еще полгода назад подметили.
Вроде как можно решить при помощи sleep - там милиссекунды.

sleep - это пауза в выполнении скрипта.
Только оно у меня год назад не заработало. как сейчас дело обстоит я не знаю. Плюс если я правильно понимаю механизм пула скриптов то использование sleep будет создавать серьезную проблему.

(В идеале нужно создавать спец таймер(низкоуровневый таймер) привязанный к тикам - самый правильный вариант - нужно просить цвета)

Последний раз редактировалось heX; 05.07.2010 в 16:31.
heX вне форума   Ответить с цитированием
Данный пользователь сказал FFUU~~ heX за этот пост:
Fujhover (19.11.2010)
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 13:10.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot
Для внутреннего пользования