Здравствуйте, решил сделать скрипт, где понадобится один триггер на несколько функции (их планируется 5, сейчас написаны 2), но после использования определенной функции, она должна переставать работать. Проблема в том, что попытался решить данный вопрос через проверку глобальных переменных, однако, столкнулся с тем, что они не работают, а именно вылазит ошибка, что значение false у них не найдено.
FORTUNATE_ADVENTURER_DONE = false -- так ведь делаются глобальные переменные, правильно?
ESTATES_DONE = false
function FORTUNATE_ADVENTURER (hero)
local playerID = GetObjectOwner(hero)
local art_1 = {1,5,8,12,14,18,19,20,27,31,32,34,55,56,57,58,60,6 1,62,64,65,66,70,74,75,80,87}
local art_2 = {2,4,9,16,17,21,23,25,35,36,37,38,40,41,42,43,52,6 3,71,82}
local art_3 = {6,11,13,15,22,33,39,44,45,46,47,48,49,50,51,59,67 ,68,69,76,77,78,79,81,83,85,86}
local id_1 = art_1[random(length(art_1))]
local id_2 = art_2[random(length(art_2))]
local id_3 = art_3[random(length(art_3))]
local LUCK = GetHeroSkillMastery(hero, SKILL_LUCK)
local Fortunate_adventurer = GetHeroSkillMastery(hero, PERK_FORTUNATE_ADVENTURER)
print(hero, playerID)
if Fortunate_adventurer == 1 then
if LUCK == 1 then
GiveArtifact(hero, id_1, 1)
elseif LUCK == 2 then
GiveArtifact(hero, id_2, 1)
elseif LUCK == 3 then
GiveArtifact(hero, id_3, 1)
end
end
FORTUNATE_ADVENTURER_DONE = true -- смена значения переменной
end
-----------------------------Dop_Golda------------------------------------------
function ESTATES (hero)
local number = GetObjectOwner(hero)
local playerID = number
local Gold = GetPlayerResource(number,6)
local ESTATE = GetHeroSkillMastery(hero, PERK_ESTATES)
print(hero,playerID)
if ESTATE == 1 then
SetPlayerResource(playerID, 6,Gold+8000)
end
ESTATES_DONE = true -- смена значения переменной
end
function pp (hero) -- главная функция
if not FORTUNATE_ADVENTURER_DONE then
FORTUNATE_ADVENTURER(hero)
end
if not ESTATES_DONE then
ESTATES(hero)
end
end
for i = 1,53 do
for x = 1,4 do
Trigger(OBJECT_TOUCH_TRIGGER,"PortalP" .. x.. "_" ..i,"pp")
end
end