21

» WarCraft 3 / Внезапеное исчезновение героя, нужен -Recreate?

В реплее исчезновение после смерти? Ну про это верю, выше написано. А что сам по себе просто исчез - это уже матрица или что-то связанное с твоей системой (хотя может быть, что и во втором случае из-за этого), или тебя приглюкнуло...
21

» WarCraft 3 / Внезапеное исчезновение героя, нужен -Recreate?

Он после смерти исчезает?
Если да, то в варе такое бывает, особенно в тех случаях, когда умирает много героев сразу.
Давно известно и "решения не нашлось" (с), у себя давно стоит костыль запоминания параметров с предметами и пересоздания в случае чего, не так уж сложно один раз поставить и забыть.
21

» WarCraft 3 / Нужна модель? - Вам сюда!

Люди-лисы - это тоже интересно, да, и уже используется. Но при чем тут они?
Да, не нашлось. Один из кандидатов заказать платно, кстати. Тем и мега интересная идея. Можно попытаться самому что-то круглое и/или слизистое изнасиловать и перетекстурить, но гемор еще тот будет.
По Крабсу бегло просмотрено ревью, единственное, что реально для меня плохо - отсутствие аттачментов, все остальное для меня не недостатки. СКАЖУ СПАСИБО, ЕСЛИ АТТАЧМЕНТЫ БУДУТ КЕМ-ТО СДЕЛАНЫ, В КРАЙНЕМ ЗАЙМУСЬ ЛИЧНО, КОГДА ОН БУДЕТ НУЖЕН.
По рыбе прикол в том, что она рыба-семицветик, из нее можно было бы сделать плавающую в воздухе плюющуюся краской рыбу-художника. Там в югиохе еще дофига упоротого, кстати.
Да, упоротые, крч, упоротые - это круто, потому что обычные уже скучно, обычное в овердохрена книг/игр/мультов/фильмов увидено.
Интересны животно-механические минералмэны (такой монстр реально в одном мульте есть :D, именно так дословно в русском переводе и звучит)
По качеству. Мне вот качество Крабса (если не считать отсутствия у него аттачментов) по предварительному просмотру кажется значительно выше, чем тех моделей с хайва, что ты мне присылал в ЛС.
Такое и надеюсь видеть хотя бы.
Но поскольку Крабс пока не скачивался и однозначно оценить качество воочию не могу, то проще так - надеюсь на качество как минимум незначительно ниже варкрафтовской модели юнита от близзов. А лучше хотя бы такое же или вообще лучше, офк =)
21

» WarCraft 3 / Нужна модель? - Вам сюда!

  1. Совиные медведи и в варе есть, а это совиная белка.
  2. Вообще меня на том скрине больше левое существо прикалывает, его было бы интересно живым монстром видеть, состоящим из ваты и этой самой ватой плюющимся. Но справа тоже довольно интересно тем, что хоккеист, тематика бешеных боевых хоккеистов не самая раскрытая =)
А так можно еще вбросов поделать:
cb20130729220655%2Fnickelodeon%2Fimages%2F5%2F50%2FMr-Krabs-spongebob-squarepants-4870659-321-288.gif/" target="_blank">img1.wikia.nocookie.net/cb20130729220655/nickelodeon/images/5/... (Кстати, он БЫЛ на хайве, вот именно его модель! Но потёрли, во всяком случае из общего доступа...)
Tesse из игры Waku Waku 7 меха-служанка типа, тут в деле www.youtube.com/watch?v=lYit6X8POH0
21

» WarCraft 3 / Нужна модель? - Вам сюда!

Просто буду время от времени сюда вбрасывать интересные образы, никому не помешают, думаю, но, может, вдохновят кого-то создать общедоступную модельку.
Насчёт платного варианта я знаю. Про него уже писалось.
21

» WarCraft 3 / Вопрос о функциях

