←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Knife szybsze bieganie.


Najlepsza odpowiedź bioly05 27.11.2013 22:09

/* AMX Mod X Plugin
* 
* (c) Copyright 2007, DokTor 
* This file is provided as is (no warranties). 
* 
*/ 

#include <amxmodx>
#include <fakemeta>

#define MAX_PLAYERS        32
#define OFFSET_TEAM        114

//                        Red      Green  Blue 
new Float:fColorT[3]  = {255.0, 100.0, 100.0}
new Float:fColorCT[3] = {100.0, 100.0, 255.0}
new Float:fAlpha = 200.0 // Alpha = Visibility (255 = Visible, 0 = Invisible)
                    // Alpha at 100 = Less than Half Visible

new Float:fDefault[3] = {255.5, 255.0, 255.0}
new Float:fAlphaReset = 16.0

new knife_speed, sv_maxspeed, knife_glow

new bool:g_RestartAttempt[MAX_PLAYERS+1]
new bool:g_glowed[MAX_PLAYERS+1]
new bool:g_freezetime = true
new Float:g_knife_speed

public plugin_init() {
    register_plugin("Knife Speed", "1.0", "ConnorMcLeod") // based on v3x's speeds plugin

    knife_speed = register_cvar("knife_speed", "320") // max 400
    knife_glow = register_cvar("knife_glow", "0")
    
    register_event("HLTV", "eNewRound", "a", "1=0", "2=0")
    register_logevent("eRoundStart", 2, "1=Round_Start")
    register_event("CurWeapon", "eCurWeapon_knife", "be", "1=1")
    register_event("DeathMsg", "eDeathMsg", "a")
    register_event("TextMsg", "eRestartAttempt", "a", "2=#Game_will_restart_in")
    register_event("ResetHUD", "eResetHUD", "be")

    register_clcmd("clcmd_fullupdate", "fullupdateCmd")
}


public fullupdateCmd() {
    return PLUGIN_HANDLED_MAIN
}

public eRestartAttempt() {
    new players[32], num
    get_players(players, num, "a")
    for (new i; i < num; ++i)
        g_RestartAttempt[players[i]] = true
}
//pobrano z cs-puchatek.pl
public eResetHUD(id) {
    if (g_RestartAttempt[id]) {
        g_RestartAttempt[id] = false
        return
    }
    event_player_spawn(id)
}
 
public event_player_spawn(id) {
    if(g_glowed[id])
        reset_glow(id)
}

public plugin_cfg() {
    sv_maxspeed = get_cvar_pointer("sv_maxspeed")

    g_knife_speed = get_pcvar_float(knife_speed)
    if( get_pcvar_float(sv_maxspeed) < g_knife_speed)
        set_pcvar_float(sv_maxspeed, g_knife_speed)
}

public eNewRound() {
    g_freezetime = true

    g_knife_speed = get_pcvar_float(knife_speed)
    if( get_pcvar_float(sv_maxspeed) < g_knife_speed)
        set_pcvar_float(sv_maxspeed, g_knife_speed)
}

public eRoundStart() {
    g_freezetime = false
    set_task(0.1, "check_players")
}

public check_players() {
    new players[MAX_PLAYERS], inum, id, dummy
    get_players(players, inum, "ah")
    for(new i; i<inum; i++) {
        id = players[i]

        if(get_user_weapon(id, dummy, dummy) != CSW_KNIFE)
            continue

        engfunc(EngFunc_SetClientMaxspeed, id, g_knife_speed)
        set_pev(id, pev_maxspeed, g_knife_speed)
        if( get_pcvar_num(knife_glow) )
            set_glow(id)
    }
}

public eCurWeapon_knife(id) {
    if(g_freezetime)
        return

    new weapon = read_data(2)
    if(weapon == CSW_KNIFE) {
        engfunc(EngFunc_SetClientMaxspeed, id, g_knife_speed)
        set_pev(id, pev_maxspeed, g_knife_speed)
        if( get_pcvar_num(knife_glow) )
            set_glow(id)
    }
    else if(g_glowed[id])
    {
        reset_glow(id)
    }
}

public eDeathMsg() {
    new victim = read_data(2)
    if(g_glowed[victim])
        reset_glow(victim)
}    

set_glow(id) {
    set_pev(id, pev_renderfx, kRenderFxGlowShell)
    switch(get_pdata_int(id, OFFSET_TEAM))
    {
        case 1:set_pev(id, pev_rendercolor, fColorT)
        case 2:set_pev(id, pev_rendercolor, fColorCT)
    }
    set_pev(id, pev_rendermode, kRenderTransAlpha)
    set_pev(id, pev_renderamt, fAlpha)
    g_glowed[id] = true
}

reset_glow(id) {
    set_pev(id, pev_renderfx, kRenderFxNone)
    set_pev(id, pev_rendercolor, fDefault)
    set_pev(id, pev_rendermode, kRenderNormal)
    set_pev(id, pev_renderamt, fAlphaReset)
    g_glowed[id] = false
}  

Skompiluj i powinno działać.

Przejdź do postu
Zablokowany

  • +
  • -
smieszny - zdjęcie smieszny 27.11.2013

Jak ustawić aby na nożu szybciej się biegało, dla wszystkich graczy ?

Odpowiedz

  • +
  • -
Kaktus. - zdjęcie Kaktus. 27.11.2013

To jest ustawione automatycznie, ale nie jest to wielka różnica, chyba po prostu tego nie dostrzegasz. A jeżeli tak nie masz na serwerze, to musiałeś to najpierw wyłączyć.

