Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

AutoJoin


Gość
 Udostępnij

Rekomendowane odpowiedzi

Posiadam mały problem, mianowicie korzystam na serwerze z autojjoin lecz problem jest taki że w momencie gdy gracz dołączy w środku rudny może on swobodnie zacząć grać. Teraz jaka dodać jakiś myk aby gracz, który dojdzie w polowie rundy byl jako martwy i musial czekac na rozpoczecie sie nowej

 

new Handle: Team
 
public OnPluginStart( ) {
    Team = CreateConVar( "sm_join_team", "1", "Do not edit this" )
    AddCommandListener(CmdListener_Changeteam, "jointeam");
    HookEvent( "player_connect_full", Event_OnFullConnect, EventHookMode_Post )
}
 
public Event_OnFullConnect( Handle:event, const String:name[ ], bool:dontBroadcast ) {
    new client = GetClientOfUserId( GetEventInt( event, "userid" ) )
   
    if( client != 0 && IsClientInGame( client ) && !IsFakeClient( client ) && !bIsAdminRoot(client)) {
        CreateTimer( 0.5, AssignTeam, client )
    }
}
 
public Action: AssignTeam( Handle: timer, any: client ) {
    if( IsClientInGame( client ) ) {
        int iCvar = GetConVarInt( Team );
       
        switch( iCvar ) {
            case 0 : {
                return Plugin_Handled
            }
            case 1 : {
                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 )
                {
                    ChangeClientTeam( client, 3 )
                }
                else
                if( iRed < iBlue )
                {
                    ChangeClientTeam( client, 2 )
                }
                else
                if( iRed == iBlue )
                {
                    ChangeClientTeam( client, 2 )
                }
                CS_RespawnPlayer(client);
                           
            }
           
            case 2 : {
                ChangeClientTeam( client, 2 )
            }
           
            case 3 : {
                ChangeClientTeam( client, 3 )
            }
        }
    }
	return Plugin_Continue
}

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

×
×
  • Dodaj nową pozycję...