Вот насчет подсказок. Они же сами по себе не ухудшают производительность кода?
Тогда в том же сджассе их объём просто сделать минимум вдвое больше объёма самого кода и проблема решена. Да, это работы ппц, но раз крутой программер не обосрался запилить крутой код, найдется и тот, кто не обосрется сверхкрутые и сверхпонятные подсказки запилить.
21

» WarCraft 3 / Кислотная бомба

Реген - это просто вместо строчки кода на добавку таймера установить параметры в РО, не вижу маразма, каждый делает, как удобнее
21

» WarCraft 3 / Кислотная бомба

quq_CCCP, ну как-то так, например.
Время жизни - функция add expiration timer.
Если реген, то, допустим, хп у даммика 15, а реген ставишь от -1 в секунду до -8.
Даммик создается в нужной позиции. Если это точка, потом она обнуляется.
Что-то не правильно?
Вот там на скрине пусть ТС и ставит даммику не 2 сек., а 10-15, если не будет переспама спеллов, ничего страшного (да и если будет, не так уж страшно).
21

» WarCraft 3 / Кислотная бомба

Пусть даммик живёт дольше и всё (если ты его убиваешь через время жизни - ставь больше время жизни, если через отрицательный реген... возникла мысль написать "уменьши отрицательный реген", но тут двойной смысл получается... крч, думаю, ты меня понял).
21

» WarCraft 3 / Нужна модель? - Вам сюда!

О, слушайте, идея ударила: Шефа и Коллеги модельки из руссоквестов (я знаю, что это не только квесты, но хотелось бы, чтобы как там выглядели) Братьев Пилотов запилить желание есть?
Насчёт оплачиваемого варианта-то понятно.
Оплачиваемого у меня давно возможный список выстроился и постоянно изменяется и дополняется.
Но пока моделек в свободном доступе непоюзанных еще достаточно много, а производство героев и денег, напротив, идет медленнее, чем хотелось бы, так что ещё нецелесообразно.
21

» WarCraft 3 / Создание ауры замедления

Да, аура торнадо хороша, когда не нужна видимая иконка на панели.
А отрицательные значения у ауры скорости - когда иконка нужна.
Кстати, текст баффа внизу в описании можно через цветотег покрасить (просто замедление - отрицательный эффект, ему логичнее иметь красный текст).
21

» WarCraft 3 / Чёрная магия

Так, тут заметка себе, мб Тичу и мб срастить идеи Тича и Бакасуры... Прошу не тереть. Автору респект.
21

» WarCraft 3 / Как сделать ускорение за счёт длительности передвижения?

Тогда сделай много уровней абилки на ускорение. Отлавливай факт перемещения юнита и в зависимости от факта и дистанции выдавай нужный уровень абилки.
21

» WarCraft 3 / Удвоение постепенного движения (нужна небольшая помощь кодера)

Строго говоря, там еще ифзенэлс в идеале должен быть перед смещением на координаты - что x3 и/или y3 !=0. Можно и без него, но... ну, кто разберется, сам догадается, что будет. Не смертельно, но... ну, см. выше.
Глобальные триггеры destroyspeceffect и floatingtext у меня отвечают за уничтожение спецэффекта и плавающего текста соответственно, функции подсчёта атаки - из мемхака.
Именно для постепенного движения ничего этого не нужно, можно удалить.
21

» WarCraft 3 / Как сделать ускорение за счёт длительности передвижения?

Смотри, довольно интересный код - спелл, на 3 секунды удваивающий любое постепенное перемещение через смещение по координатам. Если немного помозговать, скорее всего его части тебе пригодятся. Функция SeizureFate должна быть действием какого-то триггера, чтобы именно этот спелл действовал; очевидно, с событием на каст спелла каким-то конкретным юнитом или юнитом вообще.
Для начала советую попробовать применить триггер, если сможешь скопировать спелл как действующий, от этого уже будешь дальше плясать.
Кэп намекает, что можно подсчитывать, запоминать, возвращать пройденную дистанцию и в зависимости от этого увеличивать и дистанцию очередного смещения по координатам; а также контролировать время действия спелла.
21

