Raised This Month: $ Target: $400
 0% 

Need a Quick Review On This plugin


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Shooting King
RAAASENGAN
Join Date: Mar 2012
Location: India
Old 07-22-2013 , 10:17   Need a Quick Review On This plugin
Reply With Quote #1

Plugin is about : Click Me

PHP Code:
/***************************************************************

                  Special Catch Mod
                                     - Shooting King

           Credits:
                     1. ConnorMcLeod
                     2. Exolent
                     3. ArkShine


***************************************************************/

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

#define PLUGIN        "Special Catch Mod"
#define VERSION        "1.0"
#define AUTHOR        "Shooting King"

new gizCTModels[] = { 1,5,6,7,11 };

new 
gizTModels[] = { 2,3,4,8,10 };

new 
gszJoinClass[][] = { "1","2","3","4" };

// Old Style Menus                -----EXolents Team JOIN
stock const FIRST_JOIN_MSG[] =        "#Team_Select";
stock const FIRST_JOIN_MSG_SPEC[] =    "#Team_Select_Spect";
const 
iMaxLen sizeof(FIRST_JOIN_MSG_SPEC);

// New VGUI Menus                -----EXolents Team JOIN
stock const VGUI_JOIN_TEAM_NUM     =    2;

stock const WEP_KNIFE_ID     =     29;
stock const TEAM_T        =    1;
stock const TEAM_CT        =    2;

new const 
g_sBuyCommands[][] =
{
    
"usp""glock""deagle""p228""elites",
    
"fn57""m3""xm1014""mp5""tmp""p90",
    
"mac10""ump45""ak47""galil""famas",
    
"sg552""m4a1""aug""scout""awp""g3sg1",
    
"sg550""m249""vest""vesthelm""flash",
    
"hegren""sgren""defuser""nvgs""shield",
    
"primammo""secammo""km45""9x19mm""nighthawk",
    
"228compact""fiveseven""12gauge""autoshotgun",
    
"mp""c90""cv47""defender""clarion""krieg552",
    
"bullpup""magnum""d3au1""krieg550"
};

new const 
MAX_BUY_COMMANDS sizeof(g_sBuyCommands);

new 
SyncHudObjg_iTimesg_iSet;

new 
pcvar_times;
new 
pcvar_ctfrags;
new 
pcvar_tfrags;
new 
pcvar_ctspd;
new 
pcvar_tspd;

public 
plugin_init()
{
    
register_pluginPLUGINVERSIONAUTHOR );
    
    
register_message(get_user_msgid("ShowMenu"), "message_ShowMenu");
    
register_message(get_user_msgid("VGUIMenu"), "message_VGUIMenu");
    
register_logevent("Event_RoundStart"2"0=World triggered""1=Round_Start");    
    
register_event"TextMsg""Event_RoundEnd""a""2&#Game_will_restart_in""2&#Game_Commencing""2&#CTs_Win""2&#Terrorists_Win""2&#Round_Draw" );    
    
register_event"SendAudio""Event_TWin""a""2&%!MRAD_terwin");
    
register_event"SendAudio""Event_CTWin""a""2&%!MRAD_ctwin");
    
register_event"CurWeapon""Event_Weapon""be""1=1" );
    
    
pcvar_times register_cvar"amx_sk_times""5" );    
    
pcvar_ctfrags register_cvar"amx_sk_ct_winfrags""2" );    
    
pcvar_tfrags register_cvar"amx_sk_t_cfrags""2" );
    
pcvar_tspd register_cvar"amx_sk_t_speed""240" );
    
pcvar_ctspd register_cvar"amx_sk_ct_speed""250" );    

    
register_clcmd"buy""HandleBuy" );
    
register_clcmd"buyammo1""HandleBuy" );
    
register_clcmd"buyammo2""HandleBuy" );
    
register_clcmd"buyequip""HandleBuy" );
    
    
set_cvar_num"sv_gravity" 200 ); 
    
set_cvar_num"sv_airaccelerate"100 ); 
    
set_cvar_num"sv_airmove" 10 ); 
    
set_cvar_num"sv_maxspeed"99999 );
    
