Raised This Month: $ Target: $400
 0% 

[Edit Plugin] CacheCache Hide&Seek


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
BaNzoun3t
New Member
Join Date: Aug 2012
Old 08-07-2012 , 18:01   [Edit Plugin] CacheCache Hide&Seek
Reply With Quote #1

Hi guys,

I'm trying to edit the dJeyL & KRoT@L's plugin to get the map as dark as possible, at the moment the map is a little foggy and you can see ppl without the flashlight :s

The problem is I don't know amxx API :s

Can someone help me please?

Here is the plugin :

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include < engine >
#include < hamsandwich >
#include <fun>

/* Cache-Cache by KRoT@L
 *
 * Ported to AMXx by INeedHelp
 *
 * Fakemeta Convertion by xPaw
 *
 * Bugfix by Tolsty
 *
 */

/* Tolstys note`s
Ct`s have godmode
T cant pull out a weapon and move any more 
removed bomb objective and raplaced it with hostage teleported outside of the map( cred: hlstriker )
added /soulspec mode for terrorists (cred: exolent)
added /sound cmd to disable hl sounds
*/

#define ACCESS_HAS ADMIN_RCON

#define PLUGIN_NAME "Cache-Cache (H&S)"
#define HAS_VERSION "1.4"

new hidesongs[][] = 

    
"Prospero03""Prospero05""Suspense05"
    
"Suspense03""Suspense01" 
}

new 
seekerssongs[][] = 

    
"Half-Life03""Half-Life04""Half-Life05"
    
"Half-Life06""Half-Life07""Half-Life09"
    
"Half-Life10""Half-Life14""Half-Life15" 
}

new 
seekedsongs[][] = 

    
"Half-Life01""Half-Life02""Half-Life08"
    
"Half-Life11""Half-Life12""Half-Life13"
    
"Half-Life16""Half-Life17" 
}

new 
mincats 1
new 
mice 2
new 
Float:hidetime 30.0

new 
flashlight[33];
new 
color[33];

new 
g_color[][] = 

    {
100,0,0},{0,100,0},{0,0,100},{0,100,100},{100,0,100},{100,100,0},
    {
100,0,60},{100,60,0},{0,100,60},{60,100,0},{0,60,100},{60,0,100},
    {
100,50,50},{50,100,50},{50,50,100},{0,50,50},{50,0,50},{50,50,0}
}

new 
skies[][] = { "space" };

new 
flashlight_customflashlight_radiusflashlight_only_ct;
new 
gmsgFlashlightgmsgTeamInfo;

new 
active
new 
phase
new 
killed[32];
new 
s_gravitys_roundtimes_freezetimes_limitteamss_autoteambalances_alltalks_footstepss_friendlyfires_startmoney;  // Used to save original server CVars values
new Float:s_buytime
new 
transferring[33]; 
new 
gmsgScreenFade;
//new inround = 0
new counter
new 
hasdbg 0
new 
sound[33];
new 
bool:hostageMade;

#define RED get_pcvar_num(soul_bodyglow_r)
#define GREEN get_pcvar_num(soul_bodyglow_g)
#define BLUE get_pcvar_num(soul_bodyglow_b)

new soul_bodyglow_r;
new 
soul_bodyglow_g;
new 
soul_bodyglow_b;
new 
soul_bodyglow;
new 
g_iCamera33 ];
new 
bool:g_bFlying33 ];
new 
bool:g_bActivated33 ];

new 
amx_hs_lightamx_hs_flashradius_cvar;
new 
autolaunch;

new 
g_opt[33][2];
new 
g_decompte;

// Fakemeta Convertion
#define OFFSET_TEAM        114
#define OFFSET_NVGOGGLES    129
#define HAS_NVGOGGLES        (1<<0)

#define fm_create_entity(%1)    engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
#define fm_is_valid_ent(%1)    pev_valid(%1)

enum
{
    
FM_TEAM_UNASSIGNED,
    
FM_TEAM_T,
    
FM_TEAM_CT,
    
FM_TEAM_SPECTATOR,
    
    
FM_TEAM_MAX
};

stock get_maxcats() 
{
    new 
playersnumFloat:divndivresult;
    
playersnum get_playersnum(1);
    
div float(playersnum) / 6;
    
ndiv floatround(div,floatround_floor);
    
    if( 
ndiv mincats )
        
result mincats;
    else
        
result ndiv;

    return 
result;
}

public 
plugin_init()
{
    
register_plugin(PLUGIN_NAMEHAS_VERSION"djeyL/INeedHelp/xPaw/Tolsty"); 
    
    
register_cvar("amx_cc_version"HAS_VERSIONFCVAR_SERVER);
    
set_cvar_string("amx_cc_version"HAS_VERSION)
    
register_cvar("amx_cc_decompte""0");
    
amx_hs_light        register_cvar("hns_light","1");
    
amx_hs_flash        register_cvar("hns_flash","2"); 
    
radius_cvar        register_cvar("hns_radius_cvar","100");
    
autolaunch        register_cvar("hns_autolaunch","1");    
    
flashlight_custom    register_cvar("hns_flashlight_custom","1");
    
flashlight_radius    register_cvar("hns_flashlight_radius","20");
    
flashlight_only_ct    register_cvar("hns_flashlight_only_ct","1"); 
    
    
register_concmd("amx_hideandseek""hideandseek"ACCESS_HAS"- <on|off|mincats x|mice x|hidetime x>");
    
register_clcmd("jointeam",    "jointeam");
    
register_clcmd("say /sound",    "stopsound");
    
register_clcmd("chooseteam",    "chooseteam");
    
register_clcmd("buy",        "buy");

    
register_event("SendAudio",    "endround",    "a""2&%!MRAD_terwin""2&%!MRAD_ctwin""2&%!MRAD_rounddraw");
    
register_event("TextMsg",    "gamestart",    "a""2&#Game_C""2&#Game_w");
    
register_event("RoundTime",    "newround",    "bc");
    
register_event("CurWeapon",    "switchweapon",    "be""1=1");
    
register_event("DeathMsg",    "deathmsg",    "a");
    
register_event("ScreenFade",    "FlashedEvent",    "be","4=255","5=255","6=255","7>199");
    
register_event("Flashlight",    "event_flashlight""b");
    
    
register_forward(FM_PlayerPreThink"fwdPlayerPreThink"0);


    
soul_bodyglow register_cvar("soul_bodyglow","1");
    
soul_bodyglow_r register_cvar("soul_bodyglow_r","255");
    
soul_bodyglow_g register_cvar("soul_bodyglow_g","255");
    
soul_bodyglow_b register_cvar("soul_bodyglow_b","0");

    
register_forwardFM_CmdStart"FwdCmdStart" );

    
register_clcmd("say /soulspec""CmdActivate");
    
register_clcmd("say /ghostspec""CmdActivate");
    
register_clcmd("soulspec""CmdActivate");
    
register_clcmd("ghostspec""CmdActivate");

    new 
iEntity;
    new 
iMaxPlayers get_maxplayers( );
    for( new 
client 1client <= iMaxPlayersclient++ ) {
        
iEntity create_entity"info_target" );
        
entity_set_stringiEntityEV_SZ_classname"player_soul" );
        
entity_set_intiEntityEV_INT_movetypeMOVETYPE_FLY ); // noclip is buggy when going deep into walls :(
        
entity_set_intiEntityEV_INT_solidSOLID_NOT );
        
entity_set_modeliEntity"models/w_usp.mdl" );
        
set_renderingiEntitykRenderFxNone000kRenderTransTexture);
        
g_iCameraclient ] = iEntity;

    }
    
    
active 0;
    
gmsgScreenFade    get_user_msgid("ScreenFade");
    
gmsgFlashlight    get_user_msgid("Flashlight");
    
gmsgTeamInfo    get_user_msgid"TeamInfo" );
    
    
set_cvar_num("mp_flashlight",1);
    
set_task(15.0"lauchgame"165);
}

public 
render(client) {
    
set_user_rendering(client,21,0,0,0,0,0)
}

public 
FwdPlayerSpawnclient ) {
    if( 
is_user_aliveclient ) && g_bFlyingclient ] ) {
        
ResetCameraclient );
    }
}

public 
FwdPlayerDeathclient ) {
    if( !
is_user_aliveclient ) && g_bFlyingclient ] ) {
        
ResetCameraclient );
    }
}

public 
CmdActivate(client) {
    if(
get_user_team(client) == 2
        return 
PLUGIN_HANDLED;

    if( 
g_bActivated[client] )
        
g_bActivated[client] = false;
    else {
        
g_bActivated[client] = true;
    }

    return 
PLUGIN_CONTINUE;
}

public 
FwdCmdStartclientucHandle ) {
    if( !
is_user_aliveclient ) ) {
        return;
    }

    static 
iButtons;
    
iButtons get_ucucHandleUC_Buttons );

    if( 
g_bActivated[client] ) {
        if( 
g_bFlyingclient ] ) {
            
ResetCameraclient );
            
g_bActivated[client] = false;
        } else if( 
pevclientpev_flags ) & FL_ONGROUND && !( iButtons IN_DUCK )) {
            
g_bFlyingclient ] = true;
            
attach_viewclientg_iCameraclient ] );
            static 
Float:vOrigin]; 
            
entity_get_vectorclientEV_VEC_originvOrigin );
            
entity_set_vectorg_iCameraclient ], EV_VEC_originvOrigin );
            
vOrigin[2] -= 15;
            
entity_set_vectorclient EV_VEC_originvOrigin );
            if( 
get_pcvar_num(soul_bodyglow) ) {
                
set_rendering(client,kRenderFxGlowShell,RED,GREEN,BLUE,kRenderNormal,50);
                
client_print(clientprint_chat"[HNS] your body is more visible in soulspec mode  !");
            }

            
g_bActivated[client] = false;

        } else {
            
g_bActivated[client] = false;
            
client_print(clientprint_chat"[HNS] You cant change to soulspec mode, in air or while ducking !");
        }
    }
    if( 
g_bFlyingclient ] ) {

        static 
Float:vAimVelocity];
        
velocity_by_aimclient250vAimVelocity );

        new 
Float:vVelocity];
        if( 
iButtons IN_FORWARD ) {
            
vVelocity] += vAimVelocity];
            
vVelocity] += vAimVelocity];
            
vVelocity] += vAimVelocity];
        }
        if( 
iButtons IN_BACK ) {
            
vVelocity] -= vAimVelocity];
            
vVelocity] -= vAimVelocity];
            
vVelocity] -= vAimVelocity];
        }
        if( 
iButtons IN_MOVERIGHT ) {
            
vVelocity] += vAimVelocity];
            
vVelocity] -= vAimVelocity];
        }
        if( 
iButtons IN_MOVELEFT ) {
            
vVelocity] -= vAimVelocity];
            
vVelocity] += vAimVelocity];
        }
        
entity_set_vectorg_iCameraclient ], EV_VEC_velocityvVelocity );
        
entity_get_vectorclientEV_VEC_v_anglevVelocity );
        
entity_set_vectorg_iCameraclient ], EV_VEC_anglesvVelocity );
    }

}

ResetCameraclient ) {
    
g_bFlyingclient ] = false;
    
attach_viewclientclient );
    static 
Float:vOrigin]; 
    
entity_get_vectorclientEV_VEC_originvOrigin );
    
vOrigin[2] += 15;
    
delay_duck(client)
    
entity_set_vectorclient EV_VEC_originvOrigin );
    
render(client)
}  

delay_duck(client)
{
    
set_task(0.01"force_duck"client);
    
set_entity_flags(clientFL_DUCKING1);
}