» WarCraft 3 / Преодоление лимита операций

Diaboliko, ладно, забей, тут сложно объяснить... "на будущее" хотелось защититься от отключения триггеров, поэтому и инициализировать их второй раз "заранее", короче говоря, первичная плоха тем, что может отключиться, т. к. она "классическая" через InitCustomTriggers, а если первичную убирать сразу, так это получается то, что я уже и делаю, но тут свои трудности...
Пока буду делать так, короче:
-разбивать все InitTrig_XXX на несколько блоков;
-проверять, сработала ли самая нижняя инициализация в каждом блоке.
Если она сработала, значит, в этом блоке лимит операций превышен не был.
Все правильно? Ятп - ДА.
21

» WarCraft 3 / Преодоление лимита операций

DracoL1ch, пока в этом не удалось разобраться.
Diaboliko, а, ну да-да, пока что все, что инициализируется не дефолтно через InitCustomTriggers, инициализируется в другом триггере, и этот другой триггер один. Только он сам по себе не особенно грандиозный, просто все перенесенные инициализации именно там.
Ну то есть пока понято так по ответам на мои вопросы:
  1. Да.
  2. Да, надо распихивать, ну ок, буду, не сильно проблема.
  3. Да, только триггер утечёт.
////////////
Теперь чуть подробнее по третьему. А как ее, собственно, залатать?
При дополнительной инициализации удалять из существующего глобального триггера события, условия и действия и рушить его?
А не будет фатала, если такого триггера не существует?
Просто ведь если он перестанет инициализироваться через InitCustomTriggers, его, ятп, просто не будет существовать...
////////////////////
О-О-О!!! И вот еще внимание сразу 4-й вопрос!!! ПЛЗ!!! Оч легкий.
Верно ли, что лимит операций первыми пришибает последние вызовы? Ятп, по логике да, и вроде и примерно так и выходило (просто они могут фактически быть не последними в редакторе триггеров по списку, но это-то как раз не беда, у меня глобальных триггеров больше вообще не будет).
У меня war3map.j в InitCustomTriggers заканчивает ее так:
...
call InitTrig_EffortsForMulticast()
call InitTrig_FelaAll()
call InitTrig_NastyLightForMulticast()
call InitTrig_DepressionAll()
call InitTrig_LostVikingsAll()
call InitTrig_WaterInTheFaceForMulticast()
call InitTrig_HighTideAll()
call InitTrig_ConsciencePangsForMulticast()
call InitTrig_ChaplainAll()
call InitTrig_ColossusAll()
call InitTrig_KumbhakarnaAll()
call InitTrig_RelictAll()
call InitTrig_ZoroAll()
call InitTrig_AstronomerAll()
call InitTrig_RookieAll()
call InitTrig_PotentAll()
call InitTrig_OuroborosAll()
call InitTrig_MinisnakeAll()
endfunction
Т. е. точно ли, что если я проверяю Минизмейку и она в порядке - больше у меня пока ничего не отключилось?
21

» WarCraft 3 / Преодоление лимита операций

Diaboliko, грандиозный основной триггер - это кастом код сверху?
Там не один триггер, там дофига триггеров и функций. Просто изначально там были функции типа старого домемхаковского GetUnitArmor + немного своих, потом добавился мемхак и еще чуть раньше из-за лимита все подряд туда полезло :D
Вообще, я так понимаю, нет ведь разницы особой, что где написано, вопрос, что где инициализируется?
Меня интересуют конкретные и максимально четкие ответы на вопросы.
//////////
Если на третий вопрос у меня ответ правильный, так я вообще думаю, может, открыть war3map.j и скопипастить все из InitCustomTriggers (ну кроме триггера инициализации карты) в другое место и все? Ну останется там утечка XX триггеров. Не смертельно повлияет на производительность, если вообще окажется замечено, ведь триггеры-то эти не будут вызываться (если я, опять же, все верно понимаю). Зато про геморрой забуду.
21

» WarCraft 3 / Как сделать систему талантов?(прокачка так же как скилы у героя)

Более простыми предложениями моё предыдущее сообщение.
Твой способ очень сложный в реализации.
И сложный в дальнейшем.использовании.
Но если считаешь, что справишься, делай так.
Я использую только спеллбуки.
И абилки в спеллбуках.
Абилка в спеллбуке - талант.
Абилку можно типа юзнуть и талант типа выучить.
После этого триггерно к способности каким-то образом применяются изменения.
Именно к способности, а не к герою.
Потому что таланты в моём понимании влияют на способность, а не героя.
Так понятнее?
21

» WarCraft 3 / Как сделать систему талантов?(прокачка так же как скилы у героя)

NiktoTakoy, а ты все это осилишь обрабатывать? Если да - валяй.
У меня просто по изучению спеллбучной абилки эта абилка для этого игрока блочится навсегда и каким-либо образом навсегда же модифицируется соотв. спелл. Вообще таланты вешаются на спеллы по идее, а не на героя, это насчет репиков и т. п. Если на героя, то вот как у тебя геморрой выходит...
21

» WarCraft 3 / Важная информация об обновлении 1.28

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

» WarCraft 3 / Удвоение постепенного движения (нужна небольшая помощь кодера)

Ну всем спс, вот код, вроде все нормально (про флуш помню, но это сейчас шаблон, это если исправлять, то все потом вместе)
раскрыть
function SeizureFate2 takes nothing returns nothing
//ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5, u6, u7, p, enemies
local timer t = GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local unit u6=LoadUnitHandle(udg_Hash,GetHandleId(t),1)
local unit u7
local location p
local group enemies = CreateGroup()
local real damage = (GetUnitBaseDamage(u5) + GetUnitGreenBonusDamage(u5)) * 0.5 * (GetUnitAbilityLevelSwapped ('A282', u6))
local real x2 = LoadReal(udg_Hash,GetHandleId(t),4)
local real y2 = LoadReal(udg_Hash,GetHandleId(t),5)
local integer i = LoadInteger(udg_Hash,GetHandleId(t),3)
local real x = GetUnitX(u5)
local real y = GetUnitY(u5)
local real x3 = 0
local real y3 = 0
local real dx = 0
local real dy = 0
local real d = 0
local real d2 = 0
//ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО

set i = i+1
call SaveInteger(udg_Hash,GetHandleId(t),3,i)

//ОБСЧЁТ И ПРИ НАДОБНОСТИ УДВОЕНИЕ ПОСТЕПЕННОГО ДВИЖЕНИЯ. ТУТ U5 ДВИЖЕТСЯ И ОТ ЕГО АТАКИ УРОН, А U6 КАСТЕР И ИСТОЧНИК УРОНА И С НЕГО ЛВЛ АБИЛЫ!
set dx = x - x2
set dy = y - y2
set d2 = dx * dx + dy * dy
if (d < 200) then
set x3 = x + dx
set y3 = y + dy
//Задание координат с проверкой на края карты.
if RectContainsCoords(bj_mapInitialPlayableArea,x3,y3) then
call SetUnitX (u5,x3)
call SetUnitY (u5,y3)
endif
//Задание координат c проверкой на края карты - закрыто.
endif
//ОБСЧЁТ И ПРИ НАДОБНОСТИ УДВОЕНИЕ ПОСТЕПЕННОГО ДВИЖЕНИЯ - ЗАКРЫТО.
call SaveReal(udg_Hash,GetHandleId(t),4,x3)
call SaveReal(udg_Hash,GetHandleId(t),5,y3)

if (i>74) then


//ЦВЕТОТЕГ РАЗМЕРА 14, ОКРАС СМ. ПЕЙНТ
call CreateTextTagUnitBJ( I2S(R2I(damage)), u5, 0, 14.00, 100.00, 70.00, 4.00, 0 )
call ConditionalTriggerExecute( gg_trg_floatingtext )
//ЦВЕТОТЕГ РАЗМЕРА 14 - ЗАКРЫТО.


//ГРУППА И ДЕЙСТВИЯ С НЕЙ

set p = GetUnitLoc(u5)
set enemies = GetUnitsInRangeOfLocAll(230.00,p)

loop
set u7=FirstOfGroup(enemies)
exitwhen u7==null
call GroupRemoveUnit(enemies,u7)
if ( ( IsUnitType((u7), UNIT_TYPE_ANCIENT) != true ) and ( IsUnitType((u7), UNIT_TYPE_STRUCTURE) != true ) and ( GetUnitAbilityLevelSwapped('Avul', u7) != 1 ) and (IsUnitAliveBJ(u7) == true )) and (IsUnitEnemy(u7,GetOwningPlayer(u6)) == true) then
call UnitDamageTargetBJ(u6,u7,damage,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC)
endif    
endloop

//ГРУППА И ДЕЙСТВИЯ С НЕЙ - ЗАКРЫТО.

call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call RemoveLocation (p)
endif

call DestroyGroup (enemies)


//ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5, u6, u7, p, enemies
set t = null
set u5 = null
set u6 = null
set u7 = null
set p = null
set enemies = null
//ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
endfunction



function SeizureFate takes nothing returns nothing
//ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5, u6
local timer t = CreateTimer()
local unit u6=GetTriggerUnit()
local unit u5=GetSpellTargetUnit()
local real x = GetUnitX(u5)
local real y = GetUnitY(u5)
local integer i = 0
//ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО

if  ( GetSpellAbilityId() == 'A282' )  then

    call AddSpecialEffectTargetUnitBJ( "chest", u5, "Vain1.mdl" )
   call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
    call AddSpecialEffectTargetUnitBJ( "origin", u5, "Vain1.mdl" )
   call ConditionalTriggerExecute( gg_trg_destroyspeceffect )

call SaveUnitHandle(udg_Hash,GetHandleId(t),1,u6)
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call SaveReal(udg_Hash,GetHandleId(t),4,x)
call SaveReal(udg_Hash,GetHandleId(t),5,y)
call TimerStart(t,0.04,true,function SeizureFate2)

else
call PauseTimer (t)
call DestroyTimer (t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
endif


//ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ: t, u5, u6
set u5 = null
set u6 = null
set t = null
//ВНИМАНИЕ!!! ОБНУЛЯЕМЫЕ ПЕРЕМЕННЫЕ ЗДЕСЬ СПИСКОМ - НОВЫЙ ШАБЛОН СОВЕРШЕНСТВА, ВСЕ ТЕСТКАРТЫ БЕЗ ОНОГО БУДУТ УДАЛЕНЫ - ЗАКРЫТО
endfunction
21

» WarCraft 3 / Важная информация об обновлении 1.28

Да уже давно понятно, что вар разделился на конструкторско-самодельный и официальный. Выше 1.26x то, что у меня, явно обновляться не будет и как подключаться к офф. серву близзов, оно давно забыло, и вообще оно варкрафтом может называться примерно с тем же успехом, как трансиенты из комикса "Трансметрополитен" людьми. Так что пофиг. Если там че-то сделают реально офигенное, найдется способ его протащить без оффпатчинга.
Другое дело, что не очень ясно, зачем близзы возвращаются к поддержке Вар 3. Понятно, что там редактор охрененный (до сих пор самый юзер-френдли), но они бы лучше такой редактор запилили при своих возможностях в более современной игре, а не занимались xxx. Или там денег у них так много, что делать нечего.