Я тут прикрепил карту, на которой с помощью немыслимой мне магии Jass можно двигать юнит будто по льду. А можно переиначить настройку так, чтобы это расстояние он не скользил, а перепрыгивал?

Views: 81

2
Голосов: 2
ScorpioT1000 486584 - 6 days ago 2
Голосов: 2
Векторы силы применять в 3d с коллиженом местности


0
Голосов: 0
CaZaNoVa 486585 - 6 days ago 0
Голосов: 0
ScorpioT1000, Я к сожалению ничего не понимаю...мне бы прислать готовый экземпляр в карте, если можно?
0
Голосов: 0
ScorpioT1000 486586 - 6 days ago 0
Голосов: 0
Ну вот поискать результаты работ других как минимум, там всё равно jass будет, это аналитическая геометрия, такое в гуи не особо получится
6
Голосов: 6
Hate 486587 - 6 days ago 6
Голосов: 6
во первых, это не стол заказов
во вторых, вот это я понимаю "маленькие" просьбочки, обычно за такие просьбы есть расценки, это как маленькая просьба сделать сайт, ну а че, че там делать то, верно?
в третьих, даже если и рассмотреть, как ты себе представляешь "перепрыгивать"? как у тебя это в голове даже рисуется?
0
Голосов: 0
rsfghd 486595 - 6 days ago 0
Голосов: 0
Я тут прикрепил карту, на которой с помощью немыслимой мне магии Jass можно двигать юнит будто по льду.
где ты увидел хоть что-то связанное со льдом? это обычное движение юнита по поляркам без какого-либо изменения скорости полёта, не дури голову, такое и на гуи люди спокойно делают

вот весь код карты если кому лень смотреть
» раскрыть
function MoveTimer takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local integer th = GetHandleId(t)
    local unit u = LoadUnitHandle(udg_H,th,1)
    local real x = GetUnitX(u)
    local real y = GetUnitY(u)
    local real x1 = LoadReal(udg_H,th,2)
    local real y1 = LoadReal(udg_H,th,3)
    local real x2 = LoadReal(udg_H,th,4)
    local real y2 = LoadReal(udg_H,th,5)
    local real d = LoadReal(udg_H,th,6)
    local real z
    local real a = x - x1
    local real b = y - y1
    local real d1 = SquareRoot(a * a + b * b)
    call SetUnitFlyHeight(u, (d - d1) * (d1 / d), 0.00)
    if (d - d1) > 30 then
        set z = bj_RADTODEG * Atan2(y2 - y, x2 - x)
        call SetUnitPosition(u, x + 20 * Cos(z * bj_DEGTORAD), y + 20 * Sin(z * bj_DEGTORAD))
    else
        call SetUnitPosition(u, x2, y2)
        call SetUnitFlyHeight(u, 0.00, 0.00)
        call SetUnitPathing(u, true)
        call PauseUnit(u, false)
        set u = CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE), 'h001', x2, y2, 0.00)
        call UnitApplyTimedLife(u, 'BTLF', 0.80)
        call DestroyTimer(t)
        call FlushChildHashtable(udg_H,th)
    endif
    set u = null
    set t = null
endfunction

function Move takes unit u, rect r returns nothing
    local real x = GetRectCenterX(r)
    local real y = GetRectCenterY(r)
    local real xu = GetUnitX(u)
    local real yu = GetUnitY(u)
    local real a = xu - x
    local real b = yu - y
    local real d = SquareRoot(a * a + b * b)
    local timer t = CreateTimer()
    local integer th = GetHandleId(t)
    call SaveUnitHandle(udg_H,th,1,u)
    call SaveReal(udg_H,th,2,xu)
    call SaveReal(udg_H,th,3,yu)
    call SaveReal(udg_H,th,4,x)
    call SaveReal(udg_H,th,5,y)
    call SaveReal(udg_H,th,6,d)
    call SetUnitPathing(u, false)
    call PauseUnit(u, true)
    call TimerStart(t,0.02,true,function MoveTimer)
    set t = null
endfunction

а насчёт прыжка, либо делай юнита прящим/летающим, либо дай и убери абилку 'Arav', достаточно это сделать один раз для юнита за всю игру


а, ну и тут нет защиты от дурака, если применить на нулевой дистанции то юнита навсегда запаузит
Uploaded files
0
Голосов: 0
CaZaNoVa 486597 - 6 days ago 0
Голосов: 0
Просил помощи. А получил издёвки и рекомендации в которых, какие-то непонятные советы. Будто я в этом что-то понимаю.
2
Голосов: 2
rsfghd 486598 - 6 days ago 2
Голосов: 2
CaZaNoVa, при чём издёвки боже, я по буквам расписал что тебе нужно сделать, ты просто не хочешь это читать, просил помощи соизволь её принять

ты играл хоть раз в карту где юнит скользит по льду? лабиринты там всякие со льдом, ты понимаешь разницу между обычным движением без изменения скорости и скольжением?

тебе ответы дали именно по поводу скольжения, а не той карты что ты скинул

если в твоём понимании "просьба помощи" это "сделайте всю карту за меня", то увы, тут ты таких энтузиастов вряд ли найдёшь
0
Голосов: 0
CaZaNoVa 486600 - 6 days ago 0
Голосов: 0
rsfghd, Так я же ведь обьяснил. Здесь при нажатии кнопки, юнит скользит до определённой области. Мне нужно, чтобы при нажатии кнопки, он до этой области допрыгивал. Или ты думаешь ,что раз я скинул эту карту, то я сам её придумал и расписал код??? Нет конечно. Я просто откопал эту наработку и использовал её когда то. Сейчас мне нужно совершенно другое. Ну а поскольку мне не дано разбираться в хитроумных кодах этой системы, я попросил помощи здесь. Вот и всё.
0
Голосов: 0
rsfghd 486601 - 6 days ago 0
Голосов: 0
Так я же ведь обьяснил. Здесь при нажатии кнопки, юнит скользит до определённой области.
по нажатии какой кнопки? там ивент чата, ты видео я так понимаю тоже не смотрел
CaZaNoVa:
Мне нужно, чтобы при нажатии кнопки, он до этой области допрыгивал. Или ты думаешь ,что раз я скинул эту карту, то я сам её придумал и расписал код???
ты на приколе сейчас или что? я тебе сказал сделать юнита летающим или добавить абилку ворона ему, ты напрямую игноришь потраченное мной время на поиск очевидного ответа
0
Голосов: 0
CaZaNoVa 486602 - 6 days ago 0
Голосов: 0
Пляха муха. Да, я на приколе. Давайте смеяться.
0
Голосов: 0

ANSWER
rsfghd 486603 - 6 days ago 0
Голосов: 0