17

» WarCraft 3 / Как изменить(с наземной на воздушн. или наоборот)анимацию юнита

AddUnitAnimationProperties(u,null,true)
SetUnitAnimationByIndex(u,8)
1 это прописываешь там де обьявляешь переменные после обьявления юнита
2 это прописываешь когда те анимация нужна поэкспериментируй от 0 до 30

а чтобы поднять это дело в воздух
UnitAddAbility(u, 'Arav')
UnitRemoveAbility(u,'Arav')
SetUnitFlyHeight(u,150,0)
17

» WarCraft 3 / Как наносить процентный урон?

да чё тут париться еси я понел так что те над от 225 отнять 33 процента то просто 225-225*0.33
я надеюсь ты понел что это формула оставшегося хп тоесть присвоишь юниту
17

» WarCraft 3 / клик

хех задача проста юнит стоит я пикнул правой(левой) по карте юнит там (без всяких там скиллов)
всё разобрался
17

» WarCraft 3 / клик

я знаю что экранные не как я имел в виду координаты на карте
17

» Unity / Мёртвый объект

alexprey, в консоли видно что 4 камеры,насчёт инактив нет, не помечены,и камеры я некогда таким тегом неотмечал
17

» WarCraft 3 / Еще вопрос по способностям.)

в гуи триггерах я не бум бум,но пробни сделать 2 триггера 1 который запуляет и выкл 2й ,а 2й уже сам таймер с периудом 0.025 и в нем должно быть полярные координаты,и функция отслеживающая юнитов вокруг твоего фростбола,для эффектности удаляй фростбол при ударе и (не забудь выкл триггер с периудом в 0.025)
17

» WarCraft 3 / Абсолютное игнорирование приказа

Я понял ты не можешь запульнуть заклинания триггерно,попробуй дать эту способность предмету,предмет юниту ,юнитом кастуй предмет
17

» WarCraft 3 / Dooble Free

дело в коде так запускаю и выкл его
NocnoySlon A = NocnoySlon.create()
A.b=true
A.NochnoyBoy(u,'e004',330,200,100,25)
TriggerSleepAction(5)
A.b=false
A.destroy()
А вот и сам код структуры
(
struct NocnoySlon{
unit u
int speed =10
float rad=0
int s=0,icount=0,raznica=0
unit array shar[100]
effect ef =null
int destr = 0,lifeunit=0,regshar=5
int rcount=0,damage=0,typeunit=0
bool b = true
void Destroy(){
int i = 0
if(.destr>.lifeunit){
RemoveUnit(.shar[i])
.icount--
while(i<.icount){
.shar[i]=.shar[i+1]
.shar[i+1]=null
i++
}
.destr=.destr-.regshar-1
}
.destr++
i=0
}
void Remove(){
if(.icount<0){
RemoveUnitSlon(.u)
}
}
void Sosdanie(){
if(b){
if(.s>regshar&&.icount<.rcount){
SetUnitAnimation(.u,"attack")
.shar[.icount++]=CreateUnit(GetOwningPlayer(.u),.typeunit,GetUnitX(u)+50*Cos((GetUnitFacing(.u))*0.0174),GetUnitY(.u)+50*Sin((GetUnitFacing(.u))*0.0174),(GetUnitFacing(.u))+.raznica)
.s=0
.raznica+=GetRandomInt(10,20)
if(.raznica>60){.raznica=-60}
}
.s++
}
Destroy()
Remove()
}
void Mahach(){
int i = 0
group g = CreateGroup()
unit n = null
while(i<.icount){
SetUnitX(.shar[i],GetUnitX(.shar[i])+speed*Cos(GetUnitFacing(.shar[i])*0.0174))
SetUnitY(.shar[i],GetUnitY(.shar[i])+speed*Sin(GetUnitFacing(.shar[i])*0.0174))
GroupEnumUnitsInRange(g,GetUnitX(.shar[i]),GetUnitY(.shar[i]),50,null)
do {
n = FirstOfGroup(g)
exitwhen n == null
if(IsUnitEnemy(n,GetOwningPlayer(.shar[i]))==true&&GetUnitState(n,UNIT_STATE_LIFE)>0&&IsUnitIdType(GetUnitTypeId(n),UNIT_TYPE_MAGIC_IMMUNE)==false){
UnitDamageTarget(.shar[i],n,.damage,true,false,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_MAGIC,WEAPON_TYPE_WHOKNOWS)
.ef=AddSpecialEffect("Fire1.mdx",GetUnitX(.shar[i]),GetUnitY(.shar[i]))
DestroyEffect(ef)
ef=null
RemoveUnit(.shar[i])
}
GroupRemoveUnit(g,n)
} whilenot(n==null)
i++
}
i=0
DestroyGroup(g)
g=null
n=null
}
static void Update(){
int i=0
while(i<count){
nocnoyslon[i].Sosdanie()
nocnoyslon[i].Mahach()
i++
}
if(count<=0){
DestroyTimer(taimer)
taimer=null
if (GetLocalPlayer() == Player(0)){
DisplayTextToPlayer(Player(0), 0, 0,"всё")
}
}
i=0
}
static timer taimer = null
static NocnoySlon nocnoyslon[]
static int count = 0
static void NochnoyBoy(unit u,int id,int damage,int rcount,int rad,int speed){
if(Unitproverka(u)!=-1){return}
nocnoyslon[count++] = UnitMovie1.create()
nocnoyslon[count-1].u=u
nocnoyslon[count-1].typeunit=id
nocnoyslon[count-1].damage=damage
nocnoyslon[count-1].rcount=rcount
nocnoyslon[count-1].lifeunit=rad
nocnoyslon[count-1].speed=speed
unit /idunit /damage /max idunit kol snarad/raddeistvia/speed
if(taimer==null){
taimer = CreateTimer()
TimerStart(taimer,0.025,true,function NocnoySlon.Update)
}
}
static void RemoveUnitSlon(unit u){
int i = Unitproverka(u)
if(i==-1){return}
count--
while(i<count){
nocnoyslon[i]=nocnoyslon[i+1]
nocnoyslon[i+1].destroy()
i++
}
}
static NocnoySlon Unitproverka(unit u){
int i = 0
while(i<count){
if(nocnoyslon[i].u==u){return i}
i++
}
i=0
return -1
}
}
)
17

