17

» WarCraft 3 / Blender

что вы импортируете в блендер какой формат и тд,по подробнее плиз
17

» WarCraft 3 / Смертельный удар игнорирует броню?

Врядли но ты потестируй дай юниту 100 хп плкрути бронь от 1 до 100 и посмотри насколько сниматься хп
17

» WarCraft 3 / Способности и алгоритмы на заказ

NilasAran_39:
такое на гуи делать очень сложно и запарно,врядли кто то за это возмёться
17

» WarCraft 3 / В чём ошибка с локальными переменными?

Wait он не точный ты можешь поставиь 0.8 а выполниться через 1.2 вариант использовать таймеры для точности
17

» WarCraft 3 / В чём ошибка с локальными переменными?

ааа ты локалку необнуляешь
короче все локалки кроме типа float и int нужна обнулять типо
unit u = GetTriggerUnit()
u=null
17

» WarCraft 3 / В чём ошибка с локальными переменными?

ну да конечно а в чём проблемма
а зачем в глобалку заносить плавующий текст
17

» WarCraft 3 / В чём ошибка с локальными переменными?

вот тебе повезло нашел в старой карте код с плавующим текстом
сложная билеберда
//Плавающий текст
scope SetTextTag{

    
    public int count = 0
    private unit this_u[]
    private texttag this_texttag[]
    private int this_time[]

    private int this_tt[]
    
    private bool this_poss[]
    
    private float this_z[]
    
    
    
    
    
    
    
    
        private void RemoveUnitStruct(int i){

          count--
          

        //====================
        this_u[i]=this_u[count]
        this_z[i]=this_z[count]
        this_poss[i]=this_poss[count]
        this_time[i]= this_time[count]
        this_tt[i]=this_tt[count]
        this_texttag[i]=this_texttag[count]
        //======================
		this_u[count]=null
          
        }    
    
        private void Remove(int i){
        DestroyTextTag(this_texttag[i])

        RemoveUnitStruct(i)

        }   
    
    

//    MiniFunc_SetTextTag_AddUnit(unit u,string text,float x,float y,float z,bool poss,float speed,float angle,float size,float time,int R,int G,int B,int A)
    public void AddUnit(unit u,string text,float x,float y,float z,bool poss,float speed,float angle,float size,float time,int R,int G,int B,int A){
    
        this_texttag[count]= CreateTextTag()
        
        SetTextTagText(this_texttag[count], text, TextTagSize2Height(size))
        SetTextTagPos(this_texttag[count],x,y,z)
        SetTextTagColor(this_texttag[count], R, G, B, A)
        
        float vel = TextTagSpeed2Velocity(speed)
        float xvel = vel * Cos(angle * degrad)
        float yvel = vel * Sin(angle * degrad)
        SetTextTagVelocity(this_texttag[count], xvel, yvel)
        this_u[count]=u
        this_poss[count]=poss
        this_time[count]=R2I(time*sek)
        this_tt[count]=0
        this_z[count]=z
        
        count++
    }
    
    
    
    
    void Action(int i){
    
        if(this_poss[i]){
            SetTextTagPos(this_texttag[i],GetUnitX(this_u[i]),GetUnitY(this_u[i]),this_z[i])
        }
        
        if(++this_tt[i]>this_time[i]){
        
        Remove(i)
        
        }
    }
    
    public void Update(){int i = 0 ;while(i<count){Action(i);i++}}
    //таймер на 0.025
    
}
для понимания более упрощённая
//удаление юнита через время
scope UnitRemoveToTime{

        public int count =0
        //============================
        private unit this_u[] 
        private int this_timmer[] 
        private int this_tt[]

        private int Proverka(unit u){int i = 0;while(i<count){if(u==this_u[i]){return i}i++}return -1}


        private void RemoveUnitStruct(int i){

          count--
          

        //====================
        this_u[i]=this_u[count]
        this_timmer[i]= this_timmer[count]
        this_tt[i]=this_tt[count]
        //======================
		this_u[count]=null

          
        }

        private void Remove(int i){
       
       RemoveUnit(this_u[i])

        
        RemoveUnitStruct(i)

        }


        //MiniFunc_UnitRemoveToTime_AddUnit(unit u,float timmer)
        public void AddUnit(unit u,float timmer){

            int i =Proverka(u)
                    if(i!=-1){return}
                    
                        this_u[count]=u
                        this_timmer[count]=R2I(timmer*sek)//sek = 40
                        this_tt[count]=0
                        
                        count++
            

        }


            private void Action(int i){

                this_tt[i]++
                if(this_tt[i]>this_timmer[i] ){

                Remove(i)
                }

            }


            public void Update(){int i = 0 ;while(i<count){Action(i);i++}}
            //поток на 0.025



}
17

