agentex
offline
Опыт:
34,834Активность: |
Neutral Creep Spawn System 2.3
ОписаниеМощная система респавна нейтралов по лагерям либо по одиночке. Группы нейтралов определяются автоматически после загрузки карты. (Вам нужно только поставить юнитов на карту).
Система имеет множество настроек, удобна в использовании и проста в установке. УстановкаУстановка системы максимальна упрощена, что делает ее доступной даже для новичков.
Настоятельно рекомендуется прочесть описание настроек и функций!!! (триггер NCSS Readme)
Особенности
От автораСистема очень гибкая и может использоваться в картах любых жанров, настроить ее можно практически под любые задачи. Пользуйтесь наздоровье.
Данная система используется в проекте AoN
Версии системы
» список изменений 1.1:
» список изменений 2.0:
» список изменений 2.1:
» список изменений 2.2:
» список изменений 2.2.1:
» список изменений 2.2.2:
» список изменений 2.3:
» Известные баги
в версии 2.1 и ниже:
при смерти крипа на экране появляется дебаг-сообщение. для этого удалите строчку call BJDebugMsg("unit "+GetUnitName(t)+" died. ind="+I2S(ind)) из функции function NCSS_Creep_OnDie takes nothing returns nothing, которая находится в триггере NCSS Main в версии 2.2.1: по умолчанию включена проверку на положение камеры, которая приводит к десинхронизации. необходимо отключить данную опцию либо скачать новую версию системы. Система обновлена: 31.08.2010
Отредактировано agentex, 01.09.2010 в 00:54. |
16.11.2008, 14:46 | #1
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zer0ne
offline
Опыт:
11,219Активность: |
Ну сам смысл системы простой. Ещеб во время респавна какойнить эффект |
16.11.2008, 14:56 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
мм какой например? ну во время респавна можно много че делать, мб добавлю такую настройку |
16.11.2008, 15:00 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zer0ne
offline
Опыт:
11,219Активность: |
как у гальвинизации |
16.11.2008, 15:02 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
в версию 1.1 добавлена возможность отображения эффектов на юнитах при спауне. настройка - путь до модели. |
16.11.2008, 15:16 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
agentex, на твоем месте я бы серьезно поработал над кодом.
1. Использовать генпак ТОЛЬКО для объявления глобалок - не самая лучшая идея, с таким же успехом можно обойтись и без него. Или максимизируй использование возможностей vJass. 2. Не рекомендую использовать кеш. В случае с vJass следует прибегнуть к структурам. 3. Советую использовать имба-цикл и нормальную функцию для "пробега" по группе, да и вообще советую почитать про оптимизацию jass кода. 4. Элементарная эффективность: Код:
Не слишком ли много раз возвращается значение от I2S(H2I(g)), или хотя бы I2S(i)? Даже не учитывая цикл, было бы неплохо записывать результат I2S(H2I(g)) в локалку. Если будешь переходить на структуры, эта проблема отпадет сама собой. Было бы неплохо прикрутить опциональную проверку на присутствие войск, управляемых игроком, поблизости - бывает не очень приятно, когда около твоих юнитов появляется толпа крипов. |
16.11.2008, 15:53 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
ShadoW DaemoN, хорошо учту замечания
1. просто в vjass я не шарю абсолютно, а глобалки очень удобно обьявлять 2. про кеш сам знаю, а структы основаны на паралельных масивах или на чем? 3. а чем плох ForGroup? 4. иду корректировать. насчет присутствия войск ты правильно подметил, в 1.1 это будет |
16.11.2008, 16:07 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
agentex,
1. http://xgm.guru/forum/showthread.php?t=13118, либо читай ..\JNGP\jasshelper\jasshelpermanual.html 2. По сути да. По структурам можно почитать материал в пункте 1. 3. Как раз ForGroup (если в группе УЖЕ присутствуют юниты и нужно произвести с ними определенные манипуляции) или GroupEnum (если нужно набирать юнитов и одновременно производить действия) и нужно юзать, а не вот такой код: Код:
Или возьмем вот это: Код:
Переносим весь essential код из цикла в отдельную функцию: Код:
4. Лучше сразу на структурах делай =) |
16.11.2008, 16:38 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
V1ctor1ous
offline
Опыт:
23,781Активность: |
А можно ли изменять тех,кто спавнился,на других,как в доте? |
17.11.2008, 13:20 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
Всмысле как в доте? а то есть вместо одной группы мобов спавнить другую и наоборот? ну впринципе это реально и даже не сложно... |
17.11.2008, 13:25 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
V1ctor1ous
offline
Опыт:
23,781Активность: |
agentex Ну допустим,стояли два кентавра...им дали [censored] и спустя время(можно и рандомное) появились там же сатиры.А после ктонить другие,как пользователь захочет.
|
17.11.2008, 13:29 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
наоборот, пользователь тут не причем, рандом онли, не ну поставить проверку чтобы такой же уровень у мобов был из второй группы и усе |
17.11.2008, 13:32 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
V1ctor1ous
offline
Опыт:
23,781Активность: |
agentex Кстати,неплохая идея,сделай из возможностей респауна и по времени и случайно,например от 25 до 100 сек.
|
17.11.2008, 13:35 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dragon Knight
Меткий стрелок!!!
offline
Опыт:
4,138Активность: |
agentex у тебя система регистрирует динамически создаваемых юнитов или только созданных юнитов при инициализации?
|
17.11.2008, 14:33 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
при инициализации, те которые на карте стоят, ну вернее там отсрочка 0.00 стоит можно поставить скока надо не было цели такой регистрировать динамически создаваемых - хз зачем это надо |
17.11.2008, 14:39 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dragon Knight
Меткий стрелок!!!
offline
Опыт:
4,138Активность: |
Просто на некотороых картах могут сделать так:
События:
Юнит входит в регион Условия Triggering Unit is Герой = Да или ещё кто-то
Действия:
Выключить This trigger Создать тамто-тамто юнита Ведь невозможно указать точное время,когда юнит войдёт в регион и получается,то что созданый(е) юнит(ы) не возродятся |
17.11.2008, 14:48 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
чего? честно гря не понимаю о чем ты. а вообще в триггере Instruction в мапе есть описание работы системы, чтобы люди заранее знали как надо ее использовать - то есть никак просто ставить крипов на мапу |
17.11.2008, 14:55 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Dragon Knight
Меткий стрелок!!!
offline
Опыт:
4,138Активность: |
Я просто сказал тебе что может случиться во время игры,а как делаешь систему это дело твоё |
17.11.2008, 15:01 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
Залита новая версия. комментируйте плз.
список изменений 1.1: -оптимизирован код системы -система стала универсальной, для ее работы не требуется JNGP -добавлена возможность настройки визуального эффекта при спавне групп -добавлена настройка рандомизации времени до респавна -добавлена опция отсрочки таймера спавна в случае обнаружения вблизи области спавна юнитов, контроллируемых игроками -добавлена опция "перемешивания" групп (т.е. после смерти одной респавнится другая, аналогичная по уровням) agentex добавил: таак свдн скачал, готовлюсь к критике.. |
22.11.2008, 19:37 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ShadoW DaemoN
offline
Опыт:
37,078Активность: |
Цитата:
Не дождетесь ^_^ © Собственно, я не знаю, что тут можно комментить. Те же самые проблемы с кодом, что и в прошлой версии. Даже если бы не поленился и переделал все явные циклы (loop FirstOfGroup endloop) на условные (call GroupEnum(function blabla)), код бы избавился от кучи ненужных операций. Несколько слов об оформлении: 1. Код читать неудобно, хоть бы нормальные отступы расставил... 2. Сделай префиксы для функций, чтобы исключить возможность совпадения имен. 3. Делай краткие комменты для функций, при просмотре которых у юзера могут возникнуть вопросы. |
|
22.11.2008, 21:01 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|