Senior Member
Join Date: Nov 2011
Location: Granada, Andalucia, Spai
|
03-09-2013
, 14:05
Re: ED_Alloc: no free edicts
|
#31
|
[EN]
Hello, good after so long I'm back, please I would like someone to help me optimize this code, I was told that it is very bad and could be improved a lot, I hope someone can help me.
[ES]
Hola, bueno despues de tanto tiempo he vuelto, por favor me gustaria que alguien me ayudara a optimizar ese codigo, me dijeron que es muy malo y se podria mejorar muchisimo, espero que alguien me pueda ayudar.
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <nvault> #include <fun> #include <fakemeta> #include <hamsandwich>
#define VERSION "1.1"
#define TASK_SETMODEL 100 #define TASK_CHANGEMODEL 0.5
enum _:iLevelsCount { PLAYERLEVEL_1, PLAYERLEVEL_2, PLAYERLEVEL_3, PLAYERLEVEL_4, PLAYERLEVEL_5, PLAYERLEVEL_6, PLAYERLEVEL_7, PLAYERLEVEL_8, PLAYERLEVEL_9, PLAYERLEVEL_10, PLAYERLEVEL_11, PLAYERLEVEL_12, PLAYERLEVEL_13, PLAYERLEVEL_14, PLAYERLEVEL_15, PLAYERLEVEL_16, PLAYERLEVEL_17, PLAYERLEVEL_18, PLAYERLEVEL_19, PLAYERLEVEL_20 };
enum _:iClassesCount { CLASS_CIVIL, CLASS_RECLUTA, CLASS_CADETE, CLASS_SOLDADO, CLASS_CABO, CLASS_SARGENTO, CLASS_BRIGADA, CLASS_SUBTENIENTE, CLASS_TENIENTE, CLASS_SUBOFICIAL, CLASS_OFICIAL, CLASS_STARS, CLASS_MERCENARIO, CLASS_BIOSOLDIER, CLASS_SUPERSOLDADO, CLASS_HIBRIDO, CLASS_DESTRUCTOR, CLASS_DEMOLEDOR, CLASS_ANIQUILADOR, CLASS_EXTERMINADOR };
new const szModelsHumans[ ][ ] = { "zrcid_r1_civil", "zrcid_r2_recluta", "zrcid_r3_cadete", "zrcid_r4_soldado", "zrcid_r5_cabo", "zrcid_r6_sargento", "zrcid_r7_brigada", "zrcid_r8_subteniente", "zrcid_r9_teniente", "zrcid_r10_suboficial", "zrcid_r11_oficial", "zrcid_r12_stars", "zrcid_r13_mercenario", "zrcid_r14_biosoldier", "zrcid_r15_supersoldado", "zrcid_r16_hibrido", "zrcid_r17_destructor", "zrcid_r18_demoledor", "zrcid_r19_aniquilador", "zrcid_r20_exterminador" };
new const szRanksNames[ ][ ] = { "Civil", "Recluta", "Cadete", "Soldado", "Cabo", "Sargento", "Brigada", "SubTeniente", "Teniente", "SubOficial", "Oficial", "Stars", "Mercenario", "BioSoldier", "SuperSoldado", "Hibrido", "Destructor", "Demoledor", "Aniquilador", "Exterminador" };
new const szRanksLevels[ ] = { 0, 100, 400, 1000, 2300, 6200, 14300, 28600, 57200, 114400, 228800, 457600, 915200, 1830400, 3660800, 7321600, 14643200, 29286400, 58572800, 117145600 };
new const szArms[ ] = { "weapon_knife", "weapon_usp", "weapon_deagle", "weapon_elite", "weapon_tmp", "weapon_ump45", "weapon_mp5", "weapon_famas", "weapon_galil", "weapon_m4a1", "weapon_ak47", "weapon_g3sg1", "weapon_sg550", "weapon_m249", "weapon_sg552", "weapon_m3", "weapon_aug", "weapon_xm1014", "weapon_p90", "weapon_scout", "weapon_awp" };
new nVault;
new g_pCvarExpKilling, g_pCvarExpMultiply, g_pCvarExpDamage, g_pCvarExpWinning, g_pCvarSaveType;
new g_uPlayerName[ 33 ];
new g_iPlayerRank[ 33 ], g_iPlayerClass[ 33 ], g_iPlayerExp[ 33 ], g_iPlayerLevel[ 33 ];
new g_iCustomModel[ 33 ], g_iPlayerModel[ 33 ][ 32 ];
new Float: fModelsTargetTime, Float: fRoundStartTime;
new g_iMsgSayText;
public plugin_init( ) { register_plugin( "Zombie Revenge Mod", VERSION, "loenard19941" ); g_pCvarExpKilling = register_cvar( "zr_killexp", "30" ); /* The Exp. gain to be multiplied by the number established in the cvar 'zr_multiplyxp', if '1 'normal experience is gained, if the cvar is 2 the experience gained is x2, if the cvar is 3 the experience gained is x3 and so on. */ g_pCvarExpMultiply = register_cvar( "zr_multiplyexp", "1" ); g_pCvarExpDamage = register_cvar( "zr_damageexp", "3" ); // The amount of Exp. for 30 damage. g_pCvarExpWinning = register_cvar( "zr_winexp", "60" ); g_pCvarSaveType = register_cvar( "zr_savetype", "1" ); // 1-Nick, 2-IP, 3-Steam ID register_clcmd( "say /class", "ChooseClass" ); register_clcmd( "say /clase", "ChooseClass" ); register_clcmd( "useskill", "UseSkill" ); register_clcmd( "radio3", "UseSkill" ); register_concmd( "zr_giveexp", "Cmd_GiveExp", ADMIN_IMMUNITY, "<name> <amount> - give exp. to player" ); register_concmd( "zr_takeexp", "Cmd_TakeExp", ADMIN_IMMUNITY, "<name> <amount> - take exp. to player" ); register_concmd( "zr_resetexp", "Cmd_ResetExp", ADMIN_IMMUNITY, "<name> - reset player exp." ); RegisterHam( Ham_Spawn, "player" , "Spawn", 1 ); register_forward( FM_SetClientKeyValue, "Fw_SetClientKeyValue" ); register_forward( FM_ClientUserInfoChanged, "Fw_ClientUserInfoChanged" ); register_event( "HLTV", "RoundStart", "a", "1=0", "2=0" ); register_event( "ResetHUD","Skills","be" ); register_event( "DeathMsg", "DeathMsg", "a" ); register_event( "SendAudio", "TerroristsWin", "a", "2&%!MRAD_terwin" ); register_event( "SendAudio", "CTsWin", "a", "2&%!MRAD_ctwin" ); nVault = nvault_open( "xZombieRevengeMod" ); g_iMsgSayText = get_user_msgid( "SayText" ); set_task( 0.1, "plugin_cfg" ); }
public plugin_cfg( ) { new g_iCfgLocation[ 33 ]; get_configsdir( g_iCfgLocation, charsmax( g_iCfgLocation ) ); server_cmd( "exec %s/xZombieRevengeMod.cfg", g_iCfgLocation ); server_exec( ); }
public client_connect( id ) LoadData( id );
public plugin_precache( ) { new iPathModel[ 100 ], i; for( i = 0; i < sizeof szModelsHumans; i++ ) { formatex( iPathModel, sizeof iPathModel - 1, "models/player/%s/%s.mdl", szModelsHumans[ i ], szModelsHumans[ i ] ) engfunc( EngFunc_PrecacheModel, iPathModel ) } }
public ChooseClass( id ) { new iTitle[ 64 ]; format( iTitle, charsmax( iTitle ), "\rElije la Clase:" ); new iMenu = menu_create( iTitle, "ChooseClass_Handler" ); menu_additem( iMenu, "Civil \y[ \rClase Libre \y]", "1", 0 ); menu_additem( iMenu, "Recluta \y[ \r100XP Requerida \y]", "2" , 0 ); menu_additem( iMenu, "Cadete \y[ \r400XP Requerida \y]", "3" , 0 ); menu_additem( iMenu, "Soldado \y[ \r1000XP Requerida \y]", "4" , 0 ); menu_additem( iMenu, "Cabo \y[ \r2300XP Requerida \y]", "5" , 0 ); menu_additem( iMenu, "Sargento \y[ \r6200XP Requerida \y]", "6" , 0 ); menu_additem( iMenu, "Brigada \y[ \r14300XP Requerida \y]", "7" , 0 ); menu_additem( iMenu, "SubTeniente \y[ \r28600XP Requerida \y]", "8" , 0 ); menu_additem( iMenu, "Teniente \y[ \r57200XP Requerida \y]", "9" , 0 ); menu_additem( iMenu, "SubOficial \y[ \r114400XP Requerida \y]", "10" , 0 ); menu_additem( iMenu, "Oficial \y[ \r228800XP Requerida \y]", "11" , 0 ); menu_additem( iMenu, "Stars \y[ \r457600XP Requerida \y]", "12" , 0 ); menu_additem( iMenu, "Mercenario \y[ \r915200XP Requerida \y]", "13" , 0 ); menu_additem( iMenu, "BioSoldier \y[ \r1830400XP Requerida \y]", "14" , 0 ); menu_additem( iMenu, "SuperSoldado \y[ \r3660800XP Requerida \y]", "15" , 0 ); menu_additem( iMenu, "Hibrido \y[ \r7321600XP Requerida \y]", "16" , 0 ); menu_additem( iMenu, "Destructor \y[ \r14643200XP Requerida \y]", "17" , 0 ); menu_additem( iMenu, "Demoledor \y[ \r29286400XP Requerida \y]", "18" , 0 ); menu_additem( iMenu, "Aniquilador \y[ \r58572800XP Requerida \y]", "19" , 0 ); menu_additem( iMenu, "Exterminador \y[ \r117145600XP Requerida \y]", "20" , 0 ); menu_setprop( iMenu, MPROP_BACKNAME, "Anterior" ); menu_setprop( iMenu, MPROP_NEXTNAME, "Siguiente" ); menu_setprop( iMenu, MPROP_EXITNAME, "Salir" ); menu_display( id, iMenu ); return PLUGIN_CONTINUE; }
public ChangeClass_Handler( id, iMenu, item ) { if( item == MENU_EXIT ) { menu_destroy( iMenu ) return PLUGIN_HANDLED; } new iData[ 6 ], iAccess, iCallback, iName[ 64 ]; menu_item_getinfo( iMenu, item, iAccess, iData, charsmax( iData ), iName, charsmax( iName ), iCallback ); new iPlayer = str_to_num( iData ); if( g_iPlayerClass[ id ] != iPlayer ) { g_iPlayerClass[ id ] = iPlayer; ChatColor( id, "!g[ Zombie Revenge ] !ySeras un !g%s !yen la !gProxima Ronda!y.", szRanksNames[ iPlayer ] ); } else ChatColor( id, "!g[ Zombie Revenge ] !yAhora eres un !g%s!y.", szRanksNames[ iPlayer ] ); menu_destroy( iMenu ); return PLUGIN_CONTINUE; }
public Cmd_GiveExp( id, level, cid ) { if( !cmd_access( id, level, cid, 3 ) ) return PLUGIN_HANDLED; new iTarget[ 32 ]; read_argv( 1, iTarget, charsmax( iTarget ) ); new iAmount[ 21 ]; read_argv( 2, iAmount, charsmax( iAmount ) ); new iReason[ 21 ]; read_argv( 3, iReason, charsmax( iReason ) ); new iPlayer = cmd_target( id, iTarget, charsmax( iTarget ) ); if( !iPlayer ) return PLUGIN_HANDLED; new aName[ 33 ], uName[ 33 ]; get_user_name( id, aName, charsmax( aName ) ); get_user_name( iPlayer, uName, charsmax( uName ) ); new iNumExp = str_to_num( iAmount ); g_iPlayerExp[ iPlayer ] += iNumExp; switch( get_cvar_num( "amx_show_activity" ) ) { case 1: ChatColor( 0, "!g[ Zombie Revenge ] ADMIN!y: Dio !g%i de Exp. !ya !g%s!y.", iNumExp, uName ); case 2: ChatColor( 0, "!g[ Zombie Revenge ] ADMIN %s!y: Dio !g%i de Exp. !ya !g%s!y.", aName, iNumExp, uName ); } ChatColor( id, "!g[ Zombie Revenge ] !yRecibiste !g%i de Exp.!y! ( !gTotal!y: !g%d Exp.!y )", iNumExp, g_iPlayerExp[ iPlayer ] ); SaveData( id ); return PLUGIN_HANDLED; }
public Cmd_TakeExp( id, level, cid ) { if( !cmd_access( id, level, cid, 3 ) ) return PLUGIN_HANDLED; new iTarget[ 32 ]; read_argv( 1, iTarget, charsmax( iTarget ) ); new iAmount[ 21 ]; read_argv( 2, iAmount, charsmax( iAmount ) ); new iReason[ 21 ]; read_argv( 3, iReason, charsmax( iReason ) ); new iPlayer = cmd_target( id, iTarget, charsmax( iTarget ) ); if( !iPlayer ) return PLUGIN_HANDLED; new aName[ 33 ], uName[ 33 ]; get_user_name( id, aName, charsmax( aName ) ); get_user_name( iPlayer, uName, charsmax( uName ) ); new iNumExp = str_to_num( iAmount ); g_iPlayerExp[ iPlayer ] -= iNumExp; switch( get_cvar_num( "amx_show_activity" ) ) { case 1: ChatColor( 0, "!g[ Zombie Revenge ] ADMIN!y: Quito !g%i de Exp. !ya !g%s!y!", iNumExp, uName ); case 2: ChatColor( 0, "!g[ Zombie Revenge ] ADMIN %s!y: Quito !g%i de Exp. !ya !g%sy!", aName, iNumExp, uName ); } ChatColor( id, "!g[ Zombie Revenge ] !yTe quitron !g%i de Exp.!y! ( !gTotal!y: !g%d Exp.!y ).", iNumExp, g_iPlayerExp[ iPlayer ] ); SaveData( id ); return PLUGIN_HANDLED; }
public Cmd_ResetExp( id, level, cid ) { if( !cmd_access( id, level, cid, 3 ) ) return PLUGIN_HANDLED; new iTarget[ 32 ]; read_argv( 1, iTarget, charsmax( iTarget ) ); new iAmount[ 21 ]; read_argv( 2, iAmount, charsmax( iAmount ) ); new iReason[ 21 ]; read_argv( 3, iReason, charsmax( iReason ) ); new iPlayer = cmd_target( id, iTarget, charsmax( iTarget ) ); if( !iPlayer ) return PLUGIN_HANDLED; new aName[ 33 ], uName[ 33 ]; get_user_name( id, aName, charsmax( aName ) ); get_user_name( iPlayer, uName, charsmax( uName ) ); g_iPlayerExp[ iPlayer ] = 0; switch( get_cvar_num( "amx_show_activity" ) ) { case 1: ChatColor( 0, "!g[ Zombie Revenge ] ADMIN!y: Reseteo la !gExp. !yde !g%s !ya !g0!y!", uName ); case 2: ChatColor( 0, "!g[ Zombie Revenge ] ADMIN %s!y: Reseteo la !gExp. !yde !g%s !!ya !g0!y!", aName, uName ); } ChatColor( id, "!g[ Zombie Revenge ] !yTe resetearon la !gExp. a !g0!y! ( !gTotal!y: !g%d Exp.!y ).", g_iPlayerExp[ iPlayer ] ); SaveData( id ); return PLUGIN_HANDLED; }
public Spawn( id ) { if( !is_user_alive( id ) || !cs_get_user_team( id ) ) return; remove_task( id + TASK_SETMODEL ) if( cs_get_user_team( id ) == CS_TEAM_T || cs_get_user_team( id ) == CS_TEAM_CT ) { switch( g_iPlayerClass[ id ] ) { case CLASS_CIVIL: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_CIVIL ] ) case CLASS_RECLUTA: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_RECLUTA - 1 ] ) case CLASS_CADETE: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_CADETE - 1 ] ) case CLASS_SOLDADO: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_SOLDADO - 1 ] ) case CLASS_CABO: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_CABO - 1 ] ) case CLASS_SARGENTO: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_SARGENTO - 1 ] ) case CLASS_BRIGADA: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_BRIGADA - 1 ] ) case CLASS_SUBTENIENTE: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_SUBTENIENTE - 1 ] ) case CLASS_TENIENTE: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_TENIENTE - 1 ] ) case CLASS_SUBOFICIAL: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_SUBOFICIAL - 1 ] ) case CLASS_OFICIAL: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_OFICIAL - 1 ] ) case CLASS_STARS: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_STARS - 1 ] ) case CLASS_MERCENARIO: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_MERCENARIO - 1 ] ) case CLASS_BIOSOLDIER: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_BIOSOLDIER - 1 ] ) case CLASS_SUPERSOLDADO: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_SUPERSOLDADO - 1 ] ) case CLASS_HIBRIDO: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_HIBRIDO - 1] ) case CLASS_DESTRUCTOR: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_DESTRUCTOR - 1] ) case CLASS_DEMOLEDOR: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_DEMOLEDOR - 1 ] ) case CLASS_ANIQUILADOR: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_ANIQUILADOR - 1 ] ) case CLASS_EXTERMINADOR: copy( g_iPlayerModel[ id ], charsmax( g_iPlayerModel[ ] ), szModelsHumans[ CLASS_EXTERMINADOR - 1 ] ) } new g_iCurrentModel[ 32 ]; fm_get_user_model( id, g_iCurrentModel, charsmax( g_iCurrentModel ) ) if( !equal( g_iCurrentModel, g_iPlayerModel[ id ] ) ) { if( get_gametime( ) - fRoundStartTime < 5.0 ) set_task( 5.0 * TASK_CHANGEMODEL, "fm_user_model_update", id + TASK_SETMODEL ) else fm_user_model_update( id + TASK_SETMODEL ) } } else if( g_iCustomModel[ id ] ) fm_reset_user_model( id ) }
public Fw_SetClientKeyValue( id, const szInfoBuffer[ ], const szKey[ ] ) { if( g_iCustomModel[ id ] && equal( szKey, "model" ) ) return FMRES_SUPERCEDE; return FMRES_IGNORED; }
public Fw_ClientUserInfoChanged( id ) { if( !g_iCustomModel[ id ] ) return FMRES_IGNORED; static g_iCurrentModel[ 32 ]; fm_get_user_model( id, g_iCurrentModel, charsmax( g_iCurrentModel ) ) if ( !equal( g_iCurrentModel, g_iPlayerModel[ id ] ) && !task_exists( id + TASK_SETMODEL ) ) fm_set_user_model( id + TASK_SETMODEL ) return FMRES_IGNORED; }
public RoundStart( ) fRoundStartTime = get_gametime( )
public Skills( id ) { if( g_iPlayerLevel[ id ] >= szRanksLevels[ g_iPlayerRank[ id ] + 1 ] ) g_iPlayerRank[ id ]++ if( is_user_alive( id ) ) { if( g_iPlayerClass[ id ] == CLASS_CIVIL || g_iPlayerLevel[ id ] == 1 ) { set_user_health( id, 100 ); set_user_gravity( id, 1.0 ); set_user_maxspeed( id, 255.0 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_tmp" ); give_item( id,"weapon_hegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gCivil!y." ); } else if( g_iPlayerClass[ id ] == CLASS_RECLUTA || g_iPlayerLevel[ id ] == 2 ) { set_user_health( id, 115 ); set_user_armor( id, 10 ); set_user_gravity( id, 0.9375 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_ump45" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gRecluta!y." ); } else if( g_iPlayerClass[ id ] == CLASS_CADETE || g_iPlayerLevel[ id ] == 3 ) { set_user_health( id, 130 ); set_user_armor( id, 30 ); set_user_gravity( id, 0.875 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_mp5" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gCadete!y." ); } else if( g_iPlayerClass[ id ] == CLASS_SOLDADO || g_iPlayerLevel[ id ] == 4 ) { set_user_health( id, 150 ); set_user_armor( id, 35 ); set_user_gravity( id, 0.875 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_tmp" ); give_item( id,"weapon_ump45" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gSoldado!y." ); } else if( g_iPlayerClass[ id ] == CLASS_CABO || g_iPlayerLevel[ id ] == 5 ) { set_user_health( id, 175); set_user_armor( id, 50); set_user_gravity( id, 0.8125 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_ump45" ); give_item( id,"weapon_mp5" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gCabo!y." ); } else if( g_iPlayerClass[ id ] == CLASS_SARGENTO || g_iPlayerLevel[ id ] == 6 ) { set_user_health( id, 250 ); set_user_armor( id, 55 ); set_user_gravity( id, 0.8125 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_ump45" ); give_item( id,"weapon_famas" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gSargento!y." ); } else if( g_iPlayerClass[ id ] == CLASS_BRIGADA || g_iPlayerLevel[ id ] == 7 ) { set_user_health( id, 350 ); set_user_armor( id, 70 ); set_user_gravity( id, 0.75 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_mp5" ); give_item( id,"weapon_galil" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gBrigada!y." ); } else if( g_iPlayerClass[ id ] == CLASS_SUBTENIENTE || g_iPlayerLevel[ id ] == 8 ) { set_user_health( id, 400 ); set_user_armor( id, 80 ); set_user_gravity( id, 0.75 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_famas" ); give_item( id,"weapon_galil" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gSubTeniente!y." ); } else if( g_iPlayerClass[ id ] == CLASS_TENIENTE || g_iPlayerLevel[ id ] == 9 ) { set_user_health( id, 450 ); set_user_armor( id, 90 ); set_user_gravity( id, 0.6875 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_famas" ); give_item( id,"weapon_m4a1" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); ChatColor(id, "!g[ Zombie Revenge ] !yEres un !gTeniente!y." ); } else if( g_iPlayerClass[ id ] == CLASS_SUBOFICIAL || g_iPlayerLevel[ id ] == 10 ) { set_user_health( id, 510 ); set_user_armor( id, 100 ); set_user_gravity( id, 0.6875 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_galil" ); give_item( id,"weapon_ak47" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gSubOficial!y." ); } else if( g_iPlayerClass[ id ] == CLASS_OFICIAL || g_iPlayerLevel[ id ] == 11 ) { set_user_health( id, 560 ); set_user_armor( id, 150 ); set_user_gravity( id, 0.625 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_m4a1" ); give_item( id,"weapon_ak47" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gOficial!y." ); } else if( g_iPlayerClass[ id ] == CLASS_STARS || g_iPlayerLevel[ id ] == 12 ) { set_user_health( id, 600 ); set_user_armor( id, 200 ); set_user_gravity( id, 0.5625 ); give_item(id,"weapon_knife" ); give_item(id,"weapon_usp" ); give_item(id,"weapon_deagle" ); give_item(id,"weapon_g3sg1" ); give_item(id,"weapon_sg550" ); give_item(id,"weapon_hegrenade" ); give_item(id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gStars!y. Eres la aniquilacion a distancia." ); } else if( g_iPlayerClass[ id ] == CLASS_MERCENARIO || g_iPlayerLevel[ id ] == 13 ) { set_user_health( id, 650 ); set_user_armor( id, 270 ); set_user_gravity( id, 0.5 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_m4a1" ); give_item( id,"weapon_ak47" ); give_item( id,"weapon_m249" ); give_item( id,"weapon_sg552" ); give_item( id,"weapon_m3" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gMercenario!y. Eres una Bestia Humana." ); } else if( g_iPlayerClass[ id ] == CLASS_BIOSOLDIER || g_iPlayerLevel[ id ] == 14 ) { set_user_health( id, 675 ); set_user_armor( id, 300 ); set_user_gravity( id, 0.4375 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_m4a1" ); give_item( id,"weapon_ak47" ); give_item( id,"weapon_g3sg1" ); give_item( id,"weapon_sg550" ); give_item( id,"weapon_aug" ); give_item( id,"weapon_xm1014" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !g BioSoldier!y. Tu ADN esta mezclado con el Virus." ); } else if( g_iPlayerClass[ id ] == CLASS_SUPERSOLDADO || g_iPlayerLevel[ id ] == 15 ) { set_user_health( id, 725 ); set_user_armor( id, 350 ); set_user_gravity( id, 0.375 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_galil" ); give_item( id,"weapon_m4a1" ); give_item( id,"weapon_ak47" ); give_item( id,"weapon_g3sg1" ); give_item( id,"weapon_sg550" ); give_item( id,"weapon_aug" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gSuperSoldado!y. Eres un !gSobreviviente !yde la !gAniquilacion!y." ); } else if( g_iPlayerClass[ id ] == CLASS_HIBRIDO || g_iPlayerLevel[ id ] == 16 ) { set_user_health( id, 750 ); set_user_armor( id, 400 ); set_user_gravity( id, 0.25 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gHibrido!y. Eres la combinacion perfecta entre Humano y Zombie." ); } else if( g_iPlayerClass[ id ] == CLASS_DESTRUCTOR || g_iPlayerLevel[ id ] == 17 ) { set_user_health( id, 775 ); set_user_armor( id, 450 ); set_user_gravity( id, 0.3125 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_m4a1" ); give_item( id,"weapon_ak47" ); give_item( id,"weapon_g3sg1" ); give_item( id,"weapon_sg550" ); give_item( id,"weapon_aug" ); give_item( id,"weapon_m3" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gDestructor!y. Eres la mejor arma de ataque." ); } else if( g_iPlayerClass[ id ] == CLASS_DEMOLEDOR || g_iPlayerLevel[ id ] == 18 ) { set_user_health( id, 800 ); set_user_armor( id, 500 ); set_user_gravity( id, 0.25 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_m4a1" ); give_item( id,"weapon_ak47" ); give_item( id,"weapon_g3sg1" ); give_item( id,"weapon_sg550" ); give_item( id,"weapon_aug" ); give_item( id,"weapon_p90" ); give_item( id,"weapon_m3" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gDemoledor!y. Eres la perdicion de los Zombies." ); } else if( g_iPlayerClass[ id ] == CLASS_ANIQUILADOR || g_iPlayerLevel[ id ] == 19 ) { set_user_health( id, 900 ); set_user_armor( id, 600 ); set_user_gravity( id, 0.1875 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_m4a1" ); give_item( id,"weapon_ak47" ); give_item( id,"weapon_g3sg1" ); give_item( id,"weapon_sg550" ); give_item( id,"weapon_sg552" ); give_item( id,"weapon_scout" ); give_item( id,"weapon_aug" ); give_item( id,"weapon_p90" ); give_item( id,"weapon_m3" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gAniquilador!y. Eres la !gAniquilacion !yde los Zombies." ); } else if( g_iPlayerClass[ id ] == CLASS_EXTERMINADOR || g_iPlayerLevel[ id ] == 20 ) { set_user_health( id, 1000 ); set_user_armor( id, 700 ); set_user_gravity( id, 0.125 ); set_user_maxspeed( id, 300.0 ); give_item( id,"weapon_knife" ); give_item( id,"weapon_usp" ); give_item( id,"weapon_deagle" ); give_item( id,"weapon_elite" ); give_item( id,"weapon_m4a1" ); give_item( id,"weapon_ak47" ); give_item( id,"weapon_awp" ); give_item( id,"weapon_g3sg1" ); give_item( id,"weapon_sg550" ); give_item( id,"weapon_sg552" ); give_item( id,"weapon_aug" ); give_item( id,"weapon_p90" ); give_item( id,"weapon_m3" ); give_item( id,"weapon_xm1014" ); give_item( id,"weapon_hegrenade" ); give_item( id,"weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG, 2 ); give_item( id,"weapon_smokegrenade" ); ChatColor( id, "!g[ Zombie Revenge ] !yEres un !gExterminador!y. Estas armado con una increible habilidad de !gExterminio !y." ); } } }
public DeathMsg( ) { new iAttacker; iAttacker= read_data( 1 ); new iVictim; iVictim = read_data( 2 ); if( iAttacker == iVictim || !is_user_connected( iAttacker ) || get_user_team( iAttacker ) == get_user_team( iVictim ) ) return; g_iPlayerExp[ iAttacker ] += get_pcvar_num( g_pCvarExpKilling ); while( g_iPlayerExp[ iAttacker ] <= szRanksLevels[ g_iPlayerLevel[ iAttacker ] ] ) { ChatColor( iAttacker, "!g[ Zombie Revenge ] !y¡Felicidades! Eres Nivel !g%i!y, Clase !g%s !y!", g_iPlayerLevel[ iAttacker ], szRanksNames[ g_iPlayerClass[ iAttacker ] ] ); g_iPlayerLevel[ iAttacker ] += 1; } SaveData( iAttacker ); }
public TerroristsWin( ) RoundWin( "TERRORIST" );
public CTsWin( ) RoundWin( "CT" );
public RoundWin( const szTeam[ ] ) { new g_iPlayers[ 32 ], iPlayerCount, id; get_players( g_iPlayers, iPlayerCount, "aeh", szTeam); new iExpWinning = get_pcvar_num( g_pCvarExpWinning ); if( get_playersnum( ) < 3 ) return; for( new i=0; i<iPlayerCount; i++ ) { id = g_iPlayers[ i ]; g_iPlayerExp[ id ] += iExpWinning; ChatColor( id, "!g[ Zombie Revemge ] !yRecibes !g%i !yde !gExp. !ypor ganar la Ronda.", iExpWinning ); } }
public SaveData( id ) { new iVaultKey[ 128 ], iVaultData[ 256 ], iIdentification[ 64 ]; format( iVaultData, charsmax( iVaultData ), "#%i#%i#%i", g_iPlayerRank[ id ], g_iPlayerLevel[ id ], g_iPlayerExp[ id ] ); new iSaveType = get_pcvar_num( g_pCvarSaveType ); switch( iSaveType ) { case 1: copy( iIdentification, charsmax( iIdentification ), g_uPlayerName[ id ] ); case 2: get_user_ip( id, iIdentification, charsmax( iIdentification ) ); case 3: get_user_authid( id, iIdentification, charsmax( iIdentification ) ); } format( iVaultKey, charsmax( iVaultKey ), "%s-%i-ZombieRevenge", iIdentification, iSaveType ); nvault_set( nVault, iVaultKey, iVaultData ); return PLUGIN_CONTINUE; }
public LoadData( id ) { new iVaultKey[ 128 ], iVaultData[ 256 ], iIdentification[ 64 ]; format( iVaultData, charsmax( iVaultData ), "#%i#%i#%i", g_iPlayerRank[ id ], g_iPlayerLevel[ id ], g_iPlayerExp[ id ] ); new iSaveType = get_pcvar_num( g_pCvarSaveType ); switch( iSaveType ) { case 1: copy( iIdentification, charsmax( iIdentification ), g_uPlayerName[ id ] ); case 2: get_user_ip( id, iIdentification, charsmax( iIdentification ) ); case 3: get_user_authid( id, iIdentification, charsmax( iIdentification ) ); } format( iVaultKey, charsmax( iVaultKey ), "%s-%i-ZombieRevenge", iIdentification, iSaveType ); nvault_get( nVault, iVaultKey, iVaultData, charsmax( iVaultData ) ); replace_all( iVaultData, charsmax( iVaultData ), "#", " " ); new g_iPlayerRank[ 33 ], g_iPlayerLevel[ 33 ], g_iPlayerExp[ 33 ]; parse( iVaultData, g_iPlayerRank, charsmax( g_iPlayerRank ), g_iPlayerLevel, charsmax( g_iPlayerLevel ), g_iPlayerExp, charsmax( g_iPlayerExp ) ); g_iPlayerRank[ id ] = str_to_num( g_iPlayerRank ); g_iPlayerLevel[ id ] = str_to_num( g_iPlayerLevel ); g_iPlayerExp[ id ] = str_to_num( g_iPlayerExp ); return PLUGIN_CONTINUE; }
public client_disconnect( id ) { SaveData( id ); g_iPlayerClass[ id ] = 0; g_iPlayerRank[ id ] = 0; g_iPlayerExp[ id ] = 0; g_iPlayerLevel[ id ] = 0; }
public fm_user_model_update( iTaskId ) { static Float: fCurrentTime; fCurrentTime = get_gametime( ) if( fCurrentTime - fModelsTargetTime >= TASK_CHANGEMODEL ) { fm_set_user_model( iTaskId ) fModelsTargetTime = fCurrentTime } else { set_task( ( fModelsTargetTime + TASK_CHANGEMODEL ) - fCurrentTime, "fm_set_user_model", iTaskId ) fModelsTargetTime = fModelsTargetTime + TASK_CHANGEMODEL } }
public fm_set_user_model( iPlayer ) { iPlayer -= TASK_SETMODEL engfunc( EngFunc_SetClientKeyValue, iPlayer, engfunc( EngFunc_GetInfoKeyBuffer, iPlayer ), "model", g_iPlayerModel[ iPlayer ] ) g_iCustomModel[ iPlayer ] = true }
stock fm_get_user_model( iPlayer, szModel[ ], iLen ) engfunc( EngFunc_InfoKeyValue, engfunc( EngFunc_GetInfoKeyBuffer, iPlayer ), "model", szModel, iLen )
stock fm_reset_user_model( iPlayer ) { g_iCustomModel[ iPlayer ] = false dllfunc( DLLFunc_ClientUserInfoChanged, iPlayer, engfunc( EngFunc_GetInfoKeyBuffer, iPlayer ) ) }
stock ChatColor( id, szInput[ ], any:... ) { new iCount = 1, g_uPlayers[ 32 ]; static iMsgId[ 191 ]; vformat( iMsgId, 190, szInput, 3 );
replace_all( iMsgId, 190, "!y", "^1" ); // Default Color replace_all( iMsgId, 190, "!g", "^4" ); // Green Color replace_all( iMsgId, 190, "!team", "^3" ); // Team Color if( id ) g_uPlayers[ 0 ] = id; else get_players( g_uPlayers, iCount, "ch" ); { for( new i = 0; i < iCount; i++ ) { if( is_user_connected( g_uPlayers[ i ] ) ) { message_begin( MSG_ONE_UNRELIABLE, g_iMsgSayText, _, g_uPlayers[ i ] ); write_byte( g_uPlayers[ i ] ); write_string( iMsgId ); message_end( ); } } } }
__________________
Last edited by Haseeb; 03-09-2013 at 14:06.
|
|