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

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

Ответ
 
NETRAT

offline
Опыт: 83,712
Активность:
Господа, огромная просьба, у кого есть немного свободного времени - нужно создать классификацию стандартных вещей. Система работает, но базы нехватает.
На данный момент существует 15 классов
// 0 - Any slot item
// 1 - Cap
// 2 - Armor
// 3 - Cloak,Rod
// 4 - Belt
// 5 - Boots
// 6 - Weapon
// 7 - Shield
// 8 - Dagger
// 9 - Accessory (Orb, Bracer etc.)
// 10 - Amulet
// 11 - Ring
// 12 - Misc
// 13 - Charged
// 14 - Quest
Теоретически можно добавлять свои, но лучше чтобы их было не слишком много. Система поддерживает возможность присвоить одному слоту инвентаря несколько слотов - то есть, скажем в руку могут быть прописаны и 6 и 7 и 8 и 9, в-общем сколько угодно. Поэтому от реализации системы классов меня отделает только недостаток базы. Обьясняю чего нужно сделать - из строки типа
call inv100_RegisterItem('belv', 'BI02', "Boots of Quel'Thalas +6", "Provides a bonus to Agility.", 500)
нужно сделать строку
call inv100_RegisterItem('belv', 'BI02', "Boots of Quel'Thalas +6", "Provides a bonus to Agility.", 500, 5)
То есть добавить в функцию значение класса вещи. Если это ботинки, то число, соответствующее ботинкам, если меч - то соответствующее мечу число. Некоторые числа я уже сам добавил.

Это реально очень нужно, но я знаю, что если я возьмусь эту штуку сделать то я вообще забуду что я тут в скриптах писал и как все найденные баги исправлять, а их откопалось немало, а еще немного приболел, так, вообще чего доброго коньки откину, поэтому ПОЖАЛУЙСТА сделайте эту штуку и прилепите к этой теме.

Классы можно свои добавлять - работа творческая

Баг с дропом айтема - это был не совсем баг(это я немного глюканул и что-то не то сделал...). FIXED

RPG Diablo-style ИНВЕНТАРЬ БУДЕТ. И БУДЕТ РАБОТАТЬ! Тут вопросов о возможности реализации уже нет - оно реально, возможно, осуществимо. Мне нужна лишь некоторая помошь и тестирование.
Прикрепленные файлы
Тип файла: txt RegisterItems.txt (28.3 Кбайт, 172 просмотров )

Отредактировано NETRAT, 04.10.2005 в 01:28.
Старый 04.10.2005, 01:17
NETRAT

offline
Опыт: 83,712
Активность:
Main Issue Инвентарь сохраняется со всеми вещами, но при загрузке мы получаем вещи у нас под ногами, а скрытый инв забит указателями на вещи из основного. Сохранение работает, но пока некорректно... Я над этим работаю

NETRAT добавил:
+ 5. После использования многозарядных вещей из EMI, вещ помещается в доп. инв.
+ 6. Drop Item работает, но может не заменить иконку на пустую, а на каку-нить соседнюю
Старый 04.10.2005, 09:15
zibada

offline
Опыт: отключен
NETRAT, может, классы задавать не числом, а строкой?
например:
call inv100_RegisterItem('belv', 'BI02', "Boots of Quel'Thalas +6", "Provides a bonus to Agility.", 500, "boots")

имхо, так понятнее..
Старый 04.10.2005, 09:55
NETRAT

offline
Опыт: 83,712
Активность:
ну да, понятней. Жаль что не поддерживаются define

NETRAT добавил:
1. Использование вещей
2. Дроп вещей
3. Сохранение
4. Камера
5. Кнопка 5/1
6. Кнопка Equip/Unequip


NETRAT добавил:
Вместо цифр можно писать константы
// 0 - 'Any ' - Any slot item
// 1 - 'Helm' - Cap
// 2 - 'Armr' - Armor
// 3 - 'Rod ' - Cloak,Rod
// 4 - 'Belt' - Belt
// 5 - 'Bts ' - Boots
// 6 - 'Wpn ' - Weapon
// 7 - 'Shld' - Shield
// 8 - 'Dggr' - Dagger
// 9 - 'Acss' - Accessory (Orb, Bracer etc.)
// 10 - 'Amlt' - Amulet
// 11 - 'Ring' - Ring
// 12 - 'Misc' - Misc
// 13 - 'Chrg' - Charged
// 14 - 'Qst ' - Quest
Однако пробелы не забывать
Старый 04.10.2005, 15:45
VolkPK

