Raised This Month: $214 Target: $400
 53% 

[L4D & L4D2] Stop WallKicking [05 December 2013]


Post New Thread Reply   
 
Thread Tools Display Modes
Author
disawar1
AlliedModders Donor
Join Date: Aug 2011
Location: Russian
Plugin ID:
3314
Plugin Version:
1.1
Plugin Category:
General Purpose
Plugin Game:
Left 4 Dead
Plugin Dependencies:
    Servers with this Plugin:
    2 
    Plugin Description:
    Prevents players from using the wallkicking trick
    Old 10-21-2012 , 18:08   [L4D & L4D2] Stop WallKicking [05 December 2013]
    Reply With Quote #1

    Description:
    Prevents players from using the wallkicking in L4D and L4D2. This trick can be used while playing as hunter. I use this plugin in 1v1 competitive modes. If you do not have any idea what is that, do not use it.

    Сonsole variables:
    PHP Code:
    // ConVar                     |  Default Value      |  Description
    "stop_wallkicking_version"        "1.1"                "Stop Wall Kicking plugin version"
    "stop_wallkicking_enable"         "1"                  "Enables/disables the Stop Wall Kicking plugin"
    "stop_wallkicking_mode"           "0"                  "How the plugin prevents wall kicking. 0: block trick, 1: slay player" 
    Source code on Bitbucket

    Changelog:
    v 1.1 (05 December 2013)
    - Improved wallkicking detection mechanism
    - Fixed wallkicking false detections
    - Added option to block wallkicking instead of slaying hunter
    v 1.0 (26 October 2012) ~231 views
    - Release.
    Attached Files
    File Type: smx WallKicking.smx (6.8 KB, 394 views)
    __________________

    Last edited by disawar1; 12-04-2013 at 16:51. Reason: update 1.1
    disawar1 is offline
    l4d2master
    Member
    Join Date: Jun 2012
    Old 10-25-2012 , 19:29   Re: [L4D & L4D2] Stop WallKicking
    Reply With Quote #2

    Valve intentionally put that into the game. If you watch the introduction video carefully, the hunter in the movie does it just before leaping at louis. He sort of hangs of a ledge and pushes off the wall to lunge away from it. It was supposed to be in the game.
    l4d2master is offline
    Jaaack
    New Member
    Join Date: Dec 2012
    Old 12-19-2012 , 15:02   Re: [L4D & L4D2] Stop WallKicking
    Reply With Quote #3

    Hello,
    this is the plugin i waited for. but after downloading and installing i have a problem.
    hlsw console says: 08 <Failed> "Stop Wall Kicking" (1.0) by raziEiL [disawar1]
    can you pls help?
    thx
    Jaaack is offline
    disawar1
    AlliedModders Donor
    Join Date: Aug 2011
    Location: Russian
    Old 12-23-2012 , 22:24   Re: [L4D & L4D2] Stop WallKicking
    Reply With Quote #4

    Quote:
    Originally Posted by Jaaack
    Hello,
    this is the plugin i waited for. but after downloading and installing i have a problem.
    hlsw console says: 08 <Failed> "Stop Wall Kicking" (1.0) by raziEiL [disawar1]

    when there is only sourcemod on my server and the newer versions from stripper and sdkhooks and so on, i is loading your plugin.
    but when my server is ready as i need it, your plugin failed.

    Listing 6 plugins:
    [01] <NOFILE>
    [02] SourceMod (1.4.0-dev) by AlliedModders LLC
    [03] <ERROR>
    [04] Left 4 Downtown Extension (0.4.2.0) by Igor "Downtown1" Smirnov / Andrew "XBetaAlpha" Burrows
    [05] SDK Tools (1.4.0-dev) by AlliedModders LLC
    [06] SDK Hooks (1.3.0) by Tsunami


    [SM] Listing 28 plugins:
    01 "All4Dead" (1.5.1) by James Richardson (grandwazir)
    02 "[L4D] Character Select Menu" (1.3) by MI 5
    03 "Comp Loader" (1.1) by jackpf, wrecked by archer : D
    04 "L4D SM Set Model" (1.0.0) by AtomicStryker
    05 "[L4D] Spawn Minigun" (1.0) by 4nt1h4cker
    06 "L4D SM Respawn" (1.9.3) by AtomicStryker & Ivailosp
    07 <Failed> "Stop Wall Kicking" (1.0) by raziEiL [disawar1]
    08 "MapChooser" (1.4.0-dev) by AlliedModders LLC
    09 "Friendly House" (0.92) by Mr. Zero
    10 "[L4D] Safe Room Hunter Glitch Blocker" (1.0) by djromero (skyDavid)
    11 "Heartbeat trigger" (1.0) by B-man
    12 "Skeet Announce" (1.31) by n0limit
    13 "Tank Damage Announce" (0.5) by Griffin
    14 "Votekick Escape Ban" (1.2) by Die Teetasse
    15 "L4D Vote Manager 2" (1.5.5) by Madcap
    16 "L4DSwitchPlayers" (1.4) by SkyDavid (djromero)
    17 "4v4 HC Loader" (0.2) by Mihais
    18 "Basic Ban Commands" (1.4.0-dev) by AlliedModders LLC
    19 "Basic Comm Control" (1.4.0-dev) by AlliedModders LLC
    20 "Basic Commands" (1.4.0-dev) by AlliedModders LLC
    21 "Admin File Reader" (1.4.0-dev) by AlliedModders LLC
    22 "Admin Help" (1.4.0-dev) by AlliedModders LLC
    23 "Admin Menu" (1.4.0-dev) by AlliedModders LLC
    24 "Player Commands" (1.4.0-dev) by AlliedModders LLC
    25 "L4D Score/Team Manager" (1.1.1) by Downtown1
    26 "L4D Ready Up 4v4 xaN" (0.16.3.jackpf) by Downtown1, modded by Jackpf
    27 "Rotoblin" (0.8.1) by Rotoblin Team
    28 "ZACK" (0.5.0) by Mr. Zero

    can you pls help?
    thx
    Let me guess you are using an outdated version of SM/MM because rotoblin does not work on new versions?
    1. http://www.sourcemod.net/downloads.php
    2. http://code.google.com/p/rotoblin2/
    __________________
    disawar1 is offline
    fenghf
    Member
    Join Date: Apr 2010
    Old 12-24-2012 , 05:07   Re: [L4D & L4D2] Stop WallKicking
    Reply With Quote #5

    ?
    PHP Code:
    #pragma semicolon 1

    #include <sourcemod>
    #include <sdktools>
    #include "includes/left4downtown.inc"

    enum SIClasses 
    {
        
    SMOKER_CLASS=1,
        
    BOOMER_CLASS,
        
    HUNTER_CLASS,
        
    WITCH_CLASS,
        
    TANK_CLASS,
        
    NOTINFECTED_CLASS
    }

    static 
    String:SINames[_:SIClasses][] =
    {
        
    "",
        
    "smoker",
        
    "boomer",
        
    "hunter",
        
    "witch",
        
    "tank",
        
    ""
    };

    new 
    Handle:hSpecialInfectedHP[_:SIClasses];

    stock GetSpecialInfectedHP(class) return GetConVarInt(hSpecialInfectedHP[class]);
    stock GetZombieClass(client) return GetEntProp(clientProp_Send"m_zombieClass");

    new 
    Handle:CVar_Rules INVALID_HANDLE;

    public 
    Plugin:myinfo 
    {
        
    name "1v1 Plugin",
        
    author "jackpf",
        
    description "A plugin designed to support 1v1.",
        
    version "3",
        
    url "http://jackpf.co.uk"
    }

    public 
    OnPluginStart()
    {
        
    CVar_Rules CreateConVar("rotoblin_1v1_rules""""1v1 rules."FCVAR_PLUGIN FCVAR_SPONLY FCVAR_NOTIFY);
        
    CreateTimer(10.0DisplayRules_);
        
        
    HookEvent("player_hurt"PlayerHurt_Event);
        
    HookEvent("player_jump"PlayerJump_Event);
        
        
    decl String:buffer[17];
        for (new 
    1_:SIClassesi++)
        {
            
    Format(buffersizeof(buffer), "z_%s_health"SINames[i]);
            
    hSpecialInfectedHP[i] = FindConVar(buffer);
        }
    }

    public 
    Action:PlayerHurt_Event(Handle:event, const String:name[], bool:dontBroadcast)
    {
        new 
    attacker GetClientOfUserId(GetEventInt(event"attacker"));
        
        if (!
    attacker) return Plugin_Continue;
        
        new 
    damage GetEventInt(event"dmg_health");
        new 
    zombie_class GetZombieClass(attacker);
        
        if (
    GetClientTeam(attacker) == && zombie_class != _:TANK_CLASS && damage 25
        {
            new 
    remaining_health GetClientHealth(attacker);
            
    PrintToChatAll("[1v1] %N had %d health remaining!"attackerremaining_health);
            if (
    remaining_health <= RoundToCeil(GetSpecialInfectedHP(zombie_class) * 0.1))
            {
                new 
    survivor GetClientOfUserId(GetEventInt(event"userid"));
                
    PrintToChat(survivor"umadbro?");
            }
            
    ForcePlayerSuicide(attacker);
        }
        
        return 
    Plugin_Continue;
    }
    public 
    Action:PlayerJump_Event(Handle:event, const String:name[], bool:dontBroadcast)
    {
        new 
    Client GetClientOfUserId(GetEventInt(event"userid"));
        
        if(
    GetClientTeam(Client) == /*infected*/ && (GetClientButtons(Client) & IN_JUMP/*is not using normal wall pounce (using wallkick)*/)
        {
            
    HookEvent("ability_use"AbilityUse_Event);
            
    CreateTimer(0.5GroundTouchTimerClientTIMER_REPEAT);
        }
        
        return 
    Plugin_Continue;
    }
    public 
    Action:GroundTouchTimer(Handle:timerany:client)
    {
        if((
    isClient(client) && (GetEntProp(clientProp_Data"m_fFlags") & FL_ONGROUND) > 0) || !IsPlayerAlive(client))
        {
            
    UnhookEvent("ability_use"AbilityUse_Event);
            
    KillTimer(timer);
        }
        
        return 
    Plugin_Continue;
    }
    public 
    Action:AbilityUse_Event(Handle:event, const String:name[], bool:dontBroadcast)
    {
        new 
    Client GetClientOfUserId(GetEventInt(event"userid"));
        new 
    String:AbilityName[64];
        
        
    GetEventString(event"ability"AbilityNamesizeof(AbilityName));
        if(
    isClient(Client) && strcmp(AbilityName"ability_lunge"false) == 0//pouncing
        
    {
            
    ForcePlayerSuicide(Client);
            
    PrintToChatAll("[1v1] Blocked %N from wallkicking."Client);
            return 
    Plugin_Stop;
        }
        
        return 
    Plugin_Continue;
    }
    public 
    bool:isClient(client)
    {
        return 
    IsClientConnected(client) && IsClientInGame(client) && !IsFakeClient(client);
    }

    /*public Action:L4D_OnSpawnTank(const Float:vector[3], const Float:qangle[3])
    {
        if (L4D_IsMissionFinalMap()) return Plugin_Continue;
        
        return Plugin_Handled;
    }*/

    public OnClientPutInServer(client)
    {
        
    CreateTimer(10.0DisplayRulesclient);
    }

    public 
    Action:DisplayRules(Handle:timerany:data)
    {
        new 
    String:Rules[1024];
        
    GetConVarString(CVar_RulesRulessizeof(Rules));
        if(!
    data)
            
    PrintToChatAll("[1v1] %s"Rules);
        else if(
    data && IsClientInGame(data))
            
    PrintToChat(data"[1v1] %s"Rules);
        
        
    KillTimer(timer);
        return 
    Plugin_Handled;

    fenghf is offline
    disawar1
    AlliedModders Donor
    Join Date: Aug 2011
    Location: Russian
    Old 12-04-2013 , 16:52   Re: [L4D & L4D2] Stop WallKicking [05 December 2013]
    Reply With Quote #6

    Plugin update!
    __________________
    disawar1 is offline
    Reply


    Thread Tools
    Display Modes

    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 05:39.


    Powered by vBulletin®
    Copyright ©2000 - 2021, vBulletin Solutions, Inc.
    Theme made by Freecode