Descarcare: ZippyShare
Nume: Numele pluginului respectiv
Versiune: 1.x
Link oficial: Aici.
Sursa:
- | Afiseaza codul
#include < amxmodx > #include < amxmisc > #include < fun > #include < cstrike > #include < engine > #include < fakemeta > #include < hamsandwich > #include < geoip > #include < nvault > enum _: szPlayerTime { formatMinutes, formatHours }; enum _: szVipType { vipActive, vipSuspended } enum _: g_szItems { g_iDeagle, g_iSmoke, g_iFlash, g_iHe, g_iViata, g_iArmura, g_iMoney }; enum { szDeagle, szHe, szFlash, szSmoke, szHealth, szArmor, szMoney, } #define VERSION "1.0" #pragma semicolon 1 #define CMD 6 /* Max commands */ #define GROUPS 6 /* Max Groups */ #define ACCES 5 /* Max Acces */ #define VIP_ACCES 6 /* Max VIP Acces */ #define IsPlayer(%1) ( 1 <= %1 <= get_maxplayers( ) ) new const g_szServerCMD[ CMD ][ 512 ] = { "mp_freezetime 2", "mp_roundtime 2", "sv_gravity 650", "sv_airaccelerate 100", "sv_maxspeed 9999", "sv_unlag 1" }; new const g_szWhoGroup[ GROUPS ][ 512 ] = { "Owner", "Super-Mod", "Moderator", "Helper", "Slot", "V.I.P" }; new const g_szWhoAcces[ ACCES ][ 512 ] = { "abcdefghijklmnopqrstwyxz", "abcdefghijklmnopqz", "abcdefghijklz", "abcdefghz", "bz" }; new const g_szVipAcces[ VIP_ACCES ][ 512 ] = { "", "abcdefghijklmz", "abcdefghijklnz", "abcdefghijkloz", "abcdefghijkltz", "abcdefghijklrz" }; /* L: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 */ new const g_iLevelsXP[ 20 + 1 ] = { 25, 50, 100, 250, 350, 500, 1000, 1500, 3000, 6000, 9000, 15000, 50000, 80000, 100000, 150000, 250000, 500000, 800000, 1000000, 1300000 }; new const g_szLevelItems[ 21 + 1 ][ g_szItems ][ 512 ] = { { "0", "0", "0", "0", "0", "0", "0" }, /* L: 0 */ { "0", "0", "1", "0", "2", "1", "0" }, /* L: 1 */ { "0", "0", "1", "0", "3", "3", "1" }, /* L: 2 */ { "0", "1", "1", "0", "5", "3", "1" }, /* L: 3 */ { "0", "1", "2", "0", "5", "5", "5" }, /* L: 3 */ { "0", "2", "2", "0", "8", "9", "6" }, /* L: 4 */ { "0", "2", "2", "1", "8", "9", "6" }, /* L: 5 */ { "0", "2", "2", "1", "10", "13", "10" }, /* L: 6 */ { "1", "2", "2", "2", "15", "15", "15" }, /* L: 7 */ { "1", "3", "2", "2", "18", "18", "18" }, /* L: 8 */ { "1", "3", "3", "2", "18", "18", "18" }, /* L: 9 */ { "1", "3", "3", "2", "18", "20", "20" }, /* L: 10 */ { "2", "3", "3", "3", "23", "25", "25" }, /* L: 11 */ { "2", "3", "4", "4", "25", "25", "25" }, /* L: 12 */ { "3", "5", "5", "6", "30", "25", "30" }, /* L: 13 */ { "3", "6", "6", "6", "30", "30", "30" }, /* L: 14 */ { "3", "7", "6", "6", "30", "30", "30" }, /* L: 15 */ { "3", "7", "7", "6", "33", "30", "30" }, /* L: 16 */ { "3", "7", "7", "6", "35", "35", "30" }, /* L: 17 */ { "4", "8", "8", "7", "35", "40", "30" }, /* L: 18 */ { "4", "8", "8", "8", "43", "43", "35" }, /* L: 19 */ { "4", "8", "8", "8", "45", "45", "45" } /* L: 20 */ }; // Cvars new g_TaskIteme, g_MinimPlayers, g_MedicHealth, g_MedicCoolDown, g_MedicMaxHealth, g_MedicCost, g_ExecCMD, g_Tombola, g_MaxNumber, g_RemoveNumber, g_MinNumberT, g_PingCheck, g_MaxPing, g_TimePlayed, g_AddInfoServer, g_XpKill, g_XpRoundEndT, g_XpDeath, g_CreditsKill, g_CostShopAdmin, g_CostShopSlot, g_CostShopVIP, g_ModSnow, g_WinnerXP, g_APHP, g_MaxWarn, g_TaskWarn, g_TaskDurWarn, g_MaxRetry, g_MaxRetryBan; // Mod plugin new g_iRounds; new g_iModPlugin; new const szTag[ ] = "!vHide!c'!vN!c'!vSeek!c"; // Tombol new g_iNumberIs; new g_iWinner; new g_iNumberTrue[ 33 ]; new g_iNumberAll; new g_iNumberChosen; new g_iNumber[ 33 ][ 31 ]; new g_iNumberPlayer[ 33 ]; new g_szNameTombol[ 33 ]; // Vault new g_szVaultTime; new g_szVaultPlayerStats; new g_szVaultPlayerCredits; // Played Time new g_iPlayedTime[ 33 ][ szPlayerTime ]; // Level / XP new g_iPlayerXP[ 33 ]; new g_iPlayerLevel[ 33 ]; // Vip new g_iVipNum[ 33 ][ 6 ]; new g_VipType[ 33 ][ szVipType ]; new g_iVipTotal[ szVipType ]; new g_szFileVip[ 128 ]; new g_UserIsVip[ 33 ]; // Medic new g_iMedicLast[ 33 ]; // Console print new const g_szConsolePrintHeader[ ] = "HNS.CS32.RO"; new const g_szConsolePrintFooter[ ] = "HNS.CS32.RO"; // Credits new g_iPlayerCredits[ 33 ]; // Fps new Float: g_fGameTime[ 33 ]; new g_iCurFPS[ 33 ]; new g_iFPS[ 33 ]; new g_iFramesPer[ 33 ]; // Restricted name new g_szFileRestricted; // Warn new g_iWarn[ 33 ]; new g_szFileWarn[ 128 ]; /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ public plugin_init( ) { // Register plugin register_plugin( "Time & Remove", VERSION, "Simao" ); // Log Event register_logevent( "EV_RoundStart", 2, "1=Round_Start" ); register_logevent( "EV_RoundEnd", 2, "1=Round_End" ); // Event register_event( "DeathMsg", "EV_DeathMsg", "a" ); // Cvars g_TaskIteme = register_cvar( "HNS_taskiteme", "5" ); g_MinimPlayers = register_cvar( "HNS_minplayers", "2" ); g_MedicHealth = register_cvar( "HNS_health", "25" ); g_MedicCoolDown = register_cvar( "HNS_medic_cooldown", "5" ); g_MedicMaxHealth = register_cvar( "HNS_medic_maxhealth", "101" ); g_MedicCost = register_cvar( "HNS_medic_cost", "1" ); g_ExecCMD = register_cvar( "HNS_taskcmd", "15" ); g_Tombola = register_cvar( "HNS_task_tombola", "25" ); g_MaxNumber = register_cvar( "HNS_max_number", "31" ); g_RemoveNumber = register_cvar( "HNS_remove_numbertime", "11" ); g_MinNumberT = register_cvar( "HNS_min_number", "5" ); g_MaxPing = register_cvar( "HNS_max_ping", "100" ); g_PingCheck = register_cvar( "HNS_ping_check", "5" ); g_TimePlayed = register_cvar( "HNS_played_task", "60" ); g_AddInfoServer = register_cvar( "HNS_add_info", "3600" ); g_XpKill = register_cvar( "HNS_xp_kill", "25" ); g_XpRoundEndT = register_cvar( "HNS_xp_roundend", "50" ); g_XpDeath = register_cvar( "HNS_xp_death", "5" ); g_CreditsKill = register_cvar( "HNS_credits_kill", "2" ); g_CostShopAdmin = register_cvar( "HNS_cost_admin", "300" ); g_CostShopSlot = register_cvar( "HNS_cost_slot", "100" ); g_CostShopVIP = register_cvar( "HNS_cost_vip", "400" ); g_ModSnow = register_cvar( "HNS_snow_mod", "0" ); g_WinnerXP = register_cvar( "HNS_task_addwinner", "5" ); g_APHP = register_cvar( "HNS_hp_winner", "120" ); g_MaxWarn = register_cvar( "HNS_max_warn", "5" ); g_TaskWarn = register_cvar( "HNS_task_warn", "3" ); g_TaskDurWarn = register_cvar( "HNS_task_durwarn", "300" ); g_MaxRetry = register_cvar( "HNS_max_retry", "3" ); g_MaxRetryBan = register_cvar( "HNS_max_retryban", "25" ); // ClCmd register_clcmd( "say", "hookSay" ); register_clcmd( "say_team", "hookSay" ); // ConCmd register_concmd( "amx_transfer", "cmdTransfer", ADMIN_KICK, "<Nume> <Echipa> - Transferi un player" ); register_concmd( "amx_addxp", "cmdAddXP", ADMIN_RCON, "<Nume> <XP> - Adaugi unui player XP" ); register_concmd( "amx_addcredits", "cmdAddCredits", ADMIN_RCON, "<Nume> <Credite> - Adaugi unui player Credite" ); register_concmd( "amx_addvip", "cmdAddVip", ADMIN_RCON, "<Status> <Nume> <Grad> - Adaugi un VIP" ); register_concmd( "amx_resetstats", "cmdResetStats", ADMIN_RCON, "<Nume> - Resetezi statisticiile" ); register_concmd( "amx_info", "cmdInfoPlayer", ADMIN_RCON, "<Nume> <XP/LVL/Credits> - Afli una din 3 optiuni( XP/LVL/Credits )" ); register_concmd( "amx_addwarn", "cmdAddWarn", ADMIN_RCON, "<Nume> <Numar> - Adaugi WARN/uri" ); register_concmd( "amx_infowarn", "cmdInfoWarn", ADMIN_SLAY, "<Nume> - Afli warn-uriile" ); // Task set_task( float( get_pcvar_num( g_ExecCMD ) ), "serverCommands", _, _, _, "b" ); set_task( float( get_pcvar_num( g_Tombola ) ), "serverTombola" ); set_task( float( get_pcvar_num( g_PingCheck ) ), "serverPingCheck", _, _, _, "b" ); set_task( float( get_pcvar_num( g_TaskWarn ) ), "serverCheckWarn", _, _, _, "b" ); set_task( float( get_pcvar_num( g_TaskDurWarn ) ), "serverRemoveWarn", _, _, _, "b" ); set_task( float( get_pcvar_num( g_AddInfoServer ) ), "addInfoServer", _, _, _, "b" ); // Forward register_forward( FM_PlayerPreThink, "fwPlayerPreThink" ); // Get file vip get_configsdir( g_szFileVip, 127 ); format( g_szFileVip, 127, "%s/HNS_vip.ini", g_szFileVip ); if( !file_exists( g_szFileVip ) ) { write_file( g_szFileVip, "; [S] - Suspendat", -1 ); write_file( g_szFileVip, "; [A] - Activ", -1 ); } // Vault g_szVaultTime = nvault_open( "HNS_TimePlayed" ); g_szVaultPlayerStats = nvault_open( "HNS_LevelXP" ); g_szVaultPlayerCredits = nvault_open( "HNS_PlayerCredits" ); // Add info VIP addInfoServer( ); // Add snow addSnowServer( ); } public plugin_cfg( ) { // Restrict name g_szFileRestricted = fopen( "addons/amxmodx/configs/HNS_restrictname.ini", "r" ); if( !g_szFileRestricted ) return 1; // User Warn get_configsdir( g_szFileWarn, 127 ); format( g_szFileWarn, 127, "%s/HNS_userwarn.ini", g_szFileWarn ); if( !file_exists( g_szFileWarn ) ) { write_file( g_szFileWarn, "; Users warn", -1 ); write_file( g_szFileWarn, "", -1 ); } // Verifiyng snow mod if( get_pcvar_num( g_ModSnow ) ) { engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "env_snow" ) ); } return 0; } public EV_RoundStart( ) { g_iRounds++; new iPlayers[ 32 ], iNum; get_players( iPlayers, iNum, "ac" ); if( iNum < get_pcvar_num( g_MinimPlayers ) ) { C_PrintChat( 0, "Total jucatori !v%d!c/!v%d!c. Trebuie !v%d!c pentru - !vTime!eAnd!vRemove!c.", get_playersnum( ), get_maxplayers( ), get_pcvar_num( g_MinimPlayers ) ); g_iModPlugin = false; } else { if( g_iRounds == 1 ) { client_print( 0, print_center, "Mod pornit cu succes. Bucurati-va de joc." ); for( new i = 0; i < iNum; i++ ) { new iPlayer; iPlayer = iPlayers[ i ]; g_iModPlugin = true; set_task( float( get_pcvar_num( g_TaskIteme ) ), "playerItems", iPlayer ); set_task( float( get_pcvar_num( g_WinnerXP ) ), "addWinnerXP", iPlayer ); playerCalculateLevel( iPlayers[ i ] ); } } else { C_PrintChat( 0, "Modul !vTime!eAnd!vRemove!c este pornit, bucurati-va de joc." ); for( new i = 0; i < iNum; i++ ) { new iPlayer; iPlayer = iPlayers[ i ]; g_iModPlugin = true; set_task( float( get_pcvar_num( g_TaskIteme ) ), "playerItems", iPlayer ); set_task( float( get_pcvar_num( g_WinnerXP ) ), "addWinnerXP", iPlayer ); playerCalculateLevel( iPlayers[ i ] ); } } } } public EV_DeathMsg( ) { if( g_iModPlugin ) { new szVictim = read_data( 2 ); new szAttacker = get_user_attacker( szVictim ); if( szVictim == szAttacker ) return; /* - - - Victima - - - */ new szAttackerName[ 32 ]; get_user_name( szAttacker, szAttackerName, 31 ); C_PrintChat( szVictim, "Ai fost omorat de !v%s!c. [-!v%d!cXP]", szAttackerName, get_pcvar_num( g_XpDeath ) ); g_iPlayerXP[ szVictim ] -= get_pcvar_num( g_XpDeath ); CreateFade( szVictim, 200, 5, 100, 5 ); /* - - - Atacator - - - */ new szVictimName[ 32 ]; get_user_name( szVictim, szVictimName, 31 ); C_PrintChat( szAttacker, "L-ai omorat pe !v%s!c. [+!v%d!cXP][+!v%d!cCredits]", szVictimName, get_pcvar_num( g_XpKill ), get_pcvar_num( g_CreditsKill ) ); g_iPlayerXP[ szAttacker ] += get_pcvar_num( g_XpKill ); g_iPlayerCredits[ szAttacker ] += get_pcvar_num( g_CreditsKill ); /* - - - Calculare Level - - - (t - temp) */ playerCalculateLevel( szAttacker ); } } public EV_RoundEnd( ) { new i_Players[ 32 ], i_Num; get_players( i_Players, i_Num, "c" ); for( new i = 0; i < i_Num; i++ ) { switch( get_user_team( i_Players[ i ] ) ) { case 1: { if( is_user_alive( i_Players[ i ] ) && is_user_connected( i_Players[ i ] ) ) { C_PrintChat( i_Players[ i ], "S-a mai dus o runda.. frumos. [+!v%d!cXP]", get_pcvar_num( g_XpRoundEndT ) ); g_iPlayerXP[ i_Players[ i ] ] += get_pcvar_num( g_XpRoundEndT ); } } case 2: { if( is_user_alive( i_Players[ i ] ) && is_user_connected( i_Players[ i ] ) ) { C_PrintChat( i_Players[ i ], "Tu asa faci fraguri ? Omoara cat mai mult pentru !vXP!c / !vLEVEL!c." ); } } } } } public playerItems( id ) { if( !IsPlayer( id ) ) return PLUGIN_HANDLED; if( is_user_alive( id ) && !is_user_bot( id ) ) { if( g_iPlayerLevel[ id ] < 1 ) { C_PrintChat( id, "[Level !v%d!c - XP !v%d!c/!v%d!c] - Nu ai iteme.", g_iPlayerLevel[ id ], g_iPlayerXP[ id ], g_iLevelsXP[ g_iPlayerLevel[ id ] ] ); } else { switch( g_iPlayerLevel[ id ] ) { case 1: { // Print C_PrintChat( id, "[Level !v%d!c - XP !v%d!c/!v%d!c] - [+!v%d!cFL][+!v%d!cHP][+!v%d!cAP]", \ g_iPlayerLevel[ id ], g_iPlayerXP[ id ], g_iLevelsXP[ g_iPlayerLevel[ id ] ], \ str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ) ); // GiveItems f_Grenade( id, szFlash, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ) ); f_Skill( id, szHealth, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ) ); f_Skill( id, szArmor, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ) ); } case 2: { // Print C_PrintChat( id, "[Level !v%d!c - XP !v%d!c/!v%d!c] - [+!v%d!cFL][+!v%d!cHP][+!v%d!cAP][+!v%d!c$$]", \ g_iPlayerLevel[ id ], g_iPlayerXP[ id ], g_iLevelsXP[ g_iPlayerLevel[ id ] ], \ str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iMoney ] ) ); // GiveItems f_Grenade( id, szFlash, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ) ); f_Skill( id, szHealth, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ) ); f_Skill( id, szArmor, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ) ); f_Skill( id, szMoney, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iMoney ] ) ); } case 3..4: { // Print C_PrintChat( id, "[Level !v%d!c - XP !v%d!c/!v%d!c] - [+!v%d!cFL][+!v%d!cSM][+!v%d!cHP][+!v%d!cAP][+!v%d!c$$]", \ g_iPlayerLevel[ id ], g_iPlayerXP[ id ], g_iLevelsXP[ g_iPlayerLevel[ id ] ], \ str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iSmoke ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iMoney ] ) ); // GiveItems f_Grenade( id, szFlash, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ) ); f_Grenade( id, szSmoke, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iSmoke ] ) ); f_Skill( id, szHealth, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ) ); f_Skill( id, szArmor, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ) ); f_Skill( id, szMoney, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iMoney ] ) ); } case 5..7: { // Print C_PrintChat( id, "[Level !v%d!c - XP !v%d!c/!v%d!c] - [+!v%d!cSM][+!v%d!cFL][+!v%d!cHP][+!v%d!cAP][+!v%d!c$$]", \ g_iPlayerLevel[ id ], g_iPlayerXP[ id ], g_iLevelsXP[ g_iPlayerLevel[ id ] ], \ str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iSmoke ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iMoney ] ) ); // GiveItems f_Grenade( id, szSmoke, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iSmoke ] ) ); f_Grenade( id, szFlash, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ) ); f_Skill( id, szHealth, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ) ); f_Skill( id, szArmor, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ) ); f_Skill( id, szMoney, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iMoney ] ) ); } case 8..20: { // Print C_PrintChat( id, "[Level !v%d!c - XP !v%d!c/!v%d!c] - [+!v%d!cFL][+!v%d!cSM][+!v%d!cHE][+!v%d!cDGL][+!v%d!cHP][+!v%d!cAP][+!v%d!c$$]", \ g_iPlayerLevel[ id ], g_iPlayerXP[ id ], g_iLevelsXP[ g_iPlayerLevel[ id ] ], \ str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iSmoke ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iHe ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iDeagle ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ), str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iMoney ] ) ); // GiveItems f_Grenade( id, szFlash, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iFlash ] ) ); f_Grenade( id, szSmoke, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iSmoke ] ) ); f_Grenade( id, szHe, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iHe ] ) ); f_Gun( id, szDeagle, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iDeagle ] ) ); f_Skill( id, szHealth, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iViata ] ) ); f_Skill( id, szArmor, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iArmura ] ) ); f_Skill( id, szMoney, str_to_num( g_szLevelItems[ g_iPlayerLevel[ id ] ][ g_iMoney ] ) ); } } } } return PLUGIN_CONTINUE; } public fwPlayerPreThink( id ) { if( is_user_alive( id ) ) { new szTarget, szBody; get_user_aiming( id, szTarget, szBody, 9999 ); if( is_user_alive( szTarget ) ) { static szHudMessage[ 256 ], szName[ 32 ]; if( get_user_team( id ) == get_user_team( szTarget ) ) { get_user_name( szTarget, szName, 31 ); switch( get_user_team( szTarget ) ) { case 1: { formatex( szHudMessage, 255, "( Friend )^n %s - %dHP", szName, get_user_health( szTarget ) ); set_hudmessage( 127, 0, 0, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1 ); } case 2: { formatex( szHudMessage, 255, "( Friend )^n %s - %dHP", szName, get_user_health( szTarget ) ); set_hudmessage( 0, 0, 127, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1 ); } } } else { switch( get_user_team( szTarget ) ) { case 1: { formatex( szHudMessage, 255, "( Enemy )^n %s - %dHP", szName, get_user_health( szTarget ) ); set_hudmessage( 127, 0, 0, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1 ); } case 2: { formatex( szHudMessage, 255, "( Enemy )^n %s - %dHP", szName, get_user_health( szTarget ) ); set_hudmessage( 0, 0, 127, -1.0, -1.0, 0, 0.0, 0.1, 0.0, 0.0, -1 ); } } } show_hudmessage( id, szHudMessage ); } } g_fGameTime[ id ] = get_gametime( ); if( g_iFramesPer[ id ] > g_fGameTime[ id ] ) { g_iFPS[ id ] += 1; } else { g_iFramesPer[ id ] += 1; g_iCurFPS[ id ] = g_iFPS[ id ]; g_iFPS[ id ] = 0; } } public hookSay( id ) { new s_Arg[ 192 ]; read_args( s_Arg, 191 ); remove_quotes( s_Arg ); if( contain( s_Arg, "/medic" ) != -1 || contain( s_Arg, "medic" ) != -1 ) { if( g_iModPlugin ) { if( g_iMedicLast[ id ] <= time( ) ) { new iHealth, iMoney; iMoney = cs_get_user_money( id ); iHealth = get_user_health( id ); if( iMoney < get_pcvar_num( g_MedicCost ) ) { C_PrintChat( id, "Nu ai destui bani pentru a apela la !vmedic!c." ); } else { if( iHealth <= get_pcvar_num( g_MedicMaxHealth ) ) { new iGiveHealth = get_user_health( id ) + get_pcvar_num( g_MedicHealth ); set_user_health( id, iGiveHealth ); C_PrintChat( id, "Ai primit !v%d!c HP de la medic. -!v%d!c$$.", get_pcvar_num( g_MedicHealth ), get_pcvar_num( g_MedicCost ) ); cs_set_user_money( id, cs_get_user_money( id ) - get_pcvar_num( g_MedicCost ) ); CreateFade( id, 255, 0, 0, 0 ); } else { C_PrintChat( id, "Acest server permite maxim !v%d!c HP. Tu ai !v%d!c.", get_pcvar_num( g_MedicMaxHealth ), iHealth ); } g_iMedicLast[ id ] = time( ) + get_pcvar_num( g_MedicCoolDown ); } } else { new iLastTime = g_iMedicLast[ id ] - time( ); C_PrintChat( id, "Asteapta !v%d!c secunde pentru a apela la medic.", iLastTime ); } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/playerxp" ) != -1 ) { new target[ 32 ]; copy( target, 31, s_Arg[ 10 ] ); new szTarget = cmd_target( id, target, 3 ); if( szTarget ) { new szName[ 32 ]; get_user_name( szTarget, szName, 31 ); C_PrintChat( id, "Player !v%s!c are !v%d!c XP.", szTarget, g_iPlayerXP[ szTarget ] ); } else { C_PrintChat( id, "Player-ul ales nu exista." ); } } if( contain( s_Arg, "/numar" ) != -1 ) { if( g_iModPlugin ) { new iNumar[ 32 ]; copy( iNumar, 31, s_Arg[ 7 ] ); if( !str_to_num( iNumar ) ) { C_PrintChat( id, "Foloseste !v/numar!c <!eNumarul tau!c>" ); } else { if( !g_iNumberAll ) { if( g_iNumber[ id ][ str_to_num( iNumar ) ] ) { C_PrintChat( id, "Numarul ales de tine este deja folosit." ); } else { if( str_to_num( iNumar ) >= get_pcvar_num( g_MaxNumber ) ) { C_PrintChat( id, "Poti alege un numar de la !v1!c, la !v%d!c. (doar daca numarul nu este deja ales.)", ( get_pcvar_num( g_MaxNumber ) -1 ) ); } else { if( !g_iNumberTrue[ id ] ) { g_iNumberTrue[ id ] = true; C_PrintChat( id, "Ai ales numarul !v%d!c. Pentru informatii despre tragerea la sort, tasteaza !v/tombola!c.", str_to_num( iNumar ) ); g_iNumber[ id ][ str_to_num( iNumar ) ] = true; g_iNumberPlayer[ id ] = str_to_num( iNumar ); g_iNumberIs++; } else { C_PrintChat( id, "Ai ales deja un numar. Numarul este !v%d!c.", g_iNumberPlayer[ id ] ); } } } } } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/numarales" ) != -1 ) { if( g_iModPlugin ) { if( g_iNumberChosen <= 0 ) { C_PrintChat( id, "Numarul nu a fost ales, inca." ); } else { C_PrintChat( id, "Numaru ales astazi este !v%d!c.", g_iNumberChosen ); } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/tombola" ) != -1 ) { if( g_iModPlugin ) { show_motd( id, "addons/amxmodx/configs/HNS/tombola.html", "Tombola server" ); } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/true" ) != -1 ) { if( g_iModPlugin ) { if( g_iNumberChosen <= 0 ) { C_PrintChat( id, "Numarul nu a fost ales, inca." ); } else { if( g_iNumberAll ) { if( g_iNumberChosen == g_iNumberPlayer[ id ] ) { new szName[ 32 ]; get_user_name( id, szName, 31 ); C_PrintChat( id, "Felicitari, tu esti castigorul tombolei de pe aceasta harta." ); C_PrintChat( 0, "Player !v%s!c, este castigorul tombolei de pe aceasta harta.", szName ); copy( g_szNameTombol, 32, szName ); g_iWinner = true; g_iNumberAll = false; } else { C_PrintChat( id, "Nu esti tu castigatorul tombolei !" ); } } } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/who" ) != -1 || contain( s_Arg, "/admin" ) != -1 || contain( s_Arg, "/admins" ) != -1 ) { if( g_iModPlugin ) { new iLen, szMotd[ 2048 ], szName[ 32 ], iPlayers[ 32 ], iNum; get_players( iPlayers, iNum, "c" ); iLen = format( szMotd[ iLen ], 2048 - iLen, "<body bgcolor=black><center><pre>^n^n" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<font color=white>Acest server foloseste</font><font color=red> %s</font><font color=white> creat de </font><font color=red>%s</font>^n^n", \ "Time & Remove", "Rainq" ); for( new i = 0; i < sizeof( g_szWhoGroup ); i++ ) { iLen += format( szMotd[ iLen ], 2048 - iLen, "<font color=gray>%s</font>^n", g_szWhoGroup[ i ] ); for( new x = 0; x < iNum; x++ ) { get_user_name( iPlayers[ x ], szName, 31 ); if( i + 1 < sizeof( g_szWhoGroup ) ) { if( get_user_flags( iPlayers[ x ] ) == read_flags( g_szWhoAcces[ i ] ) ) { iLen += format( szMotd[ iLen ], 2048 - iLen, "<font color=red>%s</font>^n", szName ); } } else { for( new z = 1; z < sizeof( g_szVipAcces ); z++ ) { if( get_user_flags( iPlayers[ x ] ) == read_flags( g_szVipAcces[ z ] ) ) { iLen += format( szMotd[ iLen ], 2048 - iLen, "<font color=red>%s</font> <font color=white>[</font><font color=green>G:%d</font><font color=white>]</font> <font color=white>[</font><font color=green>%s</font><font color=white>]</font> <font color=white>[</font><font color=green>FTP:</font><font color=red>%s</font></font><font color=white>]</font>^n",\ szName, z, g_VipType[ iPlayers[ x ] ][ vipActive ] == 1 ? "A" : "S" ); } } } } } show_motd( id, szMotd, "Adminii serverului" ); } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/castigator" ) != -1 || contain( s_Arg, "/castigatorTombola" ) != -1 ) { if( g_iModPlugin ) { new iLen, szMotd[ 2048 ]; iLen = format( szMotd[ iLen ], 2048 - iLen, "<body bgcolor=black><center><pre>^n" ); if( g_iWinner ) { iLen += format( szMotd[ iLen ], 2048 - iLen, "<font color=white><font size=5>Castigatorul tombolei de astazi:</font></font>^n^n" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<font color=red>%s</font><font color=white> cu numarul</font><font color=red> %d</font>", g_szNameTombol, g_iNumberPlayer[ id ] ); } else { iLen += format( szMotd[ iLen ], 2048 - iLen, "<font color=white>Niciun castigator al tombolei de azi.</font>" ); } show_motd( id, szMotd, "Castigator tombola" ); } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/orejucate" ) != -1 || contain( s_Arg, "/ore" ) != -1 || contain( s_Arg, "/playedtime" ) != -1 ) { C_PrintChat( id, "Ai !v%d!c minut%s jucat%s pe server.",\ g_iPlayedTime[ id ][ formatMinutes ], g_iPlayedTime[ id ][ formatMinutes ] == 1 ? "" : "e", g_iPlayedTime[ id ][ formatMinutes ] == 1 ? "" : "e" ); } if( contain( s_Arg, "/xp" ) != -1 || contain( s_Arg, "/lvl" ) != -1 || contain( s_Arg, "xp" ) != -1 || contain( s_Arg, "lvl" ) != -1 ) { if( g_iModPlugin ) { C_PrintChat( id, "Ai level !v%d!c - Xp !v%d!c/!v%d!c.", g_iPlayerLevel[ id ], g_iPlayerXP[ id ], g_iLevelsXP[ g_iPlayerLevel[ id ] ] ); } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/credits" ) != -1 || contain( s_Arg, "/credite" ) != -1 ) { if( g_iModPlugin ) { static szName[ 32 ]; get_user_name( id, szName, 31 ); C_PrintChat( id, "!v%s!c - ai !v%d!c credit%s.", szName, g_iPlayerCredits[ id ], g_iPlayerCredits[ id ] == 1 ? "" : "e" ); } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/shop" ) != -1 || contain( s_Arg, "/shopcredits" ) != -1 ) { if( g_iModPlugin ) { new szMenuFormat[ 256 ], iCostAdmin[ 128 ], iCostSlot[ 128 ], iCostVIP[ 128 ]; format( szMenuFormat, 255, "\r%d\y Credits\w - Ce doresti sa cumperi ?", g_iPlayerCredits[ id ] ); format( iCostAdmin, 127, "\wAdmin\y - \r[\w%d\yCredits\r][\wOdata pe harta\r]", get_pcvar_num( g_CostShopAdmin ) ); format( iCostSlot, 127, "\wSlot\y - \r[\w%d\yCredits\r][\wOdata pe harta\r]", get_pcvar_num( g_CostShopSlot ) ); format( iCostVIP, 127, "\wV.I.P \y(\rG:2\y) - \r[\w%d\yCredits\r][\wOdata pe harta\r]", get_pcvar_num( g_CostShopVIP ) ); new g_Menu = menu_create( szMenuFormat, "shopHandler" ); menu_additem( g_Menu, iCostAdmin, "1", 0 ); menu_additem( g_Menu, iCostSlot, "2", 0 ); menu_additem( g_Menu, iCostVIP, "3", 0 ); menu_display( id, g_Menu, 0 ); } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/pxp" ) != -1 ) { if( g_iModPlugin ) { new s_Arg2[ 32 ]; copy( s_Arg2, 31, s_Arg[ 5 ] ); new szTarget = cmd_target( id, s_Arg2, 31 ); if( !szTarget ) return PLUGIN_HANDLED; new szName[ 32 ]; get_user_name( szTarget, szName, 31 ); C_PrintChat( id, "Player !v%s!c are !v%d!c - !vXP!c.", szName, g_iPlayerXP[ szTarget ] ); } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/pcredits" ) != -1 ) { if( g_iModPlugin ) { new s_Arg2[ 32 ]; copy( s_Arg2, 31, s_Arg[ 5 ] ); new szTarget = cmd_target( id, s_Arg2, 31 ); if( !szTarget ) return PLUGIN_HANDLED; new szName[ 32 ]; get_user_name( szTarget, szName, 31 ); C_PrintChat( id, "Player !v%s!c are !v%d!c - !vCredit%s!c.", szName, g_iPlayerCredits[ szTarget ], g_iPlayerCredits[ szTarget ] == 1 ? "" : "s" ); } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/restart" ) != -1 || contain( s_Arg, "/rr" ) != -1 || contain( s_Arg, "/restartserver" ) != -1 ) { if( g_iModPlugin ) { if( get_user_flags( id ) & ADMIN_SLAY ) { server_cmd( "sv_restart 1" ); static szName[ 32 ]; get_user_name( id, szName, 31 ); C_PrintChat( 0, "!v%s!c, a dat restart.", szName ); } else { C_PrintChat( id, "Nu ai acces la aceasta comanda." ); } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/playerinfo" ) != -1 ) { if( g_iModPlugin ) { if( get_user_flags( id ) & ADMIN_KICK ) { new target[ 32 ]; copy( target, 31, s_Arg[ 12 ] ); if( !strlen( target ) ) { C_PrintChat( id, "Comanda se foloseste in felul urmator: !v/playerinfo <!eNume!c>" ); } else { new iLen, szMotd[ 2048 ]; iLen = formatex( szMotd[ iLen ], 2048 - iLen, "<body bgcolor=black><center><pre>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<table border=^"1^" cellspaccing=^"1%^" cellpadding=^"5^"" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<tr>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=deepskyblue>Nick</font></th>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=deepskyblue>XP</font></th>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=deepskyblue>Level</font></th>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=deepskyblue>Credits</font></th>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=deepskyblue>FPS</font></th>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=deepskyblue>Ping</font></th>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=deepskyblue>Loss</font></th>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "</tr>" ); new szTarget = cmd_target( id, target, 3 ); if( !szTarget ) return PLUGIN_HANDLED; static szName[ 32 ], iPing, iLoss; get_user_name( szTarget, szName, 31 ); get_user_ping( szTarget, iPing, iLoss ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<tr>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=red>%s</font></th>", szName ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=red>%i</font></th>", g_iPlayerXP[ szTarget ] ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=red>%i</font></th>", g_iPlayerLevel[ szTarget ] ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=red>%i</font></th>", g_iPlayerCredits[ szTarget ] ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=red>%i</font></th>", g_iCurFPS[ szTarget ] ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=red>%i</font></th>", iPing ); iLen += format( szMotd[ iLen ], 2048 - iLen, "<th><font color=red>%i</font></th>", iLoss ); iLen += format( szMotd[ iLen ], 2048 - iLen, "</tr>" ); iLen += format( szMotd[ iLen ], 2048 - iLen, "</body></center>" ); /* Final.. */ show_motd( id, szMotd, "Player info" ); } } else { C_PrintChat( id, "Nu ai acces la aceasta comanda." ); } } } if( contain( s_Arg, "/warn" ) != -1 || contain( s_Arg, "/mwarn" ) != -1 || contain( s_Arg, "/mywarn" ) != -1 ) { if( g_iModPlugin ) { C_PrintChat( id, "Ai !v%d!c/!v%d!c WARN-uri. La !v%d!c, vei primi ban.", g_iWarn[ id ], get_pcvar_num( g_MaxWarn ), get_pcvar_num( g_MaxWarn ) ); C_PrintChat( id, "Warn-uriile se sterg odata la !v%d!c minute la toti playeri.", ( get_pcvar_num( g_TaskDurWarn ) / 60 ) ); } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } if( contain( s_Arg, "/winfo" ) != -1 ) { if( g_iModPlugin ) { if( get_user_flags( id ) & ADMIN_KICK ) { new Target[ 32 ]; copy( Target, 31, s_Arg[ 7 ] ); new szTarget = cmd_target( id, Target, 3 ); if( !szTarget ) return PLUGIN_HANDLED; static szName[ 32 ]; get_user_name( szTarget, szName, 31 ); C_PrintChat( id, "Player !v%s!c are !v%d!c - WARN. (!v%d!c/!v%d!c)", szName, g_iWarn[ szTarget ], get_pcvar_num( g_MaxWarn ) ); } else { C_PrintChat( id, "Nu ai acces la aceasta comanda." ); } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } } return PLUGIN_CONTINUE; } public shopHandler( id, menu, item ) { switch( item ) { case 0: { if( g_iPlayerCredits[ id ] < get_pcvar_num( g_CostShopAdmin ) ) { C_PrintChat( id, "Nu ai destule credite pentru a cumpara !vADMIN!c." ); } else { static szName[ 32 ]; get_user_name( id, szName, 31 ); set_user_flags( id, read_flags( "abcdefghijkl" ) ); g_iPlayerCredits[ id ] -= get_pcvar_num( g_CostShopAdmin ); C_PrintChat( id, "Ai cumparat !vADMIN!c, ai doar pe aceasta mapa. [-!v%d!cCredits]", get_pcvar_num( g_CostShopAdmin ) ); C_PrintChat( 0, "Player !v%s!c, si-a cumparat !vADMIN!c.(!vO harta!c)", szName ); } } case 1: { if( g_iPlayerCredits[ id ] < get_pcvar_num( g_CostShopSlot ) ) { C_PrintChat( id, "Nu ai destule credite pentru a cumpara !vSLOT!c." ); } else { static szName[ 32 ]; get_user_name( id, szName, 31 ); set_user_flags( id, ADMIN_RESERVATION ); g_iPlayerCredits[ id ] -= get_pcvar_num( g_CostShopSlot ); C_PrintChat( id, "Ai cumparat !vSLOT!c, ai doar pe aceasta mapa. [-!v%d!cCredits]", get_pcvar_num( g_CostShopSlot ) ); C_PrintChat( 0, "Player !v%s!c, si-a cumparat !vSLOT!c.(!vO harta!c)", szName ); } } case 2: { if( g_iPlayerCredits[ id ] < get_pcvar_num( g_CostShopVIP ) ) { C_PrintChat( id, "Nu ai destule credite pentru a cumpara !vVIP!c." ); } else { static szName[ 32 ]; get_user_name( id, szName, 31 ); set_user_flags( id, read_flags( g_szVipAcces[ 2 ] ) ); g_iPlayerCredits[ id ] -= get_pcvar_num( g_CostShopVIP ); C_PrintChat( id, "Ai cumparat !vVIP!c (!vG:2!c), ai doar pe aceasta mapa. [-!v%d!cCredits]", get_pcvar_num( g_CostShopVIP ) ); C_PrintChat( 0, "Player !v%s!c, si-a cumparat !vVIP!c.(!vO harta!c)", szName ); g_VipType[ id ][ vipActive ] = true; } } } } public checkVipPlayer( id, const szName[ ], const szIP[ ], const szAuthId[ ] ) { /* Set variables false */ g_iVipNum[ id ][ 1 ] = false; g_iVipNum[ id ][ 2 ] = false; g_iVipNum[ id ][ 3 ] = false; g_iVipNum[ id ][ 4 ] = false; g_iVipNum[ id ][ 5 ] = false; /* Check */ new szFile = fopen( g_szFileVip, "r" ); if( !szFile ) return; new szData[ 512 ], szInfo[ 64 ], iVipType[ 64 ], iAcces[ 64 ]; while( !feof( szFile ) ) { fgets( szFile, szData, 511 ); if( szData[ 0 ] == ';' || szData[ 0 ] == '#' || szData[ 0 ] == '/' && szData[ 1 ] == '/' ) continue; parse( szData, iVipType, 63, szInfo, 63, iAcces, 63 ); if( equali( szInfo, szName ) || equali( szInfo, szIP ) || equali( szInfo, szAuthId ) ) { g_UserIsVip[ id ] = true; } switch( iVipType[ 1 ] ) { case 'A': g_VipType[ id ][ vipActive ] = true; case 'S': g_VipType[ id ][ vipSuspended ] = true; } if( g_UserIsVip[ id ] ) { switch( iAcces[ 1 ] ) { case '1': { set_user_flags( id, read_flags( g_szVipAcces[ 1 ] ) ); } case '2': { set_user_flags( id, read_flags( g_szVipAcces[ 2 ] ) ); } case '3': { set_user_flags( id, read_flags( g_szVipAcces[ 3 ] ) ); } case '4': { set_user_flags( id, read_flags( g_szVipAcces[ 4 ] ) ); } case '5': { set_user_flags( id, read_flags( g_szVipAcces[ 5 ] ) ); } } } } fclose( szFile ); } public serverTombola( ) { if( g_iModPlugin ) { new iPlayers[ 32 ], iNum; get_players( iPlayers, iNum, "g" ); for( new i = 0; i < iNum; i++ ) { g_iNumberChosen = random_num( 1, get_pcvar_num( g_MaxNumber ) ); if( g_iNumberIs >= get_pcvar_num( g_MinNumberT ) ) { client_cmd( iPlayers[ i ], "spk ^"is time^"" ); C_PrintChat( iPlayers[ i ], "Este timp-ul pentru !vTOMBOLA!c." ); CreateFade( iPlayers[ i ], 5, 5, 195, 125 ); C_PrintChat( iPlayers[ i ], "Numar ales random pe aceasta harta, este !v%d!c.", g_iNumberChosen ); C_PrintChat( iPlayers[ i ], "Playerul cu acest numar (!v%d!c), sa scrie in !v10!c secunde in chat, !v/true!c.", g_iNumberChosen ); g_iNumberAll = true; set_task( float( get_pcvar_num( g_RemoveNumber ) ), "anulareNumarTombola", iPlayers[ i ] ); } } } } public anulareNumarTombola( id ) { if( g_iNumberAll ) { C_PrintChat( id, "Numarul la tombola de pe aceasta harta nu a fost gasit." ); g_iNumberAll = false; } } public checkPlayedTime( id ) { if( is_user_connected( id ) && !is_user_bot( id ) ) { g_iPlayedTime[ id ][ formatMinutes ] += 1; if( g_iPlayedTime[ id ][ formatMinutes ] >= 60 ) { g_iPlayedTime[ id ][ formatHours ] += 1; g_iPlayedTime[ id ][ formatMinutes ] -= 60; } } } public cmdAddXP( id ) { if( g_iModPlugin ) { new s_Arg[ 32 ], iAmount[ 32 ]; read_argv( 1, s_Arg, 31 ); read_argv( 2, iAmount, 31 ); new szTarget = cmd_target( id, s_Arg, 3 ); if( !szTarget ) return PLUGIN_HANDLED; if( !str_to_num( iAmount ) ) { console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintHeader ); console_print( id, "La <XP> se adauga o valoare numerica." ); console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintFooter ); } else { static szNameTarget[ 32 ], szNameAdmin[ 32 ]; get_user_name( szTarget, szNameTarget, 31 ); get_user_name( id, szNameAdmin, 31 ); C_PrintChat( 0, "Admin !v%s!c ii adauga lui !v%s!c - !v%d!c XP.", szNameAdmin, szNameTarget, str_to_num( iAmount ) ); g_iPlayerXP[ szTarget ] += str_to_num( iAmount ); playerCalculateLevel( szTarget ); } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } return PLUGIN_CONTINUE; } public cmdAddWarn( id ) { if( g_iModPlugin ) { new s_Arg[ 32 ], iWarn[ 32 ]; read_argv( 1, s_Arg, 31 ); read_argv( 2, iWarn, 31 ); new szTarget = cmd_target( id, s_Arg, 3 ); if( !szTarget ) return PLUGIN_HANDLED; if( !str_to_num( iWarn ) ) { console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintHeader ); console_print( id, "La <Numar> se adauga o valoare numerica. (cate WARN/uri vrei sa dai[%d ban])", get_pcvar_num( g_MaxWarn ) ); console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintFooter ); } else { static szNameTarget[ 32 ], szNameAdmin[ 32 ]; get_user_name( szTarget, szNameTarget, 31 ); get_user_name( id, szNameAdmin, 31 ); g_iWarn[ szTarget ] += str_to_num( iWarn ); C_PrintChat( 0, "Admin !v%s!c ii da lui !v%s!c / !v%d!c WARN. Acum are [!v%d!c/!v%d!c] Warn.", szNameAdmin, szNameTarget, str_to_num( iWarn ), g_iWarn[ szTarget ], get_pcvar_num( g_MaxWarn ) ); } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } return PLUGIN_CONTINUE; } public cmdInfoWarn( id ) { if( g_iModPlugin ) { if( get_user_flags( id ) & ADMIN_KICK ) { new s_Arg[ 32 ]; read_argv( 1, s_Arg, 31 ); new szTarget = cmd_target( id, s_Arg, 3 ); if( !szTarget ) return PLUGIN_HANDLED; static szName[ 32 ]; get_user_name( szTarget, szName, 31 ); C_PrintChat( id, "Player !v%s!c are !v%d!c - WARN. (!v%d!c/!v%d!c)", szName, g_iWarn[ szTarget ], get_pcvar_num( g_MaxWarn ) ); } else { C_PrintChat( id, "Nu ai acces la aceasta comanda." ); } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } return PLUGIN_CONTINUE; } public cmdAddVip( id ) { if( g_iModPlugin ) { static szStatus[ 32 ], szNume[ 32 ], iGrad[ 32 ]; read_argv( 1, szStatus, 31 ); read_argv( 2, szNume, 31 ); read_argv( 3, iGrad, 31 ); if( !strlen( szStatus ) ) { console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintHeader ); console_print( id, "La <Status> se adauga A - Activ sau S - Suspendat." ); console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintFooter ); } else if( !strlen( szNume ) ) { console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintHeader ); console_print( id, "La <Nume> se adauga numele VIP-ului care doresti sa-l adaugi." ); console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintFooter ); } else if( !str_to_num( iGrad ) ) { console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintHeader ); console_print( id, "La <Grad> se adauga o valoare numerica, incepand de la 1 (cel mai mic), pana la 5 (cel mai mare)." ); console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintFooter ); } else { if( strlen( szStatus ) == 1 ) { if( str_to_num( iGrad ) > 0 || str_to_num( iGrad ) < 6 ) { new szFormat[ 256 ], szTarget; szTarget = cmd_target( id, szNume, 3 ); if( is_user_connected( szTarget ) && !is_user_bot( szTarget ) ) { C_PrintChat( szTarget, "Admin !v%s!c te-a adaugat ca V.I.P - !v%s!c | !v%s!c | !v%d!c", szStatus, szNume, str_to_num( iGrad ) ); set_user_flags( szTarget, read_flags( g_szVipAcces[ str_to_num( iGrad ) ] ) ); } formatex( szFormat, 255, "[%s] ^"%s^" [%d]", szStatus, szNume, str_to_num( iGrad ) ); write_file( "addons/amxmodx/configs/HNS_vip.ini", szFormat, -1 ); } } } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } return PLUGIN_HANDLED; } public cmdInfoPlayer( id ) { if( g_iModPlugin ) { new s_Arg[ 32 ], s_Arg2[ 32 ]; read_argv( 1, s_Arg, 31 ); read_argv( 2, s_Arg2, 31 ); new szTarget = cmd_target( id, s_Arg, 3 ); if( !szTarget ) return PLUGIN_HANDLED; if( !strlen( s_Arg2 ) ) { console_print( id, "La <XP/LVL/Credits> XP - XP-ul unui player / LVL - Levelul unui player / Credits - Creditele unui player" ); } else { static szName[ 32 ]; get_user_name( szTarget, szName, 31 ); switch( s_Arg2[ 0 ] ) { case 'L': { C_PrintChat( id, "Player !v%s!c are level !v%d!c.", szName, g_iPlayerLevel[ szTarget ] ); } case 'X': { C_PrintChat( id, "Player !v%s!c are !v%d!c XP.", szName, g_iPlayerXP[ szTarget ] ); } case 'C': { C_PrintChat( id, "Player !v%s!c are !v%d!c XP.", szName, g_iPlayerCredits[ szTarget ] ); } } } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } return PLUGIN_CONTINUE; } public cmdResetStats( id ) { if( g_iModPlugin ) { new s_Arg[ 32 ]; read_argv( 1, s_Arg, 31 ); new szTarget = cmd_target( id, s_Arg, 3 ); if( !szTarget ) return PLUGIN_HANDLED; static pName[ 32 ], aName[ 32 ]; get_user_name( id, aName, 31 ); get_user_name( szTarget, pName, 31 ); C_PrintChat( 0, "Admin !v%s!c ii reseteaza statisticiile lui !v%s!c. [!vXP!c/!vLVL!c/!vCredits!c]", aName, pName ); g_iPlayerXP[ szTarget ] = 0; g_iPlayerLevel[ szTarget ] = 0; g_iPlayerCredits[ szTarget ] = 0; } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } return PLUGIN_CONTINUE; } public cmdAddCredits( id ) { if( g_iModPlugin ) { new s_Arg[ 32 ], iAmount[ 32 ]; read_argv( 1, s_Arg, 31 ); read_argv( 2, iAmount, 31 ); new szTarget = cmd_target( id, s_Arg, 3 ); if( !szTarget ) return PLUGIN_HANDLED; if( !str_to_num( iAmount ) ) { console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintHeader ); console_print( id, "La <Credits> se adauga o valoare numerica." ); console_print( id, "- - - - - - - - %s - - - - - - - -", g_szConsolePrintFooter ); } else { static szNameTarget[ 32 ], szNameAdmin[ 32 ]; get_user_name( szTarget, szNameTarget, 31 ); get_user_name( id, szNameAdmin, 31 ); C_PrintChat( 0, "Admin !v%s!c ii adauga lui !v%s!c - !v%d!c Credit%s.", szNameAdmin, szNameTarget, str_to_num( iAmount ), str_to_num( iAmount ) == 1 ? "" : "e" ); g_iPlayerCredits[ szTarget ] += str_to_num( iAmount ); } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } return PLUGIN_CONTINUE; } public cmdTransfer( id ) { if( g_iModPlugin ) { new c_Arg[ 32 ], c_Echipa[ 32 ]; read_argv( 1, c_Arg, 31 ); read_argv( 2, c_Echipa, 31 ); new target = cmd_target( id, c_Arg, 3 ); if( !target ) return PLUGIN_HANDLED; static szName[ 32 ]; get_user_name( id, szName, 31 ); switch( c_Echipa[ 0 ] ) { case 'T': { user_kill( target ); cs_set_user_team( target, 1 ); C_PrintChat( 0, "Player !v%s!c a fost mutat la echipa !vTERO!c.", szName ); } case 'C': { user_kill( target ); cs_set_user_team( target, 2 ); C_PrintChat( 0, "Player !v%s!c a fost mutat la echipa !vCOUNTER!e-!vTERO!c.", szName ); } case 'S': { user_kill( target ); cs_set_user_team( target, 3 ); C_PrintChat( 0, "Player !v%s!c a fost mutat la echipa !vSPEC!c.", szName ); } } } else { C_PrintChat( id, "Modul !vTime!eAnd!vRemove!c este oprit." ); } return PLUGIN_CONTINUE; } public serverPingCheck( ) { if( g_iModPlugin ) { new iPlayers[ 32 ], iNum, id; get_players( iPlayers, iNum, "c" ); for( new i = 0; i < iNum; i++ ) { id = iPlayers[ i ]; static iPing, iLoss; get_user_ping( id, iPing, iLoss ); if( iPing >= get_pcvar_num( g_MaxPing ) ) { static szName[ 32 ]; get_user_name( id, szName, 31 ); C_PrintChat( id, "Player !v%s!c avea ping prea mare si a fost deconectat.", szName ); server_cmd( "kick #%d Ping prea mare, rezolva-l si revin-o la joc !", get_user_userid( id ) ); } } } } public serverCheckWarn( ) { if( g_iModPlugin ) { new iPlayers[ 32 ], iCount; get_players( iPlayers, iCount, "ac" ); for( new i = 0; i < iCount; i++ ) { if( is_user_connected( iPlayers[ i ] ) && !is_user_bot( iPlayers[ i ] ) ) { if( g_iWarn[ iPlayers[ i ] ] >= get_pcvar_num( g_MaxWarn ) ) { server_cmd( "kick #%d Ai %d/%d WARN/uri.", get_user_userid( iPlayers[ i ] ), g_iWarn[ iPlayers[ i ] ], get_pcvar_num( g_MaxWarn ) ); new szNameFormat[ 256 ], szName[ 32 ]; get_user_name( iPlayers[ i ], szName, 31 ); format( szNameFormat, 255, "%s", szName ); write_file( g_szFileWarn, szNameFormat, -1 ); } } } } } public serverRemoveWarn( ) { if( g_iModPlugin ) { new iPlayers[ 32 ], iCount; get_players( iPlayers, iCount, "ac" ); for( new i = 0; i < iCount; i++ ) { if( is_user_connected( iPlayers[ i ] ) && !is_user_bot( iPlayers[ i ] ) ) { if( g_iWarn[ iPlayers[ i ] ] > 0 ) { C_PrintChat( iPlayers[ i ], "Toate !vWARN!c-uriile, au fost sterse. (la toti useri.)" ); g_iWarn[ iPlayers[ i ] ] -= g_iWarn[ iPlayers[ i ] ]; } } } } } public serverCommands( ) { for( new i = 0; i < sizeof( g_szServerCMD ); i++ ) server_cmd( g_szServerCMD[ i ] ); } public client_disconnect( id ) { // Save Time PlayedTimeSave( id ); // Save XP PlayerXpSave( id ); // Save Credits PlayerCreditsSave( id ); // Print ClientDisconnected( id ); // Task remove_task( id ); } public client_putinserver( id ) { // Load Time PlayedTimeLoad( id ); // Load XP PlayerXpLoad( id ); // Load Credits PlayerCreditsLoad( id ); // Task set_task( float( get_pcvar_num( g_TimePlayed ) ), "checkPlayedTime", id, _, _, "b" ); // Check VIP static szName[ 32 ], szIP[ 32 ], szAuthId[ 32 ]; get_user_name( id, szName, 31 ); get_user_ip( id, szIP, 31, 1 ); get_user_authid( id, szAuthId, 31 ); checkVipPlayer( id, szName, szIP, szAuthId ); // Print ClientConnected( id ); // Check name ClientCheckName( id ); // Check Warn ClientCheckWarn( id ); // Hud set_task( 1.0, "hudPlayerCredits", id, _, _, "b" ); } public ClientCheckName( id ) { if( g_iModPlugin ) { static szName[ 32 ]; get_user_name( id, szName, 31 ); new szData[ 512 ], szRestrictedName[ 128 ]; while( !feof( g_szFileRestricted ) ) { fgets( g_szFileRestricted, szData, 511 ); if( szData[ 0 ] == ';' || szData[ 0 ] == '/' && szData[ 1 ] == '/' ) continue; parse( szData, szRestrictedName, 127 ); if( equal( szRestrictedName, szName ) ) { server_cmd( "kick #%d Numele tau nu este permis pe acest server.", get_user_userid( id ) ); } } fclose( g_szFileRestricted ); } return 0; } public ClientCheckWarn( id ) { if( g_iModPlugin ) { static szName[ 32 ]; get_user_name( id, szName, 31 ); new szFile = fopen( g_szFileWarn, "r" ); if( !szFile ) return 1; new szData[ 512 ], szInfo[ 64 ]; while( !feof( szFile ) ) { fgets( szFile, szData, 511 ); if( szData[ 0 ] == ';' || szData[ 0 ] == '/' && szData[ 1 ] == '/' ) continue; parse( szData, szInfo, 63 ); if( equal( szInfo, szName ) ) { server_cmd( "kick #%d Ai %d/%d WARN/uri.", get_user_userid( id ), g_iWarn, get_pcvar_num( g_MaxWarn ) ); } } fclose( szFile ); } return 0; } public ClientDisconnected( id ) { if( g_iModPlugin ) { static szMesaj[ 128 ], szName[ 32 ]; get_user_name( id, szName, 31 ); if( get_user_flags( id ) & ADMIN_LEVEL_C || get_user_flags( id ) & ADMIN_LEVEL_A || get_user_flags( id ) & ADMIN_LEVEL_B || get_user_flags( id ) & ADMIN_LEVEL_F || get_user_flags( id ) & ADMIN_LEVEL_H ) { format( szMesaj, 127, "V.I.P !v%s!c [!v%s!c] sa deconectat.", szName, g_VipType[ id ][ vipActive ] == 1 ? "A" : "S" ); } else { format( szMesaj, 127, "Jucator !v%s!c sa deconectat.", szName ); } C_PrintChat( id, szMesaj ); } } public ClientConnected( id ) { if( g_iModPlugin ) { static szMesaj[ 128 ], szName[ 32 ]; get_user_name( id, szName, 31 ); if( get_user_flags( id ) & ADMIN_LEVEL_C || get_user_flags( id ) & ADMIN_LEVEL_A || get_user_flags( id ) & ADMIN_LEVEL_B || get_user_flags( id ) & ADMIN_LEVEL_F || get_user_flags( id ) & ADMIN_LEVEL_H ) { format( szMesaj, 127, "V.I.P !v%s!c [!v%s!c] sa conectat.", szName, g_VipType[ id ][ vipActive ] == 1 ? "A" : "S" ); } else { format( szMesaj, 127, "Jucator !v%s!c sa conectat.", szName ); } C_PrintChat( id, szMesaj ); } } public hudPlayerCredits( id ) { if( g_iModPlugin ) { static szName[ 32 ]; get_user_name( id, szName, 31 ); set_hudmessage( 40, 100, 200, -1.0, 0.64, 1, 6.0, 1.0 ); show_hudmessage( id, "( %s ) - FPS-ul tau %d ^n[Credits: %d][XP: %d][Level: %d][Warn: %d]", szName, g_iCurFPS[ id ], g_iPlayerCredits[ id ], g_iPlayerXP[ id ], g_iPlayerLevel[ id ], g_iWarn[ id ] ); } } public PlayerXpSave( id ) { static szName[ 32 ], szVaultData[ 256 ], szVaultKey[ 128 ]; get_user_name( id, szName, 31 ); format( szVaultKey, 127, "%s", szName ); format( szVaultData, 255, "%i#%i", g_iPlayerLevel[ id ], g_iPlayerXP[ id ] ); nvault_set( g_szVaultPlayerStats, szVaultKey, szVaultData ); } public PlayerXpLoad( id ) { static szName[ 32 ], szVaultData[ 256 ], szVaultKey[ 128 ]; get_user_name( id, szName, 31 ); format( szVaultKey, 127, "%s", szName ); format( szVaultData, 255, "%i#%i", g_iPlayerLevel[ id ], g_iPlayerXP[ id ] ); nvault_get( g_szVaultPlayerStats, szVaultKey, szVaultData, 255 ); replace_all( szVaultData, 255, "#", " " ); new iPlayerLevel[ 33 ], iPlayerXP[ 33 ]; parse( szVaultData, iPlayerLevel, 32, iPlayerXP, 32 ); g_iPlayerLevel[ id ] = str_to_num( iPlayerLevel ); g_iPlayerXP[ id ] = str_to_num( iPlayerXP ); } public PlayerCreditsSave( id ) { static szName[ 32 ], szVaultData[ 256 ], szVaultKey[ 128 ]; get_user_name( id, szName, 31 ); format( szVaultKey, 127, "%s", szName ); format( szVaultData, 255, "%i", g_iPlayerCredits[ id ] ); nvault_set( g_szVaultPlayerCredits, szVaultKey, szVaultData ); } public PlayerCreditsLoad( id ) { static szName[ 32 ], szVaultData[ 256 ], szVaultKey[ 128 ]; get_user_name( id, szName, 31 ); format( szVaultKey, 127, "%s", szName ); format( szVaultData, 255, "%i", g_iPlayerCredits[ id ] ); nvault_get( g_szVaultPlayerCredits, szVaultKey, szVaultData, 255 ); new iPlayerCredits[ 33 ]; parse( szVaultData, iPlayerCredits, 32 ); g_iPlayerCredits[ id ] = str_to_num( iPlayerCredits ); } public PlayedTimeSave( id ) { static szName[ 32 ], szVaultData[ 256 ], szVaultKey[ 128 ]; get_user_name( id, szName, 31 ); format( szVaultKey, 127, "%s", szName ); format( szVaultData, 255, "%i", g_iPlayedTime[ id ][ formatMinutes ] ); nvault_set( g_szVaultTime, szVaultKey, szVaultData ); } public PlayedTimeLoad( id ) { static szName[ 32 ], szVaultData[ 256 ], szVaultKey[ 128 ]; get_user_name( id, szName, 31 ); format( szVaultKey, 127, "%s", szName ); format( szVaultData, 255, "%i", g_iPlayedTime[ id ][ formatMinutes ] ); nvault_get( g_szVaultTime, szVaultKey, szVaultData, 255 ); new iPlayedMinutes[ 33 ]; parse( szVaultData, iPlayedMinutes, 32 ); g_iPlayedTime[ id ][ formatMinutes ] = str_to_num( iPlayedMinutes ); } public plugin_end( ) { nvault_close( g_szVaultTime ); nvault_close( g_szVaultPlayerStats ); nvault_close( g_szVaultPlayerCredits ); } public addInfoServer( ) { new szFile = fopen( g_szFileVip, "r" ); new szData[ 512 ]; while( !feof( szFile ) ) { fgets( szFile, szData, 511 ); switch( szData[ 1 ] ) { case 'A': { g_iVipTotal[ vipSuspended ] = 0; g_iVipTotal[ vipActive ] = 0; g_iVipTotal[ vipActive ]++; } case 'S': { g_iVipTotal[ vipSuspended ] = 0; g_iVipTotal[ vipActive ] = 0; g_iVipTotal[ vipSuspended ]++; } } } fclose( szFile ); new szFormat[ 128 ], szDate[ 32 ]; get_time( "%d.%m.%Y | %H:%M:%S", szDate, 31 ); format( szFormat, 127, "[%s] Total VIP(s): [A] %d | [S] %d", szDate, g_iVipTotal[ vipActive ], g_iVipTotal[ vipSuspended ] ); write_file( "addons/amxmodx/configs/HNS_infoServer.ini", szFormat, -1 ); write_file( "addons/amxmodx/configs/HNS_infoServer.ini", "", -1 ); } public addSnowServer( ) { if( g_iModPlugin ) { if( get_pcvar_num( g_ModSnow ) ) { new iPlayers[ 32 ], iCount; get_players( iPlayers, iCount, "ac" ); for( new i = 0; i < iCount; i++ ) { client_cmd( iPlayers[ i ], "cl_weather ^"1^"" ); } } } } public addWinnerXP( ) { if( g_iModPlugin ) { new iPlayers[ 32 ], iCount, iMax, i; get_players( iPlayers, iCount, "a" ); for( i = 0; i < iCount; i++ ) { if( g_iPlayerLevel[ iPlayers[ i ] ] > g_iPlayerLevel[ iPlayers[ i + 1 ] ] ) { iMax = iPlayers[ i ]; if( g_iPlayerLevel[ iMax ] > 0 ) { static szName[ 32 ]; get_user_name( iMax, szName, 31 ); C_PrintChat( 0, "Player !v%s!c are level !v%d!c. Va fi premiat.", szName, g_iPlayerLevel[ iMax ] ); C_PrintChat( iMax, "Pentru ca ai level !v%d!c (cel mai mare). Vei avea +!v%d!c[HP/AP].", g_iPlayerLevel[ iMax ], get_pcvar_num( g_APHP ) ); set_user_health( iMax, get_user_health( iMax ) + get_pcvar_num( g_APHP ) ); set_user_armor( iMax, get_user_armor( iMax ) + get_pcvar_num( g_APHP ) ); CreateFade( iMax, 255, 0, 0, 0 ); ShakeScreen( iMax, 5.0 ); } } else { iMax = iPlayers[ i + 1 ]; } } } } playerCalculateLevel( id ) { if( ( g_iPlayerLevel[ id ] <= 21 ) && ( g_iPlayerXP[ id ] >= g_iLevelsXP[ g_iPlayerLevel[ id ] ] ) ) { while( g_iPlayerXP[ id ] >= g_iLevelsXP[ g_iPlayerLevel[ id ] ] ) { g_iPlayerLevel[ id ] += 1; } } } stock CreateFade( id, red, green, blue, alpha ) { message_begin( MSG_ONE, get_user_msgid( "ScreenFade" ), { 0, 0, 0 }, id ); write_short( 5 << 10 ); write_short( 5 << 10 ); write_short( 5 << 12 ); write_byte( red ); write_byte( green ); write_byte( blue ); write_byte( alpha ); message_end( ); } public ShakeScreen( id, const Float:seconds ) { message_begin( MSG_ONE, get_user_msgid( "ScreenShake" ), { 0, 0, 0 }, id ); write_short( floatround( 4096.0 * seconds, floatround_round ) ); write_short( floatround( 4096.0 * seconds, floatround_round ) ); write_short( 1 << 13 ); message_end( ); } stock f_Gun( id, gun, ammo ) { switch( gun ) { case szDeagle: { if( find_ent_by_owner( -1, "weapon_deagle", id ) ) { cs_set_weapon_ammo( find_ent_by_owner( -1, "weapon_deagle", id ), cs_get_weapon_ammo( find_ent_by_owner( -1, "weapon_deagle", id ) ) + ammo ); } else { give_item( id, "weapon_deagle" ); new eNtry = find_ent_by_owner( -1, "weapon_deagle", id ); if( eNtry ) { cs_set_weapon_ammo( eNtry, ammo ); } } } } } stock f_Grenade( id, grenade, nr ) { switch( grenade ) { case szHe: { new it = cs_get_user_bpammo( id, CSW_HEGRENADE ); if( it > 0 ) { cs_set_user_bpammo( id, CSW_HEGRENADE, it + nr ); } else { give_item( id, "weapon_hegrenade" ); cs_set_user_bpammo( id, CSW_HEGRENADE, nr ); } } case szSmoke: { new it = cs_get_user_bpammo( id, CSW_SMOKEGRENADE ); if( it > 0 ) { cs_set_user_bpammo( id, CSW_SMOKEGRENADE, it + nr ); } else { give_item( id, "weapon_smokegrenade" ); cs_set_user_bpammo( id, CSW_SMOKEGRENADE, nr ); } } case szFlash: { new it = cs_get_user_bpammo( id, CSW_FLASHBANG ); if( it > 0 ) { cs_set_user_bpammo( id, CSW_FLASHBANG , it + nr ); } else { give_item( id, "weapon_flashbang" ); cs_set_user_bpammo( id, CSW_FLASHBANG , nr ); } } } } stock f_Skill( id, skill, count ) { switch( skill ) { case szHealth: { set_user_health( id, get_user_health( id ) + count ); } case szArmor: { set_user_armor( id, get_user_armor( id ) + count ); } case szMoney: { cs_set_user_money( id, cs_get_user_money( id ) + count ); } } } stock C_PrintChat( const id, const input[ ], any:... ) { new iCount = 1, iPlayers[ 32 ]; static szMsg[ 320 ], szMsg2[ 320 ]; vformat( szMsg, 190, input, 3 ); format( szMsg2, 190, "!c[%s] %s", szTag, szMsg ); replace_all( szMsg2, 190, "!v", "^4" ); replace_all( szMsg2, 190, "!c", "^1" ); replace_all( szMsg2, 190, "!e", "^3" ); if( id ) { iPlayers[ 0 ] = id; } else { get_players( iPlayers, iCount, "ch" ); } for( new i = 0; i < iCount; i++ ) { if( is_user_connected( iPlayers[ i ] ) ) { message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, iPlayers[ i ] ); write_byte( iPlayers[ i ] ); write_string( szMsg2 ); message_end( ); } } }
1. Fisierul nume_plugin.sma il puneti in addons/amxmodx/scripting
2. Fisierul nume_plugin.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code: Select all
nume_plugin.amxx
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
- HNS_taskiteme
HNS_minplayers - la cati playeri sa porneasca pluginul.
HNS_health - cat hp sa primesti de la medic.
HNS_medic_cooldown - de la chemarea medicului, peste cate secunde sa-ti mai de-a voie sa-l chemi.
HNS_medic_maxhealth - cat hp permite maxim medicul.
HNS_medic_cost - costul pentru a chema medicul.
HNS_taskcmd - din cate in cate secunde sa se execute comenziile din constante.
HNS_max_ping - pingul maxim permis pe server.
HNS_ping_check - din cate in cate secunde sa verifice pingul playeriilor.
HNS_add_info - din cate in cate secunde sa adauge informatii despre vip.
HNS_xp_kill - xpul pe kill.
HNS_xp_roundend - cat xp sa primeasca la sfarsitul rundei.
HNS_xp_death - cat xp sa scada cand moare.
HNS_credits_kill - cate credite sa de-a pe kill
HNS_cost_admin - costul admin din shop. (credite)
HNS_cost_slot - costul slot din shop. (credite)
HNS_cost_vip - costul vip din shop. (credite)
HNS_snow_mod - statusul modului snow.
HNS_task_addwinner - la cate secunde sa adauga un castigor. (cel mai mare level)
HNS_task_warn - din cate in cate secunde sa verifice secundele.
HNS_task_durwarn - cat sa dureze warnuriile.
- amx_transfer - <nume> <echipa> transferi un player la o echipa.
amx_addcredits - <nume> <credite> adaugi credite.
amx_addxp - <nume> <xp> adaugi xp.
amx_addvip - <Status> <Nume> <Grad> adaugi un vip.
amx_resetstats - <nume> resetezi statisticiile.
amx_info - <nume> afli informatii despre un player.
amx_addwarn - <nume> <warn> adaugi un / mai multe warnuri.
amx_infowarn - <nume> afli warnuriile unui player.
Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
- /medic - chemi medicul.
/playerxp <nume> - afli xpul unui player.
/numar <nr> - iti alegi un numar la tombola.
/numarales - afli numarul ales. (la tombola)
/tombola - informatii despre tombola.
/who - afli adminii online. (in motd)
/credits - afli creditele tale.
/shop - se deschide shopul in hud, si poti cumpara vip, slot, admin.
/pxp <nume> - afli xpul unui player.
/pcredits <nume> - afli creditele unui player.
/warn - afli warnuriile tale.
- CStrike
- Fun
- Engine
- Fakemeta
- Hamsandwich
- Geoip
- Nvault
- alte module necesare..
Imagini: http://www24.zippyshare.com/v/87797516/file.html
P.S: Este vorba de acest plugin: http://www.extreamcs.com/forum/diverse/ ... 12465.html
P.S2: Acest pareri.
P.S3: Orice parere / sugestie este bine venita.