» WarCraft 3 / Dooble Free

SomeFire:
ledoed, проблема в отсутствии проблемы.
а моно по подробней для нуба
Первый каст проходит как надо а второй не запускается выдавая эту ошибку
17

» WarCraft 3 / Dooble Free

Nikson12:
А где скрин?
Сори опять опера глюканула
Загруженные файлы
17

» WarCraft 3 / Помогите повернуть здания.)

SetUnitPositionLoc(gg_unit_hgra_0007, Location(GetUnitX(gg_unit_hgra_0007),GetUnitY(gg_unit_hgra_0007)))
SetUnitFacing(gg_unit_hgra_0007, 45)
срабатывает со 2го раза (незнаю почему)
если на гуи то это примерно на скрине
17

» WarCraft 3 / Помогите повернуть здания.)

Obelick:
zlowar, расскажу тебе одну прием. Его знают лишь 5 человек в мире. Магазин не обязательно должен быть зданием.
но здания можно повернуть
17

» WarCraft 3 / Помогите повернуть здания.)

SetUnitFasing(юнит,radius)
юнит - твою боевую единицу
radius- радиус куда хош повернуть
а если хош повернуть юнита в какую то область то,
radius=Atan2(BY-AY,BX-BX)*57.32
где "BY,AY" кординаты по игрику,а "BX,AX" координаты по иксу
BY,BX координаты цели
AY,AX координаты твоей боевой единицы
17

» WarCraft 3 / маcсив в структуре

Всё разобрался как сделать это,напишите любой комент чтобы я снял вопрос
17

» WarCraft 3 / прыжки

nvc123:
переменные локальные или глобальные?
вообще тут лучше юзать таймеры а не вейт
оказывается всё куда проще,просто цикл быстро перебрасывал значения юнита "u"(короче:над было в конце цикла TiggerSleepAction() впихнуть)
17

» WarCraft 3 / Некорректное увеличение здоровья зданию

метод Lvl я так понял возвращает уровень спелла, но еси спел у перса есть он автоматом 1 уровня а вы в методе SetUnitAbilityLevel(u,abil,lvl+1) устанавливаете +1 от лвл способности
17

» WarCraft 3 / установки анимации

Obelick:
Анимация - Change unit animation speed
эта функция лишь способна регулировать скорость воспроизведения,а мне нужно добиться точной установки анимации.
17

» WarCraft 3 / Переменные одной структуры перенимают значения другой

А всё понял де была ошибка я просто из 2й структуры запускал методы из 1й вот и переменные превратились в кашу
17

» WarCraft 3 / Переменные одной структуры перенимают значения другой

пишу по памяти если что извиняйте
struct Struct1{
unit u
// и куча переменных

static void function(){
// этот метот запускает не статические методы
}
static timmer t = null
static Struct1 struct1[]
static int count  = 0
static void Method(что принимает метод){
// тут всякие операции типо
struct1[count++] = Struct1.create()
if(t==null){
t = CreateTimer()
TimerStart(t,0.025,true,function Struct1.function)
}
}
}
//а 2й почти идентичен с ним но и ещё разное название структур
Struct1 A = Srtuct1.create
Struct2 B = Srtuct2.create
A.method(переменные)
B.method(переменные)
получаеться потом что если их по раздельно запускать то всё норм а вместе на разных юнитах то каша
17

» WarCraft 3 / илюзии

Кет:
Так прикол в том что анимация тени замирает в том положении что анимация юнита за 0.2 сек