Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Yanlışlık Varmı Pluginde Acil Bakarmısınız

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
JoLe`*` [S]
Mesajlar: 43
Kayıt: Pzt Mar 06, 2017 6:35 pm

Yanlışlık Varmı Pluginde Acil Bakarmısınız

Mesaj gönderen JoLe`*` [S] »

Kod: Tümünü seç

    #include <amxmodx>
    #include <fakemeta>
    
    
    #define START_DISTANCE  32   // --| The first search distance for finding a free location in the map.
    #define MAX_ATTEMPTS    128  // --| How many times to search in an area for a free space.
    
    
    #define MAX_CLIENTS     32
    
    new Float:gf_LastCmdTime[ MAX_CLIENTS + 1 ];
    new gp_UnstuckFrequency;
    
    // --| Just for readability.
    enum Coord_e { Float:x, Float:y, Float:z };
    
    // --| Macro.
    #define GetPlayerHullSize(%1)  ( ( pev ( %1, pev_flags ) & FL_DUCKING ) ? HULL_HEAD : HULL_HUMAN )
    
    
    public plugin_init ()
    {
        register_plugin ( "Unstick Player", "1.0.2", "Arkshine" );
        
        // --| Cvars.
        gp_UnstuckFrequency = register_cvar ( "amx_unstuck_frequency", "4.0" );
        
        // --| Client command.
        register_clcmd ( "unstuck"  , "ClientCommand_UnStick" );
        register_clcmd ( "say /stuck"       , "ClientCommand_UnStick" );
        register_clcmd ( "say_team /unstuck", "ClientCommand_UnStick" );
        register_clcmd ( "say /unstuck"     , "ClientCommand_UnStick" );
        register_clcmd ( "say /kurtul"       , "ClientCommand_UnStick" );
        register_clcmd ( "say_team /kurtul"       , "ClientCommand_UnStick" );
    }
    
    
    public ClientCommand_UnStick ( const id )
    {
        new Float:f_MinFrequency = get_pcvar_float ( gp_UnstuckFrequency );
        new Float:f_ElapsedCmdTime = get_gametime () - gf_LastCmdTime[ id ];
        
        if ( f_ElapsedCmdTime < f_MinFrequency ) 
        {
            client_print ( id, print_chat, "[AMXX] You must wait %.1f seconds before trying to free yourself.", f_MinFrequency - f_ElapsedCmdTime );
            return PLUGIN_HANDLED;
        }
        
        gf_LastCmdTime[ id ] = get_gametime ();
    
        new i_Value;
        
        if ( ( i_Value = UTIL_UnstickPlayer ( id, START_DISTANCE, MAX_ATTEMPTS ) ) != 1 )
        {
            switch ( i_Value )
            {
                case 0  : client_print ( id, print_chat, "[AMXX] Kurtulmak Icin Say'a /kurtul yada /stuck Yaz" );
                case -1 : client_print ( id, print_chat, "[AMXX] Bugdan Kurtulmak Icin Say'a /kurtul yada /stuck Yaz" );
            }
        }
        
        return PLUGIN_CONTINUE;
    }
    
    
    UTIL_UnstickPlayer ( const id, const i_StartDistance, const i_MaxAttempts )
    {
        // --| Not alive, ignore.
        if ( !is_user_alive ( id ) )  return -1
        
        static Float:vf_OriginalOrigin[ Coord_e ], Float:vf_NewOrigin[ Coord_e ];
        static i_Attempts, i_Distance;
        
        // --| Get the current player's origin.
        pev ( id, pev_origin, vf_OriginalOrigin );
        
        i_Distance = i_StartDistance;
        
        while ( i_Distance < 1000 )
        {
            i_Attempts = i_MaxAttempts;
            
            while ( i_Attempts-- )
            {
                vf_NewOrigin[ x ] = random_float ( vf_OriginalOrigin[ x ] - i_Distance, vf_OriginalOrigin[ x ] + i_Distance );
                vf_NewOrigin[ y ] = random_float ( vf_OriginalOrigin[ y ] - i_Distance, vf_OriginalOrigin[ y ] + i_Distance );
                vf_NewOrigin[ z ] = random_float ( vf_OriginalOrigin[ z ] - i_Distance, vf_OriginalOrigin[ z ] + i_Distance );
            
                engfunc ( EngFunc_TraceHull, vf_NewOrigin, vf_NewOrigin, DONT_IGNORE_MONSTERS, GetPlayerHullSize ( id ), id, 0 );
            
                // --| Free space found.
                if ( get_tr2 ( 0, TR_InOpen ) && !get_tr2 ( 0, TR_AllSolid ) && !get_tr2 ( 0, TR_StartSolid ) )
                {
                    // --| Set the new origin .
                    engfunc ( EngFunc_SetOrigin, id, vf_NewOrigin );
                    return 1;
                }
            }
            
            i_Distance += i_StartDistance;
        }
        
        // --| Could not be found.
        return 0;
    }    
    