» WarCraft 3 / В чём ошибка с локальными переменными?

делая так ты только вредишь себе,если хочешь жасс изучить то делай на жассе а не на фракенштейне,и для такий частопереодических вещей лутше использовать глобальные массивы или структуры
17

» WarCraft 3 / Анимации

так возми в мдлвисе и засунь меш который те нуже там же свой буфер, если непонятно то берёшь открываешь модель в (mdlvis) выделяешь чё над Ctrl+C(копировать) невыходя с программы открываешь в этой запущеной проге нужную модель выделяешь вершину и там сверху правка/вставит
17

» WarCraft 3 / Как перенести счётчик объектов на другую карту?

Чтаа? проверка карты там работает вы инструкцию почитайте к устовновке что надо карту 2 раза сохранять и в папке с редактором есть рег фикс в котором надо указать путь к варику и редактора
17

» WarCraft 3 / Нужна модель? - Вам сюда!

Versus6:
закинь модель эдитов в папку с варом(распакованый конечно) там де war3.exe,но обрезание меша и изменение анимки лутше делать в mdlvis или 3dMax
17

» WarCraft 3 / Как поставить две текстуры на одну модель?

да можно, даже текстуры накладывать друг на друга ,делаеться это в warcraft model editor
17

» WarCraft 3 / Как выполнить произвольный код во время игры?

то тут помогут вам евенты, допустим сделайте ивент что красный игрок вводит -бллблбл
то выполняеться ваша функция так как вы вызовете её тригерром можно ставить где угодно и снизу и сверху
17

» WarCraft 3 / Рандом итем

а жасс тут причём это же тебе логикой обьясняют ну срандомь число от 0 до 100,потом проверь равно оно например 59(это наш 1% шанса) и создай предмет ,чё тут сложного?
17

» WarCraft 3 / Рандом итем

очень трудно понять что ты хочешь,ну я постараюсь,ты наверно хочешь чтобы предмет выпадали с разным шансом то тода делай паралейный массив;
Array[0]="I001"//ид предмета Array2[0]=30//шанс выпадения
Array[1]="I002"//ид предмета Array2[1]=2//шанс выпадения

а потом если те над сгенерить предмет
int random = GetRandomInt(0,100)//это рандомит число от 0 до 100 но смотря сколько у тя предметов если в карте их 60 то GetRandom(0,59)

if(Array2[random]<=GetRandomInt(0,100)){//здесь проверка нашего шанса на предмете
CreateItem(Array[random])//создаёшь наш предмет
}
17

» WarCraft 3 / Рандом итем

int i =0;
while(i<GetRandomInt(0,100)){//это цикл на cjass на жасе вроде loop
	CreateItem(Базаитемовмассив(GetEandomInt(0,100)))
i++
}
17

» WarCraft 3 / Какие существуют альтернативы ветвлению ифами?

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

» WarCraft 3 / Какие существуют альтернативы ветвлению ифами?

ну есть elseif в преимуществе эт типа такие контструкции
If(i>5&&i<7){
//
}elseif(i>7&&i<9){
//
}elseif(i>10&&i<12){
//
}и так сколько угодно это очень полезно когда один тригер ловит какст способности и проверяет какая абила использовалась,всего 1 триггер будет инициализирован
17

» WarCraft 3 / Способности и алгоритмы на заказ

Там внутри переменные прямо сверху для настройки и переведены на русский просто поменяй урон
17

» WarCraft 3 / Способности и алгоритмы на заказ

Заклинание готово!

Заказчик: Master113
Способность: щупальца
Выполнено: Да
Инструкция внутри
Загруженные файлы
17

» WarCraft 3 / Макс. кол-во звуков

Hate:
это вы таким извращенским способом воспроизводите звуки?
а как ты сможешь воспроизвести несколько звуков одновременно?
ScopteRectuS:
ну к сожелению только эфектом можно так изащряться , но всеровно промежуток небольшой
17

» WarCraft 3 / Помогите с jass

Поход ошибка из запеременой которая была объявлена в условии и использована дет в не блока