public 
force_duck(client)
{
    
set_entity_flags(clientFL_DUCKING1);


public 
stopsound(id) {

    if(
sound[id]) {
        
client_cmd(id,"mp3 stop");
        
client_cmd(id"stopsound");
        
client_print(idprint_chat"[HNS] Music disabled  !");
        
sound[id] = false;
    }
    else {
        new 
random_num(0sizeof(hidesongs) - 1);
        
client_print(idprint_chat"[HNS] Music enabled  !");
        
client_cmd(id"mp3 play media/%s"hidesongs[a]);
        
sound[id] = true;
    }
}

public 
client_putinserver(id
{
    
sound[id] = true;
    
random_num(0sizeofg_color ) - 1);
}

public 
lauchgame(taskid
{
    if(!
get_pcvar_num(autolaunch))
        return;
    
    
server_cmd("amx_hideandseek on");
}

public 
plugin_precache()
{
    new 
fog fm_create_entity("env_fog");
    
//DispatchKeyValue(fog, "density", "0.000650");
    
fm_set_kvd(fog"density""0.000650");

    new 
random_num(1128);
    new 
random_num(1128);
    new 
random_num(1128);
    
    new 
rouge[3], vert[3], bleu[3];
    
num_to_str(r,rouge,2);
    
num_to_str(g,vert,2);
    
num_to_str(b,bleu,2);
    
    new 
test[12];
    
formatex(test,11,"%s %s %s",rouge,vert,bleu);
    
//DispatchKeyValue(fog,"rendercolor",test);
    
fm_set_kvd(fog,"rendercolor",test);

    new 
rand random_num(0sizeof(skies)-1);
    
set_cvar_string("sv_skyname"skies[rand]);

    
register_forward(FM_KeyValue"fwd_KeyValue"1);
}

public 
client_connect(id)
{
    
sound[id] = true;
    if(!
is_user_bot(id)) 
    {
        
get_user_info(id,"_vgui_menus",g_opt[id],1);
        
set_user_info(id,"_vgui_menus","0");
    }
}

public 
client_disconnect(id)
{
    
sound[id] = true;

    new 
i;
    
transferring[id] = 0;
    
    for (
i=0i<32i++)
    {
        if (
killed[i] == id)
        {
            break;
        }
    }
    
    if(
== 32
        return;
    
    if (
killed[i] == id)
    {
        for (
i++; i<32 && killed[i]!=0i++)
        {
            
killed[i-1] = killed[i];
        }
        
killed[i] = 0;
    }

    if( 
is_user_aliveid ) && g_bFlyingid ] ) {
        
ResetCameraid );
    }
}


