XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
Непонятные ошибки
Вот кусок кода
» кодъ
function Trig_Test3_Actions takes nothing returns nothing
local integer p = 0
call ForGroup(GetUnitsOfTypeIdAll('h002'), function jajaja)
call ForGroup(GetUnitsOfTypeIdAll('n002'), function jajaja1)

loop
exitwhen p == 10
if GetLocalPlayer() == p then
    call CreateMultiboardBJ( 6, 9, "TRIGSTR_618" )
    endif
    set udg_MultiWStates[p] = GetLastCreatedMultiboard()
    call MultiboardDisplayBJ( false, udg_MultiWStates[p] )
    call MultiboardSetItemStyleBJ( udg_MultiWStates[p], 0, 0, true, false )
    call MultiboardSetItemValueBJ( udg_MultiWStates[p], 1, 1, "TRIGSTR_619" )
    ...
    call MultiboardSetItemValueBJ( udg_MultiWStates[p], 6, 9, ( I2S(udg_CastSpeed[p) + "%" ) )
set p = p + 1
endloop
endfunction
ок.
Сохраняю карту.
выбивает
окау.
удаляю строчку
    call CreateMultiboardBJ( 6, 9, "TRIGSTR_618" )
ноль реакции, таже ошибка.
удаляю
if GetLocalPlayer() == p then
    call CreateMultiboardBJ( 6, 9, "TRIGSTR_618" )
    endif
    set udg_MultiWStates[p] = GetLastCreatedMultiboard()
тоже самое
что за ересь?
Миниатюры
Кликните на картинку для увеличения
Название:  45325235.JPG
Просмотров: 16
Размер:  53.4 Кбайт  
Старый 19.04.2012, 22:04
prog

offline
Опыт: 32,865
Активность:
udg_CastSpeed[p)
this
Старый 19.04.2012, 22:11
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
prog:
udg_CastSpeed[p)
this
это убирает 3 последние ошибки синтаксиса, но не решает основную проблему связанную с первой ошибкой
Старый 19.04.2012, 22:15
prog

offline
Опыт: 32,865
Активность:
GetLocalPlayer() == p
разные типы переменных
попробуй заменить на
GetLocalPlayer() == Player(p)
или
GetPlayerId(GetLocalPlayer() ) == p
if GetLocalPlayer() == p then
call CreateMultiboardBJ( 6, 9, "TRIGSTR_618" )
endif
вообще может вызывать десинк в игре, да и не обязательно создавать мультиборд локально для игрока, если собираешься его локально показывать
Старый 19.04.2012, 22:22
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
prog:
GetLocalPlayer() == p
разные типы переменных
попробуй заменить на
GetLocalPlayer() == Player(p)
или
GetPlayerId(GetLocalPlayer() ) == p
if GetLocalPlayer() == p then
call CreateMultiboardBJ( 6, 9, "TRIGSTR_618" )
endif
вообще может вызывать десинк в игре, да и не обязательно создавать мультиборд локально для игрока, если собираешься его локально показывать
я думал сделать так, созадвать локально мультиборд для каждого игрока, записывать его в массив по номеру, и затем показывать каждому, получится что у каждого разный мультиборд.
щас попробую
Старый 19.04.2012, 22:24
Doc

offline
Опыт: 63,163
Активность:
Будет десинк да.
Старый 19.04.2012, 22:27
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
Doc:
Будет десинк да.
подскажешь как избежать?)
Hatsume_Hate добавил:
ну собсна
if GetPlayerId(GetLocalPlayer() ) == p then
такая конструкция подошла, сяпки всем и лучи добра)
Старый 19.04.2012, 22:50
spellwerk

offline
Опыт: 4,869
Активность:
local player p = ...
local multiboard mb = CreateMultiboard() // создаем глобально
...
if GetLocalPlayer() == p then
    call ShowMultiboard(mb,true) // показываем локально
endif
названия функций не помню, но алгоритм такой
Старый 19.04.2012, 22:52
Klop
Папа римский
offline
Опыт: 13,006
Активность:
spellwerk:
if GetLocalPlayer() == p then
проблема в том что p у него интегер
следовательно я подправлю чучуть
if GetLocalPlayer() == Player(p) then
Старый 19.04.2012, 23:11
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
с десинхом кстате тоже разобрался, спасибо spellwerk за это
Старый 20.04.2012, 00:45
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 13:45.