21

» Ice World / Версия 0.3s

Дело твое. Только вот в видосике игрок двигает камеру стрелками. То есть делает то что, блэт, должно происходить автоматически.
21

» Ice World / Версия 0.3s

Нужна камера, прикрепленная к юниту. Играть - сама боль.
21

» WarCraft 3 / Система отлова нанесённого урона

Функция, которая срабатывает когда проходит урон. В ней проверяются условия и эксекутится соответствующая функция в зависимости от кейса. А ты о чем подумал?
21

» WarCraft 3 / Система отлова нанесённого урона

2 Триггера жеж. Тем более нет смысла так запариваться когда можно создать простой обработчик урона. Регать овердохрена событий для тучи триггеров - так себе подход.
21

» WarCraft 3 / Решение задач

function AddGlod takes real x, real y, player p, integer gold returns nothing
AddGlod D: Очень крутая штука. Странно что это не попадалось мне на глаза раньше.
21

» WarCraft 3 / Система отлова нанесённого урона

Хотел только было сказать что система не ловит саммонов, но вижу ты все уже пофиксил.
21

» WarCraft 3 / PanCameraTo VS SetCameraPosition

Эти функции совершенно ничем не отличаются. Мировые координаты, установленные обеими функциями полностью совпадают. К тому же под управлением любой из этих функций камера не может покидать границ игровой камеры.
Так же пока камера не залочена на юните специальной командой, ей нельзя изменять z-смещение быстрее чем за 0.1 секунды (иначе камера будет сильно дергаться). Так же нельзя процедурно вносить CameraMap-поправку при свободной камере(почему-то вносится только половина значения поправки, если поправку удвоить - 2/3, утроить - 3/4 и т.д.).
21

» JackCraft / Hunter_or_Victim

Вскрыл депротектором. Не пойму это ты так функции называешь или депротектор сам имена придумывает.
21

» WarCraft 3 / За помощь в задании заплачу

плаггиат и нарушение авторских прав
Неверно. Разве что кто-то уже запатентовал такой спелл. Посему копировать и нагло красть можно ровно столько, сколько ты ценишь свою репутацию. Это если не считать что большинство создателей систем/абилок зачастую даже рады быть полезными.
ЛС. Если понравится спелл, посмотрю что можно сделать. Если нет - посмотрю что предложишь.
21

» WarCraft 3 / Быстрая смена кнопок

К сожалению, близзы не добавили сеттеров, потому это реализуется либо извратом (миллион абилокк на все случаи жизни и довольно увесистая система), либо с помощью мемхака. Либо дождись Кета)
21

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

Через редактор объектов ты максимум сможешь изменить внешний вид (графические эффекты) способности. Это можно сделать без кастом скриптов, используя обычные триггеры. Ищи. Ищи внимательней. Все там есть.
Ну а волны и многие другие вундервафли уже придется реализовывать с ухищрениями.
21

» WarCraft 3 / PanCameraTo VS SetCameraPosition

Для умников
native PanCameraTo takes real x, real y returns nothing
native SetCameraPosition takes real x, real y returns nothing

21

» WarCraft 3 / PanCameraTo VS SetCameraPosition

А еще есть:
native CameraQuickPosition takes real x, real y returns nothing
Работает так же как и предыдущие.
21

» WarCraft 3 / Опять утечка, может ли утекать переменная типа строка?

DracoL1ch:
строки не текут по определению, они навсегда остаются и их невозможно стереть, при генерации около 50к строк фпс заметно падает, но ничего с этим не сделать.
Это не шутка?
21

» WarCraft 3 / На счёт утечек памяти

Соблюдай 2 правила:
  • не плоди хендлы (обычно - локации)
  • удаляй ссылки (обнуляй переменные)
Для дебага можешь использовать небольшую
систему
library HandleCounter initializer Initialization

   globals
      leaderboard HandleBoard
   endglobals
   
   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, "Handle Counter")
      call PlayerSetLeaderboard(GetLocalPlayer(),HandleBoard)
      call LeaderboardDisplay(HandleBoard,true)
      call LeaderboardAddItem(HandleBoard,"Handles",0,Player(0))
      call LeaderboardSetSizeByItemCount(HandleBoard,1)
      call HandleCounter_Update()
      call TimerStart(GetExpiredTimer(),0.05,true,function HandleCounter_Update)

   endfunction

function Initialization takes nothing returns nothing

        call TimerStart(CreateTimer(),0,false,function HandleCounter_Actions)
        
endfunction

endlibrary

Эту библиотеку можешь закинуть в любое место вне функции/библиотеки/структуры.
21

» JackCraft / Hunter_or_Victim

Лучше уже собственной игрой заняться чем таким маяться дальше.
21

» JackCraft / Hunter_or_Victim

Имел ввиду наклоненные объекты. Хотя без разницы, да. Юнит не может находится под разрушаемым с такими настройками.