Update time; I am happy to say that all of the objectives have already been made!
![[drink]](images/BBCode/smilies/drink.gif)
Though, they're not really complex objectives, mostly just kill him, pick up that, put it there, and go there. I've attached some screenshots of some of my objectives, I even got them to shine yellow. About the sniper spawning issue: I don't really care enough to make him a spawner and test several times to see if the objective works. The map works fine as of right now. Perhaps when I'll release the source files with the map download you guys can see all the mistakes and errors I've made with the map.
Here is my frost.gsc file right now, to give you a glimpse of what my objectives are.
Code:
#include maps\_utility;
#include maps\_anim;
#using_animtree("generic_human");
main()
{
maps\_load::main();
ambientPlay("ambient");
setCullFog (500, 10000, 0.0274, 0.0823, 0.1607, 0 );
setEnvironment ("cold");
//////////PLAYER SETUP//////////
level.player setViewmodel( "xmodel/viewmodel_hands_russian" );
level.player takeallweapons();
level.player giveWeapon ("colt");
level.player giveWeapon ("fraggrenade");
level.player switchToWeapon ("colt");
//////////INTRO SCREEN//////////
precacheshader("black"); // Precaches the black shader
precacheString(&"FROST_INTRO_1"); // The title of the Level
precacheString(&"FROST_INTRO_2"); // Where the level takes place
precacheString(&"FROST_INTRO_3"); // Month Day, Year
precacheString(&"FROST_INTRO_4"); // Optional info about the level
maps\_introscreen::introscreen_delay(&"FROST_INTRO_1", &"FROST_INTRO_2", &"FROST_INTRO_3", &"FROST_INTRO_4"); // Action!!
//////////HIDE FLASHING OBJECTIVES//////////
obj5 = getent("obj5", "targetname");
obj2_flash = getent("obj2_flash", "targetname");
obj4_flash = getent("obj4_flash", "targetname");
obj5_flash = getent("obj5_flash", "targetname");
obj6_flash = getent("obj6_flash", "targetname");
obj5 hide();
obj2_flash hide();
obj4_flash hide();
obj5_flash hide();
obj6_flash hide();
obj1();
}
//////////OBJECTIVES//////////
obj1()
{
obj1 = getent("obj1", "targetname"); //Get entity(German AI) in map
block1 = getent("block1", "targetname");
objective_add(1, "active", &"FROST_OBJ1",getent("obj1", "targetname").origin);
objective_current(1);
iprintlnbold ("Press the |Tab| key to check your Objectives");
obj1 waittill("death"); //Waits till German AI is killed
block1 delete();
objective_state(1, "done"); //Objective 1 is done
maps\_utility::levelStartSave();
wait(2);
thread obj2();
}
obj2()
{
obj2 = getent("obj2", "targetname");
obj2_flash = getent("obj2_flash", "targetname");
block2 = getent("block2", "targetname");
trigg_obj2 = getent("trigg_obj2", "targetname");
obj2_flash show();
objective_add(2, "active", &"FROST_OBJ2",getent("obj2", "targetname").origin);
objective_current(2);
trigg_obj2 waittill("trigger");
trigg_obj2 delete();
obj2 delete();
obj2_flash delete();
block2 delete();
objective_state(2, "done");
maps\_utility::levelStartSave();
wait(2);
thread obj3();
}
obj3()
{
obj3 = getent("obj3", "targetname"); //Get entity(German AI) in map
block3 = getent("block3", "targetname");
objective_add(3, "active", &"FROST_OBJ3",getent("obj3", "targetname").origin);
objective_current(3);
obj3 waittill("death"); //Waits till German AI is killed
block3 delete();
objective_state(3, "done"); //Objective 3 is done
maps\_utility::levelStartSave();
wait(2);
thread obj4();
}
obj4()
{
obj4 = getent("obj4", "targetname");
obj4_flash = getent("obj4_flash", "targetname");
block4 = getent("block4", "targetname");
trigg_obj4 = getent("trigg_obj4", "targetname");
obj4_flash show();
objective_add(4, "active", &"FROST_OBJ4",getent("obj4", "targetname").origin);
objective_current(4);
trigg_obj4 waittill("trigger");
trigg_obj4 delete();
obj4 delete();
obj4_flash delete();
block4 delete();
objective_state(4, "done");
maps\_utility::levelStartSave();
wait(2);
thread obj5();
}
obj5()
{
obj5 = getent("obj5", "targetname");
obj5_flash = getent("obj5_flash", "targetname");
block5 = getent("block5", "targetname");
trigg_obj5 = getent("trigg_obj5", "targetname");
obj5_flash show();
objective_add(5, "active", &"FROST_OBJ5",getent("obj5", "targetname").origin);
objective_current(5);
trigg_obj5 waittill("trigger");
obj5 show();
obj5_flash delete();
trigg_obj5 delete();
block5 delete();
objective_state(5, "done");
maps\_utility::levelStartSave();
wait(2);
thread obj6();
}
obj6()
{
obj6 = getent("obj6", "targetname");
obj6_flash = getent("obj6_flash", "targetname");
block6 = getent("block6", "targetname");
trigg_obj6 = getent("trigg_obj6", "targetname");
obj6_flash show();
objective_add(6, "active", &"FROST_OBJ6",getent("obj6", "targetname").origin);
objective_current(6);
trigg_obj6 waittill("trigger");
trigg_obj6 delete();
obj6 delete();
obj6_flash delete();
block6 delete();
objective_state(6, "done");
maps\_utility::levelStartSave();
wait(2);
thread obj7();
}
obj7()
{
trigg_obj7 = getent("trigg_obj7", "targetname");
objective_add(7, "active", &"FROST_OBJ7", (-4288, 17440, -544));
objective_current(7);
trigg_obj7 waittill("trigger");
objective_state(7, "done");
trigg_obj7 delete();
wait(1);
iprintlnbold (&"FROST_OBJ_COMPLETED"); //Let player know he is done
missionSuccess ("dawnville",false);
}
Also, finishing objectives has made me that much closer to releasing this map, up next I need to place all the AI in. time to update the list from page 6:
1) Terrain
2) Spawning AI
3) Objectives and saves
4) Effects (FX)
5) Sounds/music
6) Making a .IWD file
Thanks for tuning in, until the next update!
![[wave]](images/BBCode/smilies/wave.gif)