set_cvar_float"mp_roundtime",  4.5 );    
    
    
SyncHudObj CreateHudSyncObj();

    
RegisterHam(Ham_TakeDamage"player""Event_TakeDamage"false);
}

/******* Client Commands *******/
public client_command(id)
{
    new 
szArg[13];
    
read_argv(0szArg12);
    
    if( 
equali(szArg"chooseteam") )
    {
        return 
PLUGIN_HANDLED;
    }
    
    for( new 
0MAX_BUY_COMMANDSi++ )
    {
        if( 
equali(g_sBuyCommands[i], szArg0) )
        {
            
HandleBuy(id);
            return 
PLUGIN_HANDLED;
        }
    }
    return 
PLUGIN_CONTINUE;
}

/******* Message Hooks *******/ 
public message_ShowMenu(iMsgidiDestid)
{
    static 
sMenuCode[iMaxLen];
    
get_msg_arg_string(4sMenuCodesizeof(sMenuCode) - 1);

    if(
equal(sMenuCodeFIRST_JOIN_MSG) || equal(sMenuCodeFIRST_JOIN_MSG_SPEC))
    {
        
set_autojoin_task(idiMsgid);
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;
}

public 
message_VGUIMenu(iMsgidiDestid)
{
    if(
get_msg_arg_int(1) != VGUI_JOIN_TEAM_NUM)
    {
        return 
PLUGIN_CONTINUE;
    }    
    
set_autojoin_task(idiMsgid);
    return 
PLUGIN_HANDLED;
}

/******* Event Hooks *******/ 
public Event_RoundStart()
{
    
g_iTimes 0;
    
g_iSet 0;
    new 
szPlayers[32], iNumiPlayeri;
    
get_playersszPlayersiNum );

    for( 
0iNumi++)
    {
        
iPlayer szPlayers[i];
        
ChangeToKnife(iPlayer);
        
CheckSpeed(iPlayer);
    }    
}

public 
Event_RoundEnd()
{
    new 
szPlayers[32];
    new 
iNumiRandiTRandiPlayer;

    
get_playersszPlayersiNum );        
    
    for( 
0iNumi++ )
    {
        
Player szPlayers[i];
        
iTRand random_num0);
        
cs_set_user_teamPlayerCS_TEAM_CTgizCTModels[iTRand]);
    }
    
    
iRand random_num0iNum-);
    
iTRand random_num0);
    
cs_set_user_teamszPlayers[iRand], CS_TEAM_T gizTModels[iTRand]);
}

public 
Event_TakeDamageidiInflictoriAttackerFloat:flDamagebitsDamageType )
{
    new 
iNumiRand;
    new 
szPlayers[32];
    
    
get_playersszPlayersiNum"ae""CT" );

    if((
get_user_team(iAttacker) == TEAM_T) && is_player(iAttacker) && is_user_connedted(iAttacker))
    {
        if( 
iNum == )
        {
            if( !
g_iSet )
            {
                
g_iTimes get_pcvar_numpcvar_times );
                
g_iSet 1;
            }
            
LastCT(id);
        }
        else if( 
iNum != )
        { 
            
iRand random_num0);
            
cs_set_user_deathsidget_user_deaths(id)+); 
            
set_user_fragsiAttackerget_user_frags(iAttacker) + get_pcvar_num(pcvar_tfrags)); 
            
            
DeathMsgiAttackerid"knife" );
            
cs_set_user_teamidCS_TEAM_TgizTModels[iRand] );
            
FixAttrib(id);
            
CheckSpeed(id);                    
        }
        return 
HAM_SUPERCEDE;
    }
    return 
HAM_IGNORED;    
}

public 
Event_Weapon(id)
{
    
CheckSpeed(id);    
    if(
read_data(2) != WEP_KNIFE_ID)
    {
        
ChangeToKnife(id);
        
//if(!is_user_bot(id))
        
FixAmmoHud(id);
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;
}

public 
Event_CTWin()
{
    new 
iParams[2], iszPlayers[32], iNumiPlayer;
    
iParams[0] = 1;
    
get_playersszPlayersiNum"ae""CT" );

    for( 
0iNumi++ )
    {
        
iPlayer szPlayers[i];
        
set_user_fragsiPlayerget_user_frags(iPlayer) + get_pcvar_num(pcvar_ctfrags));
    }

    
