AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Team Killing OFF ? (https://forums.alliedmods.net/showthread.php?t=135440)

Ex3cuTioN 08-16-2010 08:37

Team Killing OFF ?
 
I saw on a respawn server, i could kill my team and +1 frags.

On that server i could kill everyone i saw, ct's and t's.

How ? can you give/make the plugin

GXLZPGX 08-16-2010 09:12

Re: Team Killing OFF ?
 
Quote:

Originally Posted by Ex3cuTioN (Post 1272494)
I saw on a respawn server, i could kill my team and +1 frags.

On that server i could kill everyone i saw, ct's and t's.

How ? can you give/make the plugin

This is the scripting help forum so I'm gonna guess you know how to script, if not, go to suggestions/requests.

You can use ham sandwich and cstrike and fun for this.

Ham Sandwich - For registering Ham_Killed and call an event on death.
Cstrike - Much more simple when retrieving teams (just my thought)
Fun - Setting user frags.

PHP Code:

#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define PLUGIN    "Team Killing"
#define AUTHOR    "Shadow"
#define VERSION    "1.0"

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
RegisterHamHam_Killed"player""Death")
}

public 
Death(iVictimiAttacker)
{
    if( 
iVictim == iAttacker )
    {
        return 
PLUGIN_HANDLED;
    }
    
    if( 
cs_get_user_team(iVictim) == CS_TEAM_T && cs_get_user_team(iAttacker) == CS_TEAM_T )
    {
        new 
frags get_user_frags(iAttacker)
        
set_user_frags(iAttackerfrags 2)
        
        return 
PLUGIN_HANDLED;
    }
    
    if( 
cs_get_user_team(iVictim) == CS_TEAM_CT && cs_get_user_team(iAttacker) == CS_TEAM_CT )
    {
        new 
frags get_user_frags(iAttacker)
        
set_user_frags(iAttackerfrags 2)
        
         return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_HANDLED;


Probably not the best method.

ConnorMcLeod 08-16-2010 09:51

Re: Team Killing OFF ?
 
PHP Code:

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define VERSION "0.0.3"

#define MAX_PLAYERS    32

#define TEAM_T        1
#define TEAM_CT    2

#define XO_PLAYER    5
#define m_iTeam    114

#define cs_get_user_team_index(%1)        get_pdata_int(%1, m_iTeam, XO_PLAYER)
#define cs_set_user_team_index(%1,%2)    set_pdata_int(%1, m_iTeam, %2, XO_PLAYER)

#define IsPlayer(%1)    ( 1 <= %1 <= g_iMaxPlayers )

new g_iMaxPlayers
new g_iVictimTeam
new HamHook:g_iHhTakeDamagePost

public plugin_init()
{
    
register_plugin("Real FriendlyFire"VERSION"ConnorMcLeod")

    
RegisterHam(Ham_TakeDamage"player""Player_TakeDamage_Pre")
    
g_iHhTakeDamagePost RegisterHam(Ham_TakeDamage"player""Player_TakeDamage_Post"1)
    
DisableHamForwardg_iHhTakeDamagePost )

    
g_iMaxPlayers get_maxplayers()
}

public 
Player_TakeDamage_Pre(iVictimiInflictoriAttacker)
{
    if( 
IsPlayeriAttacker ) && iVictim != iAttacker )
    {
        
g_iVictimTeam cs_get_user_team_index(iVictim)
        if( 
g_iVictimTeam == cs_get_user_team_index(iAttacker) )
        {
            
cs_set_user_team_index(iVictimg_iVictimTeam == TEAM_T TEAM_CT TEAM_T)
            
EnableHamForwardg_iHhTakeDamagePost )
            return 
HAM_HANDLED
        
}
    }
    return 
HAM_IGNORED
}

public 
Player_TakeDamage_Post(iVictim)
{
    
cs_set_user_team_index(iVictimg_iVictimTeam)
    
DisableHamForwardg_iHhTakeDamagePost )



Hunter-Digital 08-17-2010 00:00

Re: Team Killing OFF ?
 
I'm wondering, is there any chance that your g_iVictimTeam be overwritten by paralel ham_damage ?

ConnorMcLeod 08-17-2010 08:10

Re: Team Killing OFF ?
 
Unless another plugin hook takedamage and send a new one, it shouldn't happen.


All times are GMT -4. The time now is 22:02.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.