1. sayfa (Toplam 1 sayfa)

Raundda en fazla kill alanlar (istek)

Gönderilme zamanı: Cmt Oca 05, 2019 11:46 am
gönderen CyberArrow
Merhabalar şöyle bir eklenti istiyorum yapabilir misiniz?

eklenti şu şekilde sol tarafda radarın hemen altında sarı renkde bir 3 kişilik top gözükecek ve her raund sıfırlanacak yani şu şekil

Raund başladığı zaman en fazla kill alan kişi 1. 2. 3. diye sıralanacak ama 1.raundda X Y Z olarak tanımlayalım 1. roundda X kişisi 1. Y kişisi 2. Z kişisi 3. olmuştur fakat 2. roundda aynen kalmasını değil sıfırlanmasını istiyorum kill'e göre sıralama olsun yani kill ne kadar fazlaysa 1. olan o olsun böyle bir şey yapabilirmisiniz en fazla hasar verenler diye bi eklenti vardı ama sanırım onu düzenlemek gerek :/

Raundda en fazla kill alanlar (istek)

Gönderilme zamanı: Cmt Oca 05, 2019 4:04 pm
gönderen Necati Doğan
Buyur dene.

Raundda en fazla kill alanlar (istek)

Gönderilme zamanı: Cmt Oca 05, 2019 4:12 pm
gönderen Emre Gezer
Düşük ihtimal ama yukardaki olmazsa bide benimkini denersin.

Kod: Tümünü seç

#include <amxmodx>

new g_round, en_iyi[ 3 ], name[ 3 ][ 32 ], yon[ 33 ], g_hud, g_kill[ 33 ];

public plugin_init() {
	register_plugin("New Plugin","1.0","Emre Gezzer")
    
    register_logevent( "RoundStart",2,"1=Round_Start" );
	
    register_event( "TextMsg","eRestart","a","2=#Game_will_restart_in","2=#Game_Commencing" );
    register_event( "DeathMsg" , "yonver" , "a" );
    g_hud = CreateHudSyncObj( );
}
public eRestart( )
{
    g_round = 0;
}
public RoundStart( )
{
    g_round += 1;
    if( g_round >= 2 )
    {
        set_task( 1.0, "saydir", 0, _, _, "b" );
    }
}
public yonver( )
{
    new killer = read_data( 1 ); //Olduren
    new victim = read_data( 2 ); //Kurban
    
    if( is_user_alive( killer ) && is_user_alive( victim )  )
    {
        g_kill[ killer ] += 1;
    }
}
public saydir( )
{
    new players[ 32 ], inum, id;
    get_players( players, inum )
    for( new i = 0; i < inum; i++ )
    {
        id = players[ i ];
        if( get_user_frags( id ) - g_kill[ id ] > en_iyi[ 0 ] )
        {
            if( yon[ id ] == 2 )
            {
                en_iyi[ 1 ] = 0;
            }
            if( yon[ id ] == 3 )
            {
                en_iyi[ 2 ] = 0;
            }
            en_iyi[ 0 ] = get_user_frags( id ) - g_kill[ id ]
            get_user_name( id, name[ 0 ], 31 );
            yon[ id ] = 1;
            new player[ 32 ],num, tempid;
            get_players( player,num );
            for(new k; k < num; k++ ) 
            {
                tempid = player[ k ]
                if( tempid != id && yon[ tempid ] == 1 )
                {
                    yon[ tempid ] = 0;
                }
            }
        }
        else if( get_user_frags( id ) - g_kill[ id ] > en_iyi[ 1 ] && yon[ id ] != 1 )
        {
            if( yon[ id ] == 3 )
            {
                en_iyi[ 2 ] = 0;
            }
            en_iyi[ 1 ] = get_user_frags( id ) - g_kill[ id ]
            get_user_name( id, name[ 1 ], 31 );
            yon[ id ] = 2;
            new player[ 32 ],num, tempid;
            get_players( player,num );
            for(new k; k < num; k++ ) 
            {
                tempid = player[ k ]
                if( tempid != id && yon[ tempid ] == 2 )
                {
                    yon[ tempid ] = 0;
                }
            }
        }
        else if( get_user_frags( id ) - g_kill[ id ] > en_iyi[ 2 ] && yon[ id ] != 1 && yon[ id ] != 2 )
        {
            en_iyi[ 2 ] = get_user_frags( id ) - g_kill[ id ]
            get_user_name( id, name[ 2 ], 31 );
            yon[ id ] = 3;
        }
    }
    set_hudmessage( 255, 255, 0, 0.0, 0.20, 0, 6.0, 12.0)
    ShowSyncHudMsg( 0, g_hud, "[1] - %s ( %d )^n[2] - %s ( %d )^n[3] - %s ( %d )", 
    name[ 0 ],en_iyi[ 0 ], 
    name[ 1 ], en_iyi[ 1 ],
    name[ 2 ], en_iyi[ 2 ] );
}