public 
hideandseek(idlevelcid)
{
    new 
arg[16];
    new 
pnum;
    new 
cts;
    new 
players[32];
    new 
i;
    
    if (
read_argv(1arg15) == 0)
    {
        
console_print(id"* Hide & Seek plugin v%s is currently %s [hidetime:%d,mincats:%d,mice:%d]"HAS_VERSIONactive "running!" "stopped."floatround(hidetime), mincatsmice);
        return 
PLUGIN_HANDLED;
    }
    
    if (!
cmd_access(idlevelcid1))
    {
        return 
PLUGIN_HANDLED;
    }
    
    if (
equal(arg"mincats") || equal(arg"chatsmin"))
    {
        if (
read_argv(2arg15) == 0)
        {
            
console_print(id"* Hide & Seek: mincats = %d"mincats);
            return 
PLUGIN_HANDLED;
        }
        else
        {
            if (
cmd_access(idlevelcid1))
            {
                if (
active != 0)
                {
                    
console_print(id"* Hide & Seek: you can not change game rules right now!");
                    return 
PLUGIN_HANDLED;
                }
                
str_to_num(arg);
                if (
i>0)
                {
                    
mincats i;
                    
console_print(id"* Hide & Seek: 'mincats' set to %d"mincats);
                }
                else
                {
                    
console_print(id"* Hide & Seek: invalid 'mincats' value (minimum: 1)");
                }
                return 
PLUGIN_HANDLED;
            }
        }
    }
    else if (
equal(arg"mice") || equal(arg"souris"))
    {
        if (
read_argv(2arg15) == 0)
        {
            
console_print(id"* Hide & Seek: mice = %d"mice);
            return 
PLUGIN_HANDLED;
        }
        else
        {
            if (
cmd_access(idlevelcid1))
            {
                if (
active != 0)
                {
                    
console_print(id"* Hide & Seek: you can not change game rules right now!");
                    return 
PLUGIN_HANDLED;
                }
                
                
str_to_num(arg);
                if (
i>=0)
                {
                    
mice i;
                    
console_print(id"* Hide & Seek: 'mice' set to %d"mice);
                }
                else
                {
                    
console_print(id"* Hide & Seek: invalid 'mice' value (minimum: 0)");
                }
                return 
PLUGIN_HANDLED;
            }
        }
    }
    else if (
equal(arg"hidetime") || equal(arg"dureeplanque"))
    {
        if (
read_argv(2arg15) == 0)
        {
            
console_print(id"* Hide & Seek: hidetime = %d seconds"floatround(hidetime));
            return 
PLUGIN_HANDLED;
        }
        else
        {
            if (
cmd_access(idlevelcid1))
            {
                if (
active != 0)
                {
                    
console_print(id"* Hide & Seek: you can not change game rules right now!");
                    return 
PLUGIN_HANDLED;
                }
                
                
str_to_num(arg);
                if (
i>=15)
                {
                    
hidetime float(i);
                    
console_print(id"* Hide & Seek: 'hidetime' set to %d seconds"floatround(hidetime));
                }
                else
                {
                    
console_print(id"* Hide & Seek: invalid 'hidetime' value (minimum: 15 seconds)");
                }
                return 
PLUGIN_HANDLED;
            }
        }
    }
    else if ((
equali(arg"on") || equal(arg"1") || equal(arg"start")) && active == 0)
    {
        
client_print(0print_chat"[HNS] A session has just been started!");
        
        new 
ConfigsDir[128]
        
get_configsdir(ConfigsDir127)
        
server_cmd("exec %s/has-on.cfg"ConfigsDir);
        
        
active 1;
        
phase 0;
        
        
s_gravity get_cvar_num("sv_gravity");
        
s_roundtime get_cvar_num("mp_roundtime");
        
s_freezetime get_cvar_num("mp_freezetime");
        
s_limitteams get_cvar_num("mp_limitteams");
        
s_autoteambalance get_cvar_num("mp_autoteambalance");
        
s_alltalk get_cvar_num("sv_alltalk");
        
s_footsteps get_cvar_num("mp_footsteps");
        
s_friendlyfire get_cvar_num("mp_friendlyfire");
        
s_startmoney get_cvar_num("mp_startmoney");
        
s_buytime get_cvar_float("mp_buytime");
        
server_cmd("amx_restrict on");
        
        
set_cvar_num("sv_gravity"150);
        
set_cvar_num("mp_roundtime"4);
        
set_cvar_num("mp_freezetime"1);
        
set_cvar_num("mp_limitteams"0);
        
set_cvar_num("mp_autoteambalance"0);
        
set_cvar_num("sv_alltalk"1);
        
set_cvar_num("mp_friendlyfire"0);
        
set_cvar_num("mp_startmoney"16000);
        
set_cvar_num("mp_buytime"5);
        
        if(
get_pcvar_num(amx_hs_light)) {
            
fm_set_lights("d"); 
        }
        
        new 
maxcats get_maxcats();
        
get_players(playerscts"e""CT");
        if (
cts maxcats)
        {
            for (
i=maxcatsi<ctsi++)
            {
                if (
hasdbg
                    
client_print(0print_chat,"* HNS[init]: Already enough CTs")
                
                
fm_set_user_team(players[i], FM_TEAM_T);
            }
        }
        else if (
cts mincats)
        {
            
get_players(playerspnum"e""TERRORIST");
            for (
i=0cts<mincats && i<pnumi++)
            {
                if (
hasdbg
                    
client_print(0print_chat"* HNS[init]: Need more CTs")
                
                
fm_set_user_team(players[i], FM_TEAM_CT);
                
cts++;
            }
        }
        
set_task(2.0"plugin_timer"412563""0"b")
    }
    else if ((
equali(arg"off") || equal(arg"0") || equal(arg"stop")) && active != 0)
    {
        
client_print(0print_chat"[HNS] Session terminated.");
        
        new 
ConfigsDir[128]
        
get_configsdir(ConfigsDir127)
        
server_cmd("exec %s/has-off.cfg"ConfigsDir)
        
        
active 0;
        
        if (
task_exists(412563))
            
remove_task(412563);
        
        
set_cvar_num("sv_gravity"s_gravity);
        
set_cvar_num("mp_roundtime"s_roundtime);
        
set_cvar_num("mp_freezetime"s_freezetime);
        
set_cvar_num("mp_limitteams"s_limitteams);
        
set_cvar_num("mp_autoteambalance"s_autoteambalance);
        
set_cvar_num("sv_alltalk"s_alltalk);
        
set_cvar_num("mp_footsteps"s_footsteps);
        
set_cvar_num("mp_friendlyfire"s_friendlyfire);
        
set_cvar_num("mp_startmoney"s_startmoney);
        
set_cvar_float("mp_buytime"s_buytime);
        
server_cmd("amx_restrict off");
        if(
get_pcvar_num(amx_hs_light)) {
                
fm_set_lights("d"); 
        }

        
remove_task(412564);
        
remove_task(412565);
        
remove_task(412566);
        
remove_task(147258);
        
        
get_players(playerspnum);
        for(
i=0i<pnumi++)
        {
            
fm_set_user_maxspeed(players[i], 240.0);
            
fm_set_user_gravity(players[i], 1.0);
            
fm_set_user_godmode(players[i], 0);
        }
        
set_cvar_num("sv_restart"2);
    }
    return 
PLUGIN_HANDLED;
}

public 
plugin_timer()
{
    new 
ts[32];
    new 
cts[32];
    new 
tnum;
    new 
ctnum;
    new 
i;
    new 
specialcase 0;
    new 
maxcats get_maxcats();
    
get_players(tstnum"e""TERRORIST");
    
get_players(ctsctnum"e""CT");
    
    if(
ctnum==0)
        
specialcase 1;
    
    if(
tnum>=mice && ctnum>=mincats)
    {
        if(
active == 1)
        {
            
client_print(0print_chat"[HNS] Enough players, let's go!");
            
active 2;
            
set_cvar_num("sv_restart"1);
        }
        else if (
active == 3)
        {
            if (
phase == 1)
            {
                for(
i=0i<tnumi++)
                {
                    
fm_set_user_maxspeed(ts[i], 400.0);
                    
fm_set_user_gravity(ts[i], 1.0);
                }
                for(
i=0i<ctnumi++)
                {
                    
fm_set_user_maxspeed(cts[i], 0.1);
                    
fm_set_user_gravity(cts[i], 10.0);
                }
            }
            else if (
phase == 2)
            {
                for(
i=0i<tnumi++)
                {
                    
fm_set_user_maxspeed(ts[i], 0.1);
                    
fm_set_user_gravity(ts[i], 10.0);
                }
                for(
i=0i<ctnumi++)
                {
                    
fm_set_user_maxspeed(cts[i], 400.0);
                    
fm_set_user_gravity(cts[i], 1.0);
                }
            }
        }
    }
    else
    {
        if (
ctnum mincats)
        {
            for(
i=tnum-1i>=&& ctnum<maxcatsi--)
            {
                if (
hasdbg
                    
client_print(0,print_chat,"* HNS[timer]: Not enough CTs")
                
                
fm_set_user_team(ts[i], FM_TEAM_CT);
                
ctnum++;
                
tnum--;
            }
        }
        else if (
ctnum>maxcats)
        {
            for(
i=ctnum-maxcatsi>=&& tnum<micei--)
            {
                if (
hasdbg
                    
client_print(0,print_chat,"* HNS[timer]: Too many CTs");
                
                
fm_set_user_team(cts[i], FM_TEAM_T);
                
ctnum --;
                
tnum ++;
            }
        }
        
        if (
ctnum>=mincats && ctnum<=maxcats && tnum>=mice)
        {
            if(!
specialcase)
                
set_cvar_num("sv_restart"1);

        }
        else
        {
            if (
active == 1)
            {
                
set_hudmessage(025500.050.406.05.00.50.157);
                
show_hudmessage(0"[HNS] Waiting for more players to join...");
            }
            else
            {
                
set_hudmessage(025500.050.406.05.00.50.157);
                
show_hudmessage(0"[HNS] Waiting for more players to join...");
                
                
active 1;
                
remove_task(412564);
                
remove_task(412565);
                
                for(
i=0i<tnumi++)
                {
                    
fm_set_user_maxspeed(ts[i], 240.0);
                    
fm_set_user_gravity(ts[i], 1.0);
                }
                for(
i=0i<ctnumi++)
                {
                    
fm_set_user_maxspeed(cts[i], 240.0);
                    
fm_set_user_gravity(cts[i], 1.0);
                }
                if(
get_pcvar_num(amx_hs_light)) {
                    
fm_set_lights("d"); 
                        
                }
                
                
set_cvar_num("sv_restart"1);
            }
        }
    }
    
    
get_players(tstnum"b");
    for(
tnum--; tnum>=0tnum--)
    {
        
fm_set_user_maxspeed(ts[tnum], 240.0);
        
fm_set_user_gravity(ts[tnum], 1.0);
    }
}

public 
newround()
{

    new 
players[32];
    new 
pnum;
    new 
i;
    new 
maxcats get_maxcats();
    
    if (
read_data(1) == floatround(get_cvar_float("mp_roundtime")*60.0))
    {
        
remove_task(147258);
        
//inround = 1;
        
        
if(active 2)
            return;
            
        
get_players(playerspnum"e""CT");
        
get_players(playersi"e""TERRORIST");
        if (
pnum>=mincats && pnum<=maxcats && i>=mice)
        {
            
set_hudmessage(025500.050.406.05.00.50.157);
            
show_hudmessage(0"[HNS] Terrorists, you've got %d seconds to get hidden!"floatround(hidetime));
            
client_cmd(0"spk radio/com_getinpos");
            
set_cvar_num("mp_footsteps"0);
            
            if (
active == 2)
                
active 3;
            
            
phase 1;
            
            if(
get_pcvar_num(amx_hs_light)) {
                
fm_set_lights("d"); 

            }
            
            for (
i=0i<32i++)
            {
                
killed[i] = 0;
            }
            
            
get_players(players,pnum,"e","TERRORIST");
            new 
random_num(0sizeof(hidesongs) - 1);
            for (
i=0i<pnumi++)
            {
                
engclient_cmd(players[i], "weapon_knife");
                
fm_set_user_godmode(players[i], 1);
                
fm_set_user_nvg(players[i], 1);
                
                
                
flashlight[players[i]] = 0
                render
(players[i])
                if(
sound[players[i]])
                    
client_cmd(players[i], "mp3 play media/%s"hidesongs[a]);
            }
            
            
get_players(players,pnum,"e","CT");
            for (
i=0i<pnumi++)
            {
                
engclient_cmd(players[i], "weapon_knife");
                
f2b(players[i], 1);
                
fm_set_user_godmode(players[i], 1);
                
fm_set_user_nvg(players[i], 0);
                
printad(players[i], hidetime);
                
render(players[i])
                if(
sound[i])
                    
client_cmd(players[i], "mp3 play media/%s"hidesongs[a]);
            }
            
            
remove_task(412564);
            
set_task(hidetime"round_timer"412564);
            
            
remove_task(412565);
            
set_task(hidetime 3.0"soon_timer"412565);
            
            
remove_task(412566);
            
counter floatround(hidetime);
            
set_task(1.0"countdown"412566""0"b");
            
            
//set_task(240.0,"kill", 0 );
            
            
new decompte get_cvar_num("amx_cc_decompte");
            if(
decompte 0
            {
                new 
Float:tasktime get_cvar_float("mp_roundtime")*60.0 float(decompte);
                
                if(
tasktime 4.0
                    
set_task(tasktime-3.0"lancerDecompte"789456+decompte);
            }
        }
    }
}
public 
kill()
{

   
        new 
iPlayers[32], iNum
        get_players
(iPlayersiNum"ah")

        for(new 
ii<iNum i++)
        {
            
user_kill(iPlayers[i], 1)
        }

}  

public 
lancerDecompte(id
{
    
g_decompte id 789456;
    
set_task(1.0"afficherDecompte"147258""0"b");
}

public 
afficherDecompte() 
{
    
set_hudmessage(2552552550.050.4501.01.00.20.28);
    
    
g_decompte--;
    if(
g_decompte == 0
    {
        new 
players[32], inumid;
        
get_players(playersinum"ae""TERRORIST");
        for(new 
0inumi++) 
        {
            
id players[i];
            
set_pdata_int(id444get_user_deaths(id) - 1);
            
user_kill(id1);
        }
        
remove_task(147258);
        return
    }
    
show_hudmessage(0"%ds before the end !"g_decompte);
}

public 
countdown()
{
    
set_hudmessage(2552000.100.5001.01.00.20.29);
    
counter--;
    
show_hudmessage(0"%d"counter);
}

public 
round_timer()
{
    new 
players[32];
    new 
pnum;
    
    if (
active == 3)
    {
        
remove_task(412566);
        
client_print(0print_chat"[HNS] CTs, go find the Terrorists and kill them!");
        
client_print(0print_chat"[HNS] Terrorists, to switch to soulspec mode write /soulspec !");
        
client_cmd(0"spk radio/com_go");
        
phase 2;
        
        if(
get_pcvar_num(amx_hs_light)) {
            
fm_set_lights("a"); 
        
        }
        
get_players(playerspnum"ae""CT");
        new 
random_num(0sizeof(seekerssongs) - 1);
        
        for (
pnum--; pnum>=0pnum--)
        {
            
f2b(players[pnum], 0);
            if(
sound[players[pnum] ])
                
client_cmd(players[pnum], "mp3 play media/%s",seekerssongs[a]);
            
fm_give_item(players[pnum], "weapon_knife");
            
fm_give_item(players[pnum], "weapon_deagle");
            
fm_give_item(players[pnum], "ammo_50ae");
            
fm_give_item(players[pnum], "ammo_50ae");
            
fm_give_item(players[pnum], "ammo_50ae");
            
fm_give_item(players[pnum], "ammo_50ae");
            
fm_give_item(players[pnum], "ammo_50ae");
            
fm_give_item(players[pnum], "ammo_50ae");
            
fm_give_item(players[pnum], "weapon_m4a1");
            
fm_give_item(players[pnum], "ammo_556nato");
            
fm_give_item(players[pnum], "ammo_556nato");
            
fm_give_item(players[pnum], "ammo_556nato");
            
fm_give_item(players[pnum], "ammo_556nato");
            
fm_give_item(players[pnum], "ammo_556nato");
            
fm_give_item(players[pnum], "ammo_556nato");
            new 
flashs get_pcvar_num(amx_hs_flash);
            
            if(
flashs ==1)
                
fm_give_item(players[pnum], "weapon_flashbang");
            else if(
flashs ==2
            {
                
fm_give_item(players[pnum], "weapon_flashbang");
                
fm_give_item(players[pnum], "weapon_flashbang");
            }
        }
        
        
random_num(0sizeof(seekedsongs) - 1);
        
get_players(playerspnum"ae""TERRORIST");
        for (
pnum--; pnum>=0pnum--)
        {
            
fm_set_user_godmode(players[pnum], 0);
            if(
sound[players[pnum] ])
                
client_cmd(players[pnum], "mp3 play media/%s",seekedsongs[a]);

            
fm_set_user_maxspeed(players[pnum], 400.0)
        }
    }
}

public 
soon_timer()
{
    if (
active == 3)
    {
        
client_print(0print_chat,"[HNS] Terrorists, stop jumping or you'll crash on the ground!");
        
client_cmd(0"spk radio/position");
    }
}

public 
jointeam(id
{
    if (
active == 0)
    {
        return 
PLUGIN_CONTINUE;
    }
    
    if (
transferring[id] == 1)
    {
        
transferring[id] = 0;
        return 
PLUGIN_CONTINUE;
    }
    return 
PLUGIN_HANDLED;
}

public 
chooseteam(id)
{
    if (
active == 0)
    {
        return 
PLUGIN_CONTINUE;
    }
    return 
PLUGIN_HANDLED;
}

public 
switchweapon(id)
{
    if(!
active)
        return;
    
    if( 
active && active 
    {
        
fm_set_user_maxspeed(id400.0);
        return;
    }
    new 
team get_user_team(id);
    
    switch( 
phase )
    {
        case 
1:
        {
            switch( 
team ) {
                case 
2:
                {
                    
fm_set_user_maxspeed(id0.1);
                }
                case 
1:
                {
                    
fm_set_user_maxspeed(id400.0);
                }
            }
        }
        case 
2:
        {
            switch( 
team ) {
                case 
1:
                {
                    
fm_set_user_maxspeed(id0.1);
                }
                case 
2:
                {
                    
fm_set_user_maxspeed(id400.0);
                }
            }
        }
    }
}

public 
buy(id)
{
    if (
active == 3)
    {
        new 
team[32];
        
get_user_team(idteam31);
        
        if (
equali(team"TERRORIST"))
        {
            return 
PLUGIN_HANDLED;
        }
    }
    return 
PLUGIN_CONTINUE;
}

public 
deathmsg()
{
    new 
i;
    new 
team[32];
    new 
victim read_data(2);

    
flashlight[victim] = 0;

    if (
active == 3)
    {
        
printad(victim1000.0);
        
get_user_team(victimteam31);
        
        if (
equali(team"TERRORIST"))
        {
            
client_cmd(0"spk radio/enemydown");
            for (
i=0i<32 && killed[i]!=0i++)
            {
            }
        
            if (
== 32)
            {
                for (
i=1i<32i++)
                    
killed[i-1] = killed[i];
            }
            
killed[i] = victim;
        }
    }

}

public 
gamestart() 
{
    
remove_task(147258);
}

public 
endround()
{
    
//inround = 0;
    
if (active)
    {
        
set_task(2.5,"delayed_endround");
        
        if(
get_pcvar_num(amx_hs_light)) {
            
fm_set_lights("d"); 
        }
    }
}

public 
delayed_endround()
{
    
remove_task(147258);
    new 
newcats 0;
    new 
players[32];
    new 
cts[32];
    new 
ctnum;
    new 
pnum;
    new 
i;
    
    if (
active != 3)
    {
        return 
PLUGIN_CONTINUE;
    }
    
remove_task(412564);
    
remove_task(412565);
    
remove_task(412566);
    
    
get_players(ctsctnum"e""CT");
    
get_players(playerspnum"e""TERRORIST");
    
    if (
ctnum<mincats || pnum<mice)
    {
        
client_print(0print_chat,"[HNS] Someone has left! We're going to change teams...");
        return 
PLUGIN_CONTINUE;
    }
    
    new 
maxcats get_maxcats();
    
get_players(players,pnum,"ae","TERRORIST");
    for (
i=0i<pnum && newcats<maxcatsi++)
    {
        if (
hasdbg
            
client_print(0,print_chat,"* HNS[endround]: Was still alive, moving to CTs")
        
        
fm_set_user_team(players[i], FM_TEAM_CT);
        
newcats++;
    }
    
    if (
newcats maxcats)
    {
        for (
i=31i>=&& killed[i]==0i--)
        {
            
        }
        for (; 
i>=&& newcats<maxcatsi--)
        {
            if (
hasdbg
                
client_print(0,print_chat,"* HNS[endround]: Was killed, moving to CTs");
            
            
fm_set_user_team(killed[i], FM_TEAM_CT);
            
newcats++;
        }
    }
    
    for(
i=0ctnumi++)
    {
        if (
hasdbg
            
client_print(0,print_chat,"* HnS: Was a CT, moving to Ts");
    
        
fm_set_user_team(cts[i], FM_TEAM_T);
    }
    return 
PLUGIN_CONTINUE;
}

public 
printad(idFloat:duration)
{
    
set_hudmessage(2551270, -1.00.121.0duration0.01.08);
    
show_hudmessage(id"HNS cache cache");
}

stock f2b(idtype)
{
    
message_begin(MSG_ONE_UNRELIABLEgmsgScreenFade_id);
    
write_short(5000);
    
write_short(5000);
    
write_short(type==1?5:0);
    
write_byte(0);
    
write_byte(20);
    
write_byte(40);
    
write_byte(255);
    
message_end();
}

public 
emitsound(entity, const sample[])
{
    if(!
get_pcvar_num(amx_hs_flash))
        return 
PLUGIN_CONTINUE;
    
    if(!
equali(sample,"weapons/flashbang-1.wav") && !equali(sample,"weapons/flashbang-2.wav"))
        return 
PLUGIN_CONTINUE;
    
    
flashbang_explode(entity);
    return 
PLUGIN_CONTINUE;
}

public 
flashbang_explode(greindex)
{
    if(!
fm_is_valid_ent(greindex)) 
        return;
    
    new 
Float:origin[3];
    
//entity_get_vector(greindex,EV_VEC_origin,origin);
    
pev(greindex,pev_origin,origin);
    
    
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
    
write_byte(27);
    
write_coord(floatround(origin[0])); 
    
write_coord(floatround(origin[1]));
    
write_coord(floatround(origin[2])); 
    
write_byte(get_pcvar_num(radius_cvar)); 
    
write_byte(205);    
    
write_byte(255); 
    
write_byte(205); 
    
write_byte(150); 
    
write_byte(200); 
    
message_end();
}

public 
FlashedEvent(id)
{
    if(
get_pcvar_num(amx_hs_flash))
        return 
PLUGIN_HANDLED;
    
    return 
PLUGIN_CONTINUE;
}

public 
event_flashlight(id
{
    if(!
get_pcvar_num(flashlight_custom)) 
        return;
    
    
//new CsTeams:team = cs_get_user_team(id)
    
    
new team get_user_team(id)
    
    if(
team != && get_pcvar_num(flashlight_only_ct))
    {
        
flashlight[id] = 0;
    }
    else
    {
        if(
flashlight[id]) 
        {
            
flashlight[id] = 0;
            
color[id] = random_num(0sizeofg_color ) - 1);
        }
        else 
        {
            
flashlight[id] = 1;
        }
    }
    
    
message_begin(MSG_ONE,gmsgFlashlight,_,id);
    
write_byte(flashlight[id]);
    
write_byte(100);
    
message_end();
    
//entity_set_int(id,EV_INT_effects,entity_get_int(id,EV_INT_effects) & ~EF_DIMLIGHT);
    
set_pev(id,pev_effects,pev(id,pev_effects) & ~EF_DIMLIGHT);
}

public 
fwdPlayerPreThink(id
{
    if(
get_pcvar_num(flashlight_custom)) {
        
    
        new 
color[id];
        if(
flashlight[id]) 
        {
            new 
origin[3];
            
get_user_origin(id,origin,3);
            
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
            
write_byte(TE_DLIGHT);
            
write_coord(origin[0]); 
            
write_coord(origin[1]); 
            
write_coord(origin[2]); 
            
write_byte(get_pcvar_num(flashlight_radius)); 
            
write_byte(g_color[a][0]); 
            
write_byte(g_color[a][1]); 
            
write_byte(g_color[a][2]); 
            
write_byte(1);
            
write_byte(60); 
            
message_end();
        }
    }

    new 
weapon get_user_weapon(id);
       new 
team get_user_team(id);
       if(
team == 2) {    

           if( 
pev(idpev_takedamage) )
           {
            
set_pev(idpev_takedamage0.0);
        
           }
       } else if( !(
pev(idpev_takedamage)) ){
        
set_pev(idpev_takedamage1.0);
       }

    if(
team == 1) {

            if( 
weapon != CSW_KNIFE )
            {
                    
client_cmd(id"drop");
                    
engclient_cmd(id"weapon_knife");
            }
     }
    return 
FMRES_IGNORED;


}

public 
fwd_KeyValue(entIdkvd_id)
{
    if(!
pev_valid(entId))
        return 
FMRES_IGNORED;
    
    static 
className[64];
    
get_kvd(kvd_idKV_ClassNameclassName63);
    
    if(
containi(className"func_bomb_target") != -1
    
|| containi(className"info_bomb_target") != -1
    
|| containi(className"hostage_entity") != -1
    
|| containi(className"monster_scientist") != -1
    
|| containi(className"func_hostage_rescue") != -1
    
|| containi(className"info_hostage_rescue") != -1
    
|| containi(className"info_vip_start") != -1
    
|| containi(className"func_vip_safetyzone") != -1
    
|| containi(className"func_escapezone") != -1)
        
engfunc(EngFunc_RemoveEntityentId);
    
    if(!
hostageMade)
    {
        
hostageMade true;
        new 
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"hostage_entity"));
        
engfunc(EngFunc_SetOriginentFloat:{0.0,0.0,-55000.0});
        
engfunc(EngFunc_SetSizeentFloat:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
        
dllfunc(DLLFunc_Spawnent);
    }
    
    return 
FMRES_HANDLED;
}  

// Stocks
stock fm_give_item(index, const item[]) {
    if (!
equal(item"weapon_"7) && !equal(item"ammo_"5) && !equal(item"item_"5) && !equal(item"tf_weapon_"10))
        return 
0;

    new 
ent fm_create_entity(item);
    if (!
pev_valid(ent))
        return 
0;

    new 
Float:origin[3];
    
pev(indexpev_originorigin);
    
set_pev(entpev_originorigin);
    
set_pev(entpev_spawnflagspev(entpev_spawnflags) | SF_NORESPAWN);
    
dllfunc(DLLFunc_Spawnent);

    new 
save pev(entpev_solid);
    
dllfunc(DLLFunc_Touchentindex);
    if (
pev(entpev_solid) != save)
        return 
ent;

    
engfunc(EngFunc_RemoveEntityent);

    return -
1;
}

stock fm_set_user_gravity(indexFloat:gravity 1.0) {
    
set_pev(indexpev_gravitygravity);

    return 
1;
}

stock fm_set_user_godmode(indexgodmode 0) {
    
set_pev(indexpev_takedamagegodmode == DAMAGE_NO DAMAGE_AIM);

    return 
1;
}

stock fm_set_user_maxspeed(indexFloat:speed = -1.0) {
    
engfunc(EngFunc_SetClientMaxspeedindexspeed);
    
set_pev(indexpev_maxspeedspeed);

    return 
1;
}

stock fm_set_user_nvg(indexnvgoggles 1)
{
    new 
current get_pdata_int(indexOFFSET_NVGOGGLES);
    
    if( !(
current HAS_NVGOGGLES) && nvgoggles )
    {
        
current |= HAS_NVGOGGLES;
    }
    else if( (
current HAS_NVGOGGLES) && !nvgoggles )
    {
        
current &= ~HAS_NVGOGGLES;
    }
    else
    {
        return 
0;
    }
    
    
set_pdata_int(indexOFFSET_NVGOGGLEScurrent);
    
    return 
1;
}

fm_set_lights(const lights[])
    
engfunc(EngFunc_LightStyle0lights);

stock fm_set_kvd(entity, const key[], const value[], const classname[] = "") {
    if (
classname[0])
        
set_kvd(0KV_ClassNameclassname);
    else {
        new class[
32];
        
pev(entitypev_classname, class, sizeof class - 1);
        
set_kvd(0KV_ClassName, class);
    }

    
set_kvd(0KV_KeyNamekey);
    
set_kvd(0KV_Valuevalue);
    
set_kvd(0KV_fHandled0);

    return 
dllfunc(DLLFunc_KeyValueentity0);
}

stock fm_set_user_team(clientteam) {
    
set_pdata_int(clientOFFSET_TEAMteam);

    static const 
TeamInfo[FM_TEAM_MAX][] =
    {
        
"UNASSIGNED",
        
"TERRORIST",
        
"CT",
        
"SPECTATOR"
    
};

    
message_begin(MSG_ALLgmsgTeamInfo);
    
write_byte(client);
    
write_string(TeamInfo[team]);
    
message_end();

Thanks in advance guys !

Last edited by BaNzoun3t; 08-08-2012 at 04:51.
BaNzoun3t is offline
quilhos
Veteran Member
Join Date: Jun 2010
Old 08-07-2012 , 23:00   Re: [Edit Plugin] CacheCache Hide&Seek
Reply With Quote #2

It help post the main code in english the original version. Anyway I dont have really time to see the code, but this bug it's very anoying I hope someone can and have the time needed to help
__________________
ELO RATING SYSTEM - SQL [COMPLETE]
Quote:
Originally Posted by Liverwiz View Post
DDDRRRRAAAAMMMMAAAAA!!!???

Put this shit on pause while i go get some popcorn!!
quilhos is offline
BaNzoun3t
New Member
Join Date: Aug 2012
Old 08-08-2012 , 04:53   Re: [Edit Plugin] CacheCache Hide&Seek
Reply With Quote #3

I just realize I was trying to edit the wrong .sma, I updated my first post, this one seems more logical, I will take a look.

Edit : Removing the fog seems to do the trick, the map is now totally in the night

PHP Code:
public plugin_precache()
{
    
/*
    new fog = fm_create_entity("env_fog");
    //DispatchKeyValue(fog, "density", "0.000650");
    fm_set_kvd(fog, "density", "0.1650");

    new r = random_num(1, 128);
    new g = random_num(1, 128);
    new b = random_num(1, 128);
    
    new rouge[3], vert[3], bleu[3];
    num_to_str(r,rouge,2);
    num_to_str(g,vert,2);
    num_to_str(b,bleu,2);

    new test[12];
    formatex(test,11,"%s %s %s",rouge,vert,bleu);
    //DispatchKeyValue(fog,"rendercolor",test);
    fm_set_kvd(fog,"rendercolor",test);
    */
    
    //new rand = random_num(0, sizeof(skies)-1);
    //set_cvar_string("sv_skyname", skies[rand]);
    
set_cvar_string("sv_skyname""space");

    
register_forward(FM_KeyValue"fwd_KeyValue"1);


Last edited by BaNzoun3t; 08-08-2012 at 05:37.
BaNzoun3t is offline
Zer0Cool
Member
Join Date: Sep 2011
Location: Belgium
Old 08-10-2012 , 16:21   Re: [Edit Plugin] CacheCache Hide&Seek
Reply With Quote #4

PHP Code:
#include <amxmodx>
#include <engine>
 
new var
 
public 
plugin_init()
{
    
register_plugin"Light Changer""1.0""Wrecked" )
 
    var = 
register_cvar"light_value""a" )
 
    
UpdateCvar()
    
set_task5.0"UpdateCvar"___"b" )
}
 
public 
UpdateCvar()
{
    static 
light[3]
    
get_pcvar_string( var, light)
    
set_lightslight )

__________________
- Ol' Dirty Bastard - Brooklyn Zoo -

This style, I'm mastered in
Niggas catchin' headaches, what, what? You need Aspirin?
This type of pain, you couldn't even kill with Midol
Fuck around, get sprayed with Lysol
in your face like a can of mace, baby
Is it burnin'? Well, fuck it, now you're learnin'


Last edited by Zer0Cool; 08-10-2012 at 16:24.
Zer0Cool 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 05:54.


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