XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Барахолка
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт: 6,885
Активность:
Update Item System
Update Item System - это Система Сборных Предметов, выполненная полностью на jass. С ее помощью можно легко и быстро создавать наборы, требующие до 6 составляющих.
Будет полезна в картах типа AOS, Arena, Hero Defence.

Очень просто переносится на другую карту. Для использования особых знаний по jass не нужно, чтобы зарегистрировать новый набор, нужно будет по шаблону вызвать функцию с определенными аргументами. Все это подробно описано в карте-примере.

Загрузил новую версию с улучшенным алгоритмом!
Жду Ваших комментариев...

Сборные предметы на карте-примере:
  • Крест перерождения = Камень жизни + Амулет маны + Эликсир маны
  • Кинжал мага = 3х Амулет маны
  • Королевская корона = 3х Камень жизни
  • Сфера льда = 3х Боевые когти + 2х Амулет маны + Камень жизни
  • Маска смерти = Крест перерождения + Кинжал мага + Королевская корона + Сфера льда
  • Вторая Нога Вирта = 3х Маска смерти
  • Боевые когти(+90) = 6х Боевые когти(+15)
  • Боевые когти(+180) = 2x Боевые когти(+90)
  • Ледяной страж = 2х Эликсир маны + Боевые когти(+90)
  • Ключ Трех Лун = 2х Ледяной страж + Боевые когти(+180)
  • Кровавый Ключ = Ключ Трех Лун + Вторая Нога Вирта
Прикрепленные файлы
Тип файла: w3x UpdateItemSystem.w3x (21.6 Кбайт, 115 просмотров )
Тип файла: w3x UpdateItemSystem_1.1.w3x (22.4 Кбайт, 309 просмотров )

Отредактировано Alex_Hell, 25.08.2008 в 22:28.
Старый 23.08.2008, 13:17
Strayiker
Warcraft Forever
offline
Опыт: 3,406
Активность:
Цитата:
без использования кэша - на параллельных массивах (для обеспечения большей производительности).

Жесть...где же ты видел систему сборных предметов с использованием кеша ?
Старый 23.08.2008, 13:42
Scorched

offline
Опыт: 7,912
Активность:
Может я чересчур придираюсь, но набор предметов в карте-примере какой-то неосмысленный, и неясно правильно работает система или нет, какие-то когти с масками %)
Старый 23.08.2008, 13:56
CeraRalaz
...
offline
Опыт: 48,115
Активность:
Scorched,это от большого ума.Тут чего-то оригинального не тебуют.
Alex_Hell,тру наработочка,будет полезна.
Старый 23.08.2008, 14:11
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт: 6,885
Активность:
Strayiker, видел вот))
Scorched, хоть набор и неосмысленный, но всеже не трудно догадаться, что получиться.. тама на камнях лежат составляющие, а рядом на траве то, что получиться.. насчет правильности - я все проверил..
CeraRalaz, спс
Старый 23.08.2008, 14:18
CeraRalaz
...
offline
Опыт: 48,115
Активность:
нашол баг.когда подбираешь 3 амулета маны,то все предметы,не задействованные в крафте, исчезают.Тоже,когда делаешь ногу вирта.
Старый 23.08.2008, 14:19
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт: 6,885
Активность:
CeraRalaz, странно, у меня такого бага нету))
подобрал камень жизни, а после этого 3 амулета маны, амулеты улучшились, а камень остался
а нога вирта получается, когда 3 маски смерти соберешь
Старый 23.08.2008, 14:22
Scorched

offline
Опыт: 7,912
Активность:
Цитата:
Сообщение от CeraRalaz
нашол баг.когда подбираешь 3 амулета маны,то все предметы,не задействованные в крафте, исчезают.Тоже,когда делаешь ногу вирта.

вот поэтому я и говорил
Старый 23.08.2008, 14:22
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт: 6,885
Активность:
Scorched, чего ты говорил? лана объясню что должно получится:
1) 3 х амулет маны = кинжал мага
2) 3 х камень жизни = королевская корона
3) камень жизни + амулет маны + эликсир маны = крест перерождения
4) 3 х боевые когти + 2 х амулет маны + камень жизни = сфера льда
5) кинжал мага + королевская корона + крест перерождения + сфера льда = маска смерти
6) 3 х маска смерти = нога вирта
Старый 23.08.2008, 14:29
Scorched

offline
Опыт: 7,912
Активность:
Alex_Hell, извиняюсь за ложную тревогу, все работает, как часы :)
Старый 23.08.2008, 14:42
CeraRalaz
...
offline
Опыт: 48,115
Активность:
ну я ни знаю,у меня лишние детальки иногда пропадали.
Старый 24.08.2008, 16:58
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Ха vJass sux ! Разница между массивами и кешем в не переодическом триггере почти незаметна.
Старый 24.08.2008, 18:44
ShadoW DaemoN

