| Дата: Понедельник, 19.09.2011, 12:01 | Сообщение # 1 |
Подполковник
Сообщений: 144
|
Вот выкладываю 2 вида скрещивания. Ссылка ниже. -------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------ Кстати не забываем про переменные.
Сообщение отредактировал Random_chel - Понедельник, 19.09.2011, 12:02 |
|
|
|
| Дата: Понедельник, 03.10.2011, 10:07 | Сообщение # 2 |
Генералиссимус
Сообщений: 2438
|
Обратил внимание на тему, т.к. это наработка, а их без внимания оставлять нельзя. И думаю моя оценка будет "авторитетна" на этом форуме Извиняюсь за пафос))
И так, скажу честно. Качал с мыслью, что найду кучу ошибок, увижу очередной бред построенный на везении или что-то типо того. Кроме всего процего, подобная наработка, даже более усложненная лежит тут: http://wc3.3dn.ru/forum/66-1948-1 В той наработке затронута тема складывания именно одинаковых вещей, но как оказалось подобное есть и в вашей. Можете обратить внимание, сколько было претензий к моему коллеге) (работали над одним проектом одно время жаль он пропал, не довел дело до конца и даже не выдал ту часть, что сделал)
И так, что касается данной наработки.
Сижу себе зла не чую гружу карту... а там... О_О корректное использование переменных (пофиг что обнуление переменной в начале, так даже правильней, хотя многие пишут в конце) На лбу выступил пот... Лять да тут использование For и пересчет через целочисленную... Я честно говоря немного опешил. Дело вовсе не в том, что вы сделали все замечательно, а в том, что я уже года 2 не видел нормального триггерщика. Всегда было к чему придраться! Даже название карты сделали свой, а не "ещё одна карта" Единственные минусы, которые могу написать: 1)Чисто визуальная недописка или моя личная привычка (потому критика не объективна) в else у тебя пусто, а лучше бы там было Do Nothing (ничего не делать) 2)Везде используется bj triggiringUnit + цыклы медлительны в работе, результатом будет сбой при многопользовательской игре, если герои подберут предметы в примерно одинаковое время.
Для решения проблемы необходимы локальные переменные. Ещё сам цикл подсчета предметов можно вынести в отдельную функцию, чтобы не писать её по нескольку раз, конечно никто не запрещает делать и так, но когда в вашей карте под 50+ итемов и обработка идет, как в доте (вещь не занимает места в инве и сборки делаются даже с полным инвом), то возникнут проблемы. Если в Jass ещё не очень, то советую ознакомиться с: Jass там я как раз цитировал статью многоуважаемого триггерщика Sergey http://wc3.3dn.ru/forum/68-1627-1 А вот моя наработка по подсчету одинаковых предметов, где подсчет вынесен отдельной функцией (1 строка вместо цикла и условия), более того она позволяет использовать локальные функции, в отличии от близзардоского стандартного For и Pick, которые выносятся отдельным триггером @_@, что обеспечивает более быструю и стабильную работу триггера. Так же устраняет утечку возникающую при использовании bj функций (они создают тяжелые переменные типа юнит и не обнуляют их ). http://wc3.3dn.ru/forum/66-1948-2
Считаю, что необходимо более подробно расписать информацию о вашей наработке и переместить её в раздел: http://wc3.3dn.ru/forum/66. Она действительно заслуживает внимания и будет замечательным пособием для начинающих.
Сообщение отредактировал DonLaonda - Понедельник, 03.10.2011, 10:19 |
|
|
|
| Дата: Пятница, 26.10.2012, 11:38 | Сообщение # 3 |
|
ОГРОМНОЕ СПАСИБО ЗА НАРАБОТКУ! ДАВНО ИСКАЛ!
|
|
|
|