2017-04-21 17:03:58 +00:00
class prepForMonsterEscort {
author = " He-Man " ;
title = " Prep for Monster Escort " ;
simpleTask = 0 ;
items [ ] = { } ;
triggerDelay = 2 ;
triggerintervall = 8 ;
markerType = 0 ;
markerVisible = 0 ;
markerRadius = 0 ;
markerText = " " ;
initcall = " EPOCH_Monster = objnull " ;
cleanUpCall = " uiNameSpace setVariable ['axeStartTraders', nil] " ;
dialogues [ ] = { // {{ARRAY1},{ARRAY2},... }
{ // {"condition",{"Message1","Message2", ...}}
" true " ,
{ " Hey, thanks for helping me to take my Monster to a friend " }
} ,
{
" true " ,
{ " I will call my monster. Bring him to another Trader " }
}
} ;
callevents [ ] = { // {{ARRAY1},{ARRAY2},... }
{ // {"condition",{"Message1","Message2", ...},{"NextTask1","NextTask2", ...}}
" true " ,
2018-12-01 23:10:38 +00:00
" uiNameSpace setVariable ['axeStartTraders',EPOCH_Traders select {_x distance player < 500 && alive _x}] " ,
2017-04-21 17:03:58 +00:00
{ }
} ,
{ // {"condition",{"Message1","Message2", ...},{"NextTask1","NextTask2", ...}}
" true " ,
" _animalPos = [getposatl player, 150, 250, 5, 0, 2000, 0] call BIS_fnc_findSafePos;_randomAIClass = " " Construct_F " " ;_animal = createAgent[_randomAIClass, _animalPos, [], 5, " " NONE " " ];EPOCH_Monster = _animal;[EPOCH_Monster] remoteExec [ " " EPOCH_localCleanup " " ,2] " ,
{ }
}
} ;
abandonTime = 240 ;
failedCondition = " false " ;
faileddialogues [ ] = { " I guess you have better things to do. " , " Try again later. " , " You didn't pick up the document. Misison Failed ! " } ;
completeCondition = " !isnull EPOCH_Monster " ;
completedialogues [ ] = { } ;
completedCALL = " [] spawn {_pos = getpos player;_stay = false;while {!isnull EPOCH_Monster && alive EPOCH_Monster && alive player} do {if (EPOCH_Monster distance2d player > 35) then {_stay = false;_pos = getposatl player;}else {if (!_stay) then {_pos = getposatl EPOCH_Monster;_stay = true;};};EPOCH_Monster moveto _pos;_time = diag_ticktime;uisleep 3;waituntil {diag_ticktime - _time > 15 || EPOCH_Monster distance _pos < 25 || isnull EPOCH_Monster};};}; " ;
reward [ ] = { } ;
cleanUp = 0 ;
nextTask [ ] = { " EscortMonster " } ;
// Not used atm
taskLimit = 3 ;
itemSpawn = 3 ;
callEventBinTask = 0 ;
diagSquelch = 30 ;
abandonDist = 100 ;
} ;
class EscortMonster {
author = " He-Man " ;
title = " Escort Monster " ;
simpleTask = 0 ;
items [ ] = { } ;
triggerDelay = 5 ;
triggerintervall = 8 ;
markerType = 0 ;
markerVisible = 0 ;
markerRadius = 0 ;
markerText = " " ;
initcall = " " ;
cleanUpCall = " uiNameSpace setVariable ['axeStartTraders', nil]; deletevehicle EPOCH_Monster " ;
dialogues [ ] = { // {{ARRAY1},{ARRAY2},... }
{ // {"condition",{"Message1","Message2", ...}}
" true " ,
{ " That's great, look for the Monster outside. " , " Good, now search my Monster outside " , " Ok, well done. We can start now. " }
} ,
{
" true " ,
{ " Ok, head off to another trader, you can't deliver to any nearby. " , " All set. Now take the Monster to another trader further away. " , " Take that Monster to another trader or trader city. " }
} ,
{
" EPOCH_task_startTime + 60 < diag_ticktime " ,
{ " Sorrz, he is an old Man and not very fast... " , " My Monster is very old a bit lazy " }
} ,
{
" EPOCH_task_startTime + 120 < diag_ticktime && EPOCH_Monster distance player > 350 " ,
{ " Don't go to far away or you loose the Monster " , " Hey, wait for my Monster! " }
} ,
{
" EPOCH_Monster distance player < 20 " ,
{ " Go forward, my Monster will follow you! " , " Hurry up a bit. My Monster is hungry... " }
} ,
{
2018-12-01 23:10:38 +00:00
" ({player distance _x < 42 && !((_x getvariable ['AI_SLOT',-1]) == -1) && alive _x && !(_x in (uiNameSpace getVariable ['axeStartTraders',[]]))} count EPOCH_Traders > 0) " ,
2017-04-21 17:03:58 +00:00
{ " Well done, you have a trader nearby, go see him " , " Looks like you found another trader, well done, deliver the Monster. " , " UAV has spotted another trader nearby, go deliver the Monster. " }
} ,
{
2018-12-01 23:10:38 +00:00
" (EPOCH_task_startTime + 480 < diag_tickTime) && ({player distance _x < 500 && !((_x getvariable ['AI_SLOT',-1]) == -1) && alive _x && (_x in (uiNameSpace getVariable ['axeStartTraders',[]]))} count EPOCH_Traders > 0) " ,
2017-04-21 17:03:58 +00:00
{ " Hey, what are you doing here ? Get on with your task! " }
}
} ;
callevents [ ] = { // {{ARRAY1},{ARRAY2},... }
} ;
abandonTime = 2000 ;
failedCondition = " !alive EPOCH_Monster || !alive player || EPOCH_Monster distance player > 500 " ;
faileddialogues [ ] = { " Oh no, you lost my Monster - Mission Failed " , " My Monster ist gone, Mission Over! " } ;
2018-12-01 23:10:38 +00:00
completeCondition = " player distance EPOCH_Monster < 50 && ({player distance _x < 20 && !((_x getvariable ['AI_SLOT',-1]) == -1) && alive _x && !(_x in (uiNameSpace getVariable ['axeStartTraders',[]]))} count EPOCH_Traders > 0) " ;
2017-04-21 17:03:58 +00:00
completedialogues [ ] = { " Hey, you bring me my friends Monster? " , " Great Job there. Step into my office traveller. " , " You made it, thanks for bringing me the Monster. " } ;
completedCALL = " " ;
reward [ ] = { } ;
cleanUp = 0 ;
nextTask [ ] = { " finishMonsterEscort " } ;
} ;
class finishMonsterEscort {
author = " He-Man " ;
title = " Finish Monster Escort " ;
simpleTask = 0 ;
items [ ] = { } ;
triggerDelay = 8 ;
triggerintervall = 8 ;
markerType = 0 ;
markerVisible = 0 ;
markerRadius = 0 ;
markerText = " " ;
initcall = " " ;
cleanUpCall = " uiNameSpace setVariable ['axeStartTraders', nil]; deletevehicle EPOCH_Monster " ;
dialogues [ ] = { // {{ARRAY1},{ARRAY2},... }
} ;
callevents [ ] = { // {{ARRAY1},{ARRAY2},... }
} ;
abandonTime = 240 ;
failedCondition = " false " ;
faileddialogues [ ] = { } ;
completeCondition = " true " ;
completedialogues [ ] = { " Take your reward, you have earnt it " , " Here is your reward, you are a great courier. " , " Any time you need work, come and see me, great job. " } ;
2017-04-23 16:52:36 +00:00
completedCALL = " [objnull, " " Mission_Monster_Payout " " ,true,getposatl player] remoteExec [ " " EPOCH_serverLootObject " " ,2]; " ;
2017-04-21 17:03:58 +00:00
reward [ ] = { } ;
cleanUp = 1 ;
nextTask [ ] = { } ;
} ;