Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

MYGO.pl

RSSy
  • Postów

    27955
  • Dołączył

  • Ostatnia wizyta

    nigdy
  • Wygrane w rankingu

    11

Odpowiedzi opublikowane przez MYGO.pl

  1. Description
    • after a period of time, you can self escape once from special infected's skill and instantly kill the special infected. kill horde or special infected can reduce the cooldown(optional). press shift buttons to query the current cooldown.
    • occupy center text to print info when survivor is alive or afk.
    • current support translation: chi(Simplified Chinese). I won't add more translations, you could make your own or ask another one.

    Cvars
    PHP Code:

    // 1 = enable, 0 = disable. when pinned by special infected, if self escape is not ready, auto print remainder?
    // -
    // Default: "1"
    escape_cooldown_ex_auto_print "1"

    // which types of special infected can self escape from. 1 = hunter, 2 = jockey, 4 = smoker, 8 = boomer, 16 = charger. add numbers together
    // -
    // Default: "31"
    // Minimum: "0.000000"
    // Maximum: "31.000000"
    escape_cooldown_ex_enable "31"

    // which types of special infected will be ignite before kill. 1 = hunter, 2 = jockey, 4 = smoker, 8 = boomer, 16 = charger. add numbers together
    // -
    // Default: "31"
    // Minimum: "0.000000"
    // Maximum: "31.000000"
    escape_cooldown_ex_ignite "31"

    // cooldown will decrease when killed a horde
    // -
    // Default: "1.5"
    // Minimum: "0.000000"
    escape_cooldown_ex_reward_horde "1.5"

    // cooldown will decrease when killed a special infected
    // -
    // Default: "5.0"
    // Minimum: "0.000000"
    escape_cooldown_ex_reward_special_infected "5.0"

    // escape cooldown
    // -
    // Default: "60.0"
    // Minimum: "0.100000"
    escape_cooldown_ex_time "60.0" 

    Change log
    Spoiler

    Attached Files
    File Type: txt escape_cooldown_ex.phrases.txt (1.7 KB)
    File Type: sp Get Plugin or Get Source (escape_cooldown_ex.sp - 25.5 KB)

    Wyświetl pełny artykuł

  2. Hello, can someone help me who can set this guillotine plugin on zombie_reloaded mode to cost 100 ammo pack and be valid only for admins!
    If you write in the chat /guillotine, let him take your 100 ammo and have a 10-second task to wait until the infection appears. So that zombies (T) don't go and take him, only human (CT)
    Thank you very much and please help me!

    Attached Files
    File Type: sma Get Plugin or Get Source (native_bloodripper.sma - 24.6 KB)
    File Type: inc zombie_reloaded.inc (44.4 KB)

    Przeczytaj cały wpis

  3. DAFTAR KLIK DI SINI >>> https://avanzatoyota.live/yuki77

    Di dunia perjudian online, pencarian kemenangan tanpa usaha dan hadiah besar tetap menjadi keinginan utama bagi para pemain di seluruh dunia. Baru-baru ini, munculnya "Yuki77 Situs Slot Server Irak Paling Gampang Menang Maxwin WD Besar" telah memicu antusiasme di kalangan komunitas perjudian. Platform ini menjanjikan kemudahan luar biasa dalam meraih kemenangan serta prospek penarikan hadiah yang substansial. Yang membedakan situs ini dari pesaingnya adalah algoritma uniknya dan antarmuka yang ramah pengguna, yang dirancang secara strategis untuk meningkatkan potensi kemenangan pemain.

    Salah satu fitur utama dari "Yuki77 Situs Slot Server Irak" adalah algoritmanya yang canggih, yang mengoptimalkan permainan untuk menguntungkan para pemain, meningkatkan peluang kemenangan mereka. Berbeda dengan mesin slot online tradisional di mana hasilnya sering tidak terduga, server ini menggunakan algoritma canggih yang menganalisis perilaku pemain dan beradaptasi secara tepat untuk memastikan hasil yang lebih menguntungkan. Selain itu, situs ini menawarkan beragam permainan slot, masing-masing dipilih secara cermat untuk memberikan pemain berbagai pilihan sambil memaksimalkan potensi kemenangan mereka. Apakah itu slot bertema buah klasik atau slot video modern dengan grafis yang imersif, pemain memiliki banyak pilihan, yang lebih meningkatkan pengalaman bermain mereka.

    Pertanyaan Umum (FAQ) tentang Situs Slot Server Irak:

    1. Apakah benar Situs Slot Server Irak memberikan kemudahan dalam meraih kemenangan?
    Ya, benar. Situs Slot Server Irak memiliki algoritma canggih yang dirancang untuk mengoptimalkan peluang kemenangan pemain. Dengan analisis yang mendalam terhadap perilaku pemain, situs ini dapat menyesuaikan diri untuk memberikan hasil yang lebih menguntungkan bagi pemainnya.

    2. Bagaimana proses penarikan kemenangan di Situs Slot Server Irak?
    Proses penarikan di Situs Slot Server Irak sangatlah mudah dan cepat. Pemain dapat dengan mudah melakukan penarikan hadiah besar mereka tanpa masalah. Situs ini juga menjamin keamanan dan keamanan transaksi keuangan pemain dengan menggunakan protokol enkripsi yang kuat, sehingga pemain dapat dengan percaya diri menarik kemenangan mereka tanpa khawatir.

    BACA JUGA:
    - https://bestfrontdesign.com/
    - https://kopelrealty.com/
    - https://creampye.com/
    - https://otoharmonics.com/
    - https://coreseoservices.com/

    Przeczytaj cały wpis

  4. DAFTAR KLIK DI SINI >>> https://avanzatoyota.live/yuki77

    Yuki77, situs judi online terpercaya, kembali dengan penawaran menarik untuk para penggemar slot! Dengan gelar "Slot Gacor New Member Bonus 20+10 Slot Deposit Dana Terpopuler", Yuki77 menawarkan pengalaman bermain yang tak tertandingi untuk semua pengguna.

    Bonus istimewa ini mempersembahkan kesempatan bagi para anggota baru untuk menikmati bonus yang menggiurkan sebesar 20% ditambah dengan tambahan 10% untuk deposit menggunakan Dana, metode pembayaran yang sangat populer di Indonesia. Dengan begitu, para pemain dapat memperbesar modal mereka dan menikmati lebih banyak putaran di slot favorit mereka.

    Selain itu, Yuki77 juga dikenal dengan koleksi slot yang sangat populer. Dari klasik hingga yang terbaru, ada banyak pilihan permainan yang menarik untuk dipilih. Slot Gacor di platform ini menambah keseruan dengan peluang menang yang tinggi, meningkatkan potensi kemenangan para pemain.

    Dengan kombinasi antara bonus menggiurkan, deposit menggunakan Dana, dan koleksi slot terbaik, Yuki77 menjadi destinasi utama bagi para penggemar judi online. Jadi, jangan lewatkan kesempatan ini! Bergabunglah dengan Yuki77 sekarang, dapatkan keuntungan dari bonus besar-besaran, dan nikmati sensasi tak terlupakan dari permainan slot yang mengasyikkan!

    BACA JUGA:
    - https://bestfrontdesign.com/
    - https://kopelrealty.com/
    - https://creampye.com/
    - https://otoharmonics.com/
    - https://coreseoservices.com/

    Przeczytaj cały wpis

  5. Is there a way that players with the ADMIN_MENU flag can not be grabbed? Thanks!


    PHP Code:

    /*
    Grab+ v1.2.5
    Copyright (C) 2011 Ian (Juan) Cammarata

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    --------------------------------------------------------------------------------

    http://ian.cammarata.us/projects/grab_plus
    ?19 ?February, ?2011


    Description:
    This is a remake from scratch of SpaceDude's Jedi Force Grab plugin.  It has many additional features and optimizations, is less spammy, multilingual and requires fewer binds. 


    Features:
    Multilingual
    Screenfade to indicate grab activity instead of chat spam.
    Can grab players off a ladder.
    Automatically choke by holding down +pull while at min distance.
    Choke with use key.
    Throw with drop.
    Can't have mutliple admins grabbing the same player.
    Auto drop on death.
    Grab entities other than players, such as bombs, weapons, and hostages.


    Commands:

    +grab : Grab something for as long as you hold down the key.
    grab_toggle : Same as +grab but toggles.
    amx_grab <name> : Grab client by name or id and teleport them to you.  Use +grab or grab_toggle key to release.

    +pull/+push (or invnext/invprev): Pulls/pushes the grabbed towards/away from you as you hold the button.

    +use : Chokes the grabbed (it damages the grabbed with 5 (cvar: gp_choke_dmg) hp per 1.5 (cvar: gp_choke_time) seconds)
    drop - Throws the grabbed with 1500 velocity. (cvar: gp_throw_force)


    Cvars (First value is default):
    gp_enabled <1|0> Enables all plugin functionality.
    gp_players_only <0|1> Disables admins grabbing entities other than players.

    gp_min_dist <90|...> Min distance between the grabber and grabbed.
    gp_grab_force <8|...> Sets the amount of force used when grabbing players.
    gp_throw_force <1500|...> Sets the power used when throwing players.
    gp_speed <5|...> How fast the grabbed moves when using push and pull.

    gp_choke_time <1.5|...> Time frequency for choking.
    gp_choke_dmg <5|...> Amount of damage done with each choke.
    gp_auto_choke <1|0> Enable/disable choking automatically with +pull command.

    gp_screen_fade <1|0> Enables/disables screenfade when grabbing.
    gp_glow <1|0> Enables/disables glowing for grabbed objects.

    gp_glow_r <50|0-255> Sets red amount for glow and screenfade.
    gp_glow_g <0|0-255> Sets green amount for glow and screenfade.
    gp_glow_b <0|0-255> Sets blue amount for glow and screenfade.
    gp_glow_a <0|0-255> Sets alpha for glow and screenfade.


    Notes:
    Make sure you place the grab_plus.txt file in addons\amxmodx\data\lang


    Credits:
    Thanks to vittu for contributing code (changed all engine/fun module stuff to fakemeta).
     
    Thanks to all the coders who worked on the original Jedi Force Grab plugin for all their ideas:
    SpaceDude
    KCE
    KRoTaL
    BOB_SLAYER
    kosmo111


    Supported Languages:
    1337 (100%) - Thanks to l337newb
    Brazilian Portuguese (100%) - Thanks to Arion
    Danish (100%) - Thanks to nellerbabz
    Dutch (100%) - Thanks to BlackMilk
    English (100%)
    Finnish (100%) - Thanks to Pro Patria Finland
    French (100%) - Thanks to connorr
    German (100%) - Thanks to SchlumPF*
    Russian (100%) - Thanks to `666
    Spanish (100%) - Thanks to RenXO
    Swedish (100%) - Thanks to Bend3r


    Change Log:
    Key (+ added | - removed | c changed | f fixed)

    v1.2.5 (Feb 19, 2011)
    f: Applied fix mailed to me on Allied Modders site several years ago.  (Maybe I should sign up for new mail notifications.)
    Thanks to ConnorMcLeod

    v1.2.4 (Feb 18, 2007)
    f: Killing player with choke in some mods bugged out really bad.

    v1.2.3 (Nov 21, 2007)
    c: A few more small optimizations.
    f: Bloodstream for choke wasn't aligned with player.
    f: Bad message disconnect error when players were choked. ( stupid SVC_DAMAGE define )

    v1.2.2 (Nov 16, 2007)
    c: A few small code optimizations.

    v1.2.1 (Nov 12, 2007)
    f: Eliminated two run time warnings in the player prethink function.

    v1.2 (Nov 06, 2007)
    +: Cvars gp_screen_fade and gp_glow to enable/disable these features.
    +: Cvar gp_glow_a controls to control alpha of screenfade and glow.
    +: Cvar gp_auto_choke to enable/disable choking automatically with +pull command.
    c: Removed dependency of engine and fun modules.  Thanks to vittu for doing most of the work.
    c: Made cvar names more consistent by adding more underscores.
    f: Fixed compile bug with amxx 1.8.0 (Compiles with 1.7.x as well).

    v1.1 (Oct 16, 2007)
    +: Grab a few types of entities other than players.
    +: Cvar gp_players_only.

    v1.0 (Oct 13, 2007)
    !: Initial release

    */

    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>

    new const VERSION[ ] = "1.2.4b1"
    new const TRKCVAR[ ] = "grab_plus_version"
    #define ADMIN ADMIN_LEVEL_A

    #define TSK_CHKE 50

    #define SF_FADEOUT 0

    new client_data[33][4]
    #define GRABBED  0
    #define GRABBER  1
    #define GRAB_LEN 2
    #define FLAGS    3

    #define m_bitsDamageType 76

    #define CDF_IN_PUSH   (1<<0)
    #define CDF_IN_PULL   (1<<1)
    #define CDF_NO_CHOKE  (1<<2)

    //Cvar Pointers
    new p_enabledp_players_only
    new p_throw_forcep_min_distp_speedp_grab_force
    new p_choke_timep_choke_dmgp_auto_choke
    new p_glow_rp_glow_bp_glow_gp_glow_a
    new p_fadep_glow

    //Pseudo Constants
    new MAXPLAYERS
    new SVC_SCREENFADESVC_SCREENSHAKEWTF_DAMAGE

    public plugin_init( )
    {
        
    register_plugin"Grab+"VERSION"Ian Cammarata" )
        
    register_cvarTRKCVARVERSIONFCVAR_SERVER )
        
    set_cvar_stringTRKCVARVERSION )
        
        
    p_enabled register_cvar"gp_enabled""1" )
        
    p_players_only register_cvar"gp_players_only""0" )
        
        
    p_min_dist register_cvar "gp_min_dist""90" )
        
    p_throw_force register_cvar"gp_throw_force""1500" )
        
    p_grab_force register_cvar"gp_grab_force""8" )
        
    p_speed register_cvar"gp_speed""5" )
        
        
    p_choke_time register_cvar"gp_choke_time""1.5" )
        
    p_choke_dmg register_cvar"gp_choke_dmg""5" )
        
    p_auto_choke register_cvar"gp_auto_choke""1" )
        
        
    p_glow_r register_cvar"gp_glow_r""50" )
        
    p_glow_g register_cvar"gp_glow_g""0" )
        
    p_glow_b register_cvar"gp_glow_b""0" )
        
    p_glow_a register_cvar"gp_glow_a""200" )
        
        
    p_fade register_cvar"gp_screen_fade""1" )
        
    p_glow register_cvar"gp_glow""1" )
        
        
    register_clcmd"amx_grab""force_grab"ADMIN"Grab client & teleport to you." )
        
    register_clcmd"grab_toggle""grab_toggle"ADMIN"press once to grab and again to release" )
        
    register_clcmd"+grab""grab"ADMIN"bind a key to +grab" )
        
    register_clcmd"-grab""unset_grabbed" )
        
        
    register_clcmd"+push""push"ADMIN"bind a key to +push" )
        
    register_clcmd"-push""push" )
        
    register_clcmd"+pull""pull"ADMIN"bind a key to +pull" )
        
    register_clcmd"-pull""pull" )
        
    register_clcmd"push""push2" )
        
    register_clcmd"pull""pull2" )
        
        
    register_clcmd"drop" ,"throw" )
        
        
    register_event"DeathMsg""DeathMsg""a" )
        
        
    register_forwardFM_PlayerPreThink"fm_player_prethink" )
        
        
    register_dictionary"grab_plus.txt" )
        
        
    MAXPLAYERS get_maxplayers()
        
        
    SVC_SCREENFADE get_user_msgid"ScreenFade" )
        
    SVC_SCREENSHAKE get_user_msgid"ScreenShake" )
        
    WTF_DAMAGE get_user_msgid"Damage" )
    }

    public 
    plugin_precache( )
    {
        
    precache_sound"player/PL_PAIN2.WAV" )


    public 
    fm_player_prethinkid )
    {
        new 
    target
        
    //Search for a target
        
    if ( client_data[id][GRABBED] == -)
        {
            new 
    Float:orig[3], Float:ret[3]
            
    get_view_posidorig )
            
    ret vel_by_aimid9999 )
            
            
    ret[0] += orig[0]
            
    ret[1] += orig[1]
            
    ret[2] += orig[2]
            
            
    target tracelineorigretidret )
            
            if( 
    target <= MAXPLAYERS )
            {
                if( 
    is_grabbedtargetid ) ) return FMRES_IGNORED
                set_grabbed
    idtarget )
            }
            else if( !
    get_pcvar_nump_players_only ) )
            {
                new 
    movetype
                
    if( target && pev_validtarget ) )
                {
                    
    movetype pevtargetpev_movetype )
                    if( !( 
    movetype == MOVETYPE_WALK || movetype == MOVETYPE_STEP || movetype == MOVETYPE_TOSS ) )
                        return 
    FMRES_IGNORED
                
    }
                else
                {
                    
    target 0
                    
    new ent engfuncEngFunc_FindEntityInSphere, -1ret12.0 )
                    while( !
    target && ent )
                    {
                        
    movetype peventpev_movetype )
                        if( ( 
    movetype == MOVETYPE_WALK || movetype == MOVETYPE_STEP || movetype == MOVETYPE_TOSS )
                                && 
    ent != id  )
                            
    target ent
                        ent 
    engfuncEngFunc_FindEntityInSphereentret12.0 )
                    }
                }
                if( 
    target )
                {
                    if( 
    is_grabbedtargetid ) ) return FMRES_IGNORED
                    set_grabbed
    idtarget )
                }
            }
        }
        
        
    target client_data[id][GRABBED]
        
    //If they've grabbed something
        
    if( target )
        {
            if( !
    pev_validtarget ) || ( pevtargetpev_health ) < && pevtargetpev_max_health ) ) )
            {
                
    unset_grabbedid )
                return 
    FMRES_IGNORED
            
    }
             
            
    //Use key choke
            
    if( pevidpev_button ) & IN_USE )
                
    do_chokeid )
            
            
    //Push and pull
            
    new cdf client_data[id][FLAGS]
            if ( 
    cdf CDF_IN_PULL )
                
    do_pullid )
            else if ( 
    cdf CDF_IN_PUSH )
                
    do_pushid )
            
            if( 
    target MAXPLAYERS grab_thinkid )
        }
        
        
    //If they're grabbed
        
    target client_data[id][GRABBER]
        if( 
    target grab_thinktarget )
        
        return 
    FMRES_IGNORED
    }

    public 
    grab_thinkid //id of the grabber
    {
        new 
    target client_data[id][GRABBED]
        
        
    //Keep grabbed clients from sticking to ladders
        
    if( pevtargetpev_movetype ) == MOVETYPE_FLY && !(pevtargetpev_button ) & IN_JUMP ) ) client_cmdtarget"+jump;wait;-jump" )
        
        
    //Move targeted client
        
    new Float:tmpvec[3], Float:tmpvec2[3], Float:torig[3], Float:tvel[3]
        
        
    get_view_posidtmpvec )
        
        
    tmpvec2 vel_by_aimidclient_data[id][GRAB_LEN] )
        
        
    torig get_target_origin_ftarget )
        
        new 
    force get_pcvar_nump_grab_force )
        
        
    tvel[0] = ( ( tmpvec[0] + tmpvec2[0] ) - torig[0] ) * force
        tvel
    [1] = ( ( tmpvec[1] + tmpvec2[1] ) - torig[1] ) * force
        tvel
    [2] = ( ( tmpvec[2] + tmpvec2[2] ) - torig[2] ) * force
        
        set_pev
    targetpev_velocitytvel )
    }

    stock Float:get_target_origin_fid )
    {
        new 
    Float:orig[3]
        
    pevidpev_originorig )
        
        
    //If grabbed is not a player, move origin to center
        
    if( id MAXPLAYERS )
        {
            new 
    Float:mins[3], Float:maxs[3]
            
    pevidpev_minsmins )
            
    pevidpev_maxsmaxs )
            
            if( !
    mins[2] ) orig[2] += maxs[2] / 2
        
    }
        
        return 
    orig
    }

    public 
    grab_toggleidlevelcid )
    {
        if( !
    client_data[id][GRABBED] ) grabidlevelcid )
        else 
    unset_grabbedid )
        
        return 
    PLUGIN_HANDLED
    }

    public 
    grabidlevelcid )
    {
        if( !
    cmd_accessidlevelcid) || !get_pcvar_nump_enabled ) ) return PLUGIN_HANDLED
        
        
    if ( !client_data[id][GRABBED] ) client_data[id][GRABBED] = -1    
        screenfade_in
    id )
        
        return 
    PLUGIN_HANDLED
    }

    public 
    screenfade_inid )
    {
        if( 
    get_pcvar_nump_fade ) )
        {
            
    message_beginMSG_ONESVC_SCREENFADE_id )
            
    write_short10000 //duration
            
    write_short//hold
            
    write_shortSF_FADE_IN SF_FADE_ONLYONE //flags
            
    write_byteget_pcvar_nump_glow_r ) ) //r
            
    write_byteget_pcvar_nump_glow_g ) ) //g
            
    write_byteget_pcvar_nump_glow_b ) ) //b
            
    write_byteget_pcvar_nump_glow_a ) / //a
            
    message_end( )
        }
    }

    public throw( 
    id )
    {
        new 
    target client_data[id][GRABBED]
        if( 
    target )
        {
            
    set_pevtargetpev_velocityvel_by_aimidget_pcvar_num(p_throw_force) ) )
            
    unset_grabbedid )
            return 
    PLUGIN_HANDLED
        
    }

        return 
    PLUGIN_CONTINUE
    }

    public 
    unset_grabbedid )
    {
        new 
    target client_data[id][GRABBED]
        if( 
    target && pev_validtarget ) )
        {
            
    set_pevtargetpev_renderfxkRenderFxNone )
            
    set_pevtargetpev_rendercolor, {255.0255.0255.0} )
            
    set_pevtargetpev_rendermodekRenderNormal )
            
    set_pevtargetpev_renderamt16.0 )
            
            if( 
    target <= MAXPLAYERS )
                
    client_data[target][GRABBER] = 0
        
    }
        
    client_data[id][GRABBED] = 0
        
        
    if( get_pcvar_nump_fade ) )
        {
            
    message_beginMSG_ONESVC_SCREENFADE_id )
            
    write_short10000 //duration
            
    write_short//hold
            
    write_shortSF_FADEOUT //flags
            
    write_byteget_pcvar_nump_glow_r ) ) //r
            
    write_byteget_pcvar_nump_glow_g ) ) //g
            
    write_byteget_pcvar_nump_glow_b ) ) //b
            
    write_byteget_pcvar_nump_glow_a ) / //a
            
    message_end( )
        }
    }

    //Grabs onto someone
    public set_grabbedidtarget )
    {
        if( 
    get_pcvar_nump_glow ) )
        {
            new 
    Float:color[3]
            
    color[0] = get_pcvar_floatp_glow_r )
            
    color[1] = get_pcvar_floatp_glow_g )
            
    color[2] = get_pcvar_floatp_glow_b )
            
    set_pevtargetpev_renderfxkRenderFxGlowShell )
            
    set_pevtargetpev_rendercolorcolor )
            
    set_pevtargetpev_rendermodekRenderTransColor )
            
    set_pevtargetpev_renderamtget_pcvar_floatp_glow_a ) )
        }
        
        if( 
    target <= MAXPLAYERS )
            
    client_data[target][GRABBER] = id
        client_data
    [id][FLAGS] = 0
        client_data
    [id][GRABBED] = target
        
    new Float:torig[3], Float:orig[3]
        
    pevtargetpev_origintorig )
        
    pevidpev_originorig )
        
    client_data[id][GRAB_LEN] = floatroundget_distance_ftorigorig ) )
        if( 
    client_data[id][GRAB_LEN] < get_pcvar_nump_min_dist ) ) client_data[id][GRAB_LEN] = get_pcvar_nump_min_dist )
    }

    public 
    pushid )
    {
        
    client_data[id][FLAGS] ^= CDF_IN_PUSH
        
    return PLUGIN_HANDLED
    }

    public 
    pullid )
    {
        
    client_data[id][FLAGS] ^= CDF_IN_PULL
        
    return PLUGIN_HANDLED
    }

    public 
    push2id )
    {
        if( 
    client_data[id][GRABBED] > )
        {
            
    do_pushid )
            return 
    PLUGIN_HANDLED
        
    }
        return 
    PLUGIN_CONTINUE
    }

    public 
    pull2id )
    {
        if( 
    client_data[id][GRABBED] > )
        {
            
    do_pullid )
            return 
    PLUGIN_HANDLED
        
    }
        return 
    PLUGIN_CONTINUE
    }

    public 
    do_pushid )
        if( 
    client_data[id][GRAB_LEN] < 9999 )
            
    client_data[id][GRAB_LEN] += get_pcvar_nump_speed )

    public 
    do_pullid )
    {
        new 
    mindist get_pcvar_nump_min_dist )
        new 
    len client_data[id][GRAB_LEN]
        
        if( 
    len mindist )
        {
            
    len -= get_pcvar_nump_speed )
            if( 
    len mindist len mindist
            client_data
    [id][GRAB_LEN] = len
        
    }
        else if( 
    get_pcvar_nump_auto_choke ) )
            
    do_chokeid )
    }

    public 
    do_chokeid )
    {
        new 
    target client_data[id][GRABBED]
        if( 
    client_data[id][FLAGS] & CDF_NO_CHOKE || id == target || target MAXPLAYERS) return
        
        new 
    dmg get_pcvar_nump_choke_dmg )
        new 
    vec[3]
        
    FVecIVecget_target_origin_ftarget ), vec )
        
        
    message_beginMSG_ONESVC_SCREENSHAKE_target )
        
    write_short999999 //amount
        
    write_short9999 //duration
        
    write_short999 //frequency
        
    message_end( )
        
        
    message_beginMSG_ONESVC_SCREENFADE_target )
        
    write_short9999 //duration
        
    write_short100 //hold
        
    write_shortSF_FADE_MODULATE //flags
        
    write_byteget_pcvar_nump_glow_r ) ) //r
        
    write_byteget_pcvar_nump_glow_g ) ) //g
        
    write_byteget_pcvar_nump_glow_b ) ) //b
        
    write_byte200 //a
        
    message_end( )
        
        
    message_beginMSG_ONEWTF_DAMAGE_target )
        
    write_byte//damage armor
        
    write_bytedmg //damage health
        
    write_longDMG_CRUSH //damage type
        
    write_coordvec[0] ) //origin[x]
        
    write_coordvec[1] ) //origin[y]
        
    write_coordvec[2] ) //origin[z]
        
    message_end( )
            
        
    message_beginMSG_BROADCASTSVC_TEMPENTITY )
        
    write_byteTE_BLOODSTREAM )
        
    write_coordvec[0] ) //pos.x
        
    write_coordvec[1] ) //pos.y
        
    write_coordvec[2] + 15 //pos.z
        
    write_coordrandom_num0255 ) ) //vec.x
        
    write_coordrandom_num0255 ) ) //vec.y
        
    write_coordrandom_num0255 ) ) //vec.z
        
    write_byte70 //col index
        
    write_byterandom_num50250 ) ) //speed
        
    message_end( )
        
        
    //Thanks to ConnorMcLeod for making this block of code more proper
        
    new Float:health
        pev
    targetpev_health health)
        
    health -= dmg 
        
    if( health dllfuncDLLFunc_ClientKilltarget )
        else {
            
    set_pevtargetpev_healthhealth )
            
    set_pdata_int(targetm_bitsDamageTypeDMG_CRUSH// m_bitsDamageType = 76 // found by VEN
            
    set_pev(targetpev_dmg_takedmg)
            
    set_pev(targetpev_dmg_inflictorid)
        }
        
        
    client_data[id][FLAGS] ^= CDF_NO_CHOKE
        set_task
    get_pcvar_floatp_choke_time ), "clear_no_choke"TSK_CHKE id )
    }

    public 
    clear_no_choketskid )
    {
        new 
    id tskid TSK_CHKE
        client_data
    [id][FLAGS] ^= CDF_NO_CHOKE
    }

    //Grabs the client and teleports them to the admin
    public force_grab(idlevelcid)
    {
        if( !
    cmd_accessidlevelcid) || !get_pcvar_nump_enabled ) ) return PLUGIN_HANDLED

        
    new arg[33]
        
    read_argv1arg32 )

        new 
    targetid cmd_targetidarg)
        
        if( 
    is_grabbedtargetidid ) ) return PLUGIN_HANDLED
        
    if( !is_user_alivetargetid ) )
        {
            
    client_printidprint_console"[AMXX] %L"id"COULDNT" )
            return 
    PLUGIN_HANDLED
        
    }
        
        
    //Safe to tp target to aim spot?
        
    new Float:tmpvec[3], Float:orig[3], Float:torig[3], Float:trace_ret[3]
        new 
    bool:safe falsei
        
        get_view_pos
    idorig )
        
    tmpvec vel_by_aimidget_pcvar_nump_min_dist ) )
        
        for( new 
    111 && !safej++ )
        {
            
    torig[0] = orig[0] + tmpvec[i] * j
            torig
    [1] = orig[1] + tmpvec[i] * j
            torig
    [2] = orig[2] + tmpvec[i] * j
            
            traceline
    tmpvectorigidtrace_ret )
            
            if( 
    get_distance_ftrace_rettorig ) ) break
            
            
    engfuncEngFunc_TraceHulltorigtorig0HULL_HUMAN0)
            if ( !
    get_tr20TR_StartSolid ) && !get_tr20TR_AllSolid ) && get_tr20TR_InOpen ) )
                
    safe true
        
    }
        
        
    //Still not safe? Then find another safe spot somewhere around the grabber
        
    pevidpev_originorig )
        new try[
    3]
        
    orig[2] += 2
        
    while( try[2] < && !safe )
        {
            for( 
    03i++ )
                switch( try[
    i] )
                {
                    case 
    torig[i] = orig[i] + ( == 80 40 )
                    case 
    torig[i] = orig[i]
                    case 
    torig[i] = orig[i] - ( == 80 40 )
                }
            
            
    tracelinetmpvectorigidtrace_ret )
            
            
    engfuncEngFunc_TraceHulltorigtorig0HULL_HUMAN0)
            if ( !
    get_tr20TR_StartSolid ) && !get_tr20TR_AllSolid ) && get_tr20TR_InOpen )
                    && !
    get_distance_ftrace_rettorig ) ) safe true
            
            
    try[0]++
            if( try[
    0] == )
            {
                try[
    0] = 0
                
    try[1]++
                if( try[
    1] == )
                {
                    try[
    1] = 0
                    
    try[2]++
                }
            }
        }
        
        if( 
    safe )
        {
            
    set_pevtargetidpev_origintorig )
            
    set_grabbedidtargetid )
            
    screenfade_inid )    
        }
        else 
    client_printidprint_chat"[AMXX] %L"id"COULDNT" )

        return 
    PLUGIN_HANDLED
    }

    public 
    is_grabbedtargetgrabber )
    {
        for( new 
    1<= MAXPLAYERSi++ )
            if( 
    client_data[i][GRABBED] == target )
            {
                
    client_printgrabberprint_chat"[AMXX] %L"grabber"ALREADY" )
                
    unset_grabbedgrabber )
                return 
    true
            
    }
        return 
    false
    }

    public 
    DeathMsg( )
        
    kill_grabread_data) )

    public 
    client_disconnectid )
    {
        
    kill_grabid )
        return 
    PLUGIN_CONTINUE
    }

    public 
    kill_grabid )
    {
        
    //If given client has grabbed, or has a grabber, unset it
        
    if( client_data[id][GRABBED] )
            
    unset_grabbedid )
        else if( 
    client_data[id][GRABBER] )
            
    unset_grabbedclient_data[id][GRABBER] )
    }

    stock traceline( const Float:vStart[3], const Float:vEnd[3], const pIgnoreFloat:vHitPos[3] )
    {
        
    engfuncEngFunc_TraceLinevStartvEnd0pIgnore)
        
    get_tr20TR_vecEndPosvHitPos )
        return 
    get_tr20TR_pHit )
    }

    stock get_view_pos( const idFloat:vViewPos[3] )
    {
        new 
    Float:vOfs[3]
        
    pevidpev_originvViewPos )
        
    pevidpev_view_ofsvOfs )        
        
        
    vViewPos[0] += vOfs[0]
        
    vViewPos[1] += vOfs[1]
        
    vViewPos[2] += vOfs[2]
    }

    stock Float:vel_by_aimidspeed )
    {
        new 
    Float:v1[3], Float:vBlah[3]
        
    pevidpev_v_anglev1 )
        
    engfuncEngFunc_AngleVectorsv1v1vBlahvBlah )
        
        
    v1[0] *= speed
        v1
    [1] *= speed
        v1
    [2] *= speed
        
        
    return v1


    Przeczytaj cały wpis

  6. Hello, I have a plugin from Bacardi called Throwingknives. With the help of azalty, I rewrote the code to make it compatible with Noblock. Now, with a little help from AI, I had the code edited again to automatically generate a config file for me. However, I'm getting the error message (/home/groups/sourcemod/upload_tmp/php1Wuyue.sp(5) : error 417: cannot read from file: "stdio.h"). Since I have absolutely no coding experience, I'm completely lost on how to fix this. Does anyone have any ideas?

    Attached Files
    File Type: sp Get Plugin or Get Source (throwingknives_Test.sp - 16.5 KB)

    Wyświetl pełny artykuł



  7. 68747470733a2f2f757365722d696d616765732e

    AMXModX plugins to provide Deathmatch gameplay in Counter-Strike 1.6 optimized to work with ReGameDLL_CS.

    https://ReDeathmatch.github.io/

    68747470733a2f2f696d672e736869656c64732e 68747470733a2f2f696d672e736869656c64732e 68747470733a2f2f696d672e736869656c64732e 68747470733a2f2f696d672e736869656c64732e 68747470733a2f2f696d672e736869656c64732e


    About:
    The mod is a completely rewritten implementation of CSDM ReAPI, to replace legacy code.

    Mod made a look back on the successful experience CSDM 2.1.2 by BAILOPAN, but using modern features of the new ReGameDLL_CS.

    Many features have long been built and optimized to work directly in ReGameDLL_CS, mod now only switches the game settings and provides a comfortable way to control.

    Features:
    • Store game settings (CVars);
    • Round modes (NEW);
    • Config hot-reload;
    • Randomized, preset spawning (you can add new spawn points, spawn presets);
    • Spawn protection (configurable by time and player rendering);
    • Interactive spawn editor;
    • Configurable weapon menus;
    • Team Deathmatch as well as FFA (Free-for-all Deathmatch);
    • Large pieces are optimized in ReGameDLL_CS;
    • Multi-language support;
    • Extraconfigs support:
    • For an individual map (redm/extraconfigs/de_dust2.json);
    • For map prefix (redm/extraconfigs/prefix_aim.json).
    • Counter-Strike: Condition Zero support out of the box;
    • Support for setting a grouping for spawns;
    • Ability to use the mod as a basis for the development of other modes (for example, GunGame);

    Requirements:
    Installation:
    1. Download the latest stable version from the GitHub release section;
    2. Extract the cstrike folder to the root folder of the HLDS server;
    3. Make sure that the plugins are working and that they are located correctly, using the amxx list command.
    The list of plugins should display properly working plugins, for example:
    Quote:

    HTML Code:

    ] amxx list

    Currently loaded plugins:
          id  name                    version    author            file        status
    ...
     [  2] 1  ReDeathmatch            1.0.0-beta  Sergey Shorokhov  ReDeathmatc  debug
     [  3] 2  Spawns manager          1.0.0-beta  Sergey Shorokhov  redm_spawns  debug


    Updating:
    1. Put new plugins and lang-files (plugins/*.amxx & data/**.*) into amxmodx/ folder on the HLDS server;
    2. Restart the server (command restart or change the map);
    3. Make sure that the versions of the plugins are up to date with the command amxx list.

    Commands:
    HTML Code:

    redm_status          | Notifies in console about the status of the mod                               
    redm_disable        | Disables the Deathmatch system                                               
    redm_enable          | Enables the Deathmatch system                                                 
    redm_reload          | Restarts the Deathmatch system                                               
    redm_dump_cvars      | Displays in console a list of the CVars loaded by the system                 
    redm_dump_equip      | Displays in console a list of loaded ammunition, currently available to players
    redm_convert_spawns  | Converts old spawn files for the new system                                   
    redm_edit_spawns    | Toggles the spawn editing mode                                               

    more info in docs: https://redeathmatch.github.io/en/Customizing/commands/

    ConVars:
    HTML Code:

    redm_version                | **System**, displays in Source Query information about the used mod
    redm_healer                | HP amount given to the player (bonus) when killing an opponent
    redm_healer_hs              | Amount of HP given to the player (bonus) when killing an opponent in the head
    redm_sounds_distance        | Minimal distance (units) of the player from others, at which he will hear shots, steps, etc. Used to reduce noise, improve gameplay experience.
    redm_fade                  | illuminate the screen for players when killing an opponent
    redm_refill_ammo            | refill weapon ammunition when you kill an opponent
    redm_hitsound              | sound indication of a hit on an opponent
    mp_damage_headshot_only    | Enable Only-headshot mode for all players
    redm_hide_other_deathnotice | Hiding someone else's kill/deathnotice events for players
    redm_spawn_preset          | Selecting a preset for the spawn manager
    redm_modes_switch          | Selecting the mode of operation of the round mode (Multi-CFG)
    redm_keep_weapon_slot      | When a player is respawn and equipped, the last used slot (weapon) is restored.
    redm_active                | Displaying the working status of the mod
    mp_randomspawn              | Random spawning for players
    mp_randomspawn_los          | Whether to check the visibility of the revived player's opponents before spawning on a point
    mp_randomspawn_dist        | Minimum distance to enemies before spawning to a point

    more info in docs: https://redeathmatch.github.io/en/Customizing/convars/

    Downloads:
    Documentation: https://redeathmatch.github.io/

    Attached Files
    File Type: zip ReDeathmatch-1.0.0-b.8.zip (127.0 KB)
    File Type: sma Get Plugin or Get Source (ReDeathmatch.sma - 5.8 KB)
    File Type: sma Get Plugin or Get Source (redm_spawns.sma - 29.8 KB)

    Przeczytaj cały wpis

  8. I apologize in advance if my request already has a plugin or it turns out there are built-in game commands available, I'm still new to this, I've tried searching for it and didn't find the one that suits what I need.

    It's simple, I want the chat/say to not disappear, the chat will always be displayed and only replaced by a new chat, if possible the number of chats displayed can be adjusted. I saw on YouTube a video with a chat like this, I also saw someone using a chat box, so the chat history can be viewed again without looking at the console, I've also looked for this plugin and didn't get anything.

    if possible, a plugin with just that function, nothing else, thank you all.

    Attached Thumbnails
    Click image for larger version

Name:	chat.png
Views:	N/A
Size:	93.2 KB
ID:	203827  

    Przeczytaj cały wpis

  9. a plugin with a simple construction that I made a while ago but I don't remember why I didn't put it here. I only remembered this plugin when I saw someone in a topic asking about the plugins of a server like infinite shove...so I decided to put it here because it's probably what someone is looking for.

    there are 2 versions of this plugin:

    SHOVE_INFINITE_AND_CHARGER_SHOVE: allows you to perform infinite shove and apply shove to the charger.

    SHOVE_INFINITE_AND_NO_CHARGER_SHOVE: only applies the infinite shove and does not apply the shove on the charger.

    Attached Files
    File Type: sp Get Plugin or Get Source (SHOVE_INFINITE_AND_CHARGER_SHOVE.sp - 640 Bytes)
    File Type: sp Get Plugin or Get Source (SHOVE_INFINITE_AND_NO_CHARGER_SHOVE.sp - 578 Bytes)
    File Type: zip l4d2__plugin_-infinite-shove-and-charger-shove_29550_v2_1.zip (8.0 KB)

    Wyświetl pełny artykuł

  10. WA ADMIN 1: 0812-9270-5283
    WA ADMIN 2: 0812-9270-5421
    WA ADMIN 3: 0822-4104-6007

    Bot Spaceman adalah robot perdagangan mata uang kripto yang canggih yang dirancang untuk menghasilkan keuntungan melalui berbagai strategi perdagangan otomatis. Bot ini menggunakan kombinasi teknik analisis teknis, pembelajaran mesin, dan kecerdasan buatan untuk membuat keputusan perdagangan yang optimal.
    Robot Spaceman Fitur Utama:

    Strategi Perdagangan yang Beragam: Bot Spaceman menawarkan berbagai strategi perdagangan yang dapat disesuaikan dengan profil risiko dan tujuan investasi Anda.
    Analisis Teknis Canggih: Bot ini menggunakan indikator teknis dan pola grafik untuk mengidentifikasi peluang perdagangan yang menguntungkan.
    Manajemen Risiko Otomatis: Bot Spaceman menerapkan manajemen risiko yang canggih untuk meminimalkan kerugian dan melindungi modal Anda.
    Kemudahan Penggunaan: Bot ini dirancang untuk pengguna pemula dan berpengalaman dengan antarmuka yang mudah digunakan dan pengaturan yang intuitif.
    Dukungan Pelanggan: Tim dukungan pelanggan yang responsif siap membantu Anda dengan pertanyaan atau masalah apa pun.
    Cara Kerja Bot Spaceman:

    Pengaturan: Anda memilih strategi perdagangan, mengatur parameter risiko, dan menghubungkan bot ke akun pertukaran mata uang kripto Anda.
    Analisis Pasar: Bot Spaceman secara konstan menganalisis pasar mata uang kripto untuk mencari peluang perdagangan yang menguntungkan.
    Eksekusi Perdagangan: Ketika bot mengidentifikasi peluang, ia akan secara otomatis mengeksekusi perdagangan atas nama Anda.
    Pemantauan dan Pelaporan: Anda dapat memantau kinerja bot dan melacak keuntungan Anda melalui dasbor yang mudah digunakan.
    Keuntungan Menggunakan Bot Spaceman:

    Otomatisasi Perdagangan: Bot Spaceman dapat berdagang 24/7 tanpa perlu intervensi manual.
    Keputusan Perdagangan yang Objektif: Bot ini bebas dari emosi dan bias manusia, sehingga dapat membuat keputusan perdagangan yang lebih rasional.
    Diversifikasi Strategi: Anda dapat menggunakan berbagai strategi perdagangan untuk meminimalkan risiko dan meningkatkan peluang keuntungan.
    Manajemen Risiko Efektif: Bot Spaceman menerapkan teknik manajemen risiko yang canggih untuk melindungi modal Anda.
    Hemat Waktu dan Tenaga: Bot Spaceman dapat menghemat waktu dan tenaga Anda dengan menangani tugas perdagangan yang berulang.
    Pertimbangan Penting:

    Risiko: Meskipun bot Spaceman dirancang untuk meminimalkan risiko, perdagangan mata uang kripto tetap berisiko tinggi dan Anda dapat kehilangan modal.
    Ketergantungan: Mengandalkan bot sepenuhnya dapat berbahaya. Penting untuk memahami cara kerja bot dan pasar mata uang kripto.
    Biaya: Beberapa bot Spaceman mungkin memiliki biaya berlangganan atau biaya lainnya.
    Reputasi: Pilihlah bot Spaceman dari pengembang yang memiliki reputasi baik dan kredibilitas yang terbukti.
    Sumber Informasi:

    Disclaimer
    Harap diingat bahwa informasi ini tidak dapat menjamin keuntungan dalam perdagangan mata uang kripto. Perdagangan mata uang kripto adalah kegiatan berisiko tinggi dan Anda dapat kehilangan modal. Selalu lakukan riset Anda sendiri, pahami risikonya, dan investasikan hanya uang yang Anda mampu untuk kehilangan.

    Wyświetl pełny artykuł

  11. Info
    The plugin shifts the spawn time of the infected in versus to a single point, by default to the middle of 10-second intervals.
    For example, if player 1 is set to spawn at the 42nd second, and player 2 at the 49th, the plugin will spawn both at 45, in the middle between the 40th and 50th seconds of the game. On average, in versus mode, the spawn time is around 26 sec, and overall, the difference is not noticeable because the adjusted time also falls into this range.

    By default, it uses 10-second intervals, with the minimum processed spawn time being 10 seconds, as there is no point in going lower.

    This is more useful in 8v8 games, where it definitely affects the gameplay, especially if the players are not very experienced. I haven't tried it in 4v4, but it could also be an improvement.
    ConVars
    l4d_spawn_time_adjuster_threshold - 10.0 - the plugin will not attempt to shift spawn times below this value.
    l4d_spawn_time_adjuster_window - 10.0 - spawns will be shifted to the middle of intervals of this length. In terms of gameplay, I didn't notice a difference between 10 and 15.
    Requires
    Left 4 DHooks Direct

    Attached Thumbnails
    Click image for larger version

Name:	result.jpg
Views:	N/A
Size:	108.8 KB
ID:	203805  
    Attached Files
    File Type: sp Get Plugin or Get Source (l4d_spawn_time_adjuster.sp - 3.9 KB)

    Wyświetl pełny artykuł

  12. Hi. Is there a way so players can type /sounds in the game chat and not having to listen to the sounds?

    Thanks!

    PHP Code:

    /********************************************************************************
    *  AMX Mod X script.
    *
    *   Ultimate Sounds (Ultimate_Sounds.sma)
    *   Copyright (C) 2006-2008 Bmann_420 / Dizzy / Hoboman
    *
    *   This program is free software; you can redistribute it and/or
    *   modify it under the terms of the GNU General Public License
    *   as published by the Free Software Foundation; either version 2
    *   of the License, or (at your option) any later version.
    *
    *   This program is distributed in the hope that it will be useful,
    *   but WITHOUT ANY WARRANTY; without even the implied warranty of
    *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    *   GNU General Public License for more details.
    *
    *   You should have received a copy of the GNU General Public License
    *   along with this program; if not, write to the Free Software
    *   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    *
    *   In addition, as a special exception, the author gives permission to
    *   link the code of this program with the Half-Life Game Engine ("HL
    *   Engine") and Modified Game Libraries ("MODs") developed by Valve,
    *   L.L.C ("Valve"). You must obey the GNU General Public License in all
    *   respects for all of the code used other than the HL Engine and MODs
    *   from Valve. If you modify this file, you may extend this exception
    *   to your version of the file, but you are not obligated to do so. If
    *   you do not wish to do so, delete this exception statement from your
    *   version.
    *
    *********************************************************************************
    *
    *   AMXX Ultimate Sounds Vers. 1.7
    *   Last Update: 1/26/2007
    *
    *   by  Dizzy / Bmann_420 & Hoboman
    *   Link: http://forums.alliedmods.net/showthread.php?t=7342
    *
    *
    *********************************************************************************
    *
    * ///////////////////////////////////////////////////
    * //  AMXMOD[X]                                    //
    * //   ::Ultimate sounds::                         //
    * //    Origional: by Hephaistos            //
    * //    Ported by: Dizzy                //
    * //    Edited by: Hoboman, bmann_420            //
    * //                                               //
    * // cvar:                                         //
    * //  streak_mode < flags >                        //
    * //  "a" - messages                               //
    * //  "b" - sounds                                 //
    * //                                               //
    * //  knife_mode < flags >                         //
    * //  "a" - messages                               //
    * //  "b" - sounds                                 //
    * //                                               //
    * //  hs_mode < flags >                            //
    * //  "a" - messages                               //
    * //  "b" - sounds                                 //
    * //                                               //
    * //  lastman_mode < flags >                       //
    * //  "a" - messages                               //
    * //  "b" - hp                                     //
    * //  "c" - sounds                                 //
    * ///////////////////////////////////////////////////
    *
    *********************************************************************************
    */

    // Plugin Info
    new const PLUGIN[]  = "Ultimate Sounds"
    new const VERSION[] = "1.8"
    new const AUTHOR[]  = "Dizzy / Bmann_420"

    // Includes
    #include <amxmodx>

    //Defines
    #define KNIFEMESSAGES 5
    #define MESSAGESNOHP 5
    #define MESSAGESHP 5
    #define LEVELS 10

    //Pcvars
    new streak_modeknife_modehs_modelastman_mode

    new gmsgHudSync

    new kills[33] = {0,...};
    new 
    deaths[33] = {0,...};
    new 
    alone_ann 0
    new levels[10] = {234567891011};

    //Streak Sounds
    new stksounds[10][] = 
    {
        
    "misc/multikill",
        
    "misc/megakill",
        
    "misc/ultrakill",
        
    "misc/monsterkill",
        
    "misc/killingspree",
        
    "misc/wickedsick",
        
    "misc/rampage",
        
    "misc/ludacrisskill",
        
    "misc/godlike",
        
    "misc/holyshit"
    }

    new 
    stkmessages[10][] = 
    {
        
    "%s: Multi-Kill!",
        
    "%s: Mega-Kill!",
        
    "%s: Ultra-Kill!",
        
    "%s: Monster-Kill!",
        
    "%s: Killing Spree!",
        
    "%s: Wicked Sick!",
        
    "%s: Rampage!",
        
    "%s: Ludacriss-Kill",
        
    "%s: Godlike!",
        
    "%s: Holy Shit!"
    }

    new 
    knifemessages[KNIFEMESSAGES][] = 
    {
        
    "KNIFE_MSG_1",  
        
    "KNIFE_MSG_2",  
        
    "KNIFE_MSG_3",  
        
    "KNIFE_MSG_4",  
        
    "KNIFE_MSG_5"
    }

    new 
    messagesnohp[MESSAGESNOHP][] = 
    {
        
    "NOHP_MSG_1",  
        
    "NOHP_MSG_2",  
        
    "NOHP_MSG_3",  
        
    "NOHP_MSG_4",  
        
    "NOHP_MSG_5"
    }

    new 
    messageshp[MESSAGESHP][] = 
    {
        
    "HP_MSG_1",  
        
    "HP_MSG_2",  
        
    "HP_MSG_3",  
        
    "HP_MSG_4",  
        
    "HP_MSG_5"
    }

    public 
    plugin_init()
    {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
    register_cvar("ultimate_sounds",VERSION,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
        
    register_dictionary("ultimate_sounds.txt")
        
    register_event("DeathMsg","hs","a","3=1")
        
    register_event("DeathMsg","knife_kill","a","4&kni")
        
    register_event("ResetHUD""reset_hud""b");
        
    register_event("DeathMsg""death_event""a""1>0");
        
    register_event("DeathMsg","death_msg","a")
        
    register_event("SendAudio","roundend_msg","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
        
    register_event("TextMsg","roundend_msg","a","2&#Game_C","2&#Game_w")

        
    lastman_mode register_cvar("lastman_mode","abc")
        
    streak_mode register_cvar("streak_mode","ab")
        
    knife_mode register_cvar("knife_mode","ab")
        
    hs_mode register_cvar("hs_mode","ab")

        
    gmsgHudSync CreateHudSyncObj()

        return 
    PLUGIN_CONTINUE
    }

    get_streak()
    {
        new 
    streak[3]
        
    get_pcvar_string(streak_mode,streak,2)
        return 
    read_flags(streak)
    }

    public 
    death_event(id)
    {
        new 
    streak get_streak()

        if ((
    streak&1) || (streak&2))
        {
               new 
    killer read_data(1);
               new 
    victim read_data(2);
            
            if (
    killer <= get_maxplayers())
                return 
    PLUGIN_CONTINUE;
            
               
    kills[killer] += 1;
               
    kills[victim] = 0;
               
    deaths[killer] = 0;
               
    deaths[victim] += 1;

            for (new 
    0LEVELSi++)
            {
                   if (
    kills[killer] == levels[i])
                {
                    
    announce(killeri);
                    return 
    PLUGIN_CONTINUE;
                }
            }
        }
        return 
    PLUGIN_CONTINUE;
    }

    announce(killerlevel)
    {
        new 
    streak get_streak()

        if (
    streak&1)
        {
                new 
    name[32];

               
    get_user_name(killername32);
            
    set_hudmessage(01002000.050.6520.026.00.010.12);
            
    ShowSyncHudMsg(0gmsgHudSyncstkmessages[level], name);
        }

        if (
    streak&2){
            for(new 
    i=1;i<=get_maxplayers();i++) 
                if(
    is_user_connected(i)==)
                    
    client_cmd(i"spk %s"stksounds[level]); 
        }
    }

    public 
    reset_hud(id)
    {
        new 
    streak get_streak()

        if (
    streak&1)
        {

            if (
    kills[id] > levels[0])

            {
                    
    client_print(idprint_chat,"%L"id"KILL_STREAK"kills[id]);
            }

            else if (
    deaths[id] > 1)

            {
                
    client_print(idprint_chat,"%L"id"DEATH_STREAK"deaths[id]);
            }
        }
    }

    public 
    client_connect(id)
    {
        new 
    streak get_streak()

        if ((
    streak&1) || (streak&2))
        {
            
    kills[id] = 0;
            
    deaths[id] = 0;
        }
    }

    public 
    knife_kill()
    {
        new 
    knifemode[4
        
    get_pcvar_string(knife_mode,knifemode,4
        new 
    knifemode_bit read_flags(knifemode)

        if (
    knifemode_bit 1)
        {
            new 
    killer_id read_data(1)
            new 
    victim_id read_data(2)
            new 
    killer_name[33], victim_name[33]

            
    get_user_name(killer_id,killer_name,33)
            
    get_user_name(victim_id,victim_name,33)


            
    set_hudmessage(2001000, -1.00.3006.06.00.50.151)
            
    ShowSyncHudMsg(0gmsgHudSync"%L"LANG_PLAYERknifemessagesrandom_num(0,KNIFEMESSAGES-1) ],killer_name,victim_name)
        }

        if (
    knifemode_bit 2)
        {
            for(new 
    i=1;i<=get_maxplayers();i++) 
                if( 
    is_user_connected(i) == )
                    
    client_cmd(i,"spk misc/humiliation")
           }
    }


    public 
    roundend_msg(id)

        
    alone_ann 0

    public death_msg(id)
    {

        new 
    lmmode[8
        
    get_pcvar_string(lastman_mode,lmmode,8
        new 
    lmmode_bit read_flags(lmmode)

        new 
    players_ct[32], players_t[32], ictitelast
        get_players
    (players_ct,ict,"ae","CT")   
        
    get_players(players_t,ite,"ae","TERRORIST")   

        if (
    ict==1&&ite==1)
        {
            new 
    name1[32], name2[32]
            
    get_user_name(players_ct[0],name1,32)
            
    get_user_name(players_t[0],name2,32)
            
    set_hudmessage(2001000, -1.00.3006.06.00.50.151)

            if (
    lmmode_bit 1)
            {
                if (
    lmmode_bit 2)
                {
                    
    ShowSyncHudMsg(0gmsgHudSync"%s (%i hp) vs. %s (%i hp)",name1,get_user_health(players_ct[0]),name2,get_user_health(players_t[0]))
                }

                else
                {
                    
    ShowSyncHudMsg(0gmsgHudSync"%s vs. %s",name1,name2)
                }

                if (
    lmmode_bit 4)
                {
                    for(new 
    i=1;i<=get_maxplayers();i++) 
                        if( 
    is_user_connected(i) == )
                            
    client_cmd(i,"spk misc/maytheforce")
                }
            }
        } 
        else
    {   
        if (
    ict==1&&ite>1&&alone_ann==0&&(lmmode_bit 4))
        {
            
    last=players_ct[0]
            
    client_cmd(last,"spk misc/oneandonly")

        }

        else if (
    ite==1&&ict>1&&alone_ann==0&&(lmmode_bit 4))
        {
            
    last=players_t[0]
            
    client_cmd(last,"spk misc/oneandonly")
        }

        else
        {
            return 
    PLUGIN_CONTINUE
        
    }
        
    alone_ann last
        
    new name[32]   
        
    get_user_name(last,name,32)

        if (
    lmmode_bit 1)
        {
            
    set_hudmessage(2001000, -1.00.3006.06.00.50.151)

            if (
    lmmode_bit 2)
            {
                
    ShowSyncHudMsg(0gmsgHudSync"%L"LANG_PLAYERmessageshprandom_num(0,MESSAGESHP-1) ],ite ,ict ,name,get_user_health(last))
            }

            else
            {
                
    ShowSyncHudMsg(0gmsgHudSync"%L"LANG_PLAYERmessagesnohprandom_num(0,MESSAGESNOHP-1) ],ite ,ict ,name )
            }
        }

    }
        return 
    PLUGIN_CONTINUE   
    }


    public 
    hs()
    {
        new 
    hsmode[4
        
    get_pcvar_string(hs_mode,hsmode,4
        new 
    hsmode_bit read_flags(hsmode)

        if (
    hsmode_bit 1)
        {
        new 
    killer_id read_data(1)
        new 
    victim_id read_data(2)
        new 
    victim_name[33]

        
    get_user_name(victim_id,victim_name,33)

        
    set_hudmessage(2001000, -1.00.3003.03.00.150.151)
        
    ShowSyncHudMsg(killer_idgmsgHudSync"::HEADSHOT::^nYou Owned %s !!",victim_name)
        }

        if (
    hsmode_bit 2)
        {
            for(new 
    i=1;i<=get_maxplayers();i++) 
                if( 
    is_user_connected(i)==)
                    
    client_cmd(i,"spk misc/headshot")
        }
    }

    public 
    plugin_precache()
    {
        
    precache_sound("misc/monsterkill.wav")
        
    precache_sound("misc/godlike.wav")
        
    precache_sound("misc/headshot.wav")
        
    precache_sound("misc/humiliation.wav")
        
    precache_sound("misc/killingspree.wav")
        
    precache_sound("misc/multikill.wav")
        
    precache_sound("misc/ultrakill.wav")
        
    precache_sound("misc/maytheforce.wav")
        
    precache_sound("misc/oneandonly.wav")
        
    precache_sound("misc/rampage.wav")
        
    precache_sound("misc/holyshit.wav")
        
    precache_sound("misc/megakill.wav")
        
    precache_sound("misc/wickedsick.wav")
        
    precache_sound("misc/ludacrisskill.wav")
            
        return 
    PLUGIN_CONTINUE 


    Przeczytaj cały wpis

    • Description
      Records all kills on a counter for each weapon
    • Modules
      1. nVault - database module
      2. JSON - value of key entry
    • Cvars
      hud_channel_stattrak (default: -1) channel to use on the client
    • Commands
    • say stattrak - stats menu
    • Notes
      Able to see other players' current weapon kills
      First seen https://forums.alliedmods.net/showthread.php?t=344745
    • Image
      68747470733a2f2f692e6962622e636f2f4c4350
      68747470733a2f2f692e6962622e636f2f5a3279

    Attached Files
    File Type: sma Get Plugin or Get Source (stattrak.sma - 3.5 KB)

    Przeczytaj cały wpis

  13. Very old plugin that I had from 2018 when I was learning Sourcemod. HL2DM does not really give you hints as to how to easily switch teams. This should solve this problem through commands or through a menu. Just updated it quickly. Match servers may have that, but for servers that do not ( looking at public servers ), this should be fine.

    !teams/!switch - Will open a menu to switch teams.
    !rebels - Switch to rebels.
    !combine - Switch to combine.
    !spec/!spectate - Switch to spectators.

    N.B. Requires cl_showpluginmessages to be to 1 for menus to show.

    In theory, this should also work in any games that support the jointeam command.

    Attached Files
    File Type: sp Get Plugin or Get Source (jointeam.sp - 4.9 KB)

    Wyświetl pełny artykuł

  14. Hungry Heavy Delivery

    :: Description
    In this mode, players play as delivery boys who are tasked with delivering pizzas to the locals. The primary objectives are to deliver as many pizzas as possible and to achieve maximum airtime by navigating through the map's intricate layout. Success in this mode depends on agility, strategic movement, and sometimes team coordination depending on the game type.

    :: Installation
    All information on installation is in the Github repository README.

    Download | Repository

    Wyświetl pełny artykuł

  15. Mewtwo Rescue
    v1.0, posted at : 16/03/2024

    * IMPORTANT WARNING *
    This is not a normal plugin release. I started this project on an "as long as it works" mod.
    It is very poorly coded and cpu expensive. I mean, really bad, i was on lazy mode.
    Probably I will not continue developing this mod so if anyone wants to take over feel free to optimize it.



    Information
    • Defeat Deoxys (NPC) to win the game
    • Get masterballs to catch the Shadow Mewtwos
    • Once a Shadow Mewtwo gets caught it will purify and help you
    • Do damage to upgrade your pokemon and get masterballs


    Youtube Video


    Recommended Plugins
    Credits to Dias and frk_14

    Attached Files
    File Type: zip moon.zip (2.95 MB)
    File Type: zip Mewtwo_Rescue.zip (18.52 MB)
    File Type: sma Get Plugin or Get Source (mewtwo_rescue_v1.sma - 66.2 KB)

    Przeczytaj cały wpis

×
×
  • Dodaj nową pozycję...