Хорошая идея, некий гибрид Age of Empire II и Stronghold + захват точек - будем ждать. Конечно ландшафт оставляет желать лучшего, но я думаю это поправимо и будет исправлено)
function Trig_model_Actions takes nothing returns nothing
local integer i =1
local destructable last
loop
exitwhen i > 66
call UnitAddAbility(udg_Slot[i], 'Agra' )
last=CreateDestructable( 'B01D' ,GetUnitX(udg_Slot[i]), GetUnitY(udg_Slot[i]), 0, 1, 1 )
call IssueTargetDestructableOrder( udg_Slot[i], "grabtree",last)
call UnitRemoveAbility( udg_Slot[i], 'Agra' )
call RemoveDestructable(last)
set i = i + 1
endloop
last=null
endfunction
Я и сам уже исправил - при значени выше чем 8 - фатал. Сейчас проверю еще раз функцию хейта Hate, функция сработала только в для одного слота
хотя, я щас исправлю скорость реакции - прозевал я это
Все равно не помогло
Всем спасибо! Вопрос решен, одна функция случайно обнуляла переменную Slot[9] и из-за этого был вылет)
всетаки мне подходит только через юнитов, через деформацию медленно и криво таки, для большой карты это не подойдет
Попробуй еще прямо в модели неба сделать, если юниты лаговать будут. А прогибание террейна за 0.02 секунду срабатывает, правда с погрешностью от этого при малом радиусе не избавиться
Еще вопрос - что происходит, если, например, кол-во итераций уменьшить до одной, до двух, до трех, до десяти?
Ну и да, getLastCreated вроде как не будет работать с не BJ функциями создания, хотя я давно последний раз редактор открывал и могу все путать.
Если цикл уменьшить до 2 создает один деструктебл, но юнит абсолютно с ним ничего не делает, если это все делать вне цикла - юнит получает текстуру как положено
есть всегда, при иницализации карты в массив заносится все 72 юнита, но текстуру нужно дать 66. Я сначала подумал что это из-за того что они все в одной точке стоят, расставил по карте - не помогло
Только подбери минимальный радиус, а то если в этом радиусе с двумя значениями одновременно запустить функцию - будет отсчитывать от деформированной поверхности, а это уже погрешность
Минимальный радиус при ктором погрешность не значительная 100, а чем точнее тем больше нужен радиус
Сейчас проверил - У меня получилось я смог запихать светлячка, но есть ньюанс. надо прогибать в радиусе минимум 200, и запускай ожидание, потому что земля прогибается не сразу
тоесть временной деформацией кратер за 0.50 секунд с радиусом 200 я прогнул землю, сразу запустил вейт на 0.30 и создал светлячка - он остался под землей
Если ты расставишь в самой сфере модели неба и как я понял у тебя альфатайл, то они вполне объемно будут отрисовываться на разной высоте под землей, а вот про те которые будут между небом и землей я не уверен, никогда не пробовал куски неба поверх террейна расставлять
но если у тебя сработает спецэффекты это будет лучший вариант чем кучу звезд расставлять вручную в модели
А вот как сделать это без бж я не знаю - землю никогда не гнул и поэтому триггер сконвертировал
Попробуй пока спецэффект по землю засунуть через деформацию, если тебя результат устроит не парься с туманом. Есть еще один вариант - расставить тысячу звезд прямо в модели неба, но это будет очень нудно, по этому стоит с спецэффектами заморочиться
чет платформа не помогает =\
наверное потому что я использую высоту меньше нуля, ну печаль
спецэффект создается на верхней точке по которой можно пройти в заданной координате, так что если никак не подходит создавать их выше земли, то остаются только юниты или декор. В принципе если ты хочешь, чтобы юниты не в поле зрения не отрисовывались для игрока - сделай туман войны за пределами обзора - тогда комп не будет их брать в расчет, но если камера не стандартная и горизонтальна земле - это особо не спасет, прийдется настраивать дамми впереди камеры и расставлять их в поле зрения, а двигать их впереди камеры, по моему будет больше жевать память больше чем сами юниты, хотя это зависит от количества юнитов.
Хотя есть одна идея - перед созданием спецэффекта, прогибай в этом месте землю на нужную высоту, создавай эффект и возвращай землю на место - получишь спец эффект под землей, а для тех которые выше земли - платформы. Опять же это все можно скрутить в функцию, которая будет относительно знаку высоту запускать или платформы или прогиб земли
в игре планируется более 100 звёзд и есть опасения что будут лаги если это юниты
никогда не встречал лаги от 100 юнитов, но если так
то как-то так, причем можно написать рандомную генерацию высоты звезд
я тут написал рандомный айди РО
local destructable dest
CreateDestructableZ(1000, 10.00, 10.00, 120.00, 0.00, 0)
set dest = GetLastCreatedDestructable
AddSpecialEffect(star.mdx, 10.00, 10.00)
RemoveDestructable(dest)
я не тестил - так что тут скорее всего есть баги, но если их исправить и это оформить в функцию - можно юзать
Высота спецэффекта регулируется так - создаешь невидимую платформу на нужной высоте, создаешь спецэффект, сносишь платформу.Но лучше объясни заказчику, что без юнитов никак и он может в своих скриптах не учитывать отдельную группу юнитов - это проще будет
Можешь заранее поставить платформы на мапе в нужных местах и с нужной высотой, потом из кода на их позициях создать эффекты и удалить платформы, но геморроя много
» Триумф / Триумф
» Триумф / Триумф
» Триумф / Триумф
» WarCraft 3 / фатал из-за цикла
Hate, функция сработала только в для одного слота
хотя, я щас исправлю скорость реакции - прозевал я это
Все равно не помогло
Всем спасибо! Вопрос решен, одна функция случайно обнуляла переменную Slot[9] и из-за этого был вылет)
» WarCraft 3 / Исчезание модели у края
» WarCraft 3 / фатал из-за цикла
» WarCraft 3 / фатал из-за цикла
» WarCraft 3 / фатал из-за цикла
» WarCraft 3 / фатал из-за цикла
» WarCraft 3 / фатал из-за цикла
» WarCraft 3 / фатал из-за цикла
» WarCraft 3 / фатал из-за цикла
Ред. darkowlom
» WarCraft 3 / фатал из-за цикла
» WarCraft 3 / Исчезание модели у края
Я там путь неправильно указал - все работает
Минимальный радиус при ктором погрешность не значительная 100, а чем точнее тем больше нужен радиус
» WarCraft 3 / Исчезание модели у края
» WarCraft 3 / Исчезание модели у края
» WarCraft 3 / Исчезание модели у края
» WarCraft 3 / Исчезание модели у края
» WarCraft 3 / Исчезание модели у края
тоесть временной деформацией кратер за 0.50 секунд с радиусом 200 я прогнул землю, сразу запустил вейт на 0.30 и создал светлячка - он остался под землей
Ред. darkowlom
» WarCraft 3 / Исчезание модели у края
но если у тебя сработает спецэффекты это будет лучший вариант чем кучу звезд расставлять вручную в модели
А вот как сделать это без бж я не знаю - землю никогда не гнул и поэтому триггер сконвертировал
» WarCraft 3 / Исчезание модели у края
Ред. darkowlom
» WarCraft 3 / Исчезание модели у края
Хотя есть одна идея - перед созданием спецэффекта, прогибай в этом месте землю на нужную высоту, создавай эффект и возвращай землю на место - получишь спец эффект под землей, а для тех которые выше земли - платформы. Опять же это все можно скрутить в функцию, которая будет относительно знаку высоту запускать или платформы или прогиб земли
» WarCraft 3 / Исчезание модели у края
Ред. darkowlom
» WarCraft 3 / Исчезание модели у края
Ред. darkowlom
» WarCraft 3 / Исчезание модели у края
Можешь заранее поставить платформы на мапе в нужных местах и с нужной высотой, потом из кода на их позициях создать эффекты и удалить платформы, но геморроя много