Bi yanlışlık varmı bakarmısınız kendimce editlemeye çalışdım :D
@TunnS[C]
@alpersoylu34
@Tasarimci v2

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
JoLe`*` [S]
Mesajlar: 43
Kayıt: Pzt Mar 06, 2017 6:35 pm

Yanlışlık Varmı Pluginde Acil Bakarmısınız

Mesaj gönderen JoLe`*` [S] »

deathrun kurtul plugınıdır arkadaşlar

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

TunnS[C]
Mesajlar: 3971
Kayıt: Prş Oca 05, 2017 12:38 pm
Konum: Ordu
Server Ip/DNS: 213.238.173.78
Clan İsmi: CapitaLL |
İletişim:

Yanlışlık Varmı Pluginde Acil Bakarmısınız

Mesaj gönderen TunnS[C] »

Telefondayim ben :D bu arada senmi kodladin ?

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Tasarimci v2
Mesajlar: 2281
Kayıt: Cmt Oca 28, 2017 6:27 pm
Konum: İstanbul

Yanlışlık Varmı Pluginde Acil Bakarmısınız

Mesaj gönderen Tasarimci v2 »

Sıkıntısı yok.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

ulyoS
Mesajlar: 4520
Kayıt: Cum Ara 16, 2016 2:14 pm
Konum: İzmir

Yanlışlık Varmı Pluginde Acil Bakarmısınız

Mesaj gönderen ulyoS »

Sıkıntı yokta karman çorban geldi bana @Tasarimci v2 :D :D

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

ulyoS
Mesajlar: 4520
Kayıt: Cum Ara 16, 2016 2:14 pm
Konum: İzmir

Yanlışlık Varmı Pluginde Acil Bakarmısınız

Mesaj gönderen ulyoS »

JoLe`*` [S] yazdı:

