Raised This Month: $51 Target: $400
 12% 

[req] Anti Camp


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
frenetico9
Junior Member
Join Date: Feb 2021
Old 02-17-2021 , 16:02   [req] Anti Camp
Reply With Quote #1

i want help to make this anti camp plugin work according to the goal, planted the c4 anti camp works for ct, if not planted the c4 works only for TR

PHP Code:
#include <amxmodx> 
#include <fun> 

#define SND_STOP (1<<5) 

new playercoord0[33][3
new 
playercoord1[33][3
new 
playercoord2[33][3
new 
playercoord3[33][3
new 
playercoord4[33][3
new 
campmeter[33
new 
bool:pausecounter[33
new 
bool:bombplanted 
new bool:de_map 
new camptolerancedefending 180 
new camptoleranceattacking 220 



public sqrt(num) { 
    new 
div num
    new 
result 1
    while (
div result) {    // end when div == result, or just below 
        
div = (div result) / 2    // take mean value as new divisor 
        
result num div 
    

    return 
div


public 
unpausecounter(parm[]) { 
    new 
id parm[0
    
pausecounter[id] = false 
    
return PLUGIN_CONTINUE 


public 
displaymeter(id) { 
    if (
get_cvar_num("anticamping_meter") != 0) { 
        if (
campmeter[id] > 100) { 
            
set_hudmessage(25500, -1.00.8501.02.00.10.14
            
show_hudmessage(id,"Medidor Camper: %i%",campmeter[id]) 
        } else if (
campmeter[id] > 90) { 
            
set_hudmessage(25500, -1.00.8501.02.00.10.14
            
show_hudmessage(id,"Medidor Camper: %i%",campmeter[id]) 
        } else if (
campmeter[id] > 80){ 
            
set_hudmessage(2551000, -1.00.8501.02.00.10.14
            
show_hudmessage(id,"Medidor Camper: %i%",campmeter[id]) 
        } else if (
campmeter[id] > 50 ) { 
            
set_hudmessage(2552550, -1.00.8501.02.00.10.14
            
show_hudmessage(id,"Medidor Camper: %i%",campmeter[id]) 
        } else if (
campmeter[id] > 20 ) { 
            
set_hudmessage(02550, -1.00.8501.02.00.10.14
            
show_hudmessage(id,"Medidor Camper: %i%",campmeter[id]) 
        } else if (
campmeter[id] > ) { 
            
set_hudmessage(00255, -1.00.8501.02.00.10.14
            
show_hudmessage(id,"Medidor Camper: %i%",campmeter[id]) 
        } 
    } 
    return 
PLUGIN_HANDLED 


public 
checkcamping(){ 
    if (
get_cvar_num("anticamping") == 0){ 
        
set_task(1.0,"checkcamping",1
        return 
PLUGIN_CONTINUE 
    

    new 
players[32
    new 
numberofplayers 
    
new variance[3
    new 
average[3
    new 
variancetotal 
    
new standarddeviation 
    
new id 
    
new team 
    
new 
    
new 
    get_players
(playersnumberofplayers"a"
    for (
0numberofplayers; ++i) { 
        while (
numberofplayers && pausecounter[players[i]]) { 
            ++

        

        if (
>= numberofplayers){ 
            
set_task(1.0,"checkcamping",1
            return 
PLUGIN_CONTINUE 
        

        
id players[i
        for (
03; ++j) { 
            
playercoord4[id][j] = playercoord3[id][j
            
playercoord3[id][j] = playercoord2[id][j
            
playercoord2[id][j] = playercoord1[id][j
            
playercoord1[id][j] = playercoord0[id][j
        } 
        
get_user_origin(idplayercoord0[id], 0
        for (
03; ++j) { 
            
average[j] = (playercoord0[id][j] + 
                            
playercoord1[id][j] + 
                            
playercoord2[id][j] + 
                            
playercoord3[id][j] + 
                            
playercoord4[id][j]) / 
            variance
[j] = (((playercoord0[id][j] - average[j]) * (playercoord0[id][j] - average[j]) + 
                              (
playercoord1[id][j] - average[j]) * (playercoord1[id][j] - average[j]) + 
                              (
playercoord2[id][j] - average[j]) * (playercoord2[id][j] - average[j]) + 
                              (
playercoord3[id][j] - average[j]) * (playercoord3[id][j] - average[j]) + 
                              (
playercoord4[id][j] - average[j]) * (playercoord4[id][j] - average[j])) / 4
        } 
        
variancetotal=variance[0]+variance[1]+variance[2
        
standarddeviation=sqrt(variancetotal
        
team get_user_team(id
        if (!
de_map){ 
            if (
team==2)    // Team 1 = Terro, Team 2 = CT 
                
campmeter[id] += (camptoleranceattacking standarddeviation) / get_cvar_num("anticamping_camptime"
            else 
                
campmeter[id] = 
        

        else if (
bombplanted){ 
            if (
team == 1)    // Team 1 = Terro, Team 2 = CT 
                
campmeter[id] = 
            
else 
                
campmeter[id] += (camptoleranceattacking-standarddeviation)/get_cvar_num("anticamping_camptime"
        } 
        else{ 
            if (
team==2)    // Team 1 = Terro, Team 2 = CT 
                
campmeter[id] = 
            
else 
                
campmeter[id] += (camptolerancedefending-standarddeviation)/get_cvar_num("anticamping_camptime"
        } 
        if (
campmeter[id] < 0) { 
            
campmeter[id] = 
        
} else if (campmeter[id]>100) { 
            switch(
get_cvar_num("anticamping")) { 
                case 
1: { 
                    
user_slap(id,get_cvar_num("anticamping_healthpunish")) 
                } 
                case 
2: { 
                    
set_user_health(idget_user_health(id) - get_cvar_num("anticamping_healthpunish")) 
                } 
            } 
            
campmeter[id] = 100 
        
} else if (campmeter[id] > 90) { 
            switch(
get_cvar_num("anticamping")) { 
                case 
1: { 
                    
user_slap(id,get_cvar_num("anticamping_healthpunish") / 5
                } 
                case 
2: { 
                    
set_user_health(idget_user_health(id) - get_cvar_num("anticamping_healthpunish") / 5
                } 
            } 
        } else if (
campmeter[id]>80){ 
            switch(
get_cvar_num("anticamping")) { 
                case 
1: { 
                    
user_slap(id,get_cvar_num("anticamping_healthpunish") / 10
                } 
                case 
2: { 
                    
set_user_health(idget_user_health(id) - get_cvar_num("anticamping_healthpunish") / 10
                } 
            } 
        } 
        
displaymeter(id
    } 
    
set_task(2.0,"checkcamping",1
    return 
PLUGIN_CONTINUE 


public 
damage_event(id) { 
    if (
get_cvar_num("anticamping") != 0) { 
        new 
enemy get_user_attacker(id
        if (
get_user_team(id)!=get_user_team(enemy)) { 
            
campmeter[id]=
            campmeter
[enemy]=
        

        return 
PLUGIN_CONTINUE 
    

    return 
PLUGIN_CONTINUE 


public 
new_round(id) { 
    if (
get_cvar_num("anticamping") != 0) { 
        
bombplanted=false 
        pausecounter
[id]=true 
        campmeter
[id]=
        
new Float:freezetime get_cvar_float("mp_freezetime")+1.0 
        
new parm[1
        
parm[0]=id 
        set_task
(freezetime,"unpausecounter",0,parm,1
        return 
PLUGIN_CONTINUE 
    

    return 
PLUGIN_CONTINUE 


public 
bartime_event(id) { 
    if (
get_cvar_num("anticamping") != 0) { 
        
pausecounter[id]=true 
        campmeter
[id]=
        
new Float:bar_time=float(read_data(1)+1
        new 
parm[1
        
parm[0]=id 
        set_task
(bar_time,"unpausecounter",0,parm,1
        return 
PLUGIN_CONTINUE 
    

    return 
PLUGIN_CONTINUE 


public 
bomb_planted() { 
    if (
get_cvar_num("anticamping") != 0) { 
        
bombplanted=true 
        
return PLUGIN_CONTINUE 
    

    return 
PLUGIN_CONTINUE 


public 
got_bomb(id) { 
    if (
get_cvar_num("anticamping") != 0) { 
        
de_map=true 
        
return PLUGIN_CONTINUE 
    

    return 
PLUGIN_CONTINUE 


public 
round_end() { 
    if (
get_cvar_num("anticamping") != 0) { 
        new 
players[32
        new 
numberofplayers 
        
new id 
        
new 
        get_players
(playersnumberofplayers"a"
        for (
0numberofplayers; ++i) { 
            
id=players[i
            
pausecounter[id]=true 
            
return PLUGIN_CONTINUE 
        

    } 
    return 
PLUGIN_CONTINUE 

public 
plugin_init() { 
    
register_plugin("AntiCamping Advanced","1.01c","Homicide- Tweaked by RaWDeaL, original code by SpaceDude"
    
register_event("Damage""damage_event""b""2!0"
    
register_event("BarTime","bartime_event","b"
    
register_event("ResetHUD""new_round""b"
    
register_event("SendAudio""bomb_planted""a""2&%!MRAD_BOMBPL"
    
register_event("SendAudio""round_end""a""2&%!MRAD_terwin","2&%!MRAD_ctwin","2&%!MRAD_rounddraw"
    
register_event("StatusIcon""got_bomb""be""1=1""1=2""2=c4"
    
register_cvar("anticamping","1",0)  //0=Disabled, 1=Slap, 2=Health Reduction, 3=Heartbeat 
    
register_cvar("anticamping_camptime","20",0)  //Amount of time allowed to camp 
    
register_cvar("anticamping_healthpunish","5",0)  //Amount of health taken due to punishment 
    
register_cvar("anticamping_meter","1",0//Display 'campmeter' to each cilent 
    
set_task(1.0,"checkcamping",1
    return 
PLUGIN_CONTINUE 

frenetico9 is offline
731
Member
Join Date: Aug 2006
Old 02-17-2021 , 20:32   Re: [req] Anti Camp
Reply With Quote #2

Use this version to have more functions
Attached Files
File Type: sma Get Plugin or Get Source (anticamping_multi.sma - 61 views - 21.3 KB)
File Type: txt anticamping_multi.txt (2.4 KB, 17 views)
731 is offline
Reply



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 21:50.


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