MrFox, странно, не понимаю что может мешать работе кроме вейта, но он вроде как только при попытке взять координаты точки каста может нулевые значения выдать
сделай пример на отдельной карте и скинь её сюда, я попробую решить и скинуть обратно
И ещё вопрос, как написать свою абилку с нуля? Ссылок на статьи будет вполне достаточно заранее спасибо:)
на ютубе полно видео, в основном попадаются не шарящие челы, но по основам без проблем проведут
когда окрепнешь, то перейдёшь на джасс и начнёшь самостоятельно клепать крутые спеллы
можешь так же обращаться в заклинания на заказ, либо ко мне, может научу чему-нибудь, но всё равно желательно иметь базовые знания гуи
регистрируешь на всех юнитов событие получения урона, выдаёшь всем кто должен наносить % урон/вампириться яд (которому урон и эффект убрать), при получении урона проверяешь бафф яда, удаляешь, хиляешь наносящего урон, отключаешь триггер, наносишь повторно урон в зависимости от полученного урона, включаешь триггер
function TryBuild takes nothing returns nothing
local unit u = TryBuild_u
local real x
local real y
local real x1
local real y1
local integer w = 0
local integer b = 0
local integer HaveOrder = 0
local integer pi = GetPlayerId( GetOwningPlayer( u ) )
local integer i = 1
local integer array a //Колво выбоорки в 0 и шанс случая в остальном
//local location l = null
//local location p = null
//local rect r
call DisplayTimedTextFromPlayer( Player( 0x00 ), 0, 0, 4, "Вхожу в билд" )
/*call GroupAddUnit( udg_Ai_buildersT[pi], u )
call GroupRemoveUnit( udg_Ai_builders[pi], u )
call GroupRemoveUnit( udg_Ai_harvest[pi], u )
*/
//Что строить
set b = 1
//set p = GetUnitLoc( u )
set x = GetUnitX( u )
set y = GetUnitY( u )
//Если в воде для верфи - то строй верфь c 75%)
if not IsTerrainPathable( x, y, PATHING_TYPE_WALKABILITY ) and not IsTerrainPathable( x, y, PATHING_TYPE_FLOATABILITY ) then
set i = GetRandomInt( 1, 4 )
set b = 0
if i <= 3 then
set HaveOrder = 1
loop
exitwhen b == 5
set b = b + 1
set x1 = x + 200.00 * Cos( GetRandomReal( 0.00, 360.00 ) * bj_DEGTORAD )
set y1 = y + 200.00 * Sin( GetRandomReal( 0.00, 360.00 ) * bj_DEGTORAD )
/*set r = RectFromCenterSizeBJ(p,200*b,200*b)
set l = GetRandomLocInRect(r)
call RemoveRect(r)*/
if not IsTerrainPathable( x1, y1, PATHING_TYPE_WALKABILITY ) and not IsTerrainPathable( x1, y1, PATHING_TYPE_FLOATABILITY ) then
call IssueBuildOrderById( u, 'h011', x1, y1 )
set b = 5
endif
//call RemoveLocation(l)
endloop
endif
endif
//call RemoveLocation(l)
//Попытка что-то строить
/*set p = GetUnitLoc(u)
set r = RectFromCenterSizeBJ(p, 3500, 3500)
set l = GetRandomLocInRect(r)
call RemoveLocation(p)
call RemoveRect(r)
set x = GetLocationX(l)
set y = GetLocationY(l)
call RemoveLocation(l)*/
set x = x + 3500.00 * Cos( GetRandomReal( 0.00, 360.00 ) * bj_DEGTORAD )
set y = y + 3500.00 * Sin( GetRandomReal( 0.00, 360.00 ) * bj_DEGTORAD )
set a[0] = 1 //Кол-во вариантов со старта
set a[1] = 'h05Y' // 1 Ферма
// Доп. варианты при условиях
// 2 Ратуша
if LoadInteger( AiData, pi, 'h05U' ) < 4 then
set i = 2 //мошь выбора
set b = 1
loop
set a[0] = a[0] + 1
set a[ a[0] ] = 'h05U'
set b = b + 1
exitwhen b == i
endloop
endif
// 3 Казарма
if LoadInteger( AiData, pi, 'h05Z' ) < 10 then
set i = 5 //мошь выбора
set b = 1
loop
set a[0] = a[0] + 1
set a[ a[0] ] = 'h05Z'
set b = b + 1
exitwhen b == i
endloop
endif
// 4 Башня
if LoadInteger( AiData, pi, 'h063' ) * 2 < LoadInteger( AiData, pi, 'h05Y' ) then
set i = 1 //мошь выбора
set b = 1
loop
set a[0] = a[0] + 1
set a[ a[0] ] = 'h063'
set b = b + 1
exitwhen b == i
endloop
endif
// 5 Лесопилка
if LoadInteger( AiData, pi, 'h062' ) < 5 then
set i = 2 //мошь выбора
set b = 1
loop
set a[0] = a[0] + 1
set a[ a[0] ] = 'h062'
set b = b + 1
exitwhen b == i
endloop
endif
// 6 Кузница
if LoadInteger( AiData, pi, 'h060' ) < 6 then
set i = 2 //мошь выбора
set b = 1
loop
set a[0] = a[0] + 1
set a[ a[0] ] = 'h060'
set b = b + 1
exitwhen b == i
endloop
endif
// 7 Алтарь
if LoadInteger( AiData, pi, 'h05X' ) < 3 then
set i = 2 //мошь выбора
set b = 1
loop
set a[0] = a[0] + 1
set a[ a[0] ] = 'h05X'
set b = b + 1
exitwhen b == i
endloop
endif
if ( LoadInteger( AiData, pi, 'h05V' ) > 1 or LoadInteger( AiData, pi, 'h05W' ) > 1 ) and LoadInteger( AiData, pi, 'h064' ) < 10 then
set i = 5 //мошь выбора
set b = 1
loop
set a[0] = a[0] + 1
set a[ a[0] ] = 'h064'
set b = b + 1
exitwhen b == i
endloop
endif
// 9 Храм
if (LoadInteger( AiData, pi, 'h05V' ) > 1 or LoadInteger( AiData, pi, 'h05W' ) > 1 ) and LoadInteger( AiData, pi, 'h061' ) < 15 then
set i = 4 //мошь выбора
set b = 1
loop
set a[0 ]= a[0] + 1
set a[ a[0] ] = 'h061'
set b = b + 1
exitwhen b == i
endloop
endif
// 10 Церковь
if LoadInteger( AiData, pi, 'h05W' ) > 1 and LoadInteger( AiData, pi, 'h068' ) < 15 then
set i = 6 //мошь выбора
set b = 1
loop
set a[0] = a[0] + 1
set a[ a[0] ] = 'h068'
set b = b + 1
exitwhen b == i
endloop
endif
set i = GetRandomInt( 1, a[0] )
call IssueBuildOrderById( u, a[i], x, y )
/*call RemoveRect(r)
set r = null
call RemoveLocation(p)
set p = null
call RemoveLocation(l)
set l = null
call RemoveLocation(udg_LocalPoint)*/
call DisplayTimedTextFromPlayer(Player(0),0,0,4, "Выхожу из Билда")
//return ???
endfunction
я ничего не менял, просто точки на координаты перенёс и убрал бж функции, ну и закомментил то что мешало проверке либо не нужно было
ну в общем одна из этих типичных сталкеров в варкрафте, которые наверное каждому попадались на глаза, можно погуглить и все как один, конкретно по этой:
встречает стандартный загрузочный экран вара
полуимпорт-полустандарт и импорт в виде стандарта, выбивается атмосфера
декорирование ужасное, есть ощущение что это именно человек равномерно натыкал шахматной доской, а не природа сотворила пейзажи
тайлы не сочетаются друг с другом
цветовая гамма в целом не ложится друг на друга, одно выбивает другое
клиффы, и ладно если бы клиффы не выглядели как клиффы, но вот это:
карта в целом пустая, не насыщенная, хоть это и лесная местность, исследовать толком нечего
триггеры гуи (не то чтоб на гуи ничего интересного сделать нельзя, но тут явное незнание оформления)
текст не лаконичный, белый (когда обычно то же выполнение задания приятное, тёмно-желтое, с соответствующим звуком)
диалоги либо же реплику скипнуть нельзя, придётся ждать
смена камеры кривая (экран ещё не потух, а уже идёт проявление и смена камеры)
теней ни у каких юнитов нет, ладно там игроки могут это дело рендереджем сделать, но можно же хотя бы стандартную тень полёта прямо под ноги кинуть (что удивительно, предметы почему-то тени имеют, которые больше самих предметов)
диалоги имеют грамматические, пунктуационные и синтаксические ошибки, и это очень важно, ведь это единственный способ ознакомиться с историей (озвучки нет)
когда тебе дают возможность играть своим героем, тебе приходится его сначала выделить (не критично, но неприятно)
умения без описаний и вероятно хоткеев (тоже не критично, но что мешало уделить этому 10-20 минут)
игра почему-то отключила управление стрелками, а как включить обратно нигде инфы нет, по этому поводу ничего не скажу (upd: оказывается потом откроется возможность, странно)
задание идти за проводником, а куда он убежал если ты вдруг отвлёкся уже не понятно (лично мне пришлось из-за этого перезапускать игру, т.к. ориентир напрочь потерялся)
камера очень дёрганная, лучше уж стандартную тогда, учитывая что стрелки вначале отключены
юниты куда-то прямо во время синематика исчезли, какой-то рандомный спецэффект затемнения и проявления
управление стрелками почему-то включилось после определенного синематика, но оно крайне заторможенное, будто играешь с пингом 200-300, движения назад нет, а идти вперёд и одновременно поворачивать то ещё мучение
при попытке выйти из здания тебя тупо телепортирует, ладно там хотя бы просто затемнение и звук открывающейся двери в секундном синематике, но это просто телепортация без ничего (после которой меня застрелили какие-то рандомы)
герой дальше своего носа ничего не видит, это я если что про туман войны, очевидно же, что игрок может увидеть дальше, чем позволяет ему игра, на холмах это особенно заметно
не имея, по видимому, оружия, никак нельзя нанести урон, наткнувшись на собак мой герой просто сверлил их взглядом пока его грызли
дальше меня не хватило, так что дальнейшая оценка не объективная: ландшафт:2/10, для 2022 крайне убого, сочетание импорта и стандарта, а так же импорта похожего на стандарт всё поганит удобство управления:2/10, проще играть мышкой и смириться с дёрганной камерой история:1/10, хочется поскорее скипнуть диалоги, которые не особо то и ознакамливают как-то с происходящим и вселенной способности:1/10, мне показалось, что какой-то там триггерный спелл есть (метание камня), но всё остальное будто из ро, до стрельбы я не дошёл, но есть подозрения, что она тоже стандартная (учитывая чем меня убили) понятность геймплея:3/10, если какую-либо подсказку упустишь или кого-то потеряешь то пиши пропало итог:2/10, даже для беты слабовато
опять же, вышеперечисленная псевдо-оценка не объективна и веса не имеет, потому что меня хватило на 5-10% карты
Immortal_Zodd, ну и как это сделано в приведённом примере?
если мне понравится реализация или будет желание, то я могу сделать для тебя или помочь сделать
Ред. rsfghd
» WarCraft 3 / Не работает триггерная способность!
Ред. rsfghd
» WarCraft 3 / Вопросы по способностям
можешь так же обращаться в заклинания на заказ, либо ко мне, может научу чему-нибудь, но всё равно желательно иметь базовые знания гуи
» WarCraft 3 / Процентный урон от пасивки(автоатака)
» New Dawn - Meridia / Дневник разработки
» WarCraft 3 / Не работает триггер
Ред. rsfghd
» WarCraft 3 / Как отдать приказ всем юнитам в зоне?
» WarCraft 3 / Как прописать триггер чтобы при нажатии кнопки спавнился отряд?
» WarCraft 3 / Способность на заказ
» WarCraft 3 / Вопросы по способностям
» WarCraft 3 / Не работает триггерная способность!
» WarCraft 3 / Процентный урон от пасивки(автоатака)
» WarCraft 3 / Функция не доходит до конца - это моя ошибка или лимит операций?
» WarCraft 3 / Набор звуков
» WarCraft 3 / S.T.A.L.K.E.R (Extreme) [Act-1] (BETA)
» WarCraft 3 / S.T.A.L.K.E.R (Extreme) [Act-1] (BETA)
ландшафт: 2/10, для 2022 крайне убого, сочетание импорта и стандарта, а так же импорта похожего на стандарт всё поганит
удобство управления: 2/10, проще играть мышкой и смириться с дёрганной камерой
история: 1/10, хочется поскорее скипнуть диалоги, которые не особо то и ознакамливают как-то с происходящим и вселенной
способности: 1/10, мне показалось, что какой-то там триггерный спелл есть (метание камня), но всё остальное будто из ро, до стрельбы я не дошёл, но есть подозрения, что она тоже стандартная (учитывая чем меня убили)
понятность геймплея: 3/10, если какую-либо подсказку упустишь или кого-то потеряешь то пиши пропало
итог: 2/10, даже для беты слабовато
опять же, вышеперечисленная псевдо-оценка не объективна и веса не имеет, потому что меня хватило на 5-10% карты
» WarCraft 3 / Добыча камней
» WarCraft 3 / Похищение жизни
» WarCraft 3 / Импорт звука
» WarCraft 3 / Три огненных шара
если мне понравится реализация или будет желание, то я могу сделать для тебя или помочь сделать
» WarCraft 3 / Вылет варика
» WarCraft 3 / Условие не работает
» New Dawn - Meridia / Дневник разработки
» WarCraft 3 / Условие не работает
» WarCraft 3 / Похищение жизни
» New Dawn - Meridia / Дневник разработки