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

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

Ответ
 
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
Item Sets System

Общая информация

Система сборных предметов, этим все сказано.

Итак, что тут есть хорошего:

  • легкость установки (нет ни одной глобальной переменной которую бы необходимо было бы объявлять дополнительно)
  • поддержка рецептов до 7 предметов (до 6 в инвентаре + 1 который пытаемся взять или купить)
  • поддержка кратных предметов в рецептах (то есть можно создавать рецепты с повторяющимися ингредиентами)
  • возможность задать можно ли купить какой-то предмет в магазине или нет.

Что плохого:

  • Предметы представляются в двойном виде (сам предмет и его пустышка сделанная на основе руны)

Что есть на данном примере:

  • 2 героя, магазин и кольцо с возможностью брать предметы.
  • 4 рецепта. Первый из 7 предметов (сферы теней от +1 до +7 собираются в +30). Второй из 2 (колечко и рукавица собираются в когти (времени менять названия не было)). Третий из 3 (когти, сфера +30 и рецепт "Супер сила" собираются в одноименный предмет). Четвертый из 2 сфер +1 и 1 сферы +2 собираются в сферу +4 (введен для теста кратности).
Наработка должна полностью быть совместимой с мультиплеером, так как глобальные переменные (внутри библиотеки ISS) хранят только рецепты и списки соответствий.

Описание функций

Как добавить рецепт:

call receptlist.add(id0,id1,id2,id3,id4,id5,id6,id7)
Где id0 .. id7 - это id типа предмета. id0 - то что соберется после получения всех ингредиентов. id1 .. id7 - ингредиенты. Повторяющиеся ингредиенты необходимо передавать столько раз сколько они повторяются. Если ингредиентов меньше чем семь, то первыми передаются ингредиенты, затем нули. ВАЖНО: передаются id предметов, а не их пустышек.

Как добавить связь между предметом и его пустышкой:

call itemlist.add(id1,id2,b)
Где id1 - id типа предмета, id2 - id типа пустышки, b - boolean переменная отвечающая за возможность покупки данного предмета в магазине (true - купить можно, false - нельзя).

Как удалить рецепт:

call receptlist.rem(id0)
Где id0 - это id типа предмета (целевого для рецепта который необходимо удалить).
ВАЖНО: передаются id предметов, а не их пустышек.

Как удалить связь между предметом и его пустышкой:

call itemlist.rem(id1)
Где id1 - id типа предмета (связь которого с пустышкой необходимо удалить).

Установка

Скопируйте триггер ISS себе на карту и пользуйтесь. все! :)

Внимание!

Должен предупредить - у предметов используются Custom Value, то есть для проверки из магазина этот предмет или нет (null если из магазина). Если вы используете Custom Value для предметов, советую закомментировать строку в ISS
call SetItemUserData(it,1)
(она помечена в коде комментарием <---- !!!THIS IS!!!!)
и следить за тем чтоб на карте не было предметов (а точнее их пустышек) с не назначенным Custom Value. Все это имеет смысл если вы передали в itemlist.add(id1,id2,b) хотя бы один False.
Вроде все. С вопросами в аську или в этот пост.
Ищем баги, комментируем.

Добавлено: Item Sets System
Оценка: 6 / 10
Награда: 180 опыта

[+] замечание от MF_Andreich: изобретение велосипеда

Отредактировано ShadoW DaemoN, 15.12.2009 в 13:00.
Старый 14.01.2009, 08:25
DeaDoK

offline
Опыт: 5,783
Активность:
Переизобретаем велосипед? Оо
Да ещё и таким изощрённым способом. Таких наработок хватает, и если уже делаешь, то уже придумал бы нечто неординарное.
Старый 14.01.2009, 08:33
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
Да. Забыл написать. Данная наработка написана не с целью самой наработки, а с целью использования ее потом в полне конкретных целях. А насчет других наработок видел только такие: юнит получил предмет, посмотрели нет ли полных сетов в инвентаре, заменили предметы если есть... Хотелось чтоб анализировались не только инвентарь, но и тот предмет который мы пытаемся взять/купить. Получилось, то что получилось, за критику спасибо.
Старый 14.01.2009, 08:49
Hellfim
Новичок
offline
Опыт: 79,890
Активность:
Не понял зачем нужна это наработка. Это мое мнение.
Старый 14.01.2009, 09:12
RazArt