offline
Опыт: 36,798
Активность:
PlayerDark, причем здесь vJass? У меня такое ощущение, что вам кажется, что до JassNewGenPack массивов вообще не существовало. А они есть!

Alex_Hell, вместо 7 массивов можно использовать один. Примерно следующим образом:
Код:
function UIS_RegisterItem ...
  set udg_UIS_Item[udg_UIS_index+0] = a1
  set udg_UIS_Item[udg_UIS_index+1] = a2
  set udg_UIS_Item[udg_UIS_index+2] = a3
  set udg_UIS_Item[udg_UIS_index+3] = a4
  set udg_UIS_Item[udg_UIS_index+4] = a5
  set udg_UIS_Item[udg_UIS_index+5] = a6
  set udg_UIS_Item[udg_UIS_index+6] = n
  set udg_UIS_index = udg_UIS_index + 7
endfunction

  // . . .
  set udg_UIS_index = 0

Также было бы неплохо снабдить систему функцией разбора предмета на составляющие.
Старый 24.08.2008, 19:24
Alex_Hell
Mapmaker 'N' Programmer
offline
Опыт: 6,885
Активность:
Цитата:
Сообщение от ShadoW DaemoN
вместо 7 массивов можно использовать один.

Я просто сразу не подумал об этом.. правильнее будет:
Код:
function UIS_RegisterItem ...
  set udg_UIS_Item[udg_UIS_index*7] = a1
  set udg_UIS_Item[udg_UIS_index*7+1] = a2
  set udg_UIS_Item[udg_UIS_index*7+2] = a3
  set udg_UIS_Item[udg_UIS_index*7+3] = a4
  set udg_UIS_Item[udg_UIS_index*7+4] = a5
  set udg_UIS_Item[udg_UIS_index*7+5] = a6
  set udg_UIS_Item[udg_UIS_index*7+6] = n
  set udg_UIS_index = udg_UIS_index + 7
endfunction

Но я всеже оставлю как есть, так болле понятней
Цитата:
Также было бы неплохо снабдить систему функцией разбора предмета на составляющие.

Не вижу особой надобности, но всеже сделаю...

Alex_Hell добавил:
Цитата:
Сообщение от PlayerDark
Разница между массивами и кешем в не переодическом триггере почти незаметна.

А ты представь, что наработка будет использоваться в очень динамичной арене, на которой будет играть по сети много игроков и на карте будет сотня наборов предметов.. вот тогда и посмотрим на слайдшоу
Старый 24.08.2008, 21:27
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Без vJass массивы не удобно использовать, поэтому их и используют в основном там.
Старый 25.08.2008, 08:44
Ksax
Взрываю ваше вображение!
offline
Опыт: 4,349
Активность:
А не легче на каждый предмет отдельный тригер? Ведь когда подбираеш "Королевскую корону" И потом собираеш клинок мага случается притормаживание! Увы автор система не годится.
P.s. Кэш в сборке предметов даже новички не используют

Ksax добавил:
Чуть не забыл можно было еще сделать наложение зарядов здесь же.
Старый 25.08.2008, 10:11
CeraRalaz
...
offline
Опыт: 48,115
Активность:
Да по-моему,это все триггерами делается,а как,даже в faq написано.
Старый 25.08.2008, 10:44
ShadoW DaemoN

offline
Опыт: 36,798
Активность:
Alex_Hell, позвольте не согласиться. Если вы будете делать регистрацию предметов по вашему варианту кода, то типы предметов будут записываться в ячейки: 0-6, 49-55, 98-104 и т.д.
К тому же, зачем делать семь лишних умножений, если можно один раз сложить?
Если ты делаешь систему для того, чтобы юзеры понимали, то рекомендую прокомментировать код. Если же для оптимальной работы - разработай более быстрый алгоритм и используй меньше переменных.

Ksax, CeraRalaz, суть данной системы в том, чтобы избавиться от кучи триггеров. Так, как вы предлагаете сделать - регрессивный метод.
Старый 25.08.2008, 11:37
V1ctor1ous

offline
Опыт: 23,781
Активность:
Alex_Hell полностью согласен с ShadoW DaemoN,пожалуйста обьедени массивы,и обнови первый пост.
Старый 25.08.2008, 12:53
w3soft
ТГБ тим
offline
Опыт: 1,769
Активность:
Подобных систем куча, и это не самый лучший вариант - при поднимании предмета срабатывает слишком много циклов, что довольно отрицательно влияет на произвождительность.
Я давненько писал систему, но чтобы её вложить, необходимо сначала причесать, чем заниматься лень=)
Старый 25.08.2008, 13:24
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 22:00.