такая реализация сложная. Но фича есть и возможно но все это надо jass кодить с таймером. Так как я делал такой на 2D свою игру поэтому знаю как делать. Но в варкрафт сделаем изврашеным способом.
Делаеш облость где юнит может над аркой ходить. То если юнит вошел то запоминаем ему высоту. И переодически сверям в случаем если он покинул то сброс чтобы выглядел как он упал с арки. Короче не для слабых программирование. Учитивая там у вас в карте видимо мноо таких обьектов. не считай статичный рельеф с ровным размером 62 или 128 высоту чтобы фиксировать положение юнитов
если юнит вошел в облость внизу под аркой то вручаем абилку ворон и меняем высоту. То есть сохраняем текуший высота данного юнита. А если он покинул облость то ест где выделено ровно аркой то делаем сброс абилку ворот который может спустить вниз как падение юнита. А случае если он низу то падение не заметиш
8gabriel8, такая хитрость делаем 5 таких способностей. А в коде заполнять массив равкод
И каждый абилку по разному количеств. Например у тя было 5 заряд и он тратит с память кода количест данного равкода когда он имеет равно 1 то устанавливаем галочку заряд кончилось. Или при покупке сверяем равкод если это 5 зарядный и тратил 2 раза то 3 + (1 новый купленый) то удаляем равкод и вручаем равкод с 4 заряд.
ну если юнит быстро бьет то цель не меняет. Но если его бьет кто то другой то он меняет цель так как оглушеный цель не бьет то теряет приоритет в случае если его не бьет другие мобы то он продолжает данного обьекта бить
С чёрным ссылки лучше выделяются. Нет.
Да, жирным лучше видно.
Обычно делают его иконка на ссылку стрелку показывает чтобы легче понять где ссылка в тексте так как не все телефоны могут его видеть под яркостью =) Ну ббкод дописать добавить картинку маленкую рядом с ссылкой в тексте
--
-- Реализация класса с наследованием
--
function Class(parent)
local class = {}
local mClass = {}
-- Сам класс будет метатаблицей для объектов.
-- Это позволит дописывать ему метаметоды.
class.__index = class
-- Поля объектов будут искаться по цепочке __index,
-- и дотянутся, в том числе, до родительского класса.
mClass.__index = parent
-- Резервируем поле Super под родителя.
class.Super = parent
-- Функция, которая будет вызываться при вызове класса
function mClass:__call(...)
local instance = setmetatable({}, class)
-- Резервируем поле класса "init"
if type(class.init) == 'function' then
-- Возвращаем экземпляр и всё что он вернул функцией init
return instance, instance:init(...)
end
-- Но если её нет - тоже ничего.
return instance
end
return setmetatable(class, mClass)
end
-- Основной класс.
Shape = Class()
function Shape:init(x, y)
-- в качестве self мы сюда передаём инстанс объекта.
self.x = x or 0
self.y = y or 0
return '!!!'
end
function Shape:posArea()
return self.x * self.y
end
-- Так как таблица Shape является метатаблицей для рождаемых ей объектов,
-- мы можем дописывать ей метаметоды.
function Shape:__tostring()
return '[' .. self.x .. ', ' .. self.y ..']'
end
local foo, value = Shape(10, 20)
print('foo, value', foo, value) --> [10, 20] !!!
-- Наследник
Rectangle = Class(Shape)
function Rectangle:init(x, y, w, h)
-- В данный момент, self - это пустая таблица,
-- к которой прицеплена таблица Rectangle, как мета.
-- Вызов родительских методов через Super.
self.Super.init(self, x, y)
-- Вызов собственных методов при инициализации - тоже возможен.
self.w, self.h = self:getDefault(w, h)
end
function Rectangle:area()
return self.w * self.h
end
function Rectangle:getDefault(w, h)
return w or 10, h or 20
end
function Rectangle:__tostring()
return '['..self.x..', '..self.y..', '..self.w .. ', '..self.h..']'
end
rect = Rectangle(10, 20, 30, 40)
print('rect', rect) --> [10, 20, 30, 40]
print('rect:area()' , rect:area()) --> 30 * 40 = 1200
-- Вызов родительского метода
print('rect:posArea()', rect:posArea()) --> 10 * 20 = 200
то есть переплюнуть правила кодирование на основе кода? У каждый код есть стандарт правильного кодирование. Это и есть прирост самооценки. Иначе говнокодеры будет тех кто учил у говнокодера =) Так и пораждает последователи. Например вы читаете у человека туториал освоили все азы его понимание так и вы клонируете его навыка. Ну обьяснять нет смысла когда тут 20% поймут о чем!
» WarCraft 3 / как создать возможность проходить юнитам под платформой?
Делаеш облость где юнит может над аркой ходить. То если юнит вошел то запоминаем ему высоту. И переодически сверям в случаем если он покинул то сброс чтобы выглядел как он упал с арки. Короче не для слабых программирование. Учитивая там у вас в карте видимо мноо таких обьектов. не считай статичный рельеф с ровным размером 62 или 128 высоту чтобы фиксировать положение юнитов
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
» WarCraft 3 / Открыть карту созданной в 1.26 > Рефордж
» WarCraft 3 / Simple Button & 4:3 Screen
» WarCraft 3 / Темный участок в меню варкрафта
» WarCraft 3 / Перенос карты с 1.26 на 1.31
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
» WarCraft 3 / Заряды способности
И каждый абилку по разному количеств. Например у тя было 5 заряд и он тратит с память кода количест данного равкода когда он имеет равно 1 то устанавливаем галочку заряд кончилось. Или при покупке сверяем равкод если это 5 зарядный и тратил 2 раза то 3 + (1 новый купленый) то удаляем равкод и вручаем равкод с 4 заряд.
» WarCraft 3 / Заряды способности
» WarCraft 3 / Заряды способности
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
» WarCraft 3 / Растянуло текстуры модели в варе и редакторе (смотреть гифки)
» WarCraft 3 / Экран статистики
» WarCraft 3 / Почему происходит ретаргет цели?
» WarCraft 3 / Перевод текстов на 2 языка
» WarCraft 3 / Сортировка переменных
» WarCraft 3 / Аура возмездия на дальний бой.
Ред. tysch_tysch
» Администрация XGM / Нестареющая классика — футболки XGM
» WarCraft 3 / как отловить автоатаку героя?
» Администрация XGM / Нестареющая классика — футболки XGM
» WarCraft 3 / Cannot find appropriate CD keys
» WarCraft 3 / Lua и ООП
» Администрация XGM / Нестареющая классика — футболки XGM
» WarCraft 3 / Cannot find appropriate CD keys
» Администрация XGM / Рейтинг на сайте