Jump to content
Sign in to follow this  
manzilla

[SP] Rain down on 'em from above

Recommended Posts

Presenting a very basic alpha of a ToH combat mission:

takeonh2011110611150365.gif

Here's the alpha:

Rain down on 'em from above Alpha v 1.1

You are flying in some ground troops to assault a mine complex that was recently captured. After you drop of the troops provide them with air support.

Credits:

BIS for another great game.

The community for keepin' BIS in business and thus keeping these games alive. Also for teaching me how to use the Editor and providing valuable feedback.

Known Issues:

Not sure but there's gotta be a ton.

The end trigger may not work.

Very basic

No intro, cutscenes, etc.

No story line

Only 1 real objective(will add more later)

Too short

No base

Starts in air, I'll fix this when I add an intro and some story line.

Mirrors:

Get em up!

Again this is nothing special and need many things. No cutscenes, intro, only 1 quick main objective. Don't expect much.

If you really want to you can play as one of the ground teams that are dropped off. Just use team switch and select which unit.

***Note: Read the hints that come up at the beginning. If you come in low to the LZ you can drop off troops and not be seen. The LZ is just above the mine on top of a plateau.

---------- Post added at 12:58 PM ---------- Previous post was at 12:36 PM ----------

EDIT:

Please wait. I made a mistake and posted the version with the troops in another chopper. Give me a few minutes.

---------- Post added at 03:06 PM ---------- Previous post was at 02:43 PM ----------

New version Alpha v1.1 available in the first post.

Fixes:

- Player's heli now has a team in it and it does unload if you get close to the wp when landing/hovering.

- Fixed end mission trigger. Was going off too early.

- A few other tweaks.

Edited by Manzilla

Share this post


Link to post
Share on other sites

Fun mission so far, Manzilla. Great to see missions already being made for TKOH! :)

Just tried it in the latest version of TKOH and noticed only a couple areas for improvement:

  • Though it is not a necessary feature, it is nice for missions to have overviews whenever possible.
  • The briefing lacks detail and no task is set as your current task at mission start, but luckily there is only one task described. The mission also gives you more info in the hints section as you progress, but I would personally prefer to have these in the briefing so that I am not distracted while flying.
  • I didn't receive any indication that I had completed my objectives, despite them appearing as complete in my briefing. There are a few functions that you can use to make the use of tasks easier now in TKOH, which are all located in the Functions Viewer which can be found in the mission editor. Feel free to check them out!
  • I got an ending that blasted me for being a really shitty pilot, apparently. I'm not sure why this happened, but is it because I lost some crew members due to the anti-air fire I received when assaulting the objective? Might want to try and make this clearer in the debriefing.

Overall, there is some nice potential here. I liked the challenge presented to me at the mine, and I also liked the ability to use team switch to change to one of the remaining friendly ground units. It was short, but sweet. I look forward to seeing more of your work! :)

Share this post


Link to post
Share on other sites

Thanks for the feedback Zipper5!

- Overview in briefing: I plan on adding that soon. I realized last night that I didn't have anything there.

- Briefing detail and task set: I'll definitely go in depth in the future. I left the first task un-set to start so there wasn't 2 markers(green dots) to confuse the player. I believe when you get to the first wp the task than becomes set. I need to rework the way the tasks appear.

- Task not being marked: I will add this too. Definitely something I'm aware of. I just set them up using an OA mission I made. It seems the way I used to make them appear as complete doesn't work the same way in TKoH as it did in A2. I didn't check in to the new functions but I'll definitely do so in the future. Nice to hear there's some new stuff to work with in TKoH.

- Sh*&&y pilot thing: That was just me being a jack ass and an attempt at being funny. It says that even if you complete the mission successfully. Sorry about that.

Again I appreciate the feedback. It's pretty motivating to get that from a developer. I was going to wait but I really wanted to get something out for the community to try. I plan on expanding this mission in the future and will implement your feedback.

Also thanks for the great games. I've been a fan of BIS since OFP and the games have added fun to my free time for a decade. You guys are by far the best development I've ever encountered. Hell you listen to the community and even use the stuff we make, what more can one ask for?

Share this post


Link to post
Share on other sites

maybe i'm to stupid but where do i have to place the pbo file ? tried it in single missions directory but it did not appear in the game.

