Создание квестов: Начнем?
| |
StalkerSource | Дата: Вторник, 18.10.2011, 15:19:26 | Сообщение # 16 |
Легенда
Группа: Администраторы
Сообщений: 802
Награды: 55
Репутация: 334
Статус: Offline
| player_hurt тоже обрабатывается как два разных события Code event player_hurt { est_uptime timestamp
es_set hitgroup event_var(hitgroup) es_set vhealth event_var(health) es_set varmor event_var(armor) es_set dhealth event_var(dmg_health) es_set darmor event_var(dmg_armor) es_set ahealth event_var(es_attackerhealth) es_set aarmor event_var(es_attackerarmor) es_set vdeaths event_var(es_userdeaths) es_set adeaths event_var(es_attackerdeaths) es_set vkills event_var(es_userkills) es_set akills event_var(es_attackerkills) es_set vteam event_var(es_userteam) es_set ateam event_var(es_attackerteam) es_set vdead event_var(es_userdead) es_set adead event_var(es_attackerdead)
es est_getguncoord event_var(userid) vx vy vz es est_getguncoord event_var(attacker) ax ay az
es_xset quest_event givedamage es_set quest_userid event_var(attacker) es_xdoblock quest/test
es_xset quest_event takedamage es_set quest_userid event_var(userid) es_xdoblock quest/test } flashbang_detonate теперь просто flashdetonate Code event flashbang_detonate { est_uptime timestamp
es_set x event_var(x) es_set y event_var(y) es_set z event_var(z) es_set health event_var(es_userhealth) es_set armor event_var(es_userarmor) es_set deaths event_var(es_userdeaths) es_set kills event_var(es_userkills) es_set team event_var(es_userteam) es_set dead event_var(es_userdead)
es est_getguncoord event_var(userid) ax ay az
es_xset quest_event flashdetonate es_set quest_userid event_var(userid) es_xdoblock quest/test } blind Code event player_blind { est_uptime timestamp es playerget flashalpha alpha event_var(userid) es playerget flashduration duration event_var(userid)
es_set health event_var(es_userhealth) es_set armor event_var(es_userarmor) es_set deaths event_var(es_userdeaths) es_set kills event_var(es_userkills) es_set team event_var(es_userteam) es_set dead event_var(es_userdead)
es est_getguncoord event_var(userid) ax ay az
es_xset quest_event blind es_set quest_userid event_var(userid) es_xdoblock quest/test } bounce Code event grenade_bounce { est_uptime timestamp
es_set x event_var(x) es_set y event_var(y) es_set z event_var(z) es_set health event_var(es_userhealth) es_set armor event_var(es_userarmor) es_set deaths event_var(es_userdeaths) es_set kills event_var(es_userkills) es_set team event_var(es_userteam) es_set dead event_var(es_userdead)
es est_getguncoord event_var(userid) ax ay az
es_xset quest_event bounce es_set quest_userid event_var(userid) es_xdoblock quest/test } door - открытие/закрытие двери Code event door_moving { est_uptime timestamp
es_set door event_var(entindex) es_set health event_var(es_userhealth) es_set armor event_var(es_userarmor) es_set deaths event_var(es_userdeaths) es_set kills event_var(es_userkills) es_set team event_var(es_userteam) es_set dead event_var(es_userdead)
es est_getguncoord event_var(userid) ax ay az
es_xset quest_event door es_set quest_userid event_var(userid) es_xdoblock quest/test } team - смена команды, (1 - спектры, 2 - террористы, 3 - контры) Code event player_team { est_uptime timestamp
es_set team event_var(team) es_set oldteam event_var(oldteam) es_set disconnect event_var(disconnect) //неизвестные параметры //es_set health //es_set armor //es_set deaths //es_set kills //es_set dead
es est_getguncoord event_var(userid) ax ay az
es_xset quest_event team es_set quest_userid event_var(userid) es_xdoblock quest/test }
|
|
| |
StalkerSource | Дата: Среда, 19.10.2011, 02:42:14 | Сообщение # 17 |
Легенда
Группа: Администраторы
Сообщений: 802
Награды: 55
Репутация: 334
Статус: Offline
| Для получения дополнительных данных об игроках можно использовать playerget, но он подойдет только для получения числовых значений, причем скалярных, а не векторов. Кроме того, можно использовать все остальные подобные функции, хоть es_getplayerprop и кучу функций ESTools, но опять же только скалярные значения. Добавьте все что вам нужно сейчас, потому что в самих скриптах квестов такой возможности уже не будет, как я уже говорил, в целях безопасности. Помните об "условных переменных", в которых можно использовать все строковые возможности if. Мелкий насоветовал еще всяких спецфункций, но они будут добавлены только в случае крайней необходимости. Скорее всего, именно спецфункции будут использоваться вместо формул, чтобы узнать содержимое рюкзака пользователя, а так же для повышения интерактивности квестовых скриптов, но то будет позже.
|
|
| |
andruum | Дата: Пятница, 21.10.2011, 10:18:48 | Сообщение # 18 |
Почетный тестер
Группа: Администраторы
Сообщений: 214
Награды: 24
Репутация: 282
Статус: Offline
| Quote event weapon_zoom { Est_uptime timestamp
Es_set health event_var(es_userhealth) es_set armor event_var(es_userarmor) es_set deaths event_var(es_userdeaths) es_set kills event_var(es_userkills) es_set team event_var(es_userteam) es_set weapon event_var(es_userweapon)
es est_getguncoord event_var(userid) ax ay az
Es_math nzoom + 1
Es_delayed 5 est_getviewplayer event_var(userid) targetview
es_xset quest_event weaponzoom es_set quest_userid event_var(userid) es_xdoblock quest/test } //Начал с конца. Думаю это не все, можно еще что нибудь добавить.
Monolith
|
|
| |
andruum | Дата: Пятница, 21.10.2011, 13:52:10 | Сообщение # 19 |
Почетный тестер
Группа: Администраторы
Сообщений: 214
Награды: 24
Репутация: 282
Статус: Offline
| Давай в шапку все утвержденные события
Monolith
|
|
| |
andruum | Дата: Пятница, 21.10.2011, 14:01:10 | Сообщение # 20 |
Почетный тестер
Группа: Администраторы
Сообщений: 214
Награды: 24
Репутация: 282
Статус: Offline
| event weapon_reload { Est_uptime timestamp
Es_set health event_var(es_userhealth) es_set armor event_var(es_userarmor) es_set deaths event_var(es_userdeaths) es_set kills event_var(es_userkills) es_set team event_var(es_userteam) es_set weapon event_var(es_userweapon)
es est_getguncoord event_var(userid) ax ay az
Es_math nreload + 1
es_xset quest_event weaponreload es_set quest_userid event_var(userid) es_xdoblock quest/test }
Monolith
|
|
| |
StalkerSource | Дата: Суббота, 22.10.2011, 00:32:58 | Сообщение # 21 |
Легенда
Группа: Администраторы
Сообщений: 802
Награды: 55
Репутация: 334
Статус: Offline
| reload не нужен, он возникает при ручной перезарядке, а еще при нажатии на R, даже если обойма полная. Но можно сделать дополнительную проверку, чтобы обработка события блокировалась при полной обойме. Кстати, при автоматической перезарядке событие не возникает. Все это делает его бесполезным.
А еще переименование event_var(es_usersteam), event_var(es_userweapon) и прочих строковых переменных не имеет смысла. Их нельзя непосредственно использовать в формулах, для этого используются "условные переменные".
|
|
| |
andruum | Дата: Воскресенье, 23.10.2011, 13:18:08 | Сообщение # 22 |
Почетный тестер
Группа: Администраторы
Сообщений: 214
Награды: 24
Репутация: 282
Статус: Offline
| Quote
event smokegrenade_detonate { Est_uptime timestamp
Es_set health event_var(es_userhealth) es_set armor event_var(es_userarmor) es_set deaths event_var(es_userdeaths) es_set kills event_var(es_userkills) es_set team event_var(es_userteam) es_set weapon event_var(es_userweapon)
es_set x event_var(x) es_set y event_var(y) es_set z event_var(z)
es est_getguncoord event_var(userid) ax ay az
es_xset quest_event smokegrenadedetonate es_set quest_userid event_var(userid) es_xdoblock quest/test
}
Monolith
|
|
| |
andruum | Дата: Воскресенье, 23.10.2011, 13:21:43 | Сообщение # 23 |
Почетный тестер
Группа: Администраторы
Сообщений: 214
Награды: 24
Репутация: 282
Статус: Offline
| Возникает вопрос по player_use. Событие генерируется при активации ЛЮБОЙ энтити ? Или только при активации бомбы?
Quote Description
player_use executes EVERY TIME A PLAYER USES AN ITEM - (bomb kit)
Monolith
|
|
| |
andruum | Дата: Воскресенье, 23.10.2011, 13:30:03 | Сообщение # 24 |
Почетный тестер
Группа: Администраторы
Сообщений: 214
Награды: 24
Репутация: 282
Статус: Offline
| Quote event player_say { Est_uptime timestamp
es_set team event_var(es_userteam)
es est_getguncoord event_var(userid) ax ay az
es_set saytext event_var(text)
es_xset quest_event playersay es_set quest_userid event_var(userid) es_xdoblock quest/test }
Monolith
|
|
| |
StalkerSource | Дата: Понедельник, 24.10.2011, 01:47:00 | Сообщение # 25 |
Легенда
Группа: Администраторы
Сообщений: 802
Награды: 55
Репутация: 334
Статус: Offline
| es_set saytext event_var(text) это текстовая переменная, ее можно использовать только в... ну я же уже говорил об этом. Тем не менее такое событие уже есть, обрабатывается, но называется chat.
А взрыв дымовой гранаты smokedetonate для краткости, обычной - hedetonate. Переменную targetview для события zoom переименовал в target. Туда же добавил эту строку Code es est_getviewcoord event_var(userid) vx vy vz
|
|
| |
StalkerSource | Дата: Понедельник, 24.10.2011, 03:11:12 | Сообщение # 26 |
Легенда
Группа: Администраторы
Сообщений: 802
Награды: 55
Репутация: 334
Статус: Offline
| Добавлено событие anomaly. Переменные следующие. number - номер аномалии, их много type - тип аномалии, их поменьше protection - тип защиты игрока, 0 если нету, 1 если компас и 2 если только что возродился x y z - центр аномалии ax ay az - координаты игрока
Добавлено событие radio slot,ax,ay,az - переменные
Думаю, в шапку ничего пихать не надо, пусть будет как есть по хронологии. Все утвержденное надо пихать в последнюю статью о квестах. Можно было бы даже раздел в статьях сделать и собрать там все о квестах. Каждому событию по статье.
|
|
| |
StalkerSource | Дата: Вторник, 25.10.2011, 16:36:44 | Сообщение # 27 |
Легенда
Группа: Администраторы
Сообщений: 802
Награды: 55
Репутация: 334
Статус: Offline
| С этого момента квесты автоматически сохраняются при любых изменениях, но будьте осторожны при редактировании. Не используемые в данный момент квесты выгружаются из памяти, так что если вы выдадите кому-то недоделаный квест и продолжите его доделывать дальше, а этот человек выйдет, то произойдет проверка. Будет определено, сколько человек в локации имеют такой квест. Если это значение окажется равным нулю(или меньше, лол), то квест будет выгружен из памяти. Поэтому рекомендуется выдать самому себе собственный квест командой quest_give(смотря вертикально вниз), а потом уже работать с ним. Тогда квест не будет выгружен пока вы на сервере, а так же он будет автоматически загружаться, когда вы будете заходить на сервер. А когда закончите, можно отказаться от него командой quest_drop. В связи с наличием такой возможности, команды для загрузки и сохранения квестов создано не будет.
|
|
| |
Крот | Дата: Пятница, 28.10.2011, 22:06:07 | Сообщение # 28 |
Охотник
Группа: Лидер группировки
Сообщений: 134
Награды: 26
Репутация: 91
Статус: Offline
| Возможно написать квест на убийство кровососа и взятия у него крови? Как он будет выглядеть?
Миру - Чистое Небо!
Сообщение отредактировал Крот - Пятница, 28.10.2011, 22:06:34 |
|
| |
StalkerSource | Дата: Пятница, 28.10.2011, 22:14:34 | Сообщение # 29 |
Легенда
Группа: Администраторы
Сообщений: 802
Награды: 55
Репутация: 334
Статус: Offline
| Нет, квестов на добычу артефактов или каких либо материалов пока не может быть создано, так как выдавший квест сам проверяет это, он сам должен получить эти вещи от того, кто квест выполняет.
|
|
| |
Крот | Дата: Пятница, 28.10.2011, 22:43:32 | Сообщение # 30 |
Охотник
Группа: Лидер группировки
Сообщений: 134
Награды: 26
Репутация: 91
Статус: Offline
| ToNic, Ладно, ну а просто на убийство 3-х кровососов?
Миру - Чистое Небо!
|
|
| |
|