offline
Опыт: 11,197
Активность:
Хех, а вот моя наработка на эту тему, все намного проще и почти без жасса...
Прикрепленные файлы
Тип файла: w3x Items.w3x (24.4 Кбайт, 469 просмотров )
Старый 14.01.2009, 14:12
AMIR_AHMET

offline
Опыт: 154
Активность:
зачем заного изобретать велосипед?))))))))
Старый 14.01.2009, 14:37
Артте
Open up your eyes
offline
Опыт: 24,373
Активность:
Ибо это не велосипед, а мотоцикл если сравнивать другими похожими. Там в 99% не анализируется подбирающийся итем P.S. jass рулит
Старый 14.01.2009, 15:10
AMIR_AHMET

offline
Опыт: 154
Активность:
ну ладно уж! человек старался, лучше просто сказать что такое уже есть, пускай что нибудь новое придумает.
Старый 14.01.2009, 15:23
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Юниты - пустышки это просто кошмар, кстати если нужна наработка "как в Доте" вы можете взять ее прямо из открытой версии Доты.
Старый 14.01.2009, 15:33
Чебурашка

offline
Опыт: 5,460
Активность:
Цитата:
Сообщение от PlayerDark
кстати если нужна наработка "как в Доте" вы можете взять ее прямо из открытой версии Доты.

В обсуждаемой системе и системе RazArt сборка как в доте 6.56 - при полном инвентаре.
Но одно скажу точно - юниты-пустышки отстой. Можно ведь создать итемы-пустышки на основе рун.
Система RazArt хуже своей неуниверсальностью. Если 30 сборных предметов - прикажете делать 30 проверок?
Система автора тоже не блеск - глобальные переменные не подходят в мультиплеере
Старый 14.01.2009, 16:32
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
Чебурашка
Ну вот. Что то конструктивное. Глобальные переменыые нормльно себя чувствуют в мультиплеере если сделать их массивами, я просто не задавался целью. За итемы на основе рун огромное спасибо!!! Испрвлю - выложу.
Данная наработка сделана не ради новизны идеи, а ради выполнения конкретных целей. Поэтому мнение более опытных людей для меня очень важно (это моя первая работа на jass). Пишите пожалуйста!
Старый 14.01.2009, 17:05
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
Выложил то что вышло теперь, все стало гораздо красивее и компактнее. Реализована полная поддержка мультиплеера (ни одной глобальной переменной для хранения юнитов, предметов и подобного не используеться.)
Жду критики!
P.S. прошу не писать что такое уже есть. Я делаю это не ради новизны.
P.S.S. Имхо, теперь это действительно мотоцикл.
Старый 15.01.2009, 11:58
Артте
Open up your eyes
offline
Опыт: 24,373
Активность:
Что не понравилось - отсутствие комментариев. И зачем ты испоьзуешь итем лвл и юзер дата? Смысл? вобщем распиши все подробно
Старый 15.01.2009, 13:05
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
Обновлены вложения, теперь есть поясняющие комментарии. Жду критики! :)
Старый 15.01.2009, 15:21
Ninbous
Jass progress >>>>>35/100
offline
Опыт: 5,674
Активность:
А вот мне интересно как подбирать седьмой предмет?
Старый 15.01.2009, 15:41
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
Так ты скачай, да посмотри! ;) сам седьмой предмет не береться. А просто анализируеться при попытке его взять.
Старый 15.01.2009, 15:42
Дон

offline
Опыт: 3,585
Активность:
Эта системка в один триггер...она ж легкая, но все равно за старание +
Старый 15.01.2009, 15:44
Чебурашка

offline
Опыт: 5,460
Активность:
MF_Andreich это очень хорошо!
НО - проверять предмет по четности\нечетности id жутко неудобно, если ты делаешь карту.
Заменить проверку можно на проверку по типу предмета: ITEM_TYPE_POWERUP это руны, а собственно все предметы чей тип != ITEM_TYPE_POWERUP это артефакты
Старый 15.01.2009, 16:57
Артте
Open up your eyes
offline
Опыт: 24,373
Активность:
Сделай так, и убери проврку по лвл-она ваще никчему. и все будут благодарны)
Старый 15.01.2009, 17:22
MF
Что-то вокруг не так
offline
Опыт: 26,594
Активность:
четность используеться с целью однозначного сопоставления итема предмета с итемом пустышкой. 8 лэвэл убираеться легко, кому мешает уберите это условие и всем будет счастье.
Старый 15.01.2009, 19:03
Ответ

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

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

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

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



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