Thanks for your help,

Carsten

Share this post


Link to post
Share on other sites
maybe i'm to stupid but where do i have to place the pbo file ? tried it in single missions directory but it did not appear in the game.

Thanks for your help,

Carsten

No problem bud, I had the exact same problem at first. You need to put it in the missions folder in the main TKoH directory. Then go in game select Single Player and then Challenges. It will be listed there. Should be the first one, under My missions.

Share this post


Link to post
Share on other sites

zipper5,

I'm checking out the functions viewer but I often have trouble using this thing.

Say for Tasks->BIS_fnc_taskSetDestination. I have trouble figuring out how I would use it. Do I need to put all this into an .sqf?

/*
Author: Karel Moricky

Description:
Set task destination

Parameter(s):
_this select 0: STRING - task ID
_this select 1: ARRAY or OBJECT or NUMBER - position, object or waypoint ID

Returns:
BOOL
*/

private ["_logic","_taskName","_destination","_taskParams","_taskArray","_taskArrayObjects","_taskGroup"];

_logic = bis_functions_mainscope;
if (isNil "_logic") exitWith {false};

_taskName =	[_this,0,"",[""]] call bis_fnc_param;
_destination =	[_this,1,[],[[],objnull,0]] call bis_fnc_param;

if !(_taskName call bis_fnc_taskExists) exitwith {["Task '%1' does not exist",_taskName] call bis_fnc_error; false};

_taskParams = _taskName call bis_fnc_taskParams;
_taskArray = _taskParams select 0;
_taskArrayObjects = _taskParams select 1;
_taskGroup = _taskParams select 2;

{
if (isPlayer _x && local _x) then {
	private ["_task"];
	_task = _taskArray select (_taskArrayObjects find _x);
	switch (typename _destination) do {

		case (typename []): {
			private ["_dx","_dy","_dz"];
			_dx = [_destination,0,0,[0]] call bis_fnc_param;
			_dy = [_destination,1,0,[0]] call bis_fnc_param;
			_dz = [_destination,2,0,[0]] call bis_fnc_param;
			if ([_dx,_dy,_dz] distance [0,0,0] > 0) then {
				_task setsimpletaskdestination [_dx,_dy,_dz];
			};
		};

		case (typename objnull): {
			_precision = if (count _this > 2) then {_this select 2} else {false};
			_task setsimpletasktarget [_destination,_precision];

		};

		case (typename 0): {
			if (_destination >= 0) then {
				[_taskGroup,_destination] setwaypointvisible false;
				_task setsimpletaskdestination waypointposition [_taskGroup,_destination];
			};
		};

	};
};
} forEach units _taskGroup;

true

It's confusing. I'm sure there's an easier way to use a function like this, I just don't see it the description/code.

Share this post


Link to post
Share on other sites

Derbysieger,

Ya that was just me being an a$$. :)

Thanks for the compliment. I'll make it longer in the near future.

Share this post


Link to post
Share on other sites

Maybe it's just me but I'd love it if you actually had to land to end the mission.

And proper take off in the beginning would be nice.

Share this post


Link to post
Share on other sites
Maybe it's just me but I'd love it if you actually had to land to end the mission.

And proper take off in the beginning would be nice.

I completely agree and I will make both part of the mission in upcoming versions. I couldn't decide the best way to set up the take off part so I left it out for now. I just wanted to get something out for the community to play with. I plan on having the mission start with an intro scene of the pilot getting orders from a CO and then have the first task being to get to the heli.

Same goes for the landing. Again, just me wanting to rush something out and being too lazy to do that part yet. I definitely will though.

Hopefully I'll have a longer version out by the weekend. No promises though. I'm slowly getting motivated to get back on the editing train and start making missions again. I kinda miss it. Headaches et al.

Thanks for the feedback. It's always appreciated.

Share this post


Link to post
Share on other sites
Say for Tasks->BIS_fnc_taskSetDestination. I have trouble figuring out how I would use it. Do I need to put all this into an .sqf?

Nope, it is compiled at the start of the mission each time you run it. To use it, you must use the call command. The same will go for the other functions you find there, though sometimes it will be better to use the spawn command.

In this case, the syntax for this function is as follows:

_nul = ["task_name",destination] call BIS_fnc_taskSetDestination;

