Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Zmiana drużyn i wyników


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 M@lpa

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Lokalizacja:Kraków
Offline

Napisano 15.05.2012 23:08

Witam.
Mam plugin który po X rundach powinien zamieniać graczy drużynami i zmieniać wyniki. Działa właściwie dobrze, ale tylko w przypadku, jeśli gra się z botami. Gdy sprawdzałem go na serwerze, działał tylko gdy było 1vs1. Gdy gracze dochodzili, wyświetlała się wiadomość o zmianie drużyn, zmieniał się wynik, ale gracze dalej pozostawali w swoich teamach. W logach nic nie wyrzuca.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <orpheu>
#include <orpheu_memory>
#include <ColorChat>
#define set_mp_pdata(%1,%2)  ( OrpheuMemorySetAtAddress( g_pGameRules, %1, 1, %2 ) )
#define get_mp_pdata(%1)		 ( OrpheuMemoryGetAtAddress( g_pGameRules, %1 ) )
new g_pGameRules;
new pCvarResult;
new lic = 0;
new ttscore = 0;
new ctscore = 0;
public plugin_precache()
{
	OrpheuRegisterHook( OrpheuGetFunction( "InstallGameRules" ), "OnInstallGameRules", OrpheuHookPost );
}
public OnInstallGameRules()
{
	g_pGameRules = OrpheuGetReturn();
}
public plugin_init() {
register_plugin("mr12", "1.0", "author")

register_event("TeamScore", "teamScore", "a")

pCvarResult = register_cvar("change_team_result","12");
}
public teamScore(){
new sTeam[2];
	read_data(1, sTeam, 1);
	if( sTeam[0] == 'T' )
		ttscore = read_data(2);
	else
		ctscore = read_data(2);

if(ttscore+ctscore >= get_pcvar_num(pCvarResult)) changeTeams();
}
public changeTeams(){
lic++;
if(lic > 1)
  return PLUGIN_HANDLED;
set_mp_pdata( "m_iNumCTWins", ttscore );
	set_mp_pdata( "m_iNumTerroristWins", ctscore );
ColorChat(0, RED, "--------------!!!ZMIANA DRUZYN!!!--------------");
  for(new i = 1 ; i < 33; i++ ){
  if(!is_user_connected(i) || cs_get_user_team(i) == CS_TEAM_SPECTATOR || cs_get_user_team(i) == CS_TEAM_UNASSIGNED ) return PLUGIN_HANDLED;

  cs_set_user_team (i, cs_get_user_team(i) == CS_TEAM_CT?CS_TEAM_T:CS_TEAM_CT, CS_DONTCHANGE)
}

	UpdateTeamScores( .notifyAllPlugins = true );

return PLUGIN_HANDLED;
}
}
UpdateTeamScores ( const bool:notifyAllPlugins = false )
{
	static OrpheuFunction:handleFuncUpdateTeamScores;
	if ( !handleFuncUpdateTeamScores )
	{
	handleFuncUpdateTeamScores = OrpheuGetFunction( "UpdateTeamScores", "CHalfLifeMultiplay" )
	}
	( notifyAllPlugins ) ?
	OrpheuCallSuper( handleFuncUpdateTeamScores, g_pGameRules ) :
	OrpheuCall( handleFuncUpdateTeamScores, g_pGameRules );
}

Użytkownik M@lpa edytował ten post 15.05.2012 23:38

  • +
  • -
  • 0

#2 mierzwi

    Banned

  • Zbanowany

Reputacja: 235
Wszechwidzący

  • Postów:651
  • Lokalizacja:Polska
Offline

Napisano 19.05.2012 00:45

spróbuj zmieniać teamy tak, mi to działa.
new iTeam = get_user_team( id );

switch( iTeam )
{
    case 1:
    {    
        cs_set_user_team( id, CS_TEAM_CT, CS_CT_GIGN );
        
        emake_TeamInfo( id, "CT" );
    }
    case 2:
    {
        cs_set_user_team( id, CS_TEAM_T, CS_T_LEET );
        
        emake_TeamInfo( id, "TERRORIST" );
    }
}
emake_TeamInfo( id, sTeam[] )
{
	if( !id )
	{
		return 0;
	}
	
	emessage_begin( MSG_ALL, get_user_msgid("TeamInfo"), { 0, 0, 0 }, 0 );
	ewrite_byte( id );
	ewrite_string( sTeam );
	emessage_end();
	
	return 1;
}

Użytkownik emu edytował ten post 19.05.2012 00:49

jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook

na pewno jakoś C się odwdzięczę!





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych