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

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

Результаты опроса: Пригодится тебе эта наработка?
Да 15 83.33%
Нет 3 16.67%
Голосовавшие: 18. Вы еще не голосовали в этом опросе

Ответ
 
MegaPhoenix

offline
Опыт: 2,932
Активность:
ScorpioT1000
Обалденная наработка! Респект!
НО, ты можешь сделать, чтобы предметы из инвентаря героя переносились в дамми-инвентарь не путём нажатия на них? а каким-то другим способом? Тогда цены бы ей вообще не было!
Старый 23.11.2008, 21:54
ScorpioT1000
Работаем
offline
Опыт: отключен
Сделал мегоапдейт!
Цитата:
Исправления патча 2.00
  • Полностью переписан весь код инвентаря
  • Инвентарь теперь на несколько юнитов и игроков одновременно
  • Для импорта наработки, возможно, будет нужен JNGP.

Всем качать и любоваться =)
правда теперь нужен JNGP. но какой ты маппер если у тебя нет jngp :-j

ScorpioT1000 добавил:
MegaPhoenix, скажи как надо, тогда я может быть тебе отправлю по пс спец. версию)
Старый 24.11.2008, 01:21
Артте
Open up your eyes
offline
Опыт: 23,423
Активность:
Вобщем круто:) но я бы предложил сделать 2 версии. 1 такая как сейчас, 2 просто инвентарь без спец слотов под типы вещей. Или даже лучше сделать 1 версию но с настройкой данной возможности через переменную.
Старый 24.11.2008, 08:50
V1ctor1ous

offline
Опыт: 23,781
Активность:
ScorpioT1000 А без генпака можно?У меня допустим не ставится,че мне делать?
Старый 24.11.2008, 09:26
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
ScorpioT1000 А без генпака можно?У меня допустим не ставится,че мне делать?

хз я могу попробовать перенести на обычный we, но это надо его искать.. на другом компе вроде завалялся..
Старый 24.11.2008, 10:05
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
ScorpioT1000, вот и до твоей системы добрался ^_^

Открыв редактор триггеров, я не понял, почему система требует генпак. И правда - запустил обычным we, пересохранил, проверил - запустилась. Из чего можно сделать вывод, что наработка не требует наличия генпака.

Недоработки по системе:
1. Зеленые квадраты. Несмотря на то, что этот пункт был указан в особенностях системы, я бы на твоем месте избавил потенциального юзера от ненужной работы. Ну это имхо.
2. Предметы не совсем правильно поднимаются в инвентарь (не как обычно), то есть герой сначала подбегает к предмету вплотную, а затем предмет кладется в инв.
3. Предметы не поднимаются в инвентарь, если герой находится достаточно близко от него.

Замечания по коду:
1. Не нужно аллокейтить локальные переменные, если их значение будет использоваться 1-3 раза (число может зависеть от кол-ва параметров, передаваемых в функцию)
2. В триггере MCI Port Inv Moving разумней будет использовать таймер. И незачем столько раз делать присваивания, то есть все будет выглядеть примерно так:
Код:
// . . .
    loop
        if udg_MCI_Unit[i] != null then
            exitwhen i>udg_MCI_UnitNum
            set a = (GetUnitFacing(udg_MCI_Unit[i])+180)*bj_DEGTORAD
            call SetUnitX(udg_MCI_Inventory[i], GetUnitX(udg_MCI_Unit[i])+50*Cos(a))
            call SetUnitY(udg_MCI_Inventory[i], GetUnitY(udg_MCI_Unit[i])+50*Sin(a))
        elseif udg_MCI_Inventory[i]!=null then
            call RemoveUnit(udg_MCI_Inventory[i])
            set udg_MCI_Inventory[i] = null
        endif
        set i=i+1
    endloop
// . . .

3. В триггере MCI Workshop не инициализирована переменная index. GetSpellAbilityUnit() можно сразу заинлайнить.

Идеи по улучшению:
Было бы неплохо организовать такую штуку - при клике по пустому слоту выводить все айтемы, подходящие под этот слот. Это было бы очень юзабельно.
Ну и навскидку возможность выбрасывать вещи из инвентаря дальше, чем сейчас.

Спасибо за внимание.
Старый 24.11.2008, 11:52
CeraRalaz
...
offline
Опыт: 48,115
Активность:
ScorpioT1000 4 : 3 JimALIEN
Кровавое месиво.Битва инвентарей не закончится никогда.

