Нашел в интернете код написанный на Jass и хочу его тестировать но он не работает, как его правильно написать и как его вообще писать куда поставить, на что нажать и почее
вот
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_HandleBoard,0,R2I(result))
endfunction

function HandleCounter_Actions takes nothing returns nothing
   set udg_HandleBoard = CreateLeaderboard()
   call LeaderboardSetLabel(udg_HandleBoard, "Handle Counter")
   call PlayerSetLeaderboard(GetLocalPlayer(),udg_HandleBoard)
   call LeaderboardDisplay(udg_HandleBoard,true)
   call LeaderboardAddItem(udg_HandleBoard,"Handles",0,Player(0))
   call LeaderboardSetSizeByItemCount(udg_HandleBoard,1)
   call HandleCounter_Update()
   call TimerStart(GetExpiredTimer(),0.05,true,function HandleCounter_Update)
endfunction

function InitTrig_HandleCounter takes nothing returns nothing
   call TimerStart(CreateTimer(),0,false,function HandleCounter_Actions)
endfunction
0
19
7 лет назад
0
Похожие вопросы:

ответ
низнаю какой спел у героя перезаряжается, на какой хватает маны, какие спелы у героя вообще есть, и в прочем на основе каких спелов они сделаны
да здравствует бд
FenikS1991:
Я знаю что это координаты умник.. пустые придирки не прокатят
я не только про координаты, я про всё
короче судя по всему ты пытаешься написать прогу которая бы думала вместо тебя
и это очень пичально
поэтому я просто оставлю это здесь
ответ
скрин моих файлов
у тебя похоже пропали все j файлы
закинь их в эту папку и перезапусти редактор
ответ
FenikS1991, убери стоимость в 15 маны.
ответ
мб с циклом
int GetPrice (unit whichUnit)
{
	int i = GetPlayerTechCount( GetOwningPlayer( whichUnit ), techId, true )
	int a=225
	loop {exitwhen(i<=0); a=a+(i+1)*225; i=i-1}
	return a
}
ответ
Странное понимание механики. Не бывает универсального лучшего способа, потому и существуют разные способы для конкретных ситуаций.
А экономить байты и такты процессора, заранее пользуясь интерпретируемым скриптовым языком, это вообще моветон.
Разве массив в WarCraft III не предынициализирует 8192 ячейки памяти (по Вашей формуле, в моём случае он потребляет 8192*4=32768 байт, то есть 32Кб)? Он ведь не динамический.
Нет, он динамический. Исходный размер при создании - 1024. И расширяется на 1024 ячейки по мере доступа вплоть до максимальных 8192.

3
23
7 лет назад
3
ApoloZ3, а откуда сам код взят?
2
1
7 лет назад
2
гдето отсюда..на Xgm нашел...вот xgm.guru/p/wc3/triggers-and-jass-optimization
3
28
7 лет назад
3
Принятый ответ
2
1
7 лет назад
2
понятно...спасибо
3
23
7 лет назад
3
Если вы его код копировал и ставил значит название надо правильно написать судя по кода то
InitTrig_HandleCounter где жирный слова это и должен название совпадать с файлом, если другой то вообще не будет выполнять
1
8
7 лет назад
1
он мне тут пишет
не инициализированная перемененная...в смысле она инициализирована
Загруженные файлы
0
23
7 лет назад
0
Name Legion, переменная ты не создал
0
8
7 лет назад
0
и как она должна выглядеть в этом коде?
pro100master:
Name Legion, переменная ты не создал
для меня это сложно )))
0
16
7 лет назад
0
Name Legion, открой редактор переменных и создай переменную типа "таблица рекордов" с именем "HandleBoard"
0
14
1 год назад
Отредактирован host_pi
0
столько ответов и ни одного с кодом
но он не работает
потому что там не хватает
globals
leaderboard udg_HandleBoard = null

function main takes nothing returns nothing
call InitTrig_HandleCounter()
endfunction
0
29
1 год назад
0
столько ответов и ни одного с кодом
Потому что хэндлы нужно считать через WFE.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.