zibada
offline
Опыт: отключен
|
Блин, ну модели-то этих trackables можно невидимыми сделать, чтобы вообще на глаза не лезли, а только события генерили.. (в крайнем случае - сделать спец. модель для этого, обладающую размерами, но незаметную на фоне земли) Модели, отображающие наличие предметов инвентаря, шлепать отдельно - либо юнитами, либо итемами, либо вообще обычными спецэффектами.. |
07.05.2004, 16:07 | #41
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
frodo
offline
Опыт:
493Активность: |
DimonT у меня есть несколько вопросорв по твоему скритпу : Вопрос 1 - Как ты расчитываеш координаты для новой кнопки/обьекта в инвентаре??? Вопрос 2 - Зачем ты делаеш все предметы однотипными??? Вопрос 3 - Что такое trackable и как оно рабоет??? Если можно поподробнее:) |
07.05.2004, 18:57 | #42
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Markiz
offline
Опыт:
11,432Активность: |
Цитата:
Что-то я тебя совсем не понял. Траккаблес - это такая весчь,которую убрать невозможно,придется заслонять через цинематик фильтер. Ладно. Ради интереса,вот мой за-2-недели-склепанный-инвентарь Иконок там пока мало,мне в лом столько резать. Короче,зацените! З.Ы. Карта защищена High-2 protector,она нужна для проекта(не карта а инвентарь) |
|
07.05.2004, 21:56 | #43
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
vlad_C0M
Босс DarkSkyTeam
offline
Опыт:
10,459Активность: |
Ой ой ой :) ... Чет меня тут небыло по мойму с конца первого сообщения в моем офисе :) ... Ибо офис мой неиспользовался ... Но ибо это флуд и ИБО я начинаю ОТВЕЧАТЬ на ваши вопросы ... ИБО С ЭТОГО ПОСТА :) ...
Ну что ? :) хехехе ... Димон - как всегда ленится обьяснить по русски ? :) Хех это ко мне ! Сумка говорите ! Ах да ! Вот ТТТКА Мой примерчик но словестный :
Осталось добавить что НАМ неудастся сделать тоже самое с другими параметрами ...
Остальные параметры думаю можно сделать через такие штуки как - меч щит и т.п. которые будут ПРОСТО находится в инвентаре ... Думаю эффектов от аур если нехватит можно добавить легинький триггер который будет учитывать расстояние до ЮНИТА у которого используется параметр такая та Аура ...
Вот и ВЕСЬ САМ принцип ... Могу написать подробно ... Но Мапперам будет принцип понятен ... Кому нужно ДОСЛОВНО и опять же - ПОДРОБНО ПО РУССКИ - пишите сюда ... Если будет не лень напишу все подробно :)... |
07.05.2004, 21:59 | #44
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Markiz
offline
Опыт:
11,432Активность: |
Тебе еще придется делать aLoc тому юниту,чтоб его выбрать было нельзя рамкой,а если ты дашь aLoc,то и с инвентарем больше сделать ничего не сможешь... Диллема... |
07.05.2004, 22:54 | #45
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
2 frodo
1. Берется точка, далеко за пределами "игровой зоны", далее от нее по определенным смещениям создаются юниты. Всего есть 2 зоны для предметов (6- и 50-слотовая), в каждой юниты создаются в определенном порядке, то бишь, по координатам юнита можно узнать его номер (в массиве) и наоборот. Размер одного экрана - насколько помню, что-то около 1700х900 игровых единиц, исходя из этого, подгонялись смещения для каждой из зон, чтобы предметы вставали точно в дырки в картинке. (плюс 2 юнита, скрытые под картинкой - "кнопки" обмена и выхода) Точные формулы не помню, посмотри в скрипте... 2. Не предметы, а юниты... все эти юниты заносились в массив, по событию "Unit Selected" определялись координаты, а по ним - и порядковый номер кликнутого юнита. Клики по итемам игрой не отслеживаются, поэтому пришлось делать юнитов.. а разными их делать просто смысла нет. 3. Что-то вроде спецэффекта - на карту в определенной точке шлепается модель, перемещать/удалять модель после создания нельзя. Зато есть события, срабатывающие при клике и наведении мышки на эту модель. Это - единственный способ как-либо ловить перемещения мыши по экрану. 2 Markiz Цитата:
Кого заслонять?! Модель делается прозрачной и невидимой игроку (продолжая при этом генерить события). Зато можно отследить наведение мыши на любой, даже пустой слот инвентаря. (и, допустим, при таком наведении выводить texttag-ом название итема) В занятых предметами слотах размещать муляжи - юниты или спецэффекты. Никаких событий, с ними связанных, ловить вообще не нужно - просто добавлять/удалять (для вида), за всю обработку действий с инвентарем у нас отвечают "невидимые" тракаблы. 2 vlad тут речь о другом скрипте... |
|
08.05.2004, 01:06 | #46
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
vlad_C0M
Босс DarkSkyTeam
offline
Опыт:
10,459Активность: |
2: DimonT =) ... Ты забыл про название топика и вопрос создателя ...
Насчет твоего скрипта скажу одно - я мучался твоим способом ... Дело в том что когда используешь этот скрипт - не видно персонажа ... Получается эдакое "сложное" и неудобное ...
Так что думаю на скрипт лучше забить и не вспоминать ...
Можно придумать что нибудь получше ...
Fade Filter - эта вещь предназначена совершенно для другово ... Она не пригодна для создания менюшек ... и т.п.
Насчет скрипта - мне сам скрипт понравился ... Но уж СЛИШКОМ много труда в него вложено ...
Взять хотя бы тот же Массив Итемов ..... В несколько тысяч ... \ У меня есть еще парочка вариантов создания сумки ... Если интересно напишу :) |
08.05.2004, 06:57 | #47
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
frodo
offline
Опыт:
493Активность: |
Vlad_COM :
Цитата:
Пиши :). frodo добавил. DimonT : Цитата:
Как я понял весь инвентарь построен на одном оффсете.А может вместо етого поставить регионы и в них юнитов напихать ,которые будут для отслеживания кнопки мышки? Цитата:
Можно также напихать в инветаревые слоы по одному юниту\определителю клика, и отлавливать их таким образом.И ещо можно не пихать стока строк описания об итемы если зделать РЕАЛЬНЫЕ предметы из чюмадана главного героя и потом перемещать их в раздные слоты инвентаря.Имхо , если предметы не юнит то они имеют описания внизу, слева от иконки.Как я думаю етим способом можно сократить количества строк в скрипте раза в два... Цитата:
По названию не сразу понял... frodo добавил. Markiz хорошая система оружия, как я понял она основывается на одних мультибордах, вот только анимация храмает... frodo добавил. DimonT : Обьясни , пожалуйста, как можно сделать слоты в инвентаре которые загораются когда на какой-нибудь итем жмеш(как ты говорил)???Заранее спасибо:). З.Ы.Нашел целую кучу моделей мечей\армора , непомню откуда спер но для инвентаря точно згодиться. З.З.Ы Картинку на задник почти нарисовал , сейчас хочу зделать вместо обычных бордеров под итем в инвентаре зделать нормальную картинку. |
||||
08.05.2004, 07:09 | #48
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
2 vlad
Цитата:
Для создания графических менюшек - еще как пригодна.. (у меня в вц:арене 2.0 будет конфиг. менюшка, основанная именно на trackables и FadeFilter, взамен системы убогих диалогов) альтернатива - только MB, но в них не отслеживаются клики, да и графики требуется немеряно. Про варианты типа "командной строки" через чат я промолчу... Цитата:
10 минут у меня заняло заполнение всего этого массива. :) 2 frodo Цитата:
эээ... а смысл? Зачем лишняя возня с регионами, если уже есть расчет смещения по номеру итема? Цитата:
Так все равно придется для каждого итема делать запись - за какую абилку он отвечает. Так что несколько тысяч строк все равно останутся... Цитата:
Ну, на точку в центре слота, в котором выбран юнит, кидается спецэффект, который удаляется при нажатии на другой слот (или на кнопку управления).. Если ты про подсветку всех допустимых слотов, куда можно перетащить предмет - ну принцип тот же, перебрать все слоты и в допустимых создать спецэффект (модель-то любую можно нарисовать, хоть темно-зеленый квадрат), потом все эти спецэффекты удалять. 2 Markiz Посмотрел я эту систему.. знаешь, если уж применять MB, лучше делать текстовые подписи - картинки, порезанные на много мелких квадратиков, нагнетают тоску... думаю, человек, не знакомый с техническими подробностями работы MB, не оценит. :) Да и места оно многовато на экране занимает для 5 итемов, и это учитывая, что клики по MB игрой вообще не отслеживаются. |
|||||
08.05.2004, 11:21 | #49
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
frodo
offline
Опыт:
493Активность: |
DimonT : спасибо, остался ещё один вопрос и пойду делать инвентарь.Как зделать чтоб скрипт читал из тхт\слк и потом записывал к себе в переменную??? |
08.05.2004, 12:05 | #50
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
Никак, в том-то и дело...
Я пропускал этот файл (ItemStrings.txt) через текстовый редактор с поддержкой регулярных выражений для замены, чтобы такой текст: [amrc]
Name=Amulet of Recall
Hotkey=R Tip=Purchase Amulet of |cffffcc00R|recall Ubertip="Teleports <AIrt,DataA1> of the player's units within the targeted area to the location of the Hero when used." Description=Can be used to teleport units to the user. превращался в такой:
set udg_INV_item_code[i]='amrc'
set udg_INV_item_name[i]="Amulet of Recall" set udg_INV_item_desc[i]="Can be used to teleport units to the user." set i=i+1 как вынимать коды абилок из slk, пока не знаю... наверно, напишу скриптик на php для обработки и повешу на сайт. :) |
08.05.2004, 12:23 | #51
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
frodo
offline
Опыт:
493Активность: |
DimonT : Ну я тебя и спрашиваю КАК ты его делал:).Я написал почти все коды для абилок вручную:) писал часа полтора, поэтому и спрашиваю . |
08.05.2004, 12:32 | #52
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
А я помню? у меня этих настроек нигде не сохранилось, я этим все-таки почти год назад занимался. :) Сегодня попробую сообразить скриптик для генерации всего этого кода... вручную часами все набирать - не наш метод. :) |
08.05.2004, 12:44 | #53
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
frodo
offline
Опыт:
493Активность: |
Ничего себе :) , если почти год тогда понятно.:)) |
08.05.2004, 13:05 | #54
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
а вот и готовый кусок скрипта с абилками и описаниями всех итемов 1.14. :)
в скрипт инвентаря надо добавить переменную - INV_item_abil типа String Array. (т.к. абилок у итема может быть несколько, придется эту информацию хранить в массиве строк, а не integer-ов...) |
08.05.2004, 15:15 | #55
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
frodo
offline
Опыт:
493Активность: |
Ужас!Это сколько там строк???:)
frodo добавил. DimonT : Цитата:
Значит, перед тем как вписывать в текст надо конвертнуть в интегер, или ненадо? |
|
08.05.2004, 15:51 | #56
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
В интегеры надо конвертировать непосредственно перед применением функций Add/Remove Ability, а храниться оно должно в виде строк.
Только тут надо писать спец. функцию преобразования такой строчки в код спелла - обычный S2I тут явно не пойдет. :) хотя, можно в код писать строчки не вида "A000", а их перевод в число - для 'A000' это будет "1093677104", а потом уже юзать функцию S2I и получать код абилки... подумаю над этим вариантом. |
08.05.2004, 16:08 | #57
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
frodo
offline
Опыт:
493Активность: |
Цитата:
Я об этом и говорю. frodo добавил. Помойму в событиях есть такая фишка : конверт стринг ту интегер. |
|
08.05.2004, 16:24 | #58
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
эта функция переводит строку типа "12345" в число 12345, а нам надо строку вида "A000" перевести в число 'A000'... (это 1093677104 в 256-ричной системе счисления).
отсюда и варианты - либо в инициализацию заталкивать строки "A000, A001, A002..", и тогда нужна специальная функция перевода, либо "1093677104,1093677105..." и это уже можно переводить в код абилки стандартной функцией.. |
08.05.2004, 16:48 | #59
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
frodo
offline
Опыт:
493Активность: |
Дааа...задачка не из легких.А может пихнуть все абилы предмета в разные переменные ? Например : set udg_INV_item_code[i] = 'cnhn' set udg_INV_item_abil[i] = "Arel" set i2=i2+1 set udg_INV_item_abil[i2]="AIl1" set udg_INV_item_name[i] = "Horn of Cenarius" set udg_INV_item_desc[i] = "This is the Horn of Cenarius." set i=i+1 |
08.05.2004, 16:59 | #60
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|