Как установить постоянную высоту полета? - Wc3-Maps Форум













[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Strateg, Melissa 
Wc3-Maps Форум » Раздел для картостроителей » Вопросы по картостроению » Как установить постоянную высоту полета? (о5 вопрос :D)
Как установить постоянную высоту полета?
-
BARSIKДата: Вторник, 13-11-2012, 15:56:34 | Сообщение # 1
Темный рыцарь

загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 311
Статус: Не на сайте
В общем, если использовать дамми как снаряд, то у него будет одна проблема, он будет менять свою высоту полета. Например, если кастер был на горе, то снаряд будет иметь высоту относительно высоте рельефа, как от этого избавиться? Все что было написано - это всего лишь пример. Помогите пожалуйста wink
 
-
DimbasikДата: Вторник, 13-11-2012, 16:03:18 | Сообщение # 2

загрузка наград ...
Группа: V.I.P.
Сообщений: 332
Репутация: 2028
Статус: Не на сайте
Нихрена не понял....
Парни, мне было приятно находиться на этом сайте вместе с вами, тогда были годы беззаботные и молодые. Теперь я уезжаю на учебу- медицинский лаборант. Спасибо вам за все парни, может, когда-нибудь зайду проведать. Удачи вам, и до встречи!
 
-
DIMCAAДата: Вторник, 13-11-2012, 16:04:38 | Сообщение # 3
Темный маг

загрузка наград ...
Группа: Заблокирован
Сообщений: 292
Репутация: 1182
Статус: Не на сайте
BARSIK, Эм ну еслибы снаряд был живой субстанцыей(тоесть юнитом) то можно было при в ходе в облость изменить его высоту smile
♥♥♥Скайп♥♥♥-dimkeroh
ВК-id78750683
 
-
BARSIKДата: Вторник, 13-11-2012, 16:06:33 | Сообщение # 4
Темный рыцарь

загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 311
Статус: Не на сайте
DIMCAA, ну нет) Тут в смысли если ты сделаешь "юнита" заставишь его спуститься с горки в низ, то он изменит свою высоту, вот я хочу от этого избавиться...
 
-
◄♫►Дата: Вторник, 13-11-2012, 17:15:25 | Сообщение # 5
Tenebris

загрузка наград ...
Группа: V.I.P.
Сообщений: 821
Репутация: 681
Статус: Не на сайте
сделай тип атаки снаряд и всё

 
-
BARSIKДата: Вторник, 13-11-2012, 17:20:57 | Сообщение # 6
Темный рыцарь

загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 311
Статус: Не на сайте
Да нет. Это всего лишь пример я привел!
 
-
влад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
Репутация: 311
Статус: Не на сайте
влад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
Репутация: 311
Статус: Не на сайте
Спасибо, я так то уже небольшой знаток в JASS smile

Добавлено (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
Репутация: 311
Статус: Не на сайте
Нет, тут тоже я зафейлился. Помоему я уже потратил больше 3 часов. Дальше не вижу смысла продолжать. Так и будет, сделаю ланд плоским. Более легкий (нубский) метод решения этой проблемы.
 
-
SmaWwДата: Вторник, 13-11-2012, 20:17:44 | Сообщение # 13
Ополченец

загрузка наград ...
Группа: Пользователи
Сообщений: 70
Репутация: 31
Статус: Не на сайте
Если снаряд у тебя сделан из юнита, нельзя ли просто изменить высоту его движения?
 
-
BARSIKДата: Вторник, 13-11-2012, 20:22:07 | Сообщение # 14
Темный рыцарь

загрузка наград ...
Группа: V.I.P.
Сообщений: 1399
Репутация: 311
Статус: Не на сайте
Один Влад меня понял. Чеза людишки сейчас пошли? biggrin biggrin
 
-
S@ntariaДата: Вторник, 13-11-2012, 20:22:38 | Сообщение # 15
Король Мёртвых

загрузка наград ...
Группа: Модераторы
Сообщений: 2182
Статус: Не на сайте
SmaWw, все не так просто. Надо чтобы снаряд постоянно летел на одном уровне независимо от других факторов, а именно от местности. Триггерно конечно можно изменять высоту, но вопрос заключается в том, как фиксировать на какую восоту надо поднять или понизить в той или иной точке этого даммика, чтобы он двигался плавно
 
Wc3-Maps Форум » Раздел для картостроителей » Вопросы по картостроению » Как установить постоянную высоту полета? (о5 вопрос :D)
Страница 1 из 11
Поиск:
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта
chat