ScorpioT1000,теперь всё,ты чемпион.Наконец-то системка не вылетает с ошибкой.

Цитата:
2. Предметы не совсем правильно поднимаются в инвентарь (не как обычно), то есть герой сначала подбегает к предмету вплотную, а затем предмет кладется в инв.

+1.Это может сильно помешать в некоторых динамичных картах.

CeraRalaz добавил:
Кстати,есть еще 1 очень большая заминка.
Я накидал свитков зверя,чтобы испытать и вот что показали полевые испытания:
1)Свитки не источают спецеффекта при использовании
2)Свитки не исчезают,а передаются герою
3)Они встают на место брони.

Непорядок...
Старый 24.11.2008, 16:22
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
Ну и навскидку возможность выбрасывать вещи из инвентаря дальше, чем сейчас.

это дальность выкида в игровых константах повысить просто

Цитата:
Недоработки по системе:
1. Зеленые квадраты. Несмотря на то, что этот пункт был указан в особенностях системы, я бы на твоем месте избавил потенциального юзера от ненужной работы. Ну это имхо.
2. Предметы не совсем правильно поднимаются в инвентарь (не как обычно), то есть герой сначала подбегает к предмету вплотную, а затем предмет кладется в инв.
3. Предметы не поднимаются в инвентарь, если герой находится достаточно близко от него.

Замечания по коду:
1. Не нужно аллокейтить локальные переменные, если их значение будет использоваться 1-3 раза (число может зависеть от кол-ва параметров, передаваемых в функцию)
2. В триггере MCI Port Inv Moving разумней будет использовать таймер. И незачем столько раз делать присваивания, то есть все будет выглядеть примерно так:

ну как-нибуть возьмусь.. там трабла и так с периодом, т.е. все уже лагает про менее чем 0.1, на слабых машинах

ScorpioT1000 добавил:
Цитата:
Кстати,есть еще 1 очень большая заминка.
Я накидал свитков зверя,чтобы испытать и вот что показали полевые испытания:
1)Свитки не источают спецеффекта при использовании
2)Свитки не исчезают,а передаются герою
3)Они встают на место брони.

Непорядок...

там все описано, ты что-то делал неверно, взгляни:
Цитата:
6. Дайте всем вашим ОДЕВАЕМЫМ предметам способность(см. п. 4) и установите "Да" в строке "Нужно задействовать".
7. Задайте УРОВЕНЬ КАЖДОМУ вашему предмету(который будет в игре) по таблице:
0,1,8 - Нельзя одеть
2 - Шлем
3 - Броня
4 - Левая рука
5 - Правая рука
6 - Перчатки
7 - Обувь
Старый 24.11.2008, 23:56
Артте
Open up your eyes
offline
Опыт: 23,423
Активность:
Цитата:
сделать 2 версии. 1 такая как сейчас, 2 просто инвентарь без спец слотов под типы вещей. Или даже лучше сделать 1 версию но с настройкой данной возможности через переменную.

это будет реализовано?
Старый 25.11.2008, 00:02
ScorpioT1000
Работаем
offline
Опыт: отключен
а смысл? это хрень и таких инвов полно. меня именно интересует идея с одеванием)

ScorpioT1000 добавил:
Цитата:
В триггере MCI Workshop не инициализирована переменная index.

да, вот это надо будет скорее исправить
Цитата:
GetSpellAbilityUnit() можно сразу заинлайнить.

т.е.? любой вызов ф-ции(а это ф-ция) требует времени. хоть возможно там она 1 раз юзаецо, но позже будет иначе
Старый 25.11.2008, 00:12
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
ScorpioT1000, то есть писать НЕ так:
Код:
local unit c = GetSpellAbilityUnit()
// . . .
call DoSomething(c, 123456)

а вот так:
Код:
call DoSomething(GetSpellAbilityUnit(), 123456)

А так у тебя тратится время на аллокацию (и на обнуление) локальной переменной, хотя ее значение используется всего 1 раз. Ну если будет больше 3 раз встречаться, или значение будет использоваться в цикле, то оставляй.

И что насчет идеи с выбором пустого слота (см. выше)?
Старый 25.11.2008, 10:06
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
И что насчет идеи с выбором пустого слота (см. выше)?

можешь предложить реализацию?)

