Всегда ли функция GetTriggerPlayer( ) ,будет возвращать владельца GetTriggerUnit( )?
GetTriggerUnit( ) != null, естественно.

GetTriggerPlayer( ) возвращает игрока который запустил событие
в некоторых событиях он же является владельцем триггерного игрока
но это лишь фишка некоторых событий в которых есть триггер юнит но нету триггер плеера
если нужен владелец триггер юнита то используй GetOwningPlayer(GetTriggerUnit())
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
Karp:
pro100master:
Мда слышал про GetLocalPlayer() вот и будет создавать для 1 игрока в сейв
cлыщал, но если бы знал как юзать, то не спрашивал бы)
ответ
globals
	player Pl = null
endglobals

function abc takes nothing returns boolean
	return IsUnitEnemy(GetFilterUnit(), Pl)
endfunction

function zemle takes nothing returns nothing
local unit u = GetTriggerUnit()
local group g = CreateGroup()
local real x = GetUnitX(u)
local real y = GetUnitY(u)
local real Random = GetRandomReal(0, 360)
local boolexpr d = Condition(function abc)
set Pl = GetTriggerPlayer()

call GroupEnumUnitsInRange( g, x, y, 850, d )
call ForGroup( g, function zemlee )
call UnitApplyTimedLife(CreateUnit (p, 'h007',x,y,Random),'BFiq',0.50 ) // ???

call DestroyGroup(g)
call DestroyBoolexpr(d)
set u = null
set p = null
set g = null 
set d =null
endfunction
ответ
Проблема в функции SaveLoad_EncodeVerify.

28
GetTriggerPlayer( ) возвращает игрока который запустил событие
в некоторых событиях он же является владельцем триггерного игрока
но это лишь фишка некоторых событий в которых есть триггер юнит но нету триггер плеера
если нужен владелец триггер юнита то используй GetOwningPlayer(GetTriggerUnit())
Принятый ответ
21
nvc123, я хотел заменить GetOwningPlayer(GetTriggerUnit()) на GetTriggerPlayer(). Видимо, не стоит, я правильно понял?
28
ScopteRectuS, правильно
есть события где есть и триггер плеер и триггер юнит
например игрок выделяет юнита
если красный игрок выделит юнита синего игрока то GetTriggerUnit() будет юнитом синего игрока а GetTriggerPlayer() будет красным игроком
26
Вообще, по коду - да, ты можешь заменить одно на другое, НО...
не надо это делать прям ВЕЗДЕ
делай это только там, где тебе всё равно нужно получить владельца юнита-инициатора
но это какая-то неочень ценная экономия будет...
21
Extremator:
всё равно нужно получить владельца юнита-инициатора
Я не понял, как понять "всё равно нужно" ? :-)
27
Вообще-то смотря по регистру. Там в джазе, есть нативки на кого регистрируют события (могут и на игрока, так и на юнита, может и на другие объекты типа декора). Большинство событий регистрируют на игрока + обращают на юнита (GetTriggerUnit. Например, юнит умер - умирающий юнит. Это событие возвращает две переменные KillingUnit и DyingUnit. Особое внимание событие обращает на умирающего, то есть он и будет GetTriggerUnit). Регистр можно и на юнита накинуть (например получил урон, там по-моему GetTriggerPlayer нельзя вытащить? С только с помощью нативки владелец GetTriggerUnit)
Например, событие игрок ввёл в чат. Тут не выведет тебе GetTriggerUnit
26
Я не понял, как понять "всё равно нужно" ? :-)
Ну если ты ссылаешься на владельца юнита-инициатора, и получаешь того же игрока, которым является игрок-инициатор - то почему не ссылаться сразу на игрока?)) можно
Чтобы оставить комментарий, пожалуйста, войдите на сайт.