set_task0.5"task_WinMsg"0iParamssizeof(iParams));
}

public 
Event_TWin()
{
    new 
iParams[2];
    
iParams[0] = 0;
    
set_task0.5"task_WinMsg"0iParamssizeof(iParams));
}

/******* Tasks *******/ 
public task_WinMsg(iParams[])
{
    if( 
iParams[0] )
    {
        
set_hudmessage0250, -1.00.316.012.00.20.3);
        
ShowSyncHudMsg0SyncHudObj"Hiders Won The Round.");
    }
    else
    {
        
set_hudmessage2500, -1.00.316.012.00.20.3);
        
ShowSyncHudMsg0SyncHudObj"Catchers Won The Round.");
    }
}

public 
task_Autojoin(iParam[], id)
{
    new 
szPlayers[32], iNumiRClass;
    new 
iMsgid iParam[0];
    new 
iMsgBlock get_msg_block(iMsgid);
    
set_msg_block(iMsgidBLOCK_SET);

    
get_playersszPlayersiNum"e""CT" ); 
    if( 
iNum )
    {
        
engclient_cmd(id"jointeam""2");
    }
    else
    {
        
engclient_cmd(id"jointeam""1");
    }
    
    
iRClass random_num(03);
    
engclient_cmd(id"joinclass"gszJoinClass[iRClass]);
    
set_msg_block(iMsgidiMsgBlock);
}

public 
LastCT(id)
{
    
g_iTimes--;
    if( !
g_iTimes )
    {
        
user_killid );        
        
g_iSet 0;
    }
    else
    {
        
set_hudmessage250,0, -0.950.6516.012.00.20.3);
        
ShowSyncHudMsg0SyncHudObj"%d times remaining..."g_iTimes);
    }
}

public 
HandleBuy(id)
{
    
client_printidprint_center"Buy Option is Disabled." );
    return 
PLUGIN_HANDLED;
}

/********* Stock *********/
stock set_autojoin_task(idiMsgid)
{
    new 
iParam[2];
    
iParam[0] = iMsgid;
    
set_task(0.1"task_Autojoin"idiParamsizeof(iParam));
}

stock is_player(id)
{
    if( 
<= id <= 32 )
    {
        return 
1;
    }
    return 
0;
}
         
stock ChangeToKnife(id)
{
    
engclient_cmd(id"weapon_knife");
    
//strip_user_weapons(id);
    //give_item( id, "weapon_knife" );    
}

stock CheckSpeed(id)
{
    if( 
get_user_team(id) == TEAM_T )
    {
        
set_user_maxspeedidget_pcvar_float(pcvar_tspd));
    }
    else if(
get_user_team(id) == TEAM_CT)
    {
        
set_user_maxspeedidget_pcvar_float(pcvar_ctspd));
    }
}

stock DeathMsg(iKilleriVictim, const szWeapon[])
{
    
message_begin(MSG_BROADCASTget_user_msgid("DeathMsg")); 
    
write_byte(iKiller);
    
write_byte(iVictim);
    
write_byte(0);
    
write_string(szWeapon);
    
message_end();
}

stock FixAttrib(id)
{
    
message_begin(MSG_BROADCASTget_user_msgid("ScoreAttrib"));
    
write_byte(id);
    
write_byte(0); 
    
message_end();
}

stock FixAmmoHud(id)
{
    
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("CurWeapon"), { 00}, id); 
    
write_byte(1);
    
write_byte(29);
    
write_byte(-1);
    
message_end();

I am requesting a plugin review because this plugin uses messages and Ham. If anything goes wrong, the server would crash. And if I directly submit this to OP in the link above mentioned, he may complain many problems so I think there is a need for review. I didn't test the plugin thoroughly so I need your help. (Also I am lazy so i copied Exolent's Code )
Attached Files
File Type: sma Get Plugin or Get Source (SCMod.sma - 526 views - 8.3 KB)
__________________
As every time said, don't ever UNDERESTIMATE me.

Donate - Here

Last edited by Shooting King; 07-22-2013 at 10:57.
Shooting King is offline
 



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 06:20.


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