←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Sprawdzanie i wykonywanie operacji na osta...

  • +
  • -
venom1324 - zdjęcie venom1324 05.06.2013

Witam, mam problem, ponieważ funkcja która sprawdza czy gracz w TT jest ostatni i pobiera jego ID zle działa, czasami jak zyje 3 tt, jeden umrze, to wyswietla ze jakis tam ma zyczenie. Nie mam pomysłu co może być zle, jakieś pomysły?:

public DeathMsg(){
    new iNum = 0
    for( new i = 1; i <= get_playersnum(); i++ ){
        if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_T ){
        iNum++;
        }
    }
    if(iNum==1){
        get_players(iPlayers,iNum)
        for( new i = 0; i < iNum; i++ ){
            new iIndex = iPlayers[ i ];
            if(cs_get_user_team(iIndex) == CS_TEAM_T && is_user_alive(iIndex)){
                get_user_name(iIndex,nick,31)
                ColorChat(0,GREEN,"[MenuCT] ^x01Gracz ^x03%s ^x01ma zyczenie",nick)
            }
            if(cs_get_user_team(iIndex) == CS_TEAM_CT && is_user_alive(iIndex)){
                // jakis tam kod

            }

        }

    }

}


Użytkownik venom1324 edytował ten post 05.06.2013 14:13
Odpowiedz

  • +
  • -
góruś - zdjęcie góruś 05.06.2013

for( new i = 0; i <= get_playersnum(); i++ )

 

 

 


sebul (05.06.2013 15:34):
Od kiedy id graczy zaczyna się od 0?
Odpowiedz

  • +
  • -
góruś - zdjęcie góruś 05.06.2013

for( new i = 0; i <= get_playersnum(); i++ )

błąd z mojej strony, zbyt długo chyba tu nie zaglądałem i się pomyliłem, spróbuj tego

new players = get_maxplayers(), ids, num;

for(new i=1; i<=players; ++i) 
{
	if(is_user_alive(i) && get_user_team(i) == 1)
	{
		++num;
		ids = i;
	}
}

if(num == 1)
{
	new name[32];
	get_user_name(ids,name,31);
}

Użytkownik góruś edytował ten post 05.06.2013 15:28
Odpowiedz