Odpowiedz

  • +
  • -
smieszny - zdjęcie smieszny 27.11.2013

Chcę aby jak gracze zmieniają z broni na nuż mogli szybciej biegać ;] , nie standardowe tylko jeszcze szybciej chcę ustawić ;x

 


Użytkownik smieszny edytował ten post 27.11.2013 16:03
Odpowiedz

  • +
  • -
Najlepsza odpowiedź bioly05 - zdjęcie bioly05 27.11.2013

/* AMX Mod X Plugin
* 
* (c) Copyright 2007, DokTor 
* This file is provided as is (no warranties). 
* 
*/ 

#include <amxmodx>
#include <fakemeta>

#define MAX_PLAYERS        32
#define OFFSET_TEAM        114

//                        Red      Green  Blue 
new Float:fColorT[3]  = {255.0, 100.0, 100.0}
new Float:fColorCT[3] = {100.0, 100.0, 255.0}
new Float:fAlpha = 200.0 // Alpha = Visibility (255 = Visible, 0 = Invisible)
                    // Alpha at 100 = Less than Half Visible

new Float:fDefault[3] = {255.5, 255.0, 255.0}
new Float:fAlphaReset = 16.0

new knife_speed, sv_maxspeed, knife_glow

new bool:g_RestartAttempt[MAX_PLAYERS+1]
new bool:g_glowed[MAX_PLAYERS+1]
new bool:g_freezetime = true
new Float:g_knife_speed

public plugin_init() {
    register_plugin("Knife Speed", "1.0", "ConnorMcLeod") // based on v3x's speeds plugin

    knife_speed = register_cvar("knife_speed", "320") // max 400
    knife_glow = register_cvar("knife_glow", "0")
    
    register_event("HLTV", "eNewRound", "a", "1=0", "2=0")
    register_logevent("eRoundStart", 2, "1=Round_Start")
    register_event("CurWeapon", "eCurWeapon_knife", "be", "1=1")
    register_event("DeathMsg", "eDeathMsg", "a")
    register_event("TextMsg", "eRestartAttempt", "a", "2=#Game_will_restart_in")
    register_event("ResetHUD", "eResetHUD", "be")

    register_clcmd("clcmd_fullupdate", "fullupdateCmd")
}


public fullupdateCmd() {
    return PLUGIN_HANDLED_MAIN
}

public eRestartAttempt() {
    new players[32], num
    get_players(players, num, "a")
    for (new i; i < num; ++i)
        g_RestartAttempt[players[i]] = true
}
//pobrano z cs-puchatek.pl
public eResetHUD(id) {
    if (g_RestartAttempt[id]) {
        g_RestartAttempt[id] = false
        return
    }
    event_player_spawn(id)
}
 
public event_player_spawn(id) {
    if(g_glowed[id])
        reset_glow(id)
}

public plugin_cfg() {
    sv_maxspeed = get_cvar_pointer("sv_maxspeed")

    g_knife_speed = get_pcvar_float(knife_speed)
    if( get_pcvar_float(sv_maxspeed) < g_knife_speed)
        set_pcvar_float(sv_maxspeed, g_knife_speed)
}

public eNewRound() {
    g_freezetime = true

    g_knife_speed = get_pcvar_float(knife_speed)
    if( get_pcvar_float(sv_maxspeed) < g_knife_speed)
        set_pcvar_float(sv_maxspeed, g_knife_speed)
}

public eRoundStart() {
    g_freezetime = false
    set_task(0.1, "check_players")
}

public check_players() {
    new players[MAX_PLAYERS], inum, id, dummy
    get_players(players, inum, "ah")
    for(new i; i<inum; i++) {
        id = players[i]

        if(get_user_weapon(id, dummy, dummy) != CSW_KNIFE)
            continue

        engfunc(EngFunc_SetClientMaxspeed, id, g_knife_speed)
        set_pev(id, pev_maxspeed, g_knife_speed)
        if( get_pcvar_num(knife_glow) )
            set_glow(id)
    }
}

public eCurWeapon_knife(id) {
    if(g_freezetime)
        return

    new weapon = read_data(2)
    if(weapon == CSW_KNIFE) {
        engfunc(EngFunc_SetClientMaxspeed, id, g_knife_speed)
        set_pev(id, pev_maxspeed, g_knife_speed)
        if( get_pcvar_num(knife_glow) )
            set_glow(id)
    }
    else if(g_glowed[id])
    {
        reset_glow(id)
    }
}

public eDeathMsg() {
    new victim = read_data(2)
    if(g_glowed[victim])
        reset_glow(victim)
}    

set_glow(id) {
    set_pev(id, pev_renderfx, kRenderFxGlowShell)
    switch(get_pdata_int(id, OFFSET_TEAM))
    {
        case 1:set_pev(id, pev_rendercolor, fColorT)
        case 2:set_pev(id, pev_rendercolor, fColorCT)
    }
    set_pev(id, pev_rendermode, kRenderTransAlpha)
    set_pev(id, pev_renderamt, fAlpha)
    g_glowed[id] = true
}

reset_glow(id) {
    set_pev(id, pev_renderfx, kRenderFxNone)
    set_pev(id, pev_rendercolor, fDefault)
    set_pev(id, pev_rendermode, kRenderNormal)
    set_pev(id, pev_renderamt, fAlphaReset)
    g_glowed[id] = false
}  

Skompiluj i powinno działać.

Odpowiedz
Zablokowany