Понедельник, 29.04.2024, 10:43:19

Приветствую Вас Турист | RSS
Главная | Создание квестов: Начнем? - Страница 2 - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Форум » Ресурсы » Квесты » Создание квестов: Начнем?
Создание квестов: Начнем?
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-х кровососов?

Миру - Чистое Небо!
 
Форум » Ресурсы » Квесты » Создание квестов: Начнем?
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:


Copyright ST:S team © 2024
Хостинг от uCoz