ScorpioT1000 добавил:
Цитата:
А так у тебя тратится время на аллокацию (и на обнуление) локальной переменной, хотя ее значение используется всего 1 раз. Ну если будет больше 3 раз встречаться, или значение будет использоваться в цикле, то оставляй.

ну это спорный вопрос.. так или иначе это не баг и не недочет ибо нех щитать наносекунды =)
Старый 25.11.2008, 16:40
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
ScorpioT1000, предлагаю:
1. Создаем еще один предмет (№7) в группу артефактов (ака "пустых слотов"), и ставим этому предмету уровень, ну скажем, нулевой.
2. Делаем все вышеуказанные предметы используемыми.

При использовании пустых слотов будет открываться список доступных для данного слота вещей, еще один предмет - показывает все предметы в инвентаре (типа отмены). Замечу, что может возникнуть специфическая ситуация, когда в инвентаре окажется 6 предметов для одного слота. Тогда не нужно добавлять предмет №7.

Алгоритм примерно следующий:

0. Проверяем на принадлежность использованного предмета (далее по тексту - used item) артефактам. Если не принадлежит - выходим из алгоритма.

1. Записываем уровень used item и проверяем, не равен ли он нулю (см. выше), если не равен, то...

1.0.0 Цикл по всем предметам в дамми-инвентаре.
1.0.1 Если уровень предмета не равен уровню used item, то...
1.0.2 Перекидываем его в дамми-2 (либо записываем параметры в массивы и удаляеv).
1.0.3 set n = n + 1 // где n - integer локальная переменная с начальным значением 0
1.0.4 Выход из цикла.

1.1. Триггерно выделяем дамми-инвентарь.
1.2. Если n < 6, то добавляем предмет №7 в шестой слот.

2. Иначе // если уровень used item равен 0, то...
2.1. Удаляем предмет №7 (если он есть).
2.2. Добавляем все предметы из дамми-2 (или из массивов) в дамми-инвентарь.
Старый 25.11.2008, 18:07
ScorpioT1000
Работаем
offline
Опыт: отключен
ну это лишний геморой, инв на 6 доп. слотов не стоит такого списка.

ScorpioT1000 добавил:
ну всмысле второго дамми(он не оправдывает) =)
Старый 25.11.2008, 18:09
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Хех, ну можешь попробовать дропать айтемы и двигать их за пределы видимой области карты =) а затем восстанавливать через один массив предметов.
Старый 25.11.2008, 18:19
Nightmare

offline
Опыт: 7,122
Активность:
Ты меня конечно извени великий и могучий ScorpioT1000, но мне не очень понравилось(в том плане, что я уже во многих картах видел типа такой наработки, и для меня она не новая)...
Теперь меня забанят)))
Старый 25.11.2008, 18:29
CeraRalaz
...
offline
Опыт: 48,115
Активность:
ShadoW DaemoN,как ты предлагаешь сделать 7ой слот,я не понял?

Мне кажется,что нужно сделать как в TBR.Там если использовать какой-то предмет(зелье,свиток),находящийся в дополнительном рюкзаке,то эффекты переадесовываются на героя.

Если уровень предмета равен Х,то мы его теряем(МЫ ЕГО ТЕРЯЕМ!..) при использовании,а не получаем новенький в рюкзачке.
Старый 25.11.2008, 18:51
Nightmare

offline
Опыт: 7,122
Активность:
TaraSillo ну лагает у тебя потому, что камп слабый, у мну лично все летает.
Ты
Цитата:
маху
купить вещи потому, что денег в начале 0000!!! Нужно чит писать.
Старый 25.11.2008, 19:21
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
CeraRalaz, я не предлагаю сделать 7 слот, я предлагаю сделать предмет, при клике на котором будут показываться все предметы в дамми-инвентаре (а не только те, что подходят в определенный слот)
Идея с применением зелий будет весьма полезна и рекомендуется к реализации. Одной проблемой станет меньше.
Старый 25.11.2008, 20:18
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
Идея с применением зелий будет весьма полезна и рекомендуется к реализации. Одной проблемой станет меньше.

я это знал еще до написания инва ^_^
просто мне лень писать) ну любой кому надо может сам написать себе для проджекта, а кто не может - врятли возьмется за эту наработку..
Старый 26.11.2008, 13:41
Ответ

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

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

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

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



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