Maniac_91, Можно их метить при помощи комментариев. Там же все ифы в действиях, туда и суёшь комменты, а сами триггеры можно распихать по папочкам и опять же комментариями поотгораживать. Долго, но зато помогает.
Steal nerves, Это система депозитов каждому игроку нужно показывать конкретно его значение. Это значение в массиве с индексом в виде номера игрока. Как убрать утечку? Если же я чего-то недопонял, то если не трудно покажите наглядно, что это за альтернатива, ибо с локал плеером я не знаюсь.
ScopteRectuS, В точку именно это и имел в виду) Maniac_91, Я тоже стараюсь, но убрать его потом не выйдет, и во вторых уменьшать кол-во триггеров добавлением новых триггеров да ещё и с циклами, это оригинальное решение. Я о том что возможно я просто не встречался с необходимостью именно его применения.
Maniac_91, Почему-же каждый раз, я просто делаю на каждое событие по одному триггеру, остальное можно через ифы после прописать, так что такой набор только в одном триггере. А добавление событий имеет смысл разве что в детекторе урона на гуи.
Maniac_91, Ну нет спасибо это как перелазить через забор когда калитка открыта) ScopteRectuS, Было бы прикольно если бы было событие просто любой игрок написал сообщение, ведь во многих случаях именно она и нужна, Хотя вроде события же не производять операций так что это чисто для удобства.
quq_CCCP, Но там не написано как убрать анимацию смерти, а с земноводными я так понял нужно поменять местами нагу и героя? хотя это только с рунами сработает... quq_CCCP, Неа с земноводными тоже ничего не работает...
ScopteRectuS, И что именно там утекает. И то что я не собираюсь писать на джасс это не значит что мне не подойдёт решение на джасс. Я вот скачивал наработки на джасс с комментариями и спокойно всё в них понимал, даже убирал добавлял доп действия.
Sergarr, Я знаю об этих статьях и там не все интересные способности, кроме того самые интересные создаются триггерно, а не присутствуют в игре изначально. Но всё равно спасибо.
Cancel, Я проверял условия, подставив другие действия они не текут quq_CCCP, Вы сами понимаете что там нет ответа, просто боитесь сказать я не знаю, считая что от этого потеряете авторитет, но спешу вас успокоить что это не так, ведь авторитета у вас и до того не было. ScopteRectuS, А если удаляются то как устранить утечку?
убери группу и используй простую проверку расстояния между точками:
"если расстояние между точками speak и speak2 меньше чем 500 то"
всеравно ведь точки используешь
так же проверь утечки при многократном повторении этого триггера
т.е. последовательно запусти этот триггер раз 20 и посмотри на показатель счётчика
Спасибо за идею, избавился от глобалки, и упростил триггер, но хендл всё равно добавляется( Хотя я освоил новый триггер... NazarPunk,
Эти уникумы будут всегда и это ещё чудо, что их код может как-то исполняться не вызывая
тотальный трындец всему, к чему дотягивается))
Ну зачем так жестоко, нужно рассматривать код начинающих как детский рисунок, а ещё лучше сохранить и потом троллить сабжа когда он научится писать понятно и кратко) NazarPunk,
Что вы так JASS'а боитесь то? Если юзать его с препроцессорами, то с разрастанием карты не
потеряешься в куче глобальных переменных и триггеров.
Да я не боюсь, вот осваиваю потихоньку, просто сейчас система понятна, а когда переделаешь в джасс то мне придётся заново её изучать, а там свои нюансы, и главное условия после действий идут что сильно путает, и графического древа нету, короче если она не будет работать или работать не так, то меньше шансов что я смогу самостоятельно её отредактировать как мне нужно.
nvc123, Да у меня не падает ничего, я просто хочу делать оптимальные наработки, вот представь если у меня будет 100 таких триггеров с утечками, там и залагать может. Так что я так и не врубился в чём причина роста кол-ва обьектов.
quq_CCCP, ну хз может легче тогда использовать нейтральных юнитов, на них проще детектить урон, а добычу по правой кнопкой мыши триггерно реализовать. Как задетектить классификацию юнита работник?
function Trig_speak_system_____________________u_Func001Func001Func006C takes nothing returns boolean
if ( not ( IsUnitInGroup(GetOrderedUnit(), udg_units) == true ) ) then
return false
endif
return true
endfunction
function Trig_speak_system_____________________u_Func001Func001C takes nothing returns boolean
return true
endfunction
function Trig_speak_system_____________________u_Func001C takes nothing returns boolean
if ( not ( GetIssuedOrderIdBJ() == String2OrderIdBJ("smart") ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetOrderTargetUnit()) == Player(PLAYER_NEUTRAL_PASSIVE) ) ) then
return false
endif
return true
endfunction
function Trig_speak_system_____________________u_Actions takes nothing returns nothing
if ( Trig_speak_system_____________________u_Func001C() ) then
if ( Trig_speak_system_____________________u_Func001Func001C() ) then
set udg_playergroup = GetPlayersByMapControl(GetPlayerController(GetOwningPlayer(GetOrderedUnit())))
set udg_speak = GetUnitLoc(GetOrderTargetUnit())
set udg_speak2 = GetUnitLoc(GetOrderedUnit())
set udg_units = CreateGroup()
call GroupEnumUnitsInRangeOfLoc(udg_units, udg_speak, 500., null)
if ( Trig_speak_system_____________________u_Func001Func001Func006C() ) then
// Если расстояние от юнита до цели меньше 500 то цель поворачивается и говорит в чат с подсветкой кружка
call SetUnitFacingTimed( GetOrderTargetUnit(), AngleBetweenPoints(udg_speak, udg_speak2), 0.30 )
call TransmissionFromUnitWithNameBJ( udg_playergroup, GetOrderTargetUnit(), "", null, "", bj_TIMETYPE_SET, 1.00, true )
call UnitAddIndicatorBJ( GetOrderTargetUnit(), 100, 100, 100, 0 )
call DisplayTextToForce( udg_playergroup, udg_strings[GetRandomInt(0, udg_count)] )
else
endif
call RemoveLocation(udg_speak)
call RemoveLocation(udg_speak2)
call DestroyGroup(udg_units)
call DestroyForce(udg_playergroup)
else
endif
else
endif
endfunction
//===========================================================================
function InitTrig_speak_system_____________________u takes nothing returns nothing
set gg_trg_speak_system_____________________u = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_speak_system_____________________u, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddAction( gg_trg_speak_system_____________________u, function Trig_speak_system_____________________u_Actions )
endfunction
nvc123, Ну и гайд по форматированию, только по примеру понял как его сделать. Вот текст уже только с одной утечкой и удалённым лишним кодом. Хорошо бы устранить утечку так чтоб не полностью перейти на джасс, но если нельзя то нельзя.
PrincePhoenix, Буду сам делать, а там посмотрю, Элитизм это плохо, потому что уменьшает конкуренцию, замедляет прогресс, ограничивает фантазию. Можно устроить систему оценок, и первыми в поиске показывать лучшее, но не отсеивать переспективных разработчиков. В конце концов каждый когда-то начинал, поэтому не желать новичкам лёкого старта это как морить своего сына голодом потому что ты в детстве голодал. Ну справедливо же) uranus, Да именно так, конструктор высокого уровня, только не привязанный к игре, чистые концепты. ClotPh, Ну в доте два разве что в кастомках можно разрешить тогда своих героев использовать, а лучшего героя каждый месяц добавлять в саму игру. Да за редакторами будущее, только это хорошо для игроков, а вот для жадных разрабов невыгодно, так как ты купил варик и всё бабла не приносишь, а в ф2п играх можно тебя на ипотеку подсадить с випами и ежедневным расписанием.
quq_CCCP, А что не так? Всю правду ведь написал, никто ведь не просит вас отвечать на вопросы если они вам не нравятся, или делать заклинания на заказ. В то же время этот парень очень наглый, если хочешь что-то получить от людей нужно быть вежливым, никто ведь не должен тебе всё делать.
Путём исключения безутечных частей триггера удалось локализовать область поиска утечек до вот такого маленького участка, кто-нибудь может теперь понять что там не так, или просто написать джасс замену этого участка без утечек, хотя там и так всё на кастом скрипте. Я вообще удивляюсь, у меня такая-же проблема была в аналогичном триггере только в системе генерации мобов для карты, и там тоже никто толком не помог. Видимо гет енам юнитс нифига не безутечный, судя по хендл каунтеру. Или я не знаю как обьяснить его рост.
» WarCraft 3 / Как задетектить написавшего в чат игрока?
» WarCraft 3 / Не удаляются группы игроков через цикл
» WarCraft 3 / Как задетектить написавшего в чат игрока?
Maniac_91, Я тоже стараюсь, но убрать его потом не выйдет, и во вторых уменьшать кол-во триггеров добавлением новых триггеров да ещё и с циклами, это оригинальное решение. Я о том что возможно я просто не встречался с необходимостью именно его применения.
» WarCraft 3 / Как задетектить написавшего в чат игрока?
» WarCraft 3 / Как задетектить написавшего в чат игрока?
ScopteRectuS, Было бы прикольно если бы было событие просто любой игрок написал сообщение, ведь во многих случаях именно она и нужна, Хотя вроде события же не производять операций так что это чисто для удобства.
» WarCraft 3 / Как задетектить написавшего в чат игрока?
» WarCraft 3 / Баги анимаций во время и после морфа
quq_CCCP, Неа с земноводными тоже ничего не работает...
» WarCraft 3 / Опять утечка, может ли утекать переменная типа строка?
» WarCraft 3 / Существует ли карта способностей?
» WarCraft 3 / Опять утечка, может ли утекать переменная типа строка?
quq_CCCP, Вы сами понимаете что там нет ответа, просто боитесь сказать я не знаю, считая что от этого потеряете авторитет, но спешу вас успокоить что это не так, ведь авторитета у вас и до того не было.
ScopteRectuS, А если удаляются то как устранить утечку?
» WarCraft 3 / Каков лимит утечек?
» WarCraft 3 / Опять утечка, может ли утекать переменная типа строка?
» WarCraft 3 / Каков лимит утечек?
» WarCraft 3 / Когда-то уже просил найти утечки тут, и через годы... Снова...
NazarPunk, Ну зачем так жестоко, нужно рассматривать код начинающих как детский рисунок, а ещё лучше сохранить и потом троллить сабжа когда он научится писать понятно и кратко)
NazarPunk, Да я не боюсь, вот осваиваю потихоньку, просто сейчас система понятна, а когда переделаешь в джасс то мне придётся заново её изучать, а там свои нюансы, и главное условия после действий идут что сильно путает, и графического древа нету, короче если она не будет работать или работать не так, то меньше шансов что я смогу самостоятельно её отредактировать как мне нужно.
» WarCraft 3 / Каков лимит утечек?
» WarCraft 3 / Опять утечка, может ли утекать переменная типа строка?
» WarCraft 3 / Опять утечка, может ли утекать переменная типа строка?
» WarCraft 3 / Как задетектить урон нанесённый разрушаемому обьекту
Отредактирован Alexey103
» WarCraft 3 / Когда-то уже просил найти утечки тут, и через годы... Снова...
» WarCraft 3 / Когда-то уже просил найти утечки тут, и через годы... Снова...
» WarCraft 3 / Порталы
» WarCraft 3 / Существует ли карта способностей?
uranus, Да именно так, конструктор высокого уровня, только не привязанный к игре, чистые концепты.
ClotPh, Ну в доте два разве что в кастомках можно разрешить тогда своих героев использовать, а лучшего героя каждый месяц добавлять в саму игру. Да за редакторами будущее, только это хорошо для игроков, а вот для жадных разрабов невыгодно, так как ты купил варик и всё бабла не приносишь, а в ф2п играх можно тебя на ипотеку подсадить с випами и ежедневным расписанием.
» WarCraft 3 / Как создать спелл бычий таран?
» WarCraft 3 / Когда-то уже просил найти утечки тут, и через годы... Снова...
biridius, NazarPunk, Obelick, ScopteRectuS, Sergarr, Msey,
» WarCraft 3 / Когда-то уже просил найти утечки тут, и через годы... Снова...
NazarPunk, Там же нейтрально пассивный цель отданного приказа.