Мои сценарии:
Лесной хранитель (лесной союз)
Путь к свету (чернокнижник)
Фалькон Сокол (орден порядка)
Инквизиция Ариоха (некроманты) - готово на 90%
Впервые здесь? Я Роха — провести быструю экскурсию?
startThread(ActFinalSQ)
function ActFinalSQ()
if A == 2 and SetObjectOwner('humanTown2', 1) then
MessageBox("/Maps/SingleMissions/ChoiseOTW1/ActFSQ0.txt")
SetObjectPosition('AratF', 67, 67, 0)
SetObjectPosition('AstridaF', 69, 70, 0)
SetObjectPosition('LoggensF', 65, 70, 0)
sleep(2)
MoveCamera(67, 67, 0, 2, 1, 285, 1, 0)
sleep(10)
MessageBox("/Maps/SingleMissions/ChoiseOTW1/ActFSQ1.txt")
GetObjectiveState('FSQ', 1, OBJECTIVE_ACTIVE)
end
endfunction Ensleg() --функция диалога
if B == 1 then -- первая официальная встреча, диалог
MessageBox("/Maps/SingleMissions/ChoiseOTW1/ED1.txt")
sleep(2)
MessageBox("/Maps/SingleMissions/ChoiseOTW1/ED2.txt")
sleep(2)
MessageBox("/Maps/SingleMissions/ChoiseOTW1/ED3.txt")
sleep(2)
B = 5
if B == 5 then --спрашивает про телепорт к крипте
QuestionBox("/Maps/SingleMissions/ChoiseOTW1/EQ.txt", AEY(), AEN())
if B == 0 then -- встреча при неактивном квесте.
MessageBox("/Maps/SingleMissions/ChoiseOTW1/ED0.txt")
if B == 2 then -- встреча после тусни в крипте
SQFinal()
if B == 3 then -- встреча после прохождения квеста
MessageBox("/Maps/SingleMissions/ChoiseOTW1/EE.txt")
if B == 4 then -- есл игрок вступил в диалог рядом с криптой - спрашивает про возвращение назад.
QuestionBox("/Maps/SingleMissions/ChoiseOTW1/EQ2.txt", AEY2(), AEN())
end
end
end
end
end
end
end
Trigger(OBJECT_TOUCH_TRIGGER, "ensleg", "Ensleg");
function AEY() -- ответ ДА - телепорт к крипте
MessageBox("/Maps/SingleMissions/ChoiseOTW1/EN1.txt")
sleep(1)
MessageBox("/Maps/SingleMissions/ChoiseOTW1/EN2.txt")
sleep(1)
MessageBox("/Maps/SingleMissions/ChoiseOTW1/EN21.txt")
sleep(1)
MessageBox("/Maps/SingleMissions/ChoiseOTW1/EN3.txt")
sleep(2)
ETP()
end
function AEY2() --телепорт домой
SetObjectPosition('Ohtarig', 100, 84, 0, 2)
SetObjectPosition('ensleg', 102, 89, 0)
B = 5
end
function ETP() --отказ телепортироваться
SetObjectPosition('Ohtarig', 80, 169, 0, 2)
SetObjectPosition('ensleg', 80, 167, 0)
B = 4
endprogress = GetObjectiveProgress("obj_alh", 1);
function func_alh_complite ()
if (progress == 1)
then MessageBox ("/Maps/SingleMissions/Vayshan0_1/mess_alh_complite.txt");
SetObjectiveProgress("obj_alh", OBJECTIVE_COMPLETED);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg_alh_complite", nil);
end;
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg_alh_complite", "func_alh_complite");
zog = GetHeroCreature("Ohtarig", 129)
function func_log ()
if (zog == 1)
then MessageBox("/Maps/SingleMissions/Vayshan0_1/mess_log1.txt");
SetObjectiveState("obj_log", OBJECTIVE_ACTIVE);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg_log", "func_log");
else MessageBox("/Maps/SingleMissions/Vayshan0_1/mess_log.txt");
sleep(1);
StartCombat("Ohtarig", nil, 1, 129, 1, nil,"func_remove_log",nil, not nil);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg_log", nil);
end;
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg_log", "func_log");
function BindTriggerToObject(object, handler)
Trigger(OBJECT_TOUCH_TRIGGER, object, handler)
end
RPGEngine.Init = function()
for i, player in players do
for j, object in player.RPG.BUILDINGS do
local handler = 'EnterBuilding('..player.key..", "..'"'..object.key..'")'
BindTriggerToObject(object.name, handler)
end
end
endplayer - это таблица, которую надо параметром передать в хэндлер. Хэндлер object_touch триггера передается сейчас строкой (как в примере).