17

» WarCraft 3 / Стальной вихрь

Tumart:
Не совсем понятно. При каких условиях она останавливается? Что ты хочешь сделать? Поконкретнее..
Запускаю допустим анимацию вращения ,при этом внешние воздействия на юните по барабану он будет вращаться(даже еси влепят стан).
я хочу функцию которая даст юниту такую возможность
17

» WarCraft 3 / Триггер

если я правильно понел то берёшь маcсив и 2перемеyных после 1сек при инициализаци карты и заполняешь его примерно так
masiv[i]=360*i де masiv целотичный масив, де i еси в циклах понимаешь разберёшься,а потом запусти таймер раз в сек и в этом блоке переменую прибаляешь на 1(peremenaya=peremenaya+1) пока небудет такое условие
"
if(peremenaya>=masiv[2yaperemenaya]){
твоё событие;
2yaperemenaya++
}
"
17

» WarCraft 3 / Каст способности

Clamp:
Нацелить на что/кого/куда? Недостаточно данных в вопросе.
смыл нацеливать вопрос необэтом
Кроме того, при таких ситуациях отлично помогает сделать GUI триггер с нужным событием и сконвертировать его, там в коде обязательно окажется нужный эвент.
те евенты что я перечислил и есть все события связанные со спелами в гуи
17

» WarCraft 3 / почему равкод 'AId0' не удаляется с юнита?

ну мож тя это убедит
UnitAddAbility(u,'AId0')
int i = GetUnitAbilityLevel(u,'AId0')
DisplayTextToPlayer(GetOwningPlayer(u), 0, 0, I2S(i))
TriggerSleepAction(5)
UnitRemoveAbility(u,'AId0')
i = GetUnitAbilityLevel(u,'AId0')
DisplayTextToPlayer(GetOwningPlayer(u), 0, 0, I2S(i))
В 1 случае вышло 1 после слепа 0, способности на гере нету
хех понел ты его в ро пытаешься убрать (прост ты написал способами jass)
17

» WarCraft 3 / почему равкод 'AId0' не удаляется с юнита?

нет там заговора только что проверил(работает)
UnitAddAbility(u,'AId0')
TriggerSleepAction(5)
UnitRemoveAbility(u,'AId0')
17

» WarCraft 3 / модель неотображаеться

у меня этих параметров нет а так я её починил по другому(нажимая всё рандомно и подряд) стала работать
17

» WarCraft 3 / модель неотображаеться

сама модель полностью с вара взята я просто направил анимацию вверх и покрасил в красный цвет альфа неменьше 120 уже менял до 255 по всем всеровно невидно
Загруженные файлы
17

» WarCraft 3 / Го статью по текстовым кодам в варкрафте!)

Darknessay:
WarSC:
Pa+ra+zi+te отравляет жертву.
Один я не понял что тебе нужно?
Ну смотри, в описаниях стандартных итемов и скиллов есть непонятный набор символов, конвертирующий строку параметра в описание. Типа длительность, урон и т.п.
ctr+D после этого твои вопросы должны отпасть если нет,то запомни ту белеберду что написана в способноти типо "<Abs.DataA1>" и пролистай скил находя эту белеберду а потом Ctr+D и додумывай какая связь может быть между этими цифрами
17

» WarCraft 3 / Как ускорить способность магазина "выбрать героя"?

попробуй вокруг магза поставить рект(Rect(x,x1,y,y1)) и те кто в него попадают получают этой способностью
17

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