Kod: Tümünü seç

    #include <amxmodx>
    #include <fakemeta>
    
    
    #define START_DISTANCE  32   // --| The first search distance for finding a free location in the map.
    #define MAX_ATTEMPTS    128  // --| How many times to search in an area for a free space.
    
    
    #define MAX_CLIENTS     32
    
    new Float:gf_LastCmdTime[ MAX_CLIENTS + 1 ];
    new gp_UnstuckFrequency;
    
    // --| Just for readability.
    enum Coord_e { Float:x, Float:y, Float:z };
    
    // --| Macro.
    #define GetPlayerHullSize(%1)  ( ( pev ( %1, pev_flags ) & FL_DUCKING ) ? HULL_HEAD : HULL_HUMAN )
    
    
    public plugin_init ()
    {
        register_plugin ( "Unstick Player", "1.0.2", "Arkshine" );
        
        // --| Cvars.
        gp_UnstuckFrequency = register_cvar ( "amx_unstuck_frequency", "4.0" );
        
        // --| Client command.
        register_clcmd ( "unstuck"  , "ClientCommand_UnStick" );
        register_clcmd ( "say /stuck"       , "ClientCommand_UnStick" );
        register_clcmd ( "say_team /unstuck", "ClientCommand_UnStick" );
        register_clcmd ( "say /unstuck"     , "ClientCommand_UnStick" );
        register_clcmd ( "say /kurtul"       , "ClientCommand_UnStick" );
        register_clcmd ( "say_team /kurtul"       , "ClientCommand_UnStick" );
    }
    
    
    public ClientCommand_UnStick ( const id )
    {
        new Float:f_MinFrequency = get_pcvar_float ( gp_UnstuckFrequency );
        new Float:f_ElapsedCmdTime = get_gametime () - gf_LastCmdTime[ id ];
        
        if ( f_ElapsedCmdTime < f_MinFrequency ) 
        {
            client_print ( id, print_chat, "[AMXX] You must wait %.1f seconds before trying to free yourself.", f_MinFrequency - f_ElapsedCmdTime );
            return PLUGIN_HANDLED;
        }
        
        gf_LastCmdTime[ id ] = get_gametime ();
    
        new i_Value;
        
        if ( ( i_Value = UTIL_UnstickPlayer ( id, START_DISTANCE, MAX_ATTEMPTS ) ) != 1 )
        {
            switch ( i_Value )
            {
                case 0  : client_print ( id, print_chat, "[AMXX] Kurtulmak Icin Say'a /kurtul yada /stuck Yaz" );
                case -1 : client_print ( id, print_chat, "[AMXX] Bugdan Kurtulmak Icin Say'a /kurtul yada /stuck Yaz" );
            }
        }
        
        return PLUGIN_CONTINUE;
    }
    
    
    UTIL_UnstickPlayer ( const id, const i_StartDistance, const i_MaxAttempts )
    {
        // --| Not alive, ignore.
        if ( !is_user_alive ( id ) )  return -1
        
        static Float:vf_OriginalOrigin[ Coord_e ], Float:vf_NewOrigin[ Coord_e ];
        static i_Attempts, i_Distance;
        
        // --| Get the current player's origin.
        pev ( id, pev_origin, vf_OriginalOrigin );
        
        i_Distance = i_StartDistance;
        
        while ( i_Distance < 1000 )
        {
            i_Attempts = i_MaxAttempts;
            
            while ( i_Attempts-- )
            {
                vf_NewOrigin[ x ] = random_float ( vf_OriginalOrigin[ x ] - i_Distance, vf_OriginalOrigin[ x ] + i_Distance );
                vf_NewOrigin[ y ] = random_float ( vf_OriginalOrigin[ y ] - i_Distance, vf_OriginalOrigin[ y ] + i_Distance );
                vf_NewOrigin[ z ] = random_float ( vf_OriginalOrigin[ z ] - i_Distance, vf_OriginalOrigin[ z ] + i_Distance );
            
                engfunc ( EngFunc_TraceHull, vf_NewOrigin, vf_NewOrigin, DONT_IGNORE_MONSTERS, GetPlayerHullSize ( id ), id, 0 );
            
                // --| Free space found.
                if ( get_tr2 ( 0, TR_InOpen ) && !get_tr2 ( 0, TR_AllSolid ) && !get_tr2 ( 0, TR_StartSolid ) )
                {
                    // --| Set the new origin .
                    engfunc ( EngFunc_SetOrigin, id, vf_NewOrigin );
                    return 1;
                }
            }
            
            i_Distance += i_StartDistance;
        }
        
        // --| Could not be found.
        return 0;
    }    
    
Bi yanlışlık varmı bakarmısınız kendimce editlemeye çalışdım :D
@TunnS[C]
@alpersoylu34
@Tasarimci v2
Not : " register_plugin ( "Unstick Player", "1.0.2", "Arkshine" );" plugini kodlayan Arkshine dir.

Link:
Linklerini gizle
Linki Kopyala
Cevapla