Сборка артефактов с наличием 2>= одинаковых предметов
|
|
| Дата: Воскресенье, 29.05.2011, 00:54 | Сообщение # 1 |
Лейтенант
Сообщений: 78
|
Доработанная сборка - теперь всё работает корректно - упрощена система подсчёта (теперь нет нужды обнулять каунт) - добавлена проверка правильности подсчёта колец - подробности по эксплуатации в первом посте и в комментариях к триггерам - не буду против, если добавите моё имя в титры при использовании наработки
Скачать.
Клара у Карла наклала в кораллы, а Карл у Клары наклал в кларнет.
|
|
|
|
| Дата: Понедельник, 20.06.2011, 16:35 | Сообщение # 2 |
Генералиссимус
Сообщений: 2438
|
Уж извини Кит, но буду тебя критиковать. Похоже не зря все-таки ты рельефщик, а я триггерщик.
1) Зачем разделял на 2 триггера? Не суть как важно, но имхо лишняя работа.
2) Этот подсчет кол-ва предметов... он не считает кол-во предметов, он считает кол-во колец у бородатого мужика. Можно было сделать событие - юнит получает предмет (без указания юнита), далее задать переменную - тип предмета и вписать в него тип подобранного предмета. Вот тогда! Вот тогда твой триггер будет считать сколько юнит имеет при себе поднятых предметов и далее от этого плясать.
3) Оба твоих триггера стартуют при одинаковом событии. Если честно, то я вообще не понимаю, как они ещё и корректно работают??? Дело в том, что эти 2 триггера стартуют ОДНОВРЕМЕННО и слава Инносу первый успевает присвоить что-то в каунт переменную, прежде чем второй проверит условие. Нонсенс, но пашет. Скорее всего, дело в расположении триггера, но выигрыш тут тысячные секунды, сделать первый триггер чуть длиннее и калапс.
4) Зачем ты запихал внутри второго триггера условие про "если каунт не равно 0, то удалить предмет кольцо". Если каунт равен нулю, то триггер вообще не сработает, а значит, что условие бессмысленно.
Вообще ни разу не видел, чтоб сборка была из 2+ предметов т.е. 3 кольца или 4 например. Поэтому лично я перед проверкой инвентаря на нужные вещи - удаляю предмет и проверяю не каждый слот, а только героя на наличие кольца, если кольцо есть то удаляем второе кольцо и ещё чо там надо и даем сборный арт, если нет, то пересоздаем предмет. Только тут важно отключить триггер при его начале и включить при завершении. Иначе получится бесконечный цикл. Так же если собранный таким образом артефакт является так же предметом для сборки другого из двух собранных, то необходимо вписать условия его сборки в этом же триггере ниже.
Критикой я хотел тебе показать твои ошибки, чтоб в следующих наработках ты мыслил более глобально
Сообщение отредактировал DonLaonda - Понедельник, 20.06.2011, 16:39 |
|
|
|
| Дата: Среда, 22.06.2011, 07:26 | Сообщение # 3 |
Генералиссимус
Сообщений: 2438
|
Ещё забыл написать, что первый триггер можно было написать в одно условие и 1 цикл, вместо 6ти условий.
|
|
|
|
| Дата: Среда, 22.06.2011, 20:10 | Сообщение # 4 |
Лейтенант
Сообщений: 78
|
DonLaonda, не бывать мне триггерщиком а если по делу: 1) Мне лично удобней и понятней, когда всё разделённо и ненагромождённо. (сразу понятно - этот триггер считает, а этот - создает предмет)
2) Ну так мне как раз кольца и нужны. Я не случайно в комментариях указал про массивную переменную: если нам нужно было бы считать не только кольца, то я юзал бы массив с другим индексом. Кстати, меня осенило. Надо доделать триггер подсчета и тогда будет всё ок.
3) Так условия у них же разные, а триггер выполняется при нужных условиях.
4)Если я добавлю просто два раза подряд действие на удаление кольца, то триггер всё-равно удаляет только одно кольцо. Поэтому дальше я заставляю проверять, не равен ли каунт нулю (зная при этом, что он и так не равен нулю)и если не равен, то выполнить действие, а затем приравнять нулю. Там же в комментах это всё написано.
В общем, ждите обновлённую версию
Клара у Карла наклала в кораллы, а Карл у Клары наклал в кларнет.
|
|
|
|
| Дата: Среда, 22.06.2011, 20:21 | Сообщение # 5 |
Лейтенант
Сообщений: 78
|
Quote (DonLaonda) Вообще ни разу не видел, чтоб сборка была из 2+ предметов т.е. 3 кольца или 4 например.
эммм... Ну, например, вантус в доте)
Клара у Карла наклала в кораллы, а Карл у Клары наклал в кларнет.
|
|
|
|
| Дата: Среда, 22.06.2011, 21:01 | Сообщение # 6 |
Генералиссимус
Сообщений: 2438
|
Quote (Cete) 1) Мне лично удобней и понятней, когда всё разделённо и ненагромождённо. (сразу понятно - этот триггер считает, а этот - создает предмет)
Поверь мой друг, если ты будешь триггерщиком или делать свою мапу хотя бы малую рпг. То у тебя нарастет столько триггеров, что ты уже точно ничего не поймешь. Веник хранить в развязанном виде бессмысленно, но для конкретной наработки, что бы именно разобраться нубам я думаю ты молодец, что так сделал. Разделил так сказать основные части трига, к тому же, если ты понял мою мысль во втором пункте, то на основе первого триггера можно написать функцию подсчета свою... например на жасс и выполнять её одной строкой уже. Ну или просто крутить их, организовывая вхождения из этого триггера в сборочные.
Quote (Cete) 3) Так условия у них же разные, а триггер выполняется при нужных условиях. >_< перечитай и подумай [off]Подскажу: предмет ты подбираешь 1 раз, а не 1 раз для подсчета, а потом для сборки.[/off]
Quote (Cete) 4)Если я добавлю просто два раза подряд действие на удаление кольца, то триггер всё-равно удаляет только одно кольцо. Я тоже как то сидел однажды, кажется систему крафта делал для Forest. Взбесили меня триггеры мочи нет... думаю ну чо за тупые этот варик делали.. ну туууупыыыееееее... захожу в википедию, набираю Blizzard - американцы нах... ну тут сразу всё понятно. Я читаю о них статью и осознаю что она не интересная. Напоролся на пункт "интересные-факты", прочитал - обманули гады! И решил добавить пункт "Некоторые Российские программисты считают, что Blizzard enterteinment - ГОВНОКОДЕРЫ!"
Но в википедию это не добавилось :(((
Как я понимаю, второе удаление наступает раньше чем первое удаление заканчивается, я избегаю эту проблему удаляя предмет сразу при поднятии.Quote (Cete) В общем, ждите обновлённую версию Не перестарайся) помни что понятность для новичков выше всякой там правильности, глобальности и не лагучести.
|
|
|
|
| Дата: Четверг, 23.06.2011, 14:12 | Сообщение # 7 |
Лейтенант
Сообщений: 78
|
Доработанная сборка - теперь всё работает корректно - упрощена система подсчёта (теперь нет нужды обнулять каунт) - добавлена проверка правильности подсчёта колец - подробности по эксплуатации в первом посте и в комментариях к триггерам - не буду против, если добавите моё имя в титры при использовании наработки
P.S. просьба к модераторам перенести эту писанину вместе с файлом в первый пост.
Скачать.
Клара у Карла наклала в кораллы, а Карл у Клары наклал в кларнет.
Сообщение отредактировал Cete - Четверг, 23.06.2011, 14:12 |
|
|
|
| Дата: Четверг, 23.06.2011, 15:08 | Сообщение # 8 |
Генералиссимус
Сообщений: 2438
|
Боже мой мы все умрем...
Да-да снова есть проблемы: Не глобально, но для сингла обучения пойдет.
Нафиг тебе триггер с включением и выключением О_О
Удалил его нафиг и действия по включению/выключению триггеров и всё нормально работает.
Сокротил код с 6 строк до 1 молодец, для сингла с небольшим количеством артов самое то.
|
|
|
|
| Дата: Четверг, 23.06.2011, 15:15 | Сообщение # 9 |
Лейтенант
Сообщений: 78
|
DonLaonda, странно =/ у меня просто иногда арт собирался с одним кольцом... или вообще без них
Клара у Карла наклала в кораллы, а Карл у Клары наклал в кларнет.
|
|
|
|
| Дата: Четверг, 23.06.2011, 15:19 | Сообщение # 10 |
Генералиссимус
Сообщений: 2438
|
Quote (Cete) странно =/ у меня просто иногда арт собирался с одним кольцом... или вообще без них Мистика... у тебя под окном коноплю не жгут?
Скорее всего это из-за одного и того же события "юнит - подобрал предмет"
Организуй подсчет в том же триггере, где и сборку.
Т.е. внутрь триггера +1 ставь условия сборки далее по коду, а -1 оставь внешним. В таком случае даже сожженная под окном конопля не заставит собираться предмет при 1ом кольце или без.
Сообщение отредактировал DonLaonda - Четверг, 23.06.2011, 15:21 |
|
|
|