X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fminigames%2Fsv_minigames.qc;h=46f98959272627c1b52aeead334f03dff83277f9;hb=c7063553a6a7f0edbe27cd89d2d216d961e14b6a;hp=5c6af26615dc5f71363dfb9286eab23da294a859;hpb=52cdd440f6cfdc9544099ac68455e5361ace00d2;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/minigames/sv_minigames.qc b/qcsrc/common/minigames/sv_minigames.qc index 5c6af2661..46f989592 100644 --- a/qcsrc/common/minigames/sv_minigames.qc +++ b/qcsrc/common/minigames/sv_minigames.qc @@ -1,5 +1,7 @@ #include "sv_minigames.qh" -#include "minigames.qh" + +#include +#include void player_clear_minigame(entity player) { @@ -9,7 +11,7 @@ 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) @@ -146,11 +148,9 @@ int minigame_addplayer(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); } @@ -213,7 +213,7 @@ entity join_minigame(entity player, string game_id ) return NULL; } -void part_minigame(entity player ) +void part_minigame(entity player) { entity minig = CS(player).active_minigame; @@ -268,6 +268,8 @@ string invite_minigame(entity inviter, entity player) 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"); @@ -312,6 +314,13 @@ void ClientCommand_minigame(entity caller, int request, int argc, string command 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);