"task_name" - the string ID you have given to your task
destination - the object or position you wish to use as the destination

However, to use these commands you must first use BIS_fnc_taskCreate to create the task. Have a poke around the functions viewer and experiment. Explanations as to the use of the functions included in TKOH are being added here, so that may be something you wish to bookmark for future reference. :)

Here's an example of managing tasks using TKOH's functions:

//First, wait for all functions to be initialized

waitUntil {!(isNil "BIS_fnc_init")};

/*
Now we'll create our player unit's task using BIS_fnc_taskCreate,

1st parameter - the unit(s) that have the task assigned to them
2nd parameter - the string ID for the task. This will be used to reference this task from now on
3rd parameter - an array containing the text for the task. It goes in the order: [task description,task title,task GUI title] (Optional)
4th parameter - the destination of the task, i.e. where the waypoint will point to (Optional)
5th parameter - set to true to make it the current task (Optional)

For now, I'll include just an example that adds the description & destination for the task, and makes it the player's current task:
*/

[player,"ExampleTask",["This is an example task.","Example Task","EX TSK"],position ExampleDestination,true] call BIS_fnc_taskCreate;

/*
Now that we have the task created, we can manipulate it during the mission.
Let's say we receive an update from HQ and need to change its description, so we'll use BIS_fnc_taskSetDescription,

1st parameter - the string ID for the task. In this case, "ExampleTask"
2nd parameter - the new description for the task still following [task description,task title,task GUI title]
*/

["ExampleTask",["This is a NEW example task.","NEW Example Task","NEW EX TSK"]] call BIS_fnc_taskSetDescription;

//Let's wait for a condition to be turned true upon the completion of the task

TaskCompleted = false;
waitUntil {TaskCompleted};

/*
Since we have succeeded with the task, we need to update its state. To do this, we use BIS_fnc_taskSetState,

1st parameter - the string ID for the task. In this case, it is still "ExampleTask"
2nd parameter - the task state. Can be either "SUCCEEDED", "FAILED", "CREATED", "CURRENT", or "CANCELLED"
3rd parameter - set to true to save the game (Optional)
4th parameter - set to true to show the GUI hint displaying the updated task state (Optional)

Let's set it to "SUCCEEDED", save the game, and show the hint:
*/

["ExampleTask","SUCCEEDED",true,true] call BIS_fnc_taskSetState;

//And there we have it. We have created & changed a task, as well as changed its state upon the completion of the task. Hope this helps!

This example can be executed in any .sqf script, should you wish to try it out for yourself.

Edited by Zipper5

Share this post


Link to post
Share on other sites

That's a good mission. It gives a taste of what can come later.

Share this post


Link to post
Share on other sites

Very nice mission indeed! :thumbsup: Keep 'em coming!

Same goes for the landing. Again, just me wanting to rush something out and being too lazy to do that part yet. I definitely will though.

This piece of code will detect if the engine is off, for a "Shut down your heli" task (using that in my mission too):

((enginesRPMRTD Bird1 select 0) < 1250) && !(enginesIsOnRtd Bird1 select 0)

Bird1 is the name of the heli obviously.

Share this post


Link to post
Share on other sites

Zipper5,

Wow I'm an idiot. I shoulda been able to figure that out. Thanks a bunch for the refresher and new info.

And to the new forum folks, this shows why BIS beats all other developers. You can't go wrong getting advice from a developer.

W1ndy,

Thank you! I appreciate the compliment. Welcome to the BIS forums. It's always nice to see new members.

sxp2high,

Thanks as well for the compliment and good looking out with that code. Exactly what I was looking for and needed. You rock!

Edited by Manzilla

Share this post


Link to post
Share on other sites

Hi Manzilla,

Had some god fun with your mission! Thank you for that :)

Looking forward to any improvement you are planning in the future.

Just one question for my personal curiosity...

To keep things organized, I initially tried to put the pbo file in a modfolder like I did with the landing practice missions made by Jedra. (@custommissions/addon/your pbo file here ; also tried in @custommissions/missions/your pbo file here) but your mission did not appear in the list of single player challenges (while the missions made by Jedra do).

What is the reason that your mission only appears if we put it in the default TOH missions folder?

Regards,

Sylvain

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×