#include "sv_minigames.qh"
-#include "minigames.qh"
+
+#include <common/minigames/minigames.qh>
+#include <server/gamelog.qh>
void player_clear_minigame(entity player)
{
set_movetype(player, MOVETYPE_WALK);
else
set_movetype(player, MOVETYPE_FLY_WORLDONLY);
- player.team_forced = 0;
+ Player_SetForcedTeamIndex(player, TEAM_FORCE_DEFAULT);
}
void minigame_rmplayer(entity minigame_session, entity player)
Net_LinkEntity(player_pointer, false, 0, minigame_SendEntity);
if ( !IS_OBSERVER(player) && autocvar_sv_minigames_observer )
- {
- PutObserverInServer(player);
- }
+ PutObserverInServer(player, true, true);
if ( autocvar_sv_minigames_observer == 2 )
- player.team_forced = -1;
+ Player_SetForcedTeamIndex(player, TEAM_FORCE_SPECTATOR);
minigame_resend(minigame_session);
}
return NULL;
}
-void part_minigame(entity player )
+void part_minigame(entity player)
{
entity minig = CS(player).active_minigame;
delete(e);
}
- strunzone(minigame_session.netname);
+ strfree(minigame_session.netname);
delete(minigame_session);
}
return "Invalid player";
if ( inviter == player )
return "You can't invite yourself";
+ if (PlayerInList(player, autocvar_g_playban_list) && autocvar_g_playban_minigames) // playban
+ return "You can't invite a banned player";
if ( CS(player).active_minigame == CS(inviter).active_minigame )
return strcat(player.netname," is already playing");
return;
}
+ if (PlayerInList(caller, autocvar_g_playban_list) && autocvar_g_playban_minigames) // playban
+ {
+ Send_Notification(NOTIF_ONE_ONLY, caller, MSG_CENTER, CENTER_JOIN_PLAYBAN);
+ sprint(caller, "You aren't allowed to play minigames because you are banned from them in this server.\n");
+ return;
+ }
+
if (request == CMD_REQUEST_COMMAND )
{
string minig_cmd = argv(1);