Как установить постоянную высоту полета?
|
|
-
BARSIK | Дата: Вторник, 13-11-2012, 15:56:34 | Сообщение # 1 |
Темный рыцарь
загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 326
Статус: Не на сайте
|
В общем, если использовать дамми как снаряд, то у него будет одна проблема, он будет менять свою высоту полета. Например, если кастер был на горе, то снаряд будет иметь высоту относительно высоте рельефа, как от этого избавиться? Все что было написано - это всего лишь пример. Помогите пожалуйста
|
| | |
-
Dimbasik | Дата: Вторник, 13-11-2012, 16:03:18 | Сообщение # 2 |
загрузка наград ...
Группа: V.I.P.
Сообщений: 332
Репутация: 2093
Статус: Не на сайте
|
Нихрена не понял....
Парни, мне было приятно находиться на этом сайте вместе с вами, тогда были годы беззаботные и молодые. Теперь я уезжаю на учебу- медицинский лаборант. Спасибо вам за все парни, может, когда-нибудь зайду проведать. Удачи вам, и до встречи!
|
| | |
-
DIMCAA | Дата: Вторник, 13-11-2012, 16:04:38 | Сообщение # 3 |
Темный маг
загрузка наград ...
Группа: Заблокирован
Сообщений: 292
Репутация: 1212
Статус: Не на сайте
|
BARSIK, Эм ну еслибы снаряд был живой субстанцыей(тоесть юнитом) то можно было при в ходе в облость изменить его высоту
♥♥♥Скайп♥♥♥-dimkeroh ВК-id78750683
|
| | |
-
BARSIK | Дата: Вторник, 13-11-2012, 16:06:33 | Сообщение # 4 |
Темный рыцарь
загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 326
Статус: Не на сайте
|
DIMCAA, ну нет) Тут в смысли если ты сделаешь "юнита" заставишь его спуститься с горки в низ, то он изменит свою высоту, вот я хочу от этого избавиться...
|
| | |
-
◄♫► | Дата: Вторник, 13-11-2012, 17:15:25 | Сообщение # 5 |
Tenebris
загрузка наград ...
Группа: V.I.P.
Сообщений: 821
Репутация: 696
Статус: Не на сайте
|
сделай тип атаки снаряд и всё
♓
|
| | |
-
BARSIK | Дата: Вторник, 13-11-2012, 17:20:57 | Сообщение # 6 |
Темный рыцарь
загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 326
Статус: Не на сайте
|
Да нет. Это всего лишь пример я привел!
|
| | |
-
влад10011 | Дата: Вторник, 13-11-2012, 18:40:36 | Сообщение # 7 |
загрузка наград ...
Группа: V.I.P.
Сообщений: 1265
Репутация: 1039
Статус: Не на сайте
|
сделай его не летающим и при создании делай так: Code call UnitAddAbility(unit,'Amrf') call SetUnitFlyHeight(unit,1.,0.) call UnitRemoveAbility(unit,'Amrf') Юнит будет "летающим" и при этом не сможет менять высоту как другие "летающие юниты", а станет он нормальным, только тогда, когда его высота станет меньше <-4>--<0> (при этом дальше можно изменять его высоту не зависимо, если у него способность летать или нет) Если бы не было этого бага, спеллы с прыжками делали только с дамми, которые умеют летать =_=
Добавлено (13/11/2012, 18:30:02) --------------------------------------------- сделай его не летающим и при создании делай так: Code call UnitAddAbility(unit,'Amrf') call SetUnitFlyHeight(unit,1.,0.) call UnitRemoveAbility(unit,'Amrf') Юнит будет "летающим" и при этом не сможет менять высоту как другие "летающие юниты", а станет он нормальным, только тогда, когда его высота станет меньше <-4>--<0> (при этом дальше можно изменять его высоту не зависимо, если у него способность летать или нет) Если бы не было этого бага, спеллы с прыжками делали только с дамми, которые умеют летать =_=
Добавлено (13/11/2012, 18:30:02) --------------------------------------------- а не, я не так тебя понял, щас напишу как сделать.
Добавлено (13/11/2012, 18:40:36) --------------------------------------------- Глобальная переменная типа точка с именем Z При инициализации делаешь так: личный сценарий: set udg_Z=Location(0.,0.) далее: Пример функция Move Code function GetZ takes location loc,real h returns real call MoveLocation(udg_Z,GetLocationX(loc),GetLocationY(loc)) return GetLocationZ(udg_loc)+h endfunction
function Move takes nothing returns nothing local unit u=CreateUnit(Player(0),'hpea',0,0,0) call UnitAddAbility(u,'Amrf') call SetUnitFlyHeight(u,GetZ(GetUnitLoc(u),GetUnitDefaultFlyHeight(u)+GetUnitFlyHeight(u)),0.) call UnitRemoveAbility(u,'Amrf') endfunction
Look at my horse!
|
| | |
-
BARSIK | Дата: Вторник, 13-11-2012, 18:44:58 | Сообщение # 8 |
Темный рыцарь
загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 326
Статус: Не на сайте
|
влад10011, увы, но с моими знаниями я не добился результата... call UnitAddAbility(unit,'Amrf') call SetUnitFlyHeight(unit,1.,0.) call UnitRemoveAbility(unit,'Amrf') сделал тогда, когда только создается юнит... Поставил галочку на "Может бежать", сделал его "Пешим", но результата нуль.Добавлено (13/11/2012, 18:42:43) --------------------------------------------- Ах, да, я тоже) Добавлено (13/11/2012, 18:44:58) --------------------------------------------- А обязательно с Глобальной переменной Z?
|
| | |
-
влад10011 | Дата: Вторник, 13-11-2012, 18:51:20 | Сообщение # 9 |
загрузка наград ...
Группа: V.I.P.
Сообщений: 1265
Репутация: 1039
Статус: Не на сайте
|
Я подправил код, теперь без глобальной Пример функция Move Code function GetZ takes location loc,real h returns real return h-GetLocationZ(loc) endfunction
function Move takes nothing returns nothing local unit u=CreateUnit(Player(0),'hpea',0,0,0) call UnitAddAbility(u,'Amrf') call SetUnitFlyHeight(u,GetZ(GetUnitLoc(u),GetUnitDefaultFlyHeight(u)+GetUnitFlyHeight(u)),0.) call UnitRemoveAbility(u,'Amrf') endfunction Добавлено (13/11/2012, 18:51:20) --------------------------------------------- Переводиться это как: Установить высоту юнита (Абсолютная(начальная) высота полёта + текущая)-Высота рельефа
Look at my horse!
|
| | |
-
BARSIK | Дата: Вторник, 13-11-2012, 19:04:21 | Сообщение # 10 |
Темный рыцарь
загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 326
Статус: Не на сайте
|
Спасибо, я так то уже небольшой знаток в JASS Добавлено (13/11/2012, 19:04:21) --------------------------------------------- Проблема, в такая же проблема... Скорее всего эта проблема на моей стороне...
|
| | |
-
влад10011 | Дата: Вторник, 13-11-2012, 19:16:53 | Сообщение # 11 |
загрузка наград ...
Группа: V.I.P.
Сообщений: 1265
Репутация: 1039
Статус: Не на сайте
|
ок, более лёгкий вариант(должен работать 100%): Code function GetZ takes location loc returns real return GetLocationZ(loc) endfunction
function Move takes nothing returns nothing local unit u=CreateUnit(Player(0),'hpea',0,0,0) local location loc=GetUnitLoc(u) local real f=GetUnitFlyHeight(u) local x=GetLocationX(loc)+50.*Cos(GetUnitFacing(u)) local y=GetLocationY(loc)+50.*Sin(GetUnitFacing(u)) set loc=Location(x,y) if f>GetZ(loc) then call UnitAddAbility(u,'Amrf') call SetUnitFlyHeight(u,f,0.) call UnitRemoveAbility(u,'Amrf') endif endfunction
Look at my horse!
|
| | |
-
BARSIK | Дата: Вторник, 13-11-2012, 19:55:55 | Сообщение # 12 |
Темный рыцарь
загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 326
Статус: Не на сайте
|
Нет, тут тоже я зафейлился. Помоему я уже потратил больше 3 часов. Дальше не вижу смысла продолжать. Так и будет, сделаю ланд плоским. Более легкий (нубский) метод решения этой проблемы.
|
| | |
-
SmaWw | Дата: Вторник, 13-11-2012, 20:17:44 | Сообщение # 13 |
Ополченец
загрузка наград ...
Группа: Пользователи
Сообщений: 70
Репутация: 31
Статус: Не на сайте
|
Если снаряд у тебя сделан из юнита, нельзя ли просто изменить высоту его движения?
|
| | |
-
BARSIK | Дата: Вторник, 13-11-2012, 20:22:07 | Сообщение # 14 |
Темный рыцарь
загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 326
Статус: Не на сайте
|
Один Влад меня понял. Чеза людишки сейчас пошли?
|
| | |
-
S@ntaria | Дата: Вторник, 13-11-2012, 20:22:38 | Сообщение # 15 |
Король Мёртвых
загрузка наград ...
Группа: Модераторы
Сообщений: 2183
Статус: Не на сайте
|
SmaWw, все не так просто. Надо чтобы снаряд постоянно летел на одном уровне независимо от других факторов, а именно от местности. Триггерно конечно можно изменять высоту, но вопрос заключается в том, как фиксировать на какую восоту надо поднять или понизить в той или иной точке этого даммика, чтобы он двигался плавно
|
| | |