function Test(hero)
if hero == "..." then
end
end
Trigger(OBJECT_TOUCH_TRIGGER, ...).
В вашем случае код нужно поменять так:
function OPIT(hero)
number = GetCurrentPlayer() --Рекомендую заменить на number=GetObjectOwner(hero)
local Gold = GetPlayerResource(number,6) --Переменную лучше держать локальную
if Gold >= 6000 then
QuestionBoxForPlayers(number,"Maps/Multiplayer/JoyPatriot/Teks/Vopros.txt", "yes([["..hero.."]])", "no")
else MessageBoxForPlayers(number,"Maps/Multiplayer/JoyPatriot/Teks/OP.txt", nil)
end
end
function yes(hero)
number = GetCurrentPlayer() --То же самое. Лучше number=GetObjectOwner(hero)
local Gold = GetPlayerResource(number) --Ничего страшного в повторении операции нет, хотя можно и лучше сделать; но главное — исключена ошибка с перезаписью чего-то в переменную Gold
SetPlayerResource(number,6,Gold-6000)
LevelUpHero(hero)
return parse '' --Убираем машинную ошибку, которая ни на что не влияет. Иначе в консоль будет спамиться предупреждение
end
SetObjectEnabled("OP",nil);
Trigger(OBJECT_TOUCH_TRIGGER,"OP","OPIT");P.s. Переменным рекомендую давать осмысленный названия. И объектам тоже. Например, "ExperienceStone" и "ExperienceStoneTouch", соответственно...
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________