~TraNda~
23-08-2015, 06:05 AM
Important :
Populare server (TrackerUI.DLL) (<b>You have to register to ba able to see this link</b>)
]
Descriere: Un plugin care il cauta majoritatea detinatorilor de servere de war/mix, are toate comenzile necesare. Are rezolvate niste bug-uri cu care se enervau multi. (un bug la skinuri prin care orice iti poate pica server/ la spec all)
Plugin: Cool War-Mix System
Versiune: 1.0
Autor: Vlad & Hades Ownage
Link oficial: -
Download link: .SMA ( <b>You have to register to ba able to see this link</b> ) live.cfg (<b>You have to register to ba able to see this link</b>) warmup.cfg (<b>You have to register to ba able to see this link</b> )
Instalare:
Fisierul cool_war_menu.sma il puneti in addons/amxmodx/scripting
Fisierul cool_war_menu.amxx il puneti in addons/amxmodx/plugins
Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma
cool_war_menu.amxx
Fisierele warmup.cfg si live.cfg le adaugati in cstrike
Comenzi :
/war sau /mix - arata meniul de administrare
/demo <nume> - face demo pe un player
/ss <nume> - face o poza unui jucator
/spec /ct /t <nume> - transfera jucatorii
amx_spec/ct/t <nume> - transfera jucatorii
/setari - impune anumite setari jucatorilor
/score - afiseaza scorul
Modules :
CStrike
Fun
Engine
Informatii:
echipele se schimba automat dupa ce au fost jucate 15 runde.
canalul say se blocheaza automat la inceperea meciului, e liber pentru admini/ la warm e liber pentru toata lumea.
scorul se afiseaza la fiecare sfarsit de runda dar poate fi vazut si la comanda /score.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta_util>
#define PLUGIN "Cool War-Mix Menu"
#define VERSION "0.O3"
#define AUTHOR "Vlad & Hades"
#define ADMIN_ACCESS ADMIN_BAN
#define SWAP_SCORE 15
#define MAX_SCORE 16
#define WARMUP_CFG "warmup.cfg"
#define TAG "[WAR-MIX]"
#define SWITCH_TASK 112233
#define PEV_PDATA_SAFE 2
#define OFFSET_TEAM 114
#define OFFSET_DEFUSE_PLANT 193
#define HAS_DEFUSE_KIT (1<<16)
#define OFFSET_INTERNALMODEL 126
new g_RoundMode, g_RoundHalf, IsChanged, g_Score [ 4 ];
new g_Nosay, g_iMaxPlayers;
new bool: hasdemo [ 33 ];
new const g_Demoname[] = "WARFP";
new const g_szInterpCommands[ ][ ] = {
"ex_interp 0.01",
"cl_cmdrate 105",
"rate 25000",
"cl_updaterate 101"
};
new g_Commands[ ][ ] =
{
"/t",
"/ct",
"/spec"
};
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd ( "say /mix", "ShowWarMenu", ADMIN_ACCESS );
register_clcmd ( "say_team /mix", "ShowWarMenu", ADMIN_ACCESS );
register_clcmd ( "say /war", "ShowWarMenu", ADMIN_ACCESS );
register_clcmd ( "say_team /war", "ShowWarMenu", ADMIN_ACCESS );
register_clcmd("say", "Cmd_Say")
register_clcmd ( "say", "hook_say" );
register_clcmd("say", "hookSay");
register_clcmd("say_team", "hookSay");
register_clcmd("say /setari", "setari", ADMIN_ACCESS);
register_clcmd("say_team /setari", "setari", ADMIN_ACCESS);
register_clcmd("say /score", "scoremix");
register_clcmd("say_team /score", "scoremix");
register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
register_logevent ( "RoundEnd", 2, "1=Round_End" );
register_touch ( "weaponbox", "player", "OnPlayerTouchWeaponBox" );
register_event ( "SendAudio", "Terro_Win", "a", "2=%!MRAD_terwin" );
register_event ( "SendAudio", "CT_Win", "a", "2=%!MRAD_ctwin" );
register_concmd ( "amx_t", "swap_team", ADMIN_KICK, "<name> - mutare jucator la Teroristi" );
register_concmd ( "amx_ct", "swap_team", ADMIN_KICK, "<name> - mutare jucator la Counter-Teroristi" );
register_concmd ( "amx_spec", "swap_team", ADMIN_KICK, "<name> - mutare jucator la Spectatori" );
g_iMaxPlayers = get_maxplayers ( );
}
public client_connect(id)
{
hasdemo[id] = false;
}
public Terro_Win ( ) {
if ( g_RoundHalf == 1 )
g_Score [ 0 ]++;
if ( g_RoundHalf == 2 )
g_Score [ 3 ]++;
}
public CT_Win ( ) {
if ( g_RoundHalf == 1 )
g_Score [ 1 ]++;
if ( g_RoundHalf == 2 )
g_Score [ 2 ]++;
}
public ShowWarMenu ( id ) {
if ( !get_user_admin ( id ) )
return 1;
new menu = menu_create ( "\y[WAR-MIX] Admin Menu\w", "WarMenu_Items" );
menu_additem ( menu, "Toti jucatorii Spectator", "1", g_RoundHalf > 0 ? ( 1<<31 ) : 0 );
menu_additem ( menu, "Runda Cutite", "2", g_RoundHalf > 0 ? ( 1<<31 ) : 0 );
menu_additem ( menu, "Runde Incalzire", "3", g_RoundHalf > 0 ? ( 1<<31 ) : 0 );
menu_additem ( menu, "Porneste MIX/WAR", "4", g_RoundHalf > 0 ? ( 1<<31 ) : 0 );
menu_additem ( menu, "Restart", "5", 0 );
menu_additem ( menu, "Anuleaza MIX/WAR", "6", g_RoundHalf > 0 ? 0 : ( 1<<31 ) );
menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
menu_display ( id, menu, 0 );
return 1;
}
public WarMenu_Items ( id, menu, item ) {
if( item == MENU_EXIT ) return 1;
new data [ 6 ], szName [ 64 ];
new access, callback;
menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
new key = str_to_num ( data );
switch ( key ) {
case 1:
{
if( g_RoundHalf != 0 )
{
client_print ( id, print_chat, "%s %s nu poti pune jucatorii spectator deja esti in timpul unui MIX.", TAG, get_name ( id ) );
return PLUGIN_HANDLED;
}
server_cmd("sv_restart 1");
static players;
for ( players = 1; players <= get_maxplayers ( ); players++ ) {
if (( is_user_connected ( players ) ) && is_user_alive ( players ) ) {
if ( get_user_team ( players ) == 1 ) {
user_silentkill ( players );
cs_set_user_team ( players, 3 );
}
else if ( get_user_team ( players ) == 2 ) {
set_task ( 1.0, "move_ct_players_spec", players + 661272 );
}
}
}
client_print ( 0, print_chat, "%s ADMIN %s a mutat toti jucatorii la Spectator", TAG, get_name ( id ) );
g_RoundHalf = 0;
g_RoundMode = 0;
g_Nosay = 0;
}
case 2:
{
if( g_RoundHalf != 0 )
{
client_print ( id, print_chat, " %s nu poti porni runda de lame deoarece esti in timpul unui MIX.", get_name ( id ) );
return PLUGIN_HANDLED;
}
server_cmd ( "sv_restart 1" );
g_RoundHalf = 0;
g_Nosay = 0;
g_RoundMode = 1;
fm_strip_user_weapons ( 0 );
fm_give_item ( id, "weapon_knife" );
engclient_cmd ( id, "weapon_knife" );
CurrentWeapon ( id );
client_print ( 0, print_chat, "%s ADMIN %s a pornit runda Knife Only", TAG, get_name ( id ) );
}
case 3:
{
server_cmd ( "sv_restart 1" );
g_RoundHalf = 0;
g_Nosay = 0;
g_RoundMode = 2;
server_cmd ( "exec %s", WARMUP_CFG );
client_print ( 0, print_chat, "%s ADMIN %s a pornit rundele WarmUp", TAG, get_name ( id ) );
}
case 4:
{
if ( g_RoundHalf != 0)
{
client_print ( id, print_chat, "MIX-ul e deja pornit ,il poti restarta sau anula.", get_name ( id ) );
return PLUGIN_HANDLED;
}
server_cmd ( "exec live.cfg");
server_cmd ( "sv_restart 1" );
g_RoundMode = 0;
g_RoundHalf = 1;
g_Nosay = 1;
g_Score [ 0 ] = 0;
g_Score [ 1 ] = 0;
g_Score [ 2 ] = 0;
g_Score [ 3 ] = 0;
client_print ( 0, print_chat, "%s ADMIN %s a pornit prima repriza! Good Luck!", TAG, get_name ( id ) );
}
case 5:
{
if ( g_RoundHalf == 1 ) {
g_Score [ 0 ] = 0;
g_Score [ 1 ] = 0;
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s ADMIN %s a repornit prima repriza a MIX-ului. Good Luck!", TAG, get_name ( id ) );
}
else if ( g_RoundHalf == 2 ) {
g_Score [ 2 ] = g_Score [ 0 ];
g_Score [ 3 ] = g_Score [ 1 ];
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s ADMIN %s a repornit aII-a repriza a MIX-ului. Good Luck!", TAG, get_name ( id ) );
}
if ( (g_RoundMode == 0) && (g_RoundHalf == 0))
{
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s ADMIN %s a repornit jocul.", TAG, get_name ( id ) );
}
else if ( (g_RoundMode == 2) && (g_RoundHalf == 0))
{
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s ADMIN %s a repornit rundele de incalzire.", TAG, get_name ( id ) );
}
}
case 6:
{
if( g_RoundHalf == 0 )
{
client_print ( id, print_chat, "In acest moment nu ruleaza nici un MIX.", get_name ( id ) );
return PLUGIN_HANDLED;
}
client_print ( 0, print_chat, "%s ADMIN %s a anulat Mix-ul!", TAG, get_name ( id ) );
g_RoundHalf = 0;
g_RoundMode = 0;
IsChanged = 0;
g_Nosay = 0;
g_Score [ 0 ] = g_Score [ 1 ] = 0;
g_Score [ 2 ] = g_Score [ 3 ] = 0;
}
}
menu_destroy ( menu );
return 1;
}
public move_ct_players_spec ( id ) {
id -= 661272;
user_silentkill ( id );
cs_set_user_team ( id, 3 );
}
public EndMix ( ) {
g_RoundHalf = 0;
g_RoundMode = 0;
IsChanged = 0;
g_Nosay = 0;
fm_strip_user_weapons ( 0 );
fm_give_item ( 0, "weapon_knife" );
if( g_Score[ 2 ] > g_Score [ 3 ] )
{
set_hudmessage ( 255, 127, 0, -1.0, 0.52, 0, 6.0, 10.0 );
show_hudmessage ( 0, "-- CT WIN --^nCT: %d | T: %d^n-- War-Mix System by Vlad & Hades --^n", g_Score [ 2 ], g_Score [ 3 ]);
}
else if( g_Score[ 3 ] > g_Score [ 2 ] )
{
set_hudmessage ( 255, 127, 0, -1.0, 0.52, 0, 6.0, 10.0 );
show_hudmessage ( 0, "-- TERO WIN --^nT: %d | CT: %d^n-- War-Mix System by Vlad & Hades --^n", g_Score [ 3 ], g_Score [ 2 ]);
}
else if( g_Score[ 3 ] == g_Score [ 2 ] )
{
set_hudmessage ( 255, 127, 0, -1.0, 0.52, 0, 6.0, 10.0 );
show_hudmessage ( 0, "-- MECIUL S-A TERMINAT CU EGALITATE --^nT: %d | CT: %d^n-- War-Mix System by Vlad & Hades --^n", g_Score [ 3 ], g_Score [ 2 ]);
}
}
public SwapTeams ( ) {
new iPlayers [ 32 ], iNum;
get_players ( iPlayers, iNum, "ch" );
if ( iNum ) {
new id2;
for ( --iNum; iNum >= 0; iNum-- ) {
id2 = iPlayers [ iNum ];
BeginDelayedTeamChange ( id2 );
}
}
}
public scoremix ( id )
{
if (( g_RoundHalf == 1 ) && ( g_Score[ 0 ] > g_Score[ 1 ] ))
{
client_print ( id, print_chat, "%s Echipa Tero conduce cu scorul de %d la %d in prima repriza a mix-ului.", TAG, g_Score [ 0 ], g_Score [ 1 ] );
}
else if (( g_RoundHalf == 1 ) && ( g_Score[ 1 ] > g_Score[ 0 ] ))
{
client_print ( id, print_chat, "%s Echipa CT conduce cu scorul de %d la %d in prima repriza a mix-ului.", TAG, g_Score [ 1 ], g_Score [ 0 ] );
}
else if (( g_RoundHalf == 1 ) && ( g_Score[ 1 ] == g_Score[ 0 ] ))
{
client_print ( id, print_chat, "%s Cele 2 echipe sunt la egalitate in prima repriza a mix-ului.", TAG);
}
if (( g_RoundHalf == 2 ) && ( g_Score[ 2 ] > g_Score[ 3 ] ))
{
client_print ( id, print_chat, "%s Echipa CT conduce cu scorul de %d la %d in a2-a repriza a mix-ului.", TAG, g_Score [ 2 ], g_Score [ 3 ] );
}
else if (( g_RoundHalf == 2 ) && ( g_Score[ 3 ] > g_Score[ 2 ] ))
{
client_print ( id, print_chat, "%s Echipa Tero conduce cu scorul de %d la %d in a2-a repriza a mix-ului.", TAG, g_Score [ 3 ], g_Score [ 2 ] );
}
else if (( g_RoundHalf == 2 ) && ( g_Score[ 2 ] == g_Score[ 3 ] ))
{
client_print ( id, print_chat, "%s Cele 2 echipe sunt la egalitate in a2-a repriza a mix-ului.", TAG);
}
}
public RoundEnd ( ) {
if (( g_RoundHalf == 1 ) && ( g_Score[ 0 ] > g_Score[ 1 ] ))
{
client_print ( 0, print_chat, "%s Echipa Tero conduce cu scorul de %d la %d in prima repriza a mix-ului.", TAG, g_Score [ 0 ], g_Score [ 1 ] );
}
else if (( g_RoundHalf == 1 ) && ( g_Score[ 1 ] > g_Score[ 0 ] ))
{
client_print ( 0, print_chat, "%s Echipa CT conduce cu scorul de %d la %d in prima repriza a mix-ului.", TAG, g_Score [ 1 ], g_Score [ 0 ] );
}
else if (( g_RoundHalf == 1 ) && ( g_Score[ 1 ] == g_Score[ 0 ] ))
{
client_print ( 0, print_chat, "%s Cele 2 echipe sunt la egalitate in prima repriza a mix-ului.", TAG);
}
if (( g_RoundHalf == 2 ) && ( g_Score[ 2 ] > g_Score[ 3 ] ))
{
client_print ( 0, print_chat, "%s Echipa CT conduce cu scorul de %d la %d in a2-a repriza a mix-ului.", TAG, g_Score [ 2 ], g_Score [ 3 ] );
}
else if (( g_RoundHalf == 2 ) && ( g_Score[ 3 ] > g_Score[ 2 ] ))
{
client_print ( 0, print_chat, "%s Echipa Tero conduce cu scorul de %d la %d in a2-a repriza a mix-ului.", TAG, g_Score [ 3 ], g_Score [ 2 ] );
}
else if (( g_RoundHalf == 2 ) && ( g_Score[ 2 ] == g_Score[ 3 ] ))
{
client_print ( 0, print_chat, "%s Cele 2 echipe sunt la egalitate in a2-a repriza a mix-ului.", TAG);
}
if ( ( g_Score [ 0 ] + g_Score [ 1 ] == SWAP_SCORE ) && (!IsChanged )) {
g_RoundMode = 0;
g_RoundHalf = 2;
g_Nosay = 1;
IsChanged = 1;
g_Score [ 2 ] = g_Score [ 0 ];
g_Score [ 3 ] = g_Score [ 1 ];
SwapTeams ( );
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s Echipele s-au schimbat cu succes..",TAG );
client_print ( 0, print_chat, "%s A pornit partea aII-a a mix-ulu. Good Luck & Have Fun !",TAG );
}
if ( g_Score [ 2 ] >= MAX_SCORE || g_Score [ 3 ] >= MAX_SCORE ) {
EndMix ( );
g_Score [ 0 ] = g_Score [ 1 ] = 0;
g_Score [ 2 ] = g_Score [ 3 ] = 0;
client_print ( 0, print_chat, "%s MIX-ul s-a incheia!",TAG );
}
}
public CurrentWeapon ( id ) {
if ( g_RoundMode == 1 )
engclient_cmd ( id, "weapon_knife" );
}
public OnPlayerTouchWeaponBox ( ent, id ) {
if ( g_RoundMode == 1 )
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public BeginDelayedTeamChange( id )
{
switch( id )
{
case 1..6: set_task( 0.1, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
case 7..13: set_task( 0.2, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
case 14..20: set_task( 0.3, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
case 21..26: set_task( 0.4, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
case 27..32: set_task( 0.5, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
}
}
public Cmd_Say( id )
{
if(( g_Nosay == 1 ) && !get_user_admin ( id ) )
{
client_print(id, print_chat, "%s Canalul SAY este blocat pentru playeri, foloseste say_team.", TAG);
return PLUGIN_HANDLED_MAIN;
}
return PLUGIN_CONTINUE;
}
public ChangeUserTeamWithDelay( id )
{
id -= SWITCH_TASK;
if( !is_user_connected( id ) ) return 1;
switch( get_user_team( id ) )
{
case 1: fm_cs_set_user_team( id, 2 );
case 2:fm_cs_set_user_team( id, 1 );
}
return 0;
}
public setari( id )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
static iSize = sizeof ( g_szInterpCommands );
for( new i = 0; i < iSize; i++ )
client_cmd( 0, g_szInterpCommands[ i ] );
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
client_print ( id, print_chat, "%s Ai impus setarile pentru mix tuturor jucatorilor. ", TAG);
client_print ( 0, print_console, "%s Ti-au fost actualizate urmatoarele setari: ex_interp 0.01/cl_updaterate 101/cl_cmdrate 105/rate 25000", TAG);
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public hookSay( id )
{
new szSaid[ 192 ];
read_args( szSaid, sizeof( szSaid ) -1 );
remove_quotes( szSaid );
if( contain( szSaid, "/demo" ) != -1 )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new target[ 32 ];
copy( target, sizeof( target ) -1, szSaid[ 6 ] );
new id2 = cmd_target( id, target, 2 );
if(hasdemo[id2])
{
static szName[ 32 ];
new mapname[32];
get_user_name( id2, szName, sizeof( szName ) -1 );
get_mapname(mapname,31);
client_print ( id, print_chat, "%s Jucatorul %s are deja demo pornit. ", TAG, szName );
return PLUGIN_HANDLED;
}
if( id2 )
{
static szName[ 32 ];
new mapname[32];
get_user_name( id2, szName, sizeof( szName ) -1 );
get_mapname(mapname,31);
hasdemo[id2] = true;
client_cmd( id2, "record ^"%s_%s^"", g_Demoname, mapname );
client_print ( id, print_chat, "%s Ai pornit demo pe jucatorul %s.", TAG, szName );
}
else
{
client_print ( id, print_chat, "%s Jucatorul specificat nu exista.", TAG);
}
return PLUGIN_HANDLED;
}
}
if( contain( szSaid, "/ss" ) != -1 )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new target[ 32 ];
copy( target, sizeof( target ) -1, szSaid[ 6 ] );
new id2 = cmd_target( id, target, 2 );
if( id2 )
{
static szName[ 32 ];
get_user_name( id2, szName, sizeof( szName ) -1 );
client_cmd( id2, "snapshot");
client_print ( id, print_chat, "%s I-ai facut o poza jucatorului %s, cere-i s-o posteze pe forum.", TAG, szName );
}
else
{
client_print ( id, print_chat, "%s Jucatorul specificat nu exista.", TAG);
}
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public hook_say ( e_Index )
{
static s_Args[ 192 ], s_Command[ 192 ];
read_args ( s_Args, charsmax ( s_Args ) );
if ( ! s_Args[ 0 ] )
return PLUGIN_CONTINUE;
remove_quotes ( s_Args[ 0 ] );
for ( new i; i < sizeof g_Commands; i++ )
{
if ( equal ( s_Args, g_Commands[ i ], strlen ( g_Commands[ i ] ) ) )
{
if ( is_user_admin ( e_Index ) )
{
replace ( s_Args, charsmax ( s_Args ), "/", "" );
formatex ( s_Command, charsmax ( s_Command ),"amx_%s", s_Args );
client_cmd ( e_Index, s_Command );
}
break;
}
}
return PLUGIN_CONTINUE;
}
public swap_team ( id, level, cid ) {
if( ! cmd_access ( id, level, cid, 2 ) )
return PLUGIN_HANDLED;
new szArg[ 10 ], target[ 32 ], szPlayerName[ 32 ], szAdminName[ 32 ];
read_argv( 0, szArg, 9 );
read_argv( 1, target, 31 );
new player = cmd_target ( id, target, 11 );
if( ! player ) {
client_print ( id, print_chat, "%s Jucatorul specificat nu exista.", TAG);
return PLUGIN_HANDLED;
}
get_user_name ( player, szPlayerName, 31 );
get_user_name ( id, szAdminName, 31 );
switch ( szArg[ 4 ] ) {
case 't':
{
user_silentkill ( player );
cs_set_user_team ( player, 1 );
client_print ( 0, print_chat, "%s Adminul %s a mutat jucatorul %s la Terorrists.", TAG, szAdminName, szPlayerName );
}
case 'c':
{
user_silentkill ( player );
cs_set_user_team ( player, 2 );
client_print ( 0, print_chat, "%s Adminul %s a mutat jucatorul %s la Counter-Terrorists.", TAG, szAdminName, szPlayerName );
}
case 's':
{
if(is_user_alive(player))
{
user_silentkill ( player );
cs_set_user_team ( player, 3 );
client_print ( 0, print_chat, "%s Adminul %s a mutat jucatorul %s la Spectators.", TAG, szAdminName, szPlayerName );
}
}
}
return PLUGIN_CONTINUE;
}
bool: get_user_admin ( id ) {
if ( get_user_flags ( id ) & ADMIN_ACCESS )
return true;
return false;
}
stock get_name ( id ) {
new name [ 32 ] ;
get_user_name ( id, name, 31 );
return name;
}
fm_cs_set_user_team(id, team) {
if(!(1 <= id <= g_iMaxPlayers) || pev_valid(id) != PEV_PDATA_SAFE)
{
return 0
}
switch(team)
{
case 1:
{
new iDefuser = get_pdata_int(id, OFFSET_DEFUSE_PLANT)
if(iDefuser & HAS_DEFUSE_KIT)
{
iDefuser -= HAS_DEFUSE_KIT
set_pdata_int(id, OFFSET_DEFUSE_PLANT, iDefuser)
}
set_pdata_int(id, OFFSET_TEAM, 1)
// set_pdata_int(id, OFFSET_INTERNALMODEL, 4)
}
case 2:
{
if(pev(id, pev_weapons) & (1<<CSW_C4))
{
engclient_cmd(id, "drop", "weapon_c4")
}
set_pdata_int(id, OFFSET_TEAM, 2)
// set_pdata_int(id, OFFSET_INTERNALMODEL, 6)
}
}
dllfunc(DLLFunc_ClientUserInfoChanged, id, engfunc(EngFunc_GetInfoKeyBuffer, id))
return 1
}
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
WarGods Community
Populare server (TrackerUI.DLL) (<b>You have to register to ba able to see this link</b>)
]
Descriere: Un plugin care il cauta majoritatea detinatorilor de servere de war/mix, are toate comenzile necesare. Are rezolvate niste bug-uri cu care se enervau multi. (un bug la skinuri prin care orice iti poate pica server/ la spec all)
Plugin: Cool War-Mix System
Versiune: 1.0
Autor: Vlad & Hades Ownage
Link oficial: -
Download link: .SMA ( <b>You have to register to ba able to see this link</b> ) live.cfg (<b>You have to register to ba able to see this link</b>) warmup.cfg (<b>You have to register to ba able to see this link</b> )
Instalare:
Fisierul cool_war_menu.sma il puneti in addons/amxmodx/scripting
Fisierul cool_war_menu.amxx il puneti in addons/amxmodx/plugins
Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma
cool_war_menu.amxx
Fisierele warmup.cfg si live.cfg le adaugati in cstrike
Comenzi :
/war sau /mix - arata meniul de administrare
/demo <nume> - face demo pe un player
/ss <nume> - face o poza unui jucator
/spec /ct /t <nume> - transfera jucatorii
amx_spec/ct/t <nume> - transfera jucatorii
/setari - impune anumite setari jucatorilor
/score - afiseaza scorul
Modules :
CStrike
Fun
Engine
Informatii:
echipele se schimba automat dupa ce au fost jucate 15 runde.
canalul say se blocheaza automat la inceperea meciului, e liber pentru admini/ la warm e liber pentru toata lumea.
scorul se afiseaza la fiecare sfarsit de runda dar poate fi vazut si la comanda /score.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta_util>
#define PLUGIN "Cool War-Mix Menu"
#define VERSION "0.O3"
#define AUTHOR "Vlad & Hades"
#define ADMIN_ACCESS ADMIN_BAN
#define SWAP_SCORE 15
#define MAX_SCORE 16
#define WARMUP_CFG "warmup.cfg"
#define TAG "[WAR-MIX]"
#define SWITCH_TASK 112233
#define PEV_PDATA_SAFE 2
#define OFFSET_TEAM 114
#define OFFSET_DEFUSE_PLANT 193
#define HAS_DEFUSE_KIT (1<<16)
#define OFFSET_INTERNALMODEL 126
new g_RoundMode, g_RoundHalf, IsChanged, g_Score [ 4 ];
new g_Nosay, g_iMaxPlayers;
new bool: hasdemo [ 33 ];
new const g_Demoname[] = "WARFP";
new const g_szInterpCommands[ ][ ] = {
"ex_interp 0.01",
"cl_cmdrate 105",
"rate 25000",
"cl_updaterate 101"
};
new g_Commands[ ][ ] =
{
"/t",
"/ct",
"/spec"
};
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd ( "say /mix", "ShowWarMenu", ADMIN_ACCESS );
register_clcmd ( "say_team /mix", "ShowWarMenu", ADMIN_ACCESS );
register_clcmd ( "say /war", "ShowWarMenu", ADMIN_ACCESS );
register_clcmd ( "say_team /war", "ShowWarMenu", ADMIN_ACCESS );
register_clcmd("say", "Cmd_Say")
register_clcmd ( "say", "hook_say" );
register_clcmd("say", "hookSay");
register_clcmd("say_team", "hookSay");
register_clcmd("say /setari", "setari", ADMIN_ACCESS);
register_clcmd("say_team /setari", "setari", ADMIN_ACCESS);
register_clcmd("say /score", "scoremix");
register_clcmd("say_team /score", "scoremix");
register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
register_logevent ( "RoundEnd", 2, "1=Round_End" );
register_touch ( "weaponbox", "player", "OnPlayerTouchWeaponBox" );
register_event ( "SendAudio", "Terro_Win", "a", "2=%!MRAD_terwin" );
register_event ( "SendAudio", "CT_Win", "a", "2=%!MRAD_ctwin" );
register_concmd ( "amx_t", "swap_team", ADMIN_KICK, "<name> - mutare jucator la Teroristi" );
register_concmd ( "amx_ct", "swap_team", ADMIN_KICK, "<name> - mutare jucator la Counter-Teroristi" );
register_concmd ( "amx_spec", "swap_team", ADMIN_KICK, "<name> - mutare jucator la Spectatori" );
g_iMaxPlayers = get_maxplayers ( );
}
public client_connect(id)
{
hasdemo[id] = false;
}
public Terro_Win ( ) {
if ( g_RoundHalf == 1 )
g_Score [ 0 ]++;
if ( g_RoundHalf == 2 )
g_Score [ 3 ]++;
}
public CT_Win ( ) {
if ( g_RoundHalf == 1 )
g_Score [ 1 ]++;
if ( g_RoundHalf == 2 )
g_Score [ 2 ]++;
}
public ShowWarMenu ( id ) {
if ( !get_user_admin ( id ) )
return 1;
new menu = menu_create ( "\y[WAR-MIX] Admin Menu\w", "WarMenu_Items" );
menu_additem ( menu, "Toti jucatorii Spectator", "1", g_RoundHalf > 0 ? ( 1<<31 ) : 0 );
menu_additem ( menu, "Runda Cutite", "2", g_RoundHalf > 0 ? ( 1<<31 ) : 0 );
menu_additem ( menu, "Runde Incalzire", "3", g_RoundHalf > 0 ? ( 1<<31 ) : 0 );
menu_additem ( menu, "Porneste MIX/WAR", "4", g_RoundHalf > 0 ? ( 1<<31 ) : 0 );
menu_additem ( menu, "Restart", "5", 0 );
menu_additem ( menu, "Anuleaza MIX/WAR", "6", g_RoundHalf > 0 ? 0 : ( 1<<31 ) );
menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
menu_display ( id, menu, 0 );
return 1;
}
public WarMenu_Items ( id, menu, item ) {
if( item == MENU_EXIT ) return 1;
new data [ 6 ], szName [ 64 ];
new access, callback;
menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
new key = str_to_num ( data );
switch ( key ) {
case 1:
{
if( g_RoundHalf != 0 )
{
client_print ( id, print_chat, "%s %s nu poti pune jucatorii spectator deja esti in timpul unui MIX.", TAG, get_name ( id ) );
return PLUGIN_HANDLED;
}
server_cmd("sv_restart 1");
static players;
for ( players = 1; players <= get_maxplayers ( ); players++ ) {
if (( is_user_connected ( players ) ) && is_user_alive ( players ) ) {
if ( get_user_team ( players ) == 1 ) {
user_silentkill ( players );
cs_set_user_team ( players, 3 );
}
else if ( get_user_team ( players ) == 2 ) {
set_task ( 1.0, "move_ct_players_spec", players + 661272 );
}
}
}
client_print ( 0, print_chat, "%s ADMIN %s a mutat toti jucatorii la Spectator", TAG, get_name ( id ) );
g_RoundHalf = 0;
g_RoundMode = 0;
g_Nosay = 0;
}
case 2:
{
if( g_RoundHalf != 0 )
{
client_print ( id, print_chat, " %s nu poti porni runda de lame deoarece esti in timpul unui MIX.", get_name ( id ) );
return PLUGIN_HANDLED;
}
server_cmd ( "sv_restart 1" );
g_RoundHalf = 0;
g_Nosay = 0;
g_RoundMode = 1;
fm_strip_user_weapons ( 0 );
fm_give_item ( id, "weapon_knife" );
engclient_cmd ( id, "weapon_knife" );
CurrentWeapon ( id );
client_print ( 0, print_chat, "%s ADMIN %s a pornit runda Knife Only", TAG, get_name ( id ) );
}
case 3:
{
server_cmd ( "sv_restart 1" );
g_RoundHalf = 0;
g_Nosay = 0;
g_RoundMode = 2;
server_cmd ( "exec %s", WARMUP_CFG );
client_print ( 0, print_chat, "%s ADMIN %s a pornit rundele WarmUp", TAG, get_name ( id ) );
}
case 4:
{
if ( g_RoundHalf != 0)
{
client_print ( id, print_chat, "MIX-ul e deja pornit ,il poti restarta sau anula.", get_name ( id ) );
return PLUGIN_HANDLED;
}
server_cmd ( "exec live.cfg");
server_cmd ( "sv_restart 1" );
g_RoundMode = 0;
g_RoundHalf = 1;
g_Nosay = 1;
g_Score [ 0 ] = 0;
g_Score [ 1 ] = 0;
g_Score [ 2 ] = 0;
g_Score [ 3 ] = 0;
client_print ( 0, print_chat, "%s ADMIN %s a pornit prima repriza! Good Luck!", TAG, get_name ( id ) );
}
case 5:
{
if ( g_RoundHalf == 1 ) {
g_Score [ 0 ] = 0;
g_Score [ 1 ] = 0;
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s ADMIN %s a repornit prima repriza a MIX-ului. Good Luck!", TAG, get_name ( id ) );
}
else if ( g_RoundHalf == 2 ) {
g_Score [ 2 ] = g_Score [ 0 ];
g_Score [ 3 ] = g_Score [ 1 ];
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s ADMIN %s a repornit aII-a repriza a MIX-ului. Good Luck!", TAG, get_name ( id ) );
}
if ( (g_RoundMode == 0) && (g_RoundHalf == 0))
{
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s ADMIN %s a repornit jocul.", TAG, get_name ( id ) );
}
else if ( (g_RoundMode == 2) && (g_RoundHalf == 0))
{
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s ADMIN %s a repornit rundele de incalzire.", TAG, get_name ( id ) );
}
}
case 6:
{
if( g_RoundHalf == 0 )
{
client_print ( id, print_chat, "In acest moment nu ruleaza nici un MIX.", get_name ( id ) );
return PLUGIN_HANDLED;
}
client_print ( 0, print_chat, "%s ADMIN %s a anulat Mix-ul!", TAG, get_name ( id ) );
g_RoundHalf = 0;
g_RoundMode = 0;
IsChanged = 0;
g_Nosay = 0;
g_Score [ 0 ] = g_Score [ 1 ] = 0;
g_Score [ 2 ] = g_Score [ 3 ] = 0;
}
}
menu_destroy ( menu );
return 1;
}
public move_ct_players_spec ( id ) {
id -= 661272;
user_silentkill ( id );
cs_set_user_team ( id, 3 );
}
public EndMix ( ) {
g_RoundHalf = 0;
g_RoundMode = 0;
IsChanged = 0;
g_Nosay = 0;
fm_strip_user_weapons ( 0 );
fm_give_item ( 0, "weapon_knife" );
if( g_Score[ 2 ] > g_Score [ 3 ] )
{
set_hudmessage ( 255, 127, 0, -1.0, 0.52, 0, 6.0, 10.0 );
show_hudmessage ( 0, "-- CT WIN --^nCT: %d | T: %d^n-- War-Mix System by Vlad & Hades --^n", g_Score [ 2 ], g_Score [ 3 ]);
}
else if( g_Score[ 3 ] > g_Score [ 2 ] )
{
set_hudmessage ( 255, 127, 0, -1.0, 0.52, 0, 6.0, 10.0 );
show_hudmessage ( 0, "-- TERO WIN --^nT: %d | CT: %d^n-- War-Mix System by Vlad & Hades --^n", g_Score [ 3 ], g_Score [ 2 ]);
}
else if( g_Score[ 3 ] == g_Score [ 2 ] )
{
set_hudmessage ( 255, 127, 0, -1.0, 0.52, 0, 6.0, 10.0 );
show_hudmessage ( 0, "-- MECIUL S-A TERMINAT CU EGALITATE --^nT: %d | CT: %d^n-- War-Mix System by Vlad & Hades --^n", g_Score [ 3 ], g_Score [ 2 ]);
}
}
public SwapTeams ( ) {
new iPlayers [ 32 ], iNum;
get_players ( iPlayers, iNum, "ch" );
if ( iNum ) {
new id2;
for ( --iNum; iNum >= 0; iNum-- ) {
id2 = iPlayers [ iNum ];
BeginDelayedTeamChange ( id2 );
}
}
}
public scoremix ( id )
{
if (( g_RoundHalf == 1 ) && ( g_Score[ 0 ] > g_Score[ 1 ] ))
{
client_print ( id, print_chat, "%s Echipa Tero conduce cu scorul de %d la %d in prima repriza a mix-ului.", TAG, g_Score [ 0 ], g_Score [ 1 ] );
}
else if (( g_RoundHalf == 1 ) && ( g_Score[ 1 ] > g_Score[ 0 ] ))
{
client_print ( id, print_chat, "%s Echipa CT conduce cu scorul de %d la %d in prima repriza a mix-ului.", TAG, g_Score [ 1 ], g_Score [ 0 ] );
}
else if (( g_RoundHalf == 1 ) && ( g_Score[ 1 ] == g_Score[ 0 ] ))
{
client_print ( id, print_chat, "%s Cele 2 echipe sunt la egalitate in prima repriza a mix-ului.", TAG);
}
if (( g_RoundHalf == 2 ) && ( g_Score[ 2 ] > g_Score[ 3 ] ))
{
client_print ( id, print_chat, "%s Echipa CT conduce cu scorul de %d la %d in a2-a repriza a mix-ului.", TAG, g_Score [ 2 ], g_Score [ 3 ] );
}
else if (( g_RoundHalf == 2 ) && ( g_Score[ 3 ] > g_Score[ 2 ] ))
{
client_print ( id, print_chat, "%s Echipa Tero conduce cu scorul de %d la %d in a2-a repriza a mix-ului.", TAG, g_Score [ 3 ], g_Score [ 2 ] );
}
else if (( g_RoundHalf == 2 ) && ( g_Score[ 2 ] == g_Score[ 3 ] ))
{
client_print ( id, print_chat, "%s Cele 2 echipe sunt la egalitate in a2-a repriza a mix-ului.", TAG);
}
}
public RoundEnd ( ) {
if (( g_RoundHalf == 1 ) && ( g_Score[ 0 ] > g_Score[ 1 ] ))
{
client_print ( 0, print_chat, "%s Echipa Tero conduce cu scorul de %d la %d in prima repriza a mix-ului.", TAG, g_Score [ 0 ], g_Score [ 1 ] );
}
else if (( g_RoundHalf == 1 ) && ( g_Score[ 1 ] > g_Score[ 0 ] ))
{
client_print ( 0, print_chat, "%s Echipa CT conduce cu scorul de %d la %d in prima repriza a mix-ului.", TAG, g_Score [ 1 ], g_Score [ 0 ] );
}
else if (( g_RoundHalf == 1 ) && ( g_Score[ 1 ] == g_Score[ 0 ] ))
{
client_print ( 0, print_chat, "%s Cele 2 echipe sunt la egalitate in prima repriza a mix-ului.", TAG);
}
if (( g_RoundHalf == 2 ) && ( g_Score[ 2 ] > g_Score[ 3 ] ))
{
client_print ( 0, print_chat, "%s Echipa CT conduce cu scorul de %d la %d in a2-a repriza a mix-ului.", TAG, g_Score [ 2 ], g_Score [ 3 ] );
}
else if (( g_RoundHalf == 2 ) && ( g_Score[ 3 ] > g_Score[ 2 ] ))
{
client_print ( 0, print_chat, "%s Echipa Tero conduce cu scorul de %d la %d in a2-a repriza a mix-ului.", TAG, g_Score [ 3 ], g_Score [ 2 ] );
}
else if (( g_RoundHalf == 2 ) && ( g_Score[ 2 ] == g_Score[ 3 ] ))
{
client_print ( 0, print_chat, "%s Cele 2 echipe sunt la egalitate in a2-a repriza a mix-ului.", TAG);
}
if ( ( g_Score [ 0 ] + g_Score [ 1 ] == SWAP_SCORE ) && (!IsChanged )) {
g_RoundMode = 0;
g_RoundHalf = 2;
g_Nosay = 1;
IsChanged = 1;
g_Score [ 2 ] = g_Score [ 0 ];
g_Score [ 3 ] = g_Score [ 1 ];
SwapTeams ( );
server_cmd ( "sv_restart 1" );
client_print ( 0, print_chat, "%s Echipele s-au schimbat cu succes..",TAG );
client_print ( 0, print_chat, "%s A pornit partea aII-a a mix-ulu. Good Luck & Have Fun !",TAG );
}
if ( g_Score [ 2 ] >= MAX_SCORE || g_Score [ 3 ] >= MAX_SCORE ) {
EndMix ( );
g_Score [ 0 ] = g_Score [ 1 ] = 0;
g_Score [ 2 ] = g_Score [ 3 ] = 0;
client_print ( 0, print_chat, "%s MIX-ul s-a incheia!",TAG );
}
}
public CurrentWeapon ( id ) {
if ( g_RoundMode == 1 )
engclient_cmd ( id, "weapon_knife" );
}
public OnPlayerTouchWeaponBox ( ent, id ) {
if ( g_RoundMode == 1 )
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public BeginDelayedTeamChange( id )
{
switch( id )
{
case 1..6: set_task( 0.1, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
case 7..13: set_task( 0.2, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
case 14..20: set_task( 0.3, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
case 21..26: set_task( 0.4, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
case 27..32: set_task( 0.5, "ChangeUserTeamWithDelay", id + SWITCH_TASK );
}
}
public Cmd_Say( id )
{
if(( g_Nosay == 1 ) && !get_user_admin ( id ) )
{
client_print(id, print_chat, "%s Canalul SAY este blocat pentru playeri, foloseste say_team.", TAG);
return PLUGIN_HANDLED_MAIN;
}
return PLUGIN_CONTINUE;
}
public ChangeUserTeamWithDelay( id )
{
id -= SWITCH_TASK;
if( !is_user_connected( id ) ) return 1;
switch( get_user_team( id ) )
{
case 1: fm_cs_set_user_team( id, 2 );
case 2:fm_cs_set_user_team( id, 1 );
}
return 0;
}
public setari( id )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
static iSize = sizeof ( g_szInterpCommands );
for( new i = 0; i < iSize; i++ )
client_cmd( 0, g_szInterpCommands[ i ] );
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
client_print ( id, print_chat, "%s Ai impus setarile pentru mix tuturor jucatorilor. ", TAG);
client_print ( 0, print_console, "%s Ti-au fost actualizate urmatoarele setari: ex_interp 0.01/cl_updaterate 101/cl_cmdrate 105/rate 25000", TAG);
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public hookSay( id )
{
new szSaid[ 192 ];
read_args( szSaid, sizeof( szSaid ) -1 );
remove_quotes( szSaid );
if( contain( szSaid, "/demo" ) != -1 )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new target[ 32 ];
copy( target, sizeof( target ) -1, szSaid[ 6 ] );
new id2 = cmd_target( id, target, 2 );
if(hasdemo[id2])
{
static szName[ 32 ];
new mapname[32];
get_user_name( id2, szName, sizeof( szName ) -1 );
get_mapname(mapname,31);
client_print ( id, print_chat, "%s Jucatorul %s are deja demo pornit. ", TAG, szName );
return PLUGIN_HANDLED;
}
if( id2 )
{
static szName[ 32 ];
new mapname[32];
get_user_name( id2, szName, sizeof( szName ) -1 );
get_mapname(mapname,31);
hasdemo[id2] = true;
client_cmd( id2, "record ^"%s_%s^"", g_Demoname, mapname );
client_print ( id, print_chat, "%s Ai pornit demo pe jucatorul %s.", TAG, szName );
}
else
{
client_print ( id, print_chat, "%s Jucatorul specificat nu exista.", TAG);
}
return PLUGIN_HANDLED;
}
}
if( contain( szSaid, "/ss" ) != -1 )
{
if( get_user_flags( id ) & ADMIN_KICK )
{
new target[ 32 ];
copy( target, sizeof( target ) -1, szSaid[ 6 ] );
new id2 = cmd_target( id, target, 2 );
if( id2 )
{
static szName[ 32 ];
get_user_name( id2, szName, sizeof( szName ) -1 );
client_cmd( id2, "snapshot");
client_print ( id, print_chat, "%s I-ai facut o poza jucatorului %s, cere-i s-o posteze pe forum.", TAG, szName );
}
else
{
client_print ( id, print_chat, "%s Jucatorul specificat nu exista.", TAG);
}
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public hook_say ( e_Index )
{
static s_Args[ 192 ], s_Command[ 192 ];
read_args ( s_Args, charsmax ( s_Args ) );
if ( ! s_Args[ 0 ] )
return PLUGIN_CONTINUE;
remove_quotes ( s_Args[ 0 ] );
for ( new i; i < sizeof g_Commands; i++ )
{
if ( equal ( s_Args, g_Commands[ i ], strlen ( g_Commands[ i ] ) ) )
{
if ( is_user_admin ( e_Index ) )
{
replace ( s_Args, charsmax ( s_Args ), "/", "" );
formatex ( s_Command, charsmax ( s_Command ),"amx_%s", s_Args );
client_cmd ( e_Index, s_Command );
}
break;
}
}
return PLUGIN_CONTINUE;
}
public swap_team ( id, level, cid ) {
if( ! cmd_access ( id, level, cid, 2 ) )
return PLUGIN_HANDLED;
new szArg[ 10 ], target[ 32 ], szPlayerName[ 32 ], szAdminName[ 32 ];
read_argv( 0, szArg, 9 );
read_argv( 1, target, 31 );
new player = cmd_target ( id, target, 11 );
if( ! player ) {
client_print ( id, print_chat, "%s Jucatorul specificat nu exista.", TAG);
return PLUGIN_HANDLED;
}
get_user_name ( player, szPlayerName, 31 );
get_user_name ( id, szAdminName, 31 );
switch ( szArg[ 4 ] ) {
case 't':
{
user_silentkill ( player );
cs_set_user_team ( player, 1 );
client_print ( 0, print_chat, "%s Adminul %s a mutat jucatorul %s la Terorrists.", TAG, szAdminName, szPlayerName );
}
case 'c':
{
user_silentkill ( player );
cs_set_user_team ( player, 2 );
client_print ( 0, print_chat, "%s Adminul %s a mutat jucatorul %s la Counter-Terrorists.", TAG, szAdminName, szPlayerName );
}
case 's':
{
if(is_user_alive(player))
{
user_silentkill ( player );
cs_set_user_team ( player, 3 );
client_print ( 0, print_chat, "%s Adminul %s a mutat jucatorul %s la Spectators.", TAG, szAdminName, szPlayerName );
}
}
}
return PLUGIN_CONTINUE;
}
bool: get_user_admin ( id ) {
if ( get_user_flags ( id ) & ADMIN_ACCESS )
return true;
return false;
}
stock get_name ( id ) {
new name [ 32 ] ;
get_user_name ( id, name, 31 );
return name;
}
fm_cs_set_user_team(id, team) {
if(!(1 <= id <= g_iMaxPlayers) || pev_valid(id) != PEV_PDATA_SAFE)
{
return 0
}
switch(team)
{
case 1:
{
new iDefuser = get_pdata_int(id, OFFSET_DEFUSE_PLANT)
if(iDefuser & HAS_DEFUSE_KIT)
{
iDefuser -= HAS_DEFUSE_KIT
set_pdata_int(id, OFFSET_DEFUSE_PLANT, iDefuser)
}
set_pdata_int(id, OFFSET_TEAM, 1)
// set_pdata_int(id, OFFSET_INTERNALMODEL, 4)
}
case 2:
{
if(pev(id, pev_weapons) & (1<<CSW_C4))
{
engclient_cmd(id, "drop", "weapon_c4")
}
set_pdata_int(id, OFFSET_TEAM, 2)
// set_pdata_int(id, OFFSET_INTERNALMODEL, 6)
}
}
dllfunc(DLLFunc_ClientUserInfoChanged, id, engfunc(EngFunc_GetInfoKeyBuffer, id))
return 1
}
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
<b>You have to register to ba able to see this link</b>
WarGods Community