Hard Light Productions Forums

Modding, Mission Design, and Coding => The FRED Workshop => Topic started by: halcyony2k on August 27, 2013, 04:32:44 pm

Title: Hud-Set-Max-Targeting-Range
Post by: halcyony2k on August 27, 2013, 04:32:44 pm
Is Hud max set targeting range supposed to work on all fighters in the game? When I start a multiplayer server with this active it works on the server end, but the client is not restricted and can target up to infinity. Thanks.
Title: Re: Hud-Set-Max-Targeting-Range
Post by: Rodo on August 27, 2013, 04:42:41 pm
Some sexps do not work on multiplayer, this must be one of those.
I'm not sure if there's a list in the wiki listing multiplayer compatible sexps, I tried looking for it but found nothing.
Title: Re: Hud-Set-Max-Targeting-Range
Post by: karajorma on August 27, 2013, 07:32:44 pm
I don't have a list of the SEXPs that are fixed. But you can generate one from this snippet of code.

Code: [Select]
case OP_CHANGE_SOUNDTRACK:
multi_sexp_change_soundtrack();
break;

case OP_SET_PERSONA:
multi_sexp_set_persona();
break;

case OP_CHANGE_SUBSYSTEM_NAME:
multi_sexp_change_subsystem_name();
break;

case OP_SHIP_SUBSYS_NO_REPLACE:
multi_sexp_deal_with_subsys_flag(SSF_NO_REPLACE);
break;
case OP_SHIP_SUBSYS_NO_LIVE_DEBRIS:
multi_sexp_deal_with_subsys_flag(SSF_NO_LIVE_DEBRIS);
break;
case OP_SHIP_SUBSYS_VANISHED:
multi_sexp_deal_with_subsys_flag(SSF_VANISHED);
break;
case OP_SHIP_SUBSYS_IGNORE_IF_DEAD:
multi_sexp_deal_with_subsys_flag(SSF_MISSILES_IGNORE_IF_DEAD);
break;
case OP_SHIP_SUBSYS_TARGETABLE:
case OP_SHIP_SUBSYS_UNTARGETABLE:
multi_sexp_deal_with_subsys_flag(SSF_UNTARGETABLE);
break;

case OP_SHIP_CHANGE_CALLSIGN:
multi_sexp_ship_change_callsign();
break;

case OP_SET_RESPAWNS:
multi_sexp_set_respawns();
break;

case OP_REMOVE_WEAPONS:
multi_sexp_remove_weapons();
break;

case OP_CHANGE_SHIP_CLASS:
multi_sexp_change_ship_class();
break;

case OP_PLAY_SOUND_FROM_TABLE:
multi_sexp_play_sound_from_table();
break;

case OP_PLAY_SOUND_FROM_FILE:
multi_sexp_play_sound_from_file();
break;

case OP_CLOSE_SOUND_FROM_FILE:
multi_sexp_close_sound_from_file();
break;

case OP_SHIP_BOMB_TARGETABLE:
case OP_SHIP_BOMB_UNTARGETABLE:
case OP_SHIP_INVISIBLE:
case OP_SHIP_VISIBLE:
case OP_SHIP_STEALTHY:
case OP_SHIP_UNSTEALTHY:
case OP_FRIENDLY_STEALTH_INVISIBLE:
case OP_FRIENDLY_STEALTH_VISIBLE:
case OP_LOCK_AFTERBURNER:
case OP_UNLOCK_AFTERBURNER:
case OP_LOCK_PRIMARY_WEAPON:
case OP_UNLOCK_PRIMARY_WEAPON:
case OP_LOCK_SECONDARY_WEAPON:
case OP_UNLOCK_SECONDARY_WEAPON:
multi_sexp_deal_with_ship_flag();
break;

case OP_ALTER_SHIP_FLAG:
multi_sexp_alter_ship_flag();
break;

case OP_SET_AFTERBURNER_ENERGY:
multi_sexp_set_energy_pct();
break;

case OP_SET_AMBIENT_LIGHT:
multi_sexp_set_ambient_light();
break;

case OP_MODIFY_VARIABLE:
multi_sexp_modify_variable();
break;

case OP_NAV_ADD_WAYPOINT:
multi_sexp_add_nav_waypoint();
break;

case OP_CUTSCENES_FADE_IN:
multi_sexp_fade_in();
break;

case OP_CUTSCENES_FADE_OUT:
multi_sexp_fade_out();
break;

case OP_NAV_ADD_SHIP:
multi_add_nav_ship();
break;

case OP_NAV_DEL:
multi_del_nav();
break;

case OP_ADD_REMOVE_ESCORT:
multi_sexp_add_remove_escort();
break;

case OP_CUTSCENES_SHOW_SUBTITLE_TEXT:
multi_sexp_show_subtitle_text();
break;

case OP_CUTSCENES_SHOW_SUBTITLE_IMAGE:
multi_sexp_show_subtitle_image();
break;

case OP_TRAINING_MSG:
multi_sexp_send_training_message();
break;

case OP_HUD_DISABLE:
multi_sexp_hud_disable();
break;

case OP_HUD_DISABLE_EXCEPT_MESSAGES:
multi_sexp_hud_disable_except_messages();
break;

case OP_FLASH_HUD_GAUGE:
multi_sexp_flash_hud_gauge();
break;

case OP_HUD_DISPLAY_GAUGE:
multi_sexp_hud_display_gauge();
break;

case OP_CUTSCENES_SET_CUTSCENE_BARS:
case OP_CUTSCENES_UNSET_CUTSCENE_BARS:
multi_sexp_toggle_cutscene_bars(op_num == OP_CUTSCENES_SET_CUTSCENE_BARS );
break;

case OP_CUTSCENES_SET_CAMERA_FACING:
multi_sexp_set_camera_facing();
break;

case OP_CUTSCENES_SET_CAMERA_FACING_OBJECT:
multi_sexp_set_camera_facing_object();
break;

case OP_CUTSCENES_SET_CAMERA_TARGET :
multi_sexp_set_camera_target();
break;

case OP_CUTSCENES_SET_CAMERA_ROTATION:
multi_sexp_set_camera_rotation();
break;

case OP_CUTSCENES_SET_CAMERA_FOV:
multi_sexp_set_camera_fov();
break;

case OP_CUTSCENES_SET_CAMERA_POSITION:
multi_sexp_set_camera_position();
break;

case OP_SET_CAMERA_SHUDDER:
multi_sexp_set_camera_shudder();
break;

case OP_CUTSCENES_RESET_CAMERA:
multi_sexp_reset_camera();
break;

case OP_CUTSCENES_SET_FOV:
multi_sexp_set_fov();
break;

case OP_CUTSCENES_RESET_FOV:
multi_sexp_reset_fov();
break;

case OP_JUMP_NODE_SET_JUMPNODE_NAME:
multi_sexp_set_jumpnode_name();
break;

case OP_IGNORE_KEY:
multi_sexp_ignore_key();
break;

case OP_JUMP_NODE_SET_JUMPNODE_COLOR:
multi_sexp_set_jumpnode_color();
break;

case OP_JUMP_NODE_SET_JUMPNODE_MODEL:
multi_sexp_set_jumpnode_model();
break;

case OP_JUMP_NODE_SHOW_JUMPNODE:
case OP_JUMP_NODE_HIDE_JUMPNODE:
multi_sexp_show_hide_jumpnode(op_num == OP_JUMP_NODE_SHOW_JUMPNODE);
break;

case OP_CLEAR_SUBTITLES:
multi_sexp_clear_subtitles();
break;

case OP_SET_OBJECT_SPEED_X:
case OP_SET_OBJECT_SPEED_Y:
case OP_SET_OBJECT_SPEED_Z:
multi_sexp_set_object_speed();
break;
case OP_SET_OBJECT_POSITION:
multi_sexp_set_object_position();
break;

case OP_CHANGE_TEAM_COLOR:
multi_sexp_change_team_color();
break;

Anything following the word case is the name used in the code for the SEXP. Usually it's pretty easy to figure out the actual name of the SEXP. In addition to these, there are some SEXPs that :v: coded support for (Change-iff is one IIRC).

If there are SEXPs you know don't work in multiplayer, mantis them. Many SEXPs are a 2-3 minute job to fix for multiplayer. Only a few have proved to be really hard/impossible.
Title: Re: Hud-Set-Max-Targeting-Range
Post by: halcyony2k on August 27, 2013, 08:16:11 pm
I will look into the Mantis thing. Has anybody been able to get the wing commander style auto-pilot to work in multiplayer? Me and a friend created a mission, added navpoints, and bound keys for time compression. Everything works great when you are testing on the server end. However, on the client end things get all funky. The navpoints show up, but time compression seriously screws the game up(is this one of the impossible multiplayer additions)?
Title: Re: Hud-Set-Max-Targeting-Range
Post by: karajorma on August 27, 2013, 08:23:01 pm
I wouldn't know until I looked at the code to be honest. SEXPs are usually very simple to fix for multiplayer because a couple of years back I deliberately wrote a multiplayer SEXP feature into the code that was designed to make adding multiplayer support for new SEXPs ridiculously simple.

Adding support for things which aren't SEXP based can be simple or difficult depending on what needs to change. If Autopilot does require something beyond SEXP changes, stick that in a separate Mantis report and I'll look at it too.