[Plugin] Join team fix

Categoria unde se postează orice altceva ce nu își are locul în celelalte categorii despre Counter-Strike: Global Offensive.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
Divin123
Membru, skill +2
Membru, skill +2
Posts: 620
Joined: 06 Jan 2012, 22:42
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: arena.wtfcs.com
Has thanked: 42 times
Been thanked: 2 times
Contact:

06 Jun 2017, 09:30

INTRODUCERE: Fara acest plugin exista mai multe bug-uri. De exemplu daca se utilizeaza afk manager uneori cei mutati la spec nu mai pot da join la o echipa, sunt nevoiti sa dea reconnect. Acest plugin este foarte bun si pentru serverele mai mari de 32 slots. La baza pluginului este si un ballancer astfel in cat nu da voie la dezechilibrul echipelor.

INSTALARE: Pentru instalare se compileaza si se pune in folderul plugins.

Cine are nevoie si de autojoin la connect ma poate contacta sau sa lase comment aici.
| Afiseaza codul
#include <cstrike>
#include <sdktools>

public Plugin:myinfo = {
	name = "Join Team",
	author = "Divin!",
	description = "Fix Join Team Bug",
	version = "1.0",
	url = "http://wtfcs.com/forum"
}

public OnPluginStart() AddCommandListener(SelectTeam, "jointeam");

public Action:SelectTeam(client, const String:command[], args)
{
    if (client && args)
    {
        decl String:team[2];
        GetCmdArg(1, team, sizeof(team));
        switch (StringToInt(team))
        {
            case CS_TEAM_SPECTATOR: ChangeClientTeam(client, CS_TEAM_SPECTATOR);
            case CS_TEAM_T: {
				new iRed, iBlue;
				for(new i = 1; i <= MaxClients; i++)
				{
					if(!IsClientInGame(i))
						continue;

					new iTeam = GetClientTeam(i);
					if(iTeam == CS_TEAM_T)
						iRed++;
					else if(iTeam == CS_TEAM_CT)
						iBlue++;
				}
				if( iRed < iBlue )
				{
					ForcePlayerSuicide(client);
					ChangeClientTeam( client, 2 )					
				}
				else
				if( iRed == iBlue )
				{
					ForcePlayerSuicide(client);
					ChangeClientTeam( client, 2 )
				}
			}
			case CS_TEAM_CT: {
				new iRed, iBlue;
				for(new i = 1; i <= MaxClients; i++)
				{
					if(!IsClientInGame(i))
						continue;

					new iTeam = GetClientTeam(i);
					if(iTeam == CS_TEAM_T)
						iRed++;
					else if(iTeam == CS_TEAM_CT)
						iBlue++;
				}
				if( iRed > iBlue )
				{
					ForcePlayerSuicide(client);
					ChangeClientTeam( client, 3 )
				}
				else
				if( iRed == iBlue )
				{
					ForcePlayerSuicide(client);
					ChangeClientTeam( client, 3 )
				}
			}
        }
    }
    return Plugin_Continue;
}
Arena.WtfCs.CoM
RoyalServer 2
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

08 Jun 2017, 19:08

Code: Select all

				new iTeam = GetClientTeam(i);
					if(iTeam == CS_TEAM_T)
						iRed++;
					else if(iTeam == CS_TEAM_CT)
						iBlue++;
Aici ar merge un switch...zic ca ar arata codul mai frumos
Post Reply

Return to “Diverse”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 6 guests