Sari la conținut

LondoN eXtream

Members
  • Număr conținut

    61
  • Înregistrat

  • Ultima Vizită

Postări postat de LondoN eXtream

  1. 2 minutes ago, Shadows Adi said:

    nu i-am facut profile ca sa vad daca asa este, deci nu am un raspuns bazat.

     

    o sa folosesc operatorul conditionat, nu am mai optimizat unele parti =)))

     

    nu are sens ceea ce spui, dar oricum cand o sa am timp o sa-l fac cu ajutorul unui dictionar ca sa formatez intregul text

     

    dap, ai dreptate, am uitat de aia =))))

     

    da, chiar ar fi mai bine sa fac pe cazuri, scutesc compiler-ul de munca in plus

     

    Se verifica deja daca jucatorul este in viata, deci este ok. In counter strike 1.6, functia virtuala Ham_Spawn este apelata doar in cazul jucatorilor.

    Merci pentru feedback.

    Ham_Spawn se executa asupra tuturor entitatilor ce primesc spawn (jucatori, cutii, gaini, arme etc etc).

    if(1 <= id <= get_maxplayers()) ca se verifici daca jucatorul se incadreaza in randul jucatorilor.

     

  2. new path[ 64 ];
    	get_localinfo( "amxx_configsdir", path, charsmax( path ) );
    	formatex( path, charsmax( path ), "%s/VIP/vip_maps.ini", path);
    	
    	new file = fopen( path, "r+" );
    	
    	if( !file_exists( path ) )
    	{
    		write_file( path, "; VIP-UL ESTE DEZACTIVAT PE URMATOARELE HARTI: ");
    		write_file( path, "; Exemplu de adaugare HARTA:^n; ^"harta^"^n^nfy_snow^nawp_bycastor" );
    		write_file( path, "; NOTA:^n Pentru a ignora anumite harti, adaugati ^";^" in fata hartii" );
    	}
    	
    	new mapname[ 32 ];
    	get_mapname( mapname, charsmax( mapname ) );
    	
    	new text[ 121 ], maptext[ 32 ];
    	while( !feof( file ) )
    	{
    		fgets( file, text, charsmax( text ) );
    		trim( text );
    		
    		if( text[ 0 ] == ';' || !strlen( text ) ) 
    		{
    			continue; 
    		}
    		
    		parse( text, maptext, charsmax( maptext ) );
    		
    		if( equal( maptext, mapname) )
    		{
    			//********* AICI STERGETI "//" DIN FATA PENTRU DEBUG. *********//
    			//log_amx("Am dezactivat pluginul 'VIP' pe harta %s.", maptext ); 
    			g_bMapBanned = 1;
    			break;
    		}
    		
    	}
    	fclose( file );
    }

    -> asta trebuie trecut in plugin_cfg/precache. Adica sa privim logica, inregistrezi tot si initializezi pluginul apoi dai check map? papa memorie chestia asta.

     

    	if( IsVipHour( get_pcvar_num( pCvars [ VipFreeStart ] ), get_pcvar_num( pCvars [ VIpFreeEnd ] ) ) )
    		set_pcvar_string( pCvars [ VipFree ], "1" );
    	else
    		set_pcvar_string( pCvars [ VipFree ], "0" );

    foloseste switch pe case true si false

    color_chat(id, "^3| ^4%s ^3| ^1Death-urile tale sunt deja ^4 0^3!", Tag );

    e o prostie sa tot formetezi un text, fa-i direct din stock...

    new final_msg[128]; formatex(final_msg, charsmax(final_msg), "%s %s", Tag, msg_output);

    	if( item == MENU_EXIT || !is_user_alive( id ) || !is_user_connected(id))
    		menu_destroy( menu );
    		
    	if(!is_user_alive(id) || !is_user_connected(id))
    		return PLUGIN_HANDLED;

    nu era necesar de 2 ori.

    if(get_user_team( id ) == 1 )
    		{
    			if( is_user_alive( id ) )
    				color_chat( 0, "!y(Terrorist) !g%s!team %s!y: %s", szPrefix, szName, szMessage );
    				
    			else if( !is_user_alive( id ) )
    				color_chat( 0, "!y*DEAD* (Terrorist) !g%s!team %s!y: %s", szPrefix, szName, szMessage );
    		}
    		if(get_user_team( id ) == 2 )
    		{
    			if( is_user_alive( id ) )
    				color_chat( 0, "!y(Counter-Terrorist) !g%s!team %s!y: %s", szPrefix, szName, szMessage );
    				
    			else if( !is_user_alive( id ) )
    				color_chat( 0, "!y*DEAD* (Counter-Terrorist) !g%s!team %s!y: %s", szPrefix, szName, szMessage );
    		}

    din nou, foloseste switch

    cam atat la prima vedere, corecteaza-ti micile erori..

    si nu uita ca in ham spawn sa verifici daca userul e valid, poate fi si o entitate si vei primi index out of bounds sau crash.

    success.

×
×
  • Creează nouă...

Informații Importante

Termeni de Utilizare & Politică Intimitate