offline
Опыт: 4,877
Активность:
Яб посидел, пописал, но у меня варик русский, а тут названия английские....
Старый 04.10.2005, 16:20
NETRAT

offline
Опыт: 83,712
Активность:
VolkPK фиглиш не изучал? Там по названию понятно что за айтем
Старый 04.10.2005, 17:46
tysch_tysch
Работаем
offline
Опыт: отключен
могу сделать, но нужно понять какие предметы у тебя будут относится к класам
8,12 и к какому классу отнеси анк реинкорнации к примеру...
Старый 04.10.2005, 17:51
NETRAT

offline
Опыт: 83,712
Активность:
ZlaYa1000 мне просто нужна нормальная классификация вещей по ИД. Причем ИД неограничено - то есть можно хоть каждую вещь прописывать свой ИД. Это только версия классификации - если есть своя, пиши, я так и сделаю

NETRAT добавил:
Анх - аксессоря, Даггеры - фик его знает, а амулеты - не тратимые амулеты. Тратимые - в charged
Старый 04.10.2005, 18:39
tysch_tysch
Работаем
offline
Опыт: отключен
я не про 10, а про 12... это миск...
и кстати как ты себе представляешь предмет типа any
сейчас займусь

ZlaYa1000 добавил:
Э класы всё таки числом или строкой задавать?
Старый 04.10.2005, 18:51
NETRAT

offline
Опыт: 83,712
Активность:
ZlaYa1000 как угодно. Это не строка а символ в таких апострофах 'ABCD' - это вар читает как число (видимо по кодам символов), главное чтобы четыре буквы было. Пиши как тебе удобней.

К классу misc я начал относить все флаги...

NETRAT добавил:
item класса any - это типа неклассифицированный. По дефаулту ставится - если поле не задано. То есть такой айтем подойдет в любой слот. Это скорее, системный(нестандартный) классификатор
Старый 04.10.2005, 18:59
tysch_tysch
Работаем
offline
Опыт: отключен
Фух усё, сам пока не проерял
если глюки будут исправишь.
есть предложения:
1) объединить категории миск и квестовых вещей
2) предлагаю сделать кнопку "Упорядочить" для пассивного инвентаря. И разделить категорию chrg на несколько категорий бутылки, свитки посохи, другое и что-бы при нажатии этой кнопки предметы упорядочивались по типам в пассивном инвентаре. Задача впринципе на умение работы с массивами=)

ZlaYa1000 добавил:
к даггерам отнёс все перчатки и браслеты, надо будет переименовать категорию
Старый 04.10.2005, 21:05
NETRAT

offline
Опыт: 83,712
Активность:
ZlaYa1000
1) гляну сколько их там, вполне возможно
2) Тогда следует вводить какие-нить (цвеиа фона) под иконки чтобы классы слотов тоже различались
Бутылки
Свитки
Посохи
Если их там больше 5 то можно
Тут проблема одна - прописать в каждый слот идентификаторы соотв. ему типов вещей. Это все прописывается в кеш. Так вот количество таких ид для каждого слота ограничено и когда идет проверка совместимости, пробегаются все ид. Поэтому тут ограничения могут сделать только лаги.
Проверку сделает скрипт =)
Старый 04.10.2005, 21:21
tysch_tysch
Работаем
offline
Опыт: отключен
я в квестовые писал только предметы без смысла, т.е. абил, а в миске только флажки
Старый 04.10.2005, 21:25
NETRAT

offline
Опыт: 83,712
Активность:
Ох, хорошо пошло! Спасибо, Тыща, я подредактировал и получил такую классификацию
Код:
//  Wear:
//    'Helm' - Cap,Helmet,Mask
//    'Armr' - Armor
//    'Robe' - Cloak,Robe
//    'Gntl' - Gauntlet,Gloves
//    'Belt' - Belt
//    'Ftwr' - Boots,Slippers(Footwear)
//  Hands equipment:
//    'Wapn' - Weapon
//    'Shld' - Shield
//  Jewelry:
//    'Acss' - Accessory(Orb,Pendant,Gem)
//    'Amlt' - Amulet
//    'Ring' - Ring
//  Charged items:
//    'Chrg' - Charged
//    'Potn' - Potion
//    'Scrl' - Scroll
//    'Wand' - Scepter,Wand
//  Special:
//    'Qest' - Quest Item
//    'Misc' - Miscellanious

Коды классов нафик убрал - ибо гораздо удобнее и легче вместо них использовать четырехсимвольные константы типа 'abcd'. Спасибо Димону, что натолкнул мя на эту идею.
Баги
Те же, только исправил move item
Дополнения
Поддержка классов
Подсветка доступных слотов для айтема

Будет
Подбор айтемов только в определенный слот
Кнопка сортировки?!


NETRAT добавил:
Там правда неплохо бы еще со слотами побаловаться - чтобы лучше подобрать классы айтемов и слоты инвентаря под эти классы. Ну да с этой фичей будем баловаться когда будет Желтая версия (теоретически седня-завтра)

Отредактировано NETRAT, 05.10.2005 в 03:54.
Старый 05.10.2005, 03:49
NETRAT

offline
Опыт: 83,712
Активность:
Желтая версия
Исправления:
1. Вроде бы все команды кроме Use нормально отрабатвают
2. Камеру исправил. Здесь может возникнуть глюк только если героев придерживая Shift переключаешь - так как триггер выключения инва стоит на событые Disselect юнита.
3. Item classification system (ICS?!)
Не готово
ICS:

1. Нихрена не получается добавить в ICS такую фичу как позиционирование вещи при подборе - триггер на событие pickup просто зацикливается функциями additem (игра просто вылетает, пробовал сохранять подбираемые вещи в кэш и потом игнорить повторяющиеся при подборе, почему-то не получилось)
2. Кнопка сортировки?!
EMI:
1. Сохранение
2. Кнопка 5/1
3. Кнопка Equip/Unequip
Possible bugs:
1. Drop item
2. Use item

ATTACH:
Кто скачал файл inv100_EMI_yellow.w3x
Всего скачиваний: 16
Ник
cHAm
ZlaYa1000
VolkPK
ILLYA

Отредактировано NETRAT, 10.10.2005 в 17:34.
Старый 05.10.2005, 11:56
NETRAT

offline
Опыт: 83,712
Активность:
Ну как она? Работает?!
Старый 05.10.2005, 19:45
tysch_tysch
Работаем
offline
Опыт: отключен
NETRAT честно криво, если можно пометку слотов доступных сделать постоянной при выделении предмета, а в остальном незнаю, есть какой то дискомфорт в использовании инвентаря, только не пойму какой... кнопку использовать почини, а то она творит страшные вещи
Старый 05.10.2005, 23:26
NETRAT

offline
Опыт: 83,712
Активность:
Sux!
ICS 2: Сортирует не до конца - понять не могу - обычный бубльгум, но некоторые вещи вообще не попадают. Не вьезжаю чзх
EMI 1: С этим сохранением интересно получается - если инв открываешь, то все нормально работает. А вот если нет - тут нужно куда-то функцию занесения в кэеш MI прописать, не могу понять только куда...
Планирую очередной resize/move панелек инвентаря
Старый 06.10.2005, 03:47
NETRAT

offline
Опыт: 83,712
Активность:
Вот он, эффект сортировки, и перестановка панелей. Может Тоник иконки может нарисовать? У мя то они ужасть, да и старые не катят

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

NETRAT добавил:
Димон, как можно сделать чтобы перед сохранением, скажем, функция инициализации inv100_Init запустилась у всех юнитов - ведь некоторые вещи могут быть непрокэшены - то есть когда герой ни разу не открывал инвентарь, то с ним будут проблемы
Миниатюры
Кликните на картинку для увеличения
Название:  WC3ScrnShot_100605_142418_01.jpg
Просмотров: 157
Размер:  200.6 Кбайт  Кликните на картинку для увеличения
Название:  WC3ScrnShot_100605_142435_02.jpg
Просмотров: 154
Размер:  203.5 Кбайт  
Старый 06.10.2005, 17:07
KENDO

offline
Опыт: 5,817
Активность:
оффтоп: нетрат по моймк помешался на цветах... серый, красный..а тут еще и желтый..
судя по скринам инв получился нормальным, но протестить самолично пока к сож не могу..
Старый 06.10.2005, 20:59
Ответ

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

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

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

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



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