А смысл ставить свою систему вообще, если тут нету специальной физики, например как в Варлоках.
Для такой задумки тут особо и не нужно. Хотя и время занимает много всё это творчество. . .
Может потому что c/v Jass не знаю?. . .
Я не совсем понимаю что ты имеешь ввиду по словами "поиск пути"
Это? :
function OrderMove_Actions takes nothing returns nothing
local unit u=GetTriggerUnit()
local unit c=GetOrderTargetUnit()
local location p
local timer t
local real x
local real y
call DisableTrigger(GetTriggeringTrigger())
if(c==null)then
set x=GetOrderPointX()
set y=GetOrderPointY()
if(x>=udg_MinX)and(x<=udg_MaxX)and(y>=udg_MinY)and(y<=udg_MaxY)then
set x=SetXPosition(x,null)
set y=SetYPosition(y,null)
set p=Location(x,y)
if(GetLocationZ(p)<33.)then
call IssuePointOrder(u,OrderId2String(GetIssuedOrderId()),x,y)
else
if(udg_BooleanOrder[GetPlayerId(GetOwningPlayer(u))]==true)then
set t=CreateTimer()
call SaveUnitHandle(udg_Hash,GetHandleId(t),1,u)
call TimerStart(t,0.001,false,function StopUnit)
set t=null
call ClearTextMessages()
call DisplayTimedTextToPlayer(GetOwningPlayer(u),0.8,-1.,1.,"|cffffcc00Точка непроходима.|r")
call StopSound(gg_snd_Error,false,false)
call StartSound(gg_snd_Error)
else
set udg_BooleanOrder[GetPlayerId(GetOwningPlayer(u))]=true
endif
endif
call RemoveLocation(p)
set p=null
else
if(udg_BooleanOrder[GetPlayerId(GetOwningPlayer(u))]==true)then
set t=CreateTimer()
call SaveUnitHandle(udg_Hash,GetHandleId(t),1,u)
call TimerStart(t,0.001,false,function StopUnit)
set t=null
call ClearTextMessages()
call DisplayTimedTextToPlayer(GetOwningPlayer(u),0.8,-1.,1.,"|cffffcc00Недопустимая точка.|r")
call StopSound(gg_snd_Error,false,false)
call StartSound(gg_snd_Error)
else
set udg_BooleanOrder[GetPlayerId(GetOwningPlayer(u))]=true
endif
endif
else
set x=GetUnitX(c)
set y=GetUnitY(c)
set x=SetXPosition(x,null)
set y=SetYPosition(y,null)
call IssuePointOrder(u,OrderId2String(GetIssuedOrderId()),x,y)
set c=null
endif
call EnableTrigger(GetTriggeringTrigger())
set u=null
endfunction
А алгоритм поиска пути есть? Как происходит передвижение по клеточкам?
Не знаю, что именно ты хочешь услышать в ответ, но покажу часть кода, если надо:
function SetXPosition takes real x,unit u returns real
local real X=(R2I((x-udg_MinX)/384.))*384.+udg_MinX
if(X+220.>x)then
set x=X+117.
if(u!=null)then
set udg_Bx[GetPlayerId(GetOwningPlayer(u))]=true
endif
else
set x=X+309.
if(u!=null)then
set udg_Bx[GetPlayerId(GetOwningPlayer(u))]=false
endif
endif
set u=null
return x
endfunction
function SetYPosition takes real y,unit u returns real
local real Y=(R2I((y-udg_MinY)/384.))*384.+udg_MinY
if(Y+220.>y)then
set y=Y+117.
if(u!=null)then
set udg_By[GetPlayerId(GetOwningPlayer(u))]=true
endif
else
set y=Y+309.
if(u!=null)then
set udg_By[GetPlayerId(GetOwningPlayer(u))]=false
endif
endif
set u=null
return y
endfunction
udg_MinX
udg_MinY это края какой-либо игровой зоны, на которой игроки решили играть.
Функции возвращают X и Y центра клетки соответственно.
Через эти 2 функции работает почти всё, что связанно с движением, взрывами и прочим. . .
Можно в меню проектов в сортировку добавить "по играм"
Я думаю плохого ничего не будет.
Заодно в такой сортировке люди вдруг заинтересуются другими играми.
» Библиотека заклинаний / Библиотека заклинаний
И еще один скилл на перемещение.
» Библиотека заклинаний / Библиотека заклинаний
Почему не написано из чего она получилась (по выше указанным критериям набора очков)?
» Библиотека заклинаний / Библиотека заклинаний
Ред. JassMan
» ExplodeArena / ExplodeArena
Для такой задумки тут особо и не нужно. Хотя и время занимает много всё это творчество. . .
Может потому что c/v Jass не знаю?. . .
» ExplodeArena / ExplodeArena
Если не секрет расскажи.
Как уже понятно, тут отлавливается приказ и перенапрявляется в центр клетки всего-навсего.
» ExplodeArena / ExplodeArena
Это? :
Ред. JassMan
» ExplodeArena / ExplodeArena
udg_MinY это края какой-либо игровой зоны, на которой игроки решили играть.
Функции возвращают X и Y центра клетки соответственно.
Через эти 2 функции работает почти всё, что связанно с движением, взрывами и прочим. . .
Ред. JassMan
» Counter-Strike / Установка и настройка сервера CS 1.6
Но не совсем так как тут написано.
» Администрация XGM / Топ активности
Я думаю плохого ничего не будет.
Заодно в такой сортировке люди вдруг заинтересуются другими играми.
» ExplodeArena / ExplodeArena
» ExplodeArena / ExplodeArena
» WarCraft 3 / Вывод изображений во время игры