Basile2:
ledoed меня пугает ваша орфография. сказать, что я ничего не понял - ничего не сказать
1 воздушный удар
2 s017.radikal.ru/i419/1604/4e/1e5c7c185eed.jpg
на скрине видно что создаётся некое подобие сильно плотного атмосферного давления тоесть я хочу чтобы из точки "а"создавалось некое подобие трапеции двигалась в точку "б" при этом расширяя и растягивая ту сторону которая движется как доходит до точки "б" держится секунд 4 потом исчезает
3 а)появление горизонтально (тоесть по плоскости "x" это обычно в граф редакторе(то есть горизонтально это если человек пойдёт прямо по земле))
б) появление вертикально (то есть по оси "z" в 2д редакторе это ось "y") то есть двигать её сверху вниз(то есть вертикально если человек пойдёт прямо по стене дома)
в)stand в обоих положениях то есть это когда модель держится не изменяясь как то физически(это когда она до точки "б" дошла и не исчезает(надеюсь не над говорить что анимацию появления само собой сделать над но отдельно))
4 нет значит что не ограничено время работу можно когда угодно сдать
17

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

1 Воздушная Удар
2 s017.radikal.ru/i419/1604/4e/1e5c7c185eed.jpg
примерно так
3 а)появление горизантально
б)появление вертикально
в)stand в обоих положениях
г)должна она сама быть анимированна как будто это ветер движущиеся по направлению
4 нет
17

» WarCraft 3 / Ошибка "Отсутствует endfunction"

хех там и нетолько groupremoveUnitBytype{ }
и if закрывает на одной строчке }
17

» WarCraft 3 / Ошибка "Отсутствует endfunction"

мож де повыше есть есть незакрытый блок (if,function и тд) ,бывает что он ссылается не туда куда над
17

» WarCraft 3 / Поворот не так как надо

хех реально через игру норм работает не как через редактор
17

» WarCraft 3 / Поворот не так как надо

всё это делал но вот проблема ваще перестаёт поворачивать в 0 градусов уткнёться на смерть
17

» WarCraft 3 / Поворот не так как надо

nvc123:
ledoed, у меня работает
это я точно помню
окей но это не решает проблему почему он автоматом пикает не ту точку(но продолжает следовать верно триггерно лишь поворачивая не в ту сторону и начиная движение своим ходом самостоятельно)
17

» WarCraft 3 / Поворот не так как надо

nvc123:
что это за ужас
что то похожее на это DisplayTextToForce( GetPlayersAll(), "-------" )
неужели так сложно написать вот так
DisplayTextToPlayer(GetOwningPlayer(u), 0, 0, text)
""
не работает почемуто
17

» WarCraft 3 / Поворот не так как надо

