VVelikolepniy:
Для удобства. Если его нет, добавь этот код:
function HandleCounter_Update takes nothing returns nothing
local integer i = 0
local integer id
local location array P
local real result=0
loop
exitwhen i >= 50
set i = i + 1
set P[i] = Location(0,0)
set id = GetHandleId(P[i])
set result = result + (id-0x100000)
endloop
set result = result/i-i/2
loop
call RemoveLocation(P[i])
set P[i] = null
exitwhen i <= 1
set i = i - 1
endloop
call LeaderboardSetItemValue(udg_HandleBoardH,0,R2I(result))
endfunction
function HandleCounter_Actions takes nothing returns nothing
set udg_HandleBoardH = CreateLeaderboard()
call LeaderboardSetLabel(udg_HandleBoardH, "Счетчик")
call PlayerSetLeaderboard(GetLocalPlayer(),udg_HandleBoardH)
call LeaderboardDisplay(udg_HandleBoardH,true)
call LeaderboardAddItem(udg_HandleBoardH,"Хэндлы",0,Player(0))
call LeaderboardSetSizeByItemCount(udg_HandleBoardH,1)
call HandleCounter_Update()
call TimerStart(GetExpiredTimer(),0.05,true,function HandleCounter_Update)
endfunction
function InitTrig_HandleCounter takes nothing returns nothing
call TimerStart(udg_TimerH,0,false,function HandleCounter_Actions)
endfunction
И создай переменную таймер с именем TimerH, и переменную таблицы лидеров с именем HandleBoardH
потом инициируй функцию InitTrig_HandleCounter
Но у него в способе тоже координаты есть, разве там точки не создаются?
Нет. Ты создаёшь точку по координатам, функцией Location(она возвращает точку). А Maniac_91 использует напрямую координаты.
Добавь себе эту функцию и используй ее
function CreateUnitsAndGivePointOrder takes player owner, integer units, integer id, real x, real y, real angle, string order, real x1, real y1 returns nothing
local integer i = 0
local unit u
loop
set u = CreateUnit(owner,id,x,y,angle)
call IssuePointOrder(u,order,x1,y1)
set i = i+1
exitwhen i >= units
endloop
set u = null
return
endfunction
этот способ работает только на версии варика ниже 1.24 т.к. использует RB
вставь себе в карту этот код
library handlecounter initializer InitTrig_HandleCounter
private timer Timer = CreateTimer()
private leaderboard HandleBoard
function HandleCounter_Update takes nothing returns nothing
local integer i = 0
local integer id
local location array P
local real result=0
loop
exitwhen i >= 50
set i = i + 1
set P[i] = Location(0,0)
set id = GetHandleId(P[i])
set result = result + (id-0x100000)
endloop
set result = result/i-i/2
loop
call RemoveLocation(P[i])
set P[i] = null
exitwhen i <= 1
set i = i - 1
endloop
call LeaderboardSetItemValue(HandleBoard,0,R2I(result))
endfunction
function HandleCounter_Actions takes nothing returns nothing
set HandleBoard = CreateLeaderboard()
call LeaderboardSetLabel(HandleBoard, "Счетчик")
call PlayerSetLeaderboard(GetLocalPlayer(),HandleBoard)
call LeaderboardDisplay(HandleBoard,true)
call LeaderboardAddItem(HandleBoard,"Хэндлы",0,Player(0))
call LeaderboardSetSizeByItemCount(HandleBoard,1)
call HandleCounter_Update()
call TimerStart(GetExpiredTimer(),0.05,true,function HandleCounter_Update)
endfunction
function InitTrig_HandleCounter takes nothing returns nothing
call TimerStart(Timer,0,false,function HandleCounter_Actions)
endfunction
endlibrary
Да. Но лучше запиши эти данные в глобальную переменную, это, вроде, оптимальнее, чем создавать каждый раз лок. переменные.
А и еще вопрос Я где то читал что юниты из отряда тоже остаются как переменные после смерти, это правда? Может тоже истить этих юнитов после смерти отдельным триггером?
Отчисти группу после использования call GroupClear(group). Возможно это поможет.
Я в этом деле абсолютный дилетант. Мне известны лишь признаки, которые я описал в вопросе. Модель в игре работает нормально, пока дело не касается добавленной мною анимации. Во время ее проигрывания, если юнит с такой моделью находится у самого края игровой камеры, он исчезает до тех пор, пока она не закончится
Это можно как-то исправить или недопустить?
Смена угла во время передвижения юнитов не действует.
Ланд наполнен изначально водой. Потом я поднял острова через "Возвышенность: повысить". После немного прошелся сглаживанием. Управляя вручную можно так же заметить неточности в передвижении, юниты словно заангажированны в какую-то сторону заранее. Относительно камеры игрока, юниты "стремятся" расположиться немного левее точки, куда был получен приказ идти.
Да, управляя вручную, я тоже увидел подобный результат. Чем меньше дистанция приказа - тем ровнее двигаются юниты. Видимо, придется это использовать.
Это происходит на нескольких линиях. Да, сместив линии, идут плавнее. Но то, что я писал про неточность передвижения остается в силе. Отдавая приказ через shift это особенно заметно. Komkozavr:
Это прям так важно? О.о
Он чуть-чуть отклоняется от прямой, это не страшно, если ты конечно не прям капец какой перфекционист
Не хотелось бы это так оставлять
Продублировал все условия на новую карту - аналогичная ситуация.
жали а есить возможносить добавить в юнита дополнителиный элемент типа целочисленая и задать например ей номер 1 и при обрашение к этому юниту получить доступ к этой переменой как к здоровю или мане
Ну определённым скилом не знаю, но можно дать абилку рунного браслета. Выставив там отрицательное значение эффект будет соответствующим. Думаю, нормально без триггеров это не сделать
» WarCraft 3 / Knockback
Msey,
Atan2 в радианах возвращает же
Ред. LordDracula
» WarCraft 3 / Создание группы игроков
» WarCraft 3 / Инициализация глобалок
» WarCraft 3 / Локальное создание декорации не вызывает десинхрон?
» WarCraft 3 / Триггер для выявления утечек
Для удобства. Если его нет, добавь этот код:
потом инициируй функцию InitTrig_HandleCounter
Ред. LordDracula
» WarCraft 3 / Выявление утечек в коде имитации крипов в МОБА (как в Доте)
Добавь себе эту функцию и используй ее
» WarCraft 3 / Триггер для выявления утечек
вставь себе в карту этот код
» WarCraft 3 / Выявление утечек в коде имитации крипов в МОБА (как в Доте)
» WarCraft 3 / Два босса с одним здоровьем.
Примерно так:
Ред. LordDracula
» WarCraft 3 / Как сделать плавающий текст?
так и есть.
Ред. LordDracula
» WarCraft 3 / call DestroyGroup как сделать с массивом
Ред. LordDracula
» WarCraft 3 / Система Банов
как мне кажется.
» WarCraft 3 / Система Банов
Да и зачем кого-то банить в варике...
» WarCraft 3 / Баг с анимацией.
» WarCraft 3 / Баг с анимацией.
Это можно как-то исправить или недопустить?
» WarCraft 3 / Можно ли триггерно вызвать элемент интерфейса?
» WarCraft 3 / Ледяные стрелы. Автоприменение.
» WarCraft 3 / ОТРЯДЫ
ну или так.
» WarCraft 3 / ОТРЯДЫ
Ред. LordDracula
» WarCraft 3 / Юниты странно себя ведут
Komkozavr:
» WarCraft 3 / как найти айди юнита
Ред. LordDracula
» WarCraft 3 / Юниты странно себя ведут
Двигаются они так:
» WarCraft 3 / Способности, требующие траты ресурсов
» WarCraft 3 / Карты из стандартных кампаний
» WarCraft 3 / Урон от способности