Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: aldo_14 on July 25, 2002, 04:37:32 pm
-
Ok.... I've been considering adding some new SEXPs to the code for Reciprocity. What I'm thinking is that, if I post a list, someone can tell me if any are already implemented so I don;t have to do 'em (or better still, can look at 'em and try an understand better how they work).
It'll probably be a few months 'till i even attempt this, but I figure this may prompt people to come up with their suggestions, anyways.... anything I do will, of course be freely available ('spechially as it's likely to need a hell of a lot of bugfixes :doh:)
I'm not expecting anyone to actually make this for me...that would be unfair and unrealistic. i'm just brainstorming, really... anyway, my ideas;
- jump-debrief - end mission and goto a standard debrief (as if jumped out...this is useful for fighterbay endings, especially....infact, what wouyld be really cool would be to play some sort of simple animation of an internal bay's doors closing from inside the cockpit (to make it ship independent) upon end....)
- turret-tagged-only - locks a single turret (or group) to only fire on a tagged ship - as oppossed to all turrets, which i think is how it presently works (could be wrong)
- turret-target-only - turret only attacks the targeted craft....or something along this ilk
- internal-message - sends a message without the white brackets, and with a string as the sender (for messages from unknown sources, or from alpha 1, or a co-pilot, without having to use 'trick' objects)
- barrage-target - launches an SSM barrage against a target.... i'm not sure how this works with the targeting laser in the current code, though
- cap_turret-firings - allows a turret to only fire xx times (I think you can use a variable and fire-beam to do this with beam turrets)
- oh... and allowing more hotkey combinations to activate events with the 'key-pressed' sexp
(some of thes may already be in FREd...I hardly ever use it)
-
well actaully i think depature should be stated in the ship/Wing editor in the depature section as they are with AI ships.
So ALT-J when in range of one of the bay paths, will make the External camera follow the player who is auto-piloted into Hangar,
Camera code is to be found in places such as dead seqences and supernova sequences.
But this should only be for the starters.
The animations will come later(moving doors).
remember the Moving doors on an Orion will look very differently than those on a Hecate due to the way theire bays are made.
-
Originally posted by aldo_14
- internal-message - sends a message without the white brackets, and with a string as the sender (for messages from unknown sources, or from alpha 1, or a co-pilot, without having to use 'trick' objects)
(some of thes may already be in FREd...I hardly ever use it)
to do this put a pound sign '#' before the sender
- send-message
-#Alpha 1
-High
-my wingmen suck
-
i want a bunch of events that allow capships to do frontal charging attacks. most of ragnarok's turrets point forward so the ship needs to make its run about 6 clicks out, charge in firing untill it closes to within 1000 meeters and then fly out another 6 clicks, turn around and repeat. right now it just circles around and most of its big turrets dont even get to fire.
-
Don't just use the ai-attack sexp, Nuke, that the lazy and ineffective way. Do the waypoint controlled battle like they taught you in the walkthrough.
-
heres one i'd like to see, its a solution to a number of problems:
enable-player-ship-ai
Pretty much what it sounds like, give control of the player's ship to a standard fighter ai, this would allow the player's ship to dock with other ships instead of other ships docking with it; this would allow departure through dockingbays; this would allow autopilot. All done through a set of sexps that will make these things either activate automatically in a mission or activate on the player's command through the "is-key-pressed" sexp. In short, flexible.
disable-player-ship-ai
opposite, gives control back to the player.
-
How about an option inside the beamfree-all sexp to have all ships that have beam weapons to be able to use them in-game (instead of having to create a sexp for each ship. An perhaps change it a little so that the beamfree will work on a ship that enters later in a mission, so that you don't have to make a when has arrived - beam free all sexp.
beamfree-all
How about a similar sexp so that that all the turrets and beams are locked when a ship is about to explode (so that you don't get a beam firing as it's the ship's exploding or has exploded). I know you can do this already, but it's time consuming to do it all the time.
deadship-turret-lock-all
What about a sexp to render shields on a vessel inoperative?
shields-off
{ship name}
Maybe a sexp to change the AI of a vessel ingame:
change-shipAI
{ship name}
{AI type} eg. Colonel, Major, Leiutenant, Coward, etc
I think it would be cool to have several different warpout appearances. Such as a red warpout, special warpout, blue warpout and others. Maybe this could depend upon race like with the thruster glows and stuff, but for the sake of the topic question what about this:
warpout-type
{warpout name} eg. warpout01, warpout02, (custom mods), etc.
I suppose that's a stupid one though. I'll coherantly think of some more later.
-
I'd like to have a SEXP that allows multiple jumps inside a mission, without the red-alert SEXP... something like, you would place the various jump waipoints on the various big distances (100000 km), and then using the is-keypressed sexp (or any other one...), the player (and some other ships added on the SEXP...) would jump to the other waypoint... :)
Name?? maybe ship-teleport... or something...
-
Originally posted by DTP
well actaully i think depature should be stated in the ship/Wing editor in the depature section as they are with AI ships.
So ALT-J when in range of one of the bay paths, will make the External camera follow the player who is auto-piloted into Hangar,
Camera code is to be found in places such as dead seqences and supernova sequences.
But this should only be for the starters.
The animations will come later(moving doors).
remember the Moving doors on an Orion will look very differently than those on a Hecate due to the way theire bays are made.
Well, i'm just thinking in terms of a total noivce here.........simplest possible solution :D
But I did do a little stuff for this bit (cut and paste from last night);
/*
*AW 26/7/02
*in SEXP.h - add new define for sexp
*/
#define OP_JUMP_DEBRIEF (0x0056 | OP_CATAGORY_CHANGE | OP_NONCAMPAIGN_FLAG)
/*
*AW 26/7/02
*in sexp.cpp
*/
/************EDITED OPERATORS*********************/
sexp_oper Operators[] = {//blah
{ "jump-to-debrief", OP_JUMP_DEBRIEF, 0, 0},
};
/**********end!*******************/
/*
*AW - 26/72002
*In the eval_sexp section!
*/
case OP_JUMP_DEBRIEF:
red_alert_start_mission();//change to standard end
/*gameseq_post_event(GS_EVENT_DEBRIEF);//?!
sexp_val = 1;
break;
/*
*AW - 26/72002
* add in switch for query_operator_argument_type
*/
case OP_JUMP_DEBRIEF:
return OPF_NONE;
/*
*AW - 26/72002
* add in switch for query_operator return_type
*/
case OP_JUMP_DEBRIEF:
/*
*AW - 26/72002
* in sexp_tree.cpp file (FRED2 folder)
* text for sexp
*in
*} Sexp_help[] = {
*(etcetera)
*/
{ OP_JUMP_DEBRIEF, "Jump straight to debrief (Action operator)\r\n"
"\tEnds the mission & goes to debrief screen \r\n" },
/***STUFF TO END MISSION?*********/
gameseq_post_event( GS_EVENT_DEBRIEF ?
(in red alert.cpp in missionUI);
void red_alert_start_mission()
{
// if we are not in campaign mode, go to debriefing
// if ( !(Game_mode & GM_CAMPAIGN_MODE) ) {
// gameseq_post_event( GS_EVENT_DEBRIEF ); // proceed to debriefing
// return;
// }
// check player health here.
// if we're dead (or about to die), don't start red alert mission.
if (Player_obj->type == OBJ_SHIP) {
if (Player_obj->hull_strength > 0) {
// make sure we don't die
Player_obj->flags |= OF_GUARDIAN;
// do normal red alert stuff
Red_alert_new_mission_timestamp = timestamp(RED_ALERT_WARN_TIME);
// throw down a sound here to make the warning seem ultra-important
// gamesnd_play_iface(SND_USER_SELECT);
snd_play(&(Snds[SND_DIRECTIVE_COMPLETE]));
}
}
}
Um... it's simple enough to do at this level... more complex stuff would be forcing the player to follow a path (as defined for exiting) into the bay - which could require making all the invisible textures in the :V: ships as no collide ;)....but I'm going to DL a compiler and test this with the red alert execution code (to check syntax), then see if it works for the stuff to jump to the debrief ;)
-
Okay Two new SEXP's I would find incredibly useful. Both are AI Goals.
Ai-Face (Ship goal)
Causes the specified ship to turn and face the specified target.
Takes 2 arguments:
1: Name of ship to face.
2: Goal priority (number between 0 and 89).
Ai-Broadside (Ship goal)
Causes the specified ship to position itself sideways with relation to the specified target.
Takes 3 arguments:
1: Name of ship to face.
2: Side of ship to face the enemy (left or right)
3: Goal priority (number between 0 and 89).
-
or how about for the "exit by bay" work by if you colide with a ship and the face you hit has an invisable texture on it then end the mission (if the leave-by-bay sExp has been triggered)
-
Originally posted by Bobboau
or how about for the "exit by bay" work by if you colide with a ship and the face you hit has an invisable texture on it then end the mission (if the leave-by-bay sExp has been triggered)
that would depend on the model, though - not all use the invisible texture. Some may not even require it (i.e. just bay doors, rather than an approach 'corridor' type thing).
I've been looking (a little) at the camera code for the supernova, though.... there's something similar in the main freespace dir (can;t member the filename, unfortunately) which also has code relating to the supernova camera, so methinks i'll need to try and figure out how they wrok together sometime.....
-
Originally posted by karajorma
Ai-Broadside (Ship goal)
Causes the specified ship to position itself sideways with relation to the specified target.
Takes 3 arguments:
1: Name of ship to face.
2: Side of ship to face the enemy (left or right)
3: Goal priority (number between 0 and 89).
Include in #1 a possible subsystem of the target ship to face, as well as "top" and "bottom" options in #2. :nod: