Unfortunately, the above patch doesn't make hv.Player available. This should fix that:
Index: freespace.cpp
===================================================================
--- freespace.cpp (revision 8101)
+++ freespace.cpp (working copy)
@@ -5202,8 +5202,15 @@
extern button_info Multi_ship_status_bi;
memset(&Multi_ship_status_bi, 0, sizeof(button_info));
+ // Make hv.Player available in "On Gameplay Start" hook -zookeeper
+ if(Player_obj)
+ Script_system.SetHookObject("Player", Player_obj);
+
Script_system.RunCondition(CHA_GAMEPLAYSTART);
+ if (Player_obj)
+ Script_system.RemHookVar("Player");
+
Start_time = f2fl(timer_get_approx_seconds());
//Framecount = 0;
mprintf(("Entering game at time = %7.3f\n", Start_time));