Tasks Demo (Kill the Girl, not the Goat)


Setup: You, a punkKid, are told to kill a poorGirl and steal her sweetRide. But under no circumstances should you kill her adorableGoat.

Triggers: Initial Task Setup, Did you kill the goat?, Did you kill the girl? and Did you steal the car?

So we place all the players down, the girl, the goat, the car (default Locked) and whatever else. Place markers on the three spots as well, then create the triggers:

Trigger One – “Initial Task Setup”:

Condition =

Code:
true

onAct =

Code:
tskKillGirl = player createSimpleTask ["Kill Girl"]; 
tskKillGirl setSimpleTaskDescription ["Kill the girl picnicing with her pet goat.", "Kill the Girl", "Girl Picnicing"];
tskKillGirl setSimpleTaskDestination (getMarkerPos "girlMarker");

tskDontKillGoat = player createSimpleTask ["Don't Kill Goat"]; 
tskDontKillGoat setSimpleTaskDescription ["The goat has nothing to do with it.  Don't harm it.", "Don't kill the goat!", "Protected Goat"];
tskDontKillGoat setSimpleTaskDestination (getMarkerPos "goatMarker");

tskKillGirl setTaskState "Assigned";
player setCurrentTask tskKillGirl;
taskhint ["Kill the girl,\nbut not the goat!", [1, 1, 1, 1], "taskCurrent"];

So when you load in, since the trigger is set to true it’ll automatically fire. You’ll get your tasks (press J to verify) and a on screen task hint telling you to kill the girl and not the goat.

Trigger Two – “Did you kill the goat?”:

Condition =

Code:
!alive adorableGoat

onAct =

Code:
tskDontKillGoat setTaskState "Failed"; 
taskhint ["You killed the goat!!", [1, 0, 0, 1], "taskFailed"];
"goatMarker" setMarkerColor "ColorRed";
tskDontKillGoat setSimpleTaskDescription ["Seriously, I said don't kill the goat, so what do you, you kill it!  I hate you.", "GOAT KILLER!", "Dead Goat Here..."];

Pretty simple, if you kill the goat you fail that task. We also turn it’s map marker red so you never forget… We’ll also change the text on the Don’t Kill The Goat task to make it clear what a jerk you were.

Trigger Three – “Did you kill the girl?”:

Condition =

Code:
!alive poorGirl

onAct =

Code:
tskKillGirl setTaskState "Succeeded"; 
taskhint ["You killed the girl!!\nGood job!", [0, 1, 0, 1], "taskDone"];
 
tskStealCar = player createSimpleTask ["Steal Car"];
tskStealCar setSimpleTaskDescription ["Steal the girl's sweet ride.", "Steal Sweet Ride", "Car Parked Here"];   
tskStealCar setSimpleTaskDestination (getMarkerPos "carMarker");  
taskhint ["Now steal her sweet ride!", [1, 1, 1, 1], "taskNew"];
player setCurrentTask tskStealCar;  

sweetRide lock false;

If you kill the girl we’ll mark that task as succeeded and give you a green colored hint that you were successful. Then we’ll create a new task to steal the car and assign it to you along with a new hint that you should steal the car. We’ll also finally unlock the car which has remained locked till now to make sure you finished the girl task first.

Trigger Four – “Did you steal the car?”:

Condition =

Code:
player in sweetRide

onAct =

Code:
tskStealCar setTaskState "Succeeded"; 
taskhint ["You stole the car!", [0, 1, 0, 1], "taskDone"]; 
{deleteMarker _x} forEach ["goatMarker","girlMarker","carMarker"];

Lastly, once you’re in the car we’ll complete the steal car task, give you a nice green success hint and delete all the markers since you’re done!

You can download a demo mission of this heartwarming experience to play around with in the editor.

Intensity of the color of the text and it’s transparency value (Alpha).

[Red Value, Green Value, Blue Value, Alpha Value] From 0 to 1.

Code:

Here are the BIS colors:

taskhint ["New Task!\nHere's your new task!", [1, 1, 1, 1], "taskNew"];
taskhint ["Task Assigned!\nDo this now!", [1, 1, 1, 1], "taskCurrent"];
taskhint ["Task Succeeded!\nGood job!", [0.600000,0.839215,0.466666,1], "taskDone"];
taskhint ["Task Failed!\nBad job!", [0.972549,0.121568,0,1], "taskFailed"];
taskhint ["Task Canceled!\nNever mind!", [0.75,0.75,0.75,1], "taskFailed"];


Red: [1, 0, 0 , 1]
Blue: [0, 0, 1, 1]
Green: [0, 1, 0, 1]
Cyan: [0, 1, 1, 1]
Hot Pink: [1, .5, 1, 1]
Purple: [.5, 0, .5, 1]
Black: [0, 0, 0, 1]
White: [1, 1, 1, 1]
Orange: [1, .7, .4, 1]
Yellow: [1, 1, .5, 1]
Olive: [.2, .4, .2, 1]
  1. #1 by Daniel on August 8, 2010 - 6:05 AM

    Very good information, going to link this to a few places for the newbies

Comments are closed.