До сих пор проблему не решил
library EighthGate initializer init{
unit Unit=null
define{
raddeg=0.0174
degrad=57.3
Speell= 'A000'
SpeedGuy =4
}


void TextDisplay(unit u,string text){
force f = CreateForce()
ForceAddPlayer(f, GetOwningPlayer(u))
if (IsPlayerInForce(GetLocalPlayer(), f)) {
DisplayTextToPlayer(GetLocalPlayer(), 0, 0, text)

}
DestroyForce(f)
f=null
}
//===================================================

//гай врата
struct GuyVrataStruct{
unit u=null
int ivrata=0
int speed = 10
int predelvrat=40

static int timmer=0


float onclicX=0,onclicY=0

void VrataUpdate(){

.predelvrat--
if(.predelvrat<=0){

 RemoveUnitMovie(.u)
 TextDisplay(.u,I2S(count))
return
}


string text=I2S(.predelvrat)+" / "+"40"
TextDisplay(.u,text)


}




void Move(){


float x,y,posunitx=GetUnitX(.u),posunity=GetUnitY(.u)
x=.onclicX-posunitx
y=.onclicY-posunity

float rad = degrad*Atan2(y,x)

float distanse = SquareRoot(x*x+y*y)

if(distanse>=100){
SetUnitX(.u,posunitx+.speed*.ivrata*Cos(rad*raddeg))
SetUnitY(.u,posunity+.speed*.ivrata*Sin(rad*raddeg))
SetUnitFacing(.u,rad)





}else{
SetUnitAnimation( .u, "stand ready alternate" )
}


}

static void Update(){
int i =0
timmer++
while(i<count){
guyvrata[i].Move()
i++
}
i=0
if(timmer>40){
while(i<count){
guyvrata[i].VrataUpdate()
//guyvrata[i].Point()
i++
}
timmer =0
}



if(count <=0){
DestroyTimer(t)
t=null
}
i=0
}


//------------------------------
static GuyVrataStruct guyvrata[]
static int count=0
static timer t=null
//----------------------
static void AddToSpeedVrata(unit u,float onclicX,float onclicY,int speed){
int proverka = UnitProverka(u)
if(proverka==-1){return}
guyvrata[proverka].onclicX=onclicX
guyvrata[proverka].onclicY=onclicY
guyvrata[proverka].speed=speed
}
//-------------------
static void AddToVrata(unit u){

int proverka = UnitProverka(u)

if(proverka !=-1){

guyvrata[proverka].ivrata++
guyvrata[proverka].predelvrat=40
}else{

guyvrata[count++]=GuyVrataStruct.create()
guyvrata[count-1].u=u
guyvrata[count-1].ivrata++


if(t==null){
t=CreateTimer()
}
TimerStart(t,0.025,true,function GuyVrataStruct.Update)
}

}
//--------------
static int GetUnitVrata(unit u){
int proverca = UnitProverka(u)

if(proverca==-1){
return 0
}

int vrata = 0
vrata = guyvrata[proverca].ivrata

return vrata
}
//-----------------
static void RemoveUnitMovie(unit u){
int i = UnitProverka(u)
if(i==-1){return}
count--
while(i<count){
guyvrata[i]=guyvrata[i+1]
i++
}
}
//-----------------
static int UnitProverka(unit u){
int i =0

while(i<count){

if(guyvrata[i].u==u){return i}

i++
}

return -1
}

}
//====================================================
//=====================================================

//=================================================
private bool GuyVrataCondition(){
return (GetUnitAbilityLevel(GetTriggerUnit(), Speell) > 0)
}
private void GuyVrataAction(){
unit u=GetTriggerUnit()
float x = GetOrderPointX()
float y = GetOrderPointY()
float rad = degrad * Atan2(y-GetUnitY(u), x-GetUnitX(u))
SetUnitAnimationByIndex(u,9)
GuyVrataStruct A = GuyVrataStruct.create()
A.AddToSpeedVrata(u,x,y,SpeedGuy)
A.destroy()


}
//==========================================
private void GuyVrata_Actions(){

unit u =GetSpellAbilityUnit()
int predel = 0

GuyVrataStruct A = GuyVrataStruct.create()



int vrata = A.GetUnitVrata(u)

if(vrata<GetUnitAbilityLevel(u,Speell)){
TextDisplay(u,"|c00FF0000Открытие врат "+I2S(vrata+1)+"|r")
A.AddToVrata(u)
A.AddToSpeedVrata(u,GetUnitX(u),GetUnitY(u),SpeedGuy)
}



A.destroy()
}  


/////////-===========================
private bool GuyVrata_Conditions(){
return GetSpellAbilityId() == Speell
} 
//======================================================
    private void init(){
     trigger a=CreateTrigger()
     trigger GuyVrata = CreateTrigger(  )
  
      TriggerAddAction(a,function GuyVrataAction)
      TriggerAddCondition(a,function GuyVrataCondition)

      
      TriggerAddCondition( GuyVrata, Condition( function GuyVrata_Conditions ) )
      TriggerAddAction( GuyVrata, function GuyVrata_Actions )
      
        int index=0
    while(index<6){
    TriggerRegisterPlayerUnitEvent(GuyVrata, Player(index), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
        TriggerRegisterPlayerUnitEvent(a, Player(index), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER, null)
        index++
    }
        

      
      GuyVrata=null
      a=null
    }
    

}
17

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

я думаю он на гуи пишет просто поищи там customscript и в строчке вбей по одному вместо "u" переменную типа unit