HNS - GameMod (New version)( with credits system )
Pluginuri facute de utilizatorii forumului eXtream.
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- levin
- Scripter eXtreamCS
- Posts: 3854
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Nu
- CS Status: ♅
- Detinator server CS: ☯∴
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 595 times
- Contact:
Fi atent ai pus max. playeri 2 pentru a porni modul. Suntem fix 2, porneste modul si cand iese 1, cade serverul. Nu da eroare in log sau consola ca sa iti arat
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
-
- Membru eXtream
- Posts: 3193
- Joined: 30 Aug 2012, 22:16
- Detinator Steam: Da
- CS Status: Fost scripter
- Detinator server CS: Nu
- SteamID: -
- Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff - Location: Bucuresti
- Has thanked: 342 times
- Been thanked: 571 times
- Contact:
- | 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_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; // 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_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" ); // 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" ); g_iModPlugin = true; 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 { 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( ); } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
Retras
-
- Membru, skill +1
- Posts: 109
- Joined: 02 Sep 2013, 20:31
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Been thanked: 2 times
- Contact:
-
- Membru eXtream
- Posts: 3193
- Joined: 30 Aug 2012, 22:16
- Detinator Steam: Da
- CS Status: Fost scripter
- Detinator server CS: Nu
- SteamID: -
- Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff - Location: Bucuresti
- Has thanked: 342 times
- Been thanked: 571 times
- Contact:
:)) pluginu lui fast sa invechit, si nu am copiat nimic. Oricum fast mi-ar da voie.FantasyCso wrote:Idea e buna , ai furat mult de la fast si ai folosit nvault ( te caci pe el ) .
Retras
-
- Membru, skill +1
- Posts: 109
- Joined: 02 Sep 2013, 20:31
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Been thanked: 2 times
- Contact:
Aici e pe vrute sau nevrute?Simao wrote::)) pluginu lui fast sa invechit, si nu am copiat nimic. Oricum fast mi-ar da voie.FantasyCso wrote:Idea e buna , ai furat mult de la fast si ai folosit nvault ( te caci pe el ) .
Daca vrei copi , daca nu asta e , cine te opreste?
-
- Membru eXtream
- Posts: 3193
- Joined: 30 Aug 2012, 22:16
- Detinator Steam: Da
- CS Status: Fost scripter
- Detinator server CS: Nu
- SteamID: -
- Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff - Location: Bucuresti
- Has thanked: 342 times
- Been thanked: 571 times
- Contact:
Il lumea ta e si normal ca nu sti ce inseamna.FantasyCso wrote:Aici e pe vrute sau nevrute?Simao wrote::)) pluginu lui fast sa invechit, si nu am copiat nimic. Oricum fast mi-ar da voie.FantasyCso wrote:Idea e buna , ai furat mult de la fast si ai folosit nvault ( te caci pe el ) .
Daca vrei copi , daca nu asta e , cine te opreste?
@ Gata cu offtopic. Astept pareri in continuare / buguri / probleme.
Retras
-
- Membru eXtream
- Posts: 3193
- Joined: 30 Aug 2012, 22:16
- Detinator Steam: Da
- CS Status: Fost scripter
- Detinator server CS: Nu
- SteamID: -
- Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff - Location: Bucuresti
- Has thanked: 342 times
- Been thanked: 571 times
- Contact:
Simao wrote:Am scos verificarea playeriilor. Vedeti acum.
- | 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_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; // 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_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" ); // 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" ); g_iModPlugin = true; 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 { 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( ); } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
Retras
- Ulquiorra
- Fost moderator
- Posts: 2053
- Joined: 25 Jul 2010, 17:29
- Detinator Steam: Da
- CS Status: A mai trecut o zi asteptand una mai buna
- Detinator server CS: Retras.
- SteamID: STEAM_0:1:318247XX
- Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar - Location: Braila, Romania.
- Has thanked: 215 times
- Been thanked: 1132 times
genial.. nu am ce zice
mai bine ai face givexp < nume | @ALL| @CT | @T > lafel si takexp.. sa nu stai cu alt public pentru fiecare comanda..
poti gasi exemplu in credits al meu :P
ai lucrat cv la el :P
mai bine ai face givexp < nume | @ALL| @CT | @T > lafel si takexp.. sa nu stai cu alt public pentru fiecare comanda..
poti gasi exemplu in credits al meu :P
ai lucrat cv la el :P
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.
O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.
O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
-
- Membru, skill +1
- Posts: 134
- Joined: 26 Dec 2012, 17:25
- Detinator Steam: Nu
- CS Status: I Don't have.
- Has thanked: 34 times
- Been thanked: 2 times
- Contact:
Chiar nu stiu ce are ... pica mereu cand il pun ~X( , am pus si versiunea a doua ( cand nu controleaza playerii ) si tot pica ... ce sa-i fac... e prea bun , in rest
-
- Membru eXtream
- Posts: 3193
- Joined: 30 Aug 2012, 22:16
- Detinator Steam: Da
- CS Status: Fost scripter
- Detinator server CS: Nu
- SteamID: -
- Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff - Location: Bucuresti
- Has thanked: 342 times
- Been thanked: 571 times
- Contact:
- | 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_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; // Mod plugin 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_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" ); // 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( ) { new iPlayers[ 32 ], iNum; get_players( iPlayers, iNum, "ac" ); g_iModPlugin = true; for( new i = 0; i < iNum; i++ ) { new iPlayer; iPlayer = iPlayers[ i ]; 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( ); } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
Retras
Jump to
- eXtream - Forum
- ↳ Steam
- ↳ Forum
- ↳ WebDesign
- ↳ Incepatori
- ↳ Cos de reciclare
- ↳ Discutii generale
- ↳ Anunturi
- ↳ Security zone
- ↳ Filme si seriale
- ↳ Reclamatii
- ↳ Entertainment
- ↳ Distractie
- ↳ Clubul eXtreamCS - Intra si tu ! [noi oportunitati]
- eXtream - Counter-Strike 2
- ↳ Counter-Strike 2
- eXtream - Counter-Strike 1.6
- ↳ Diverse
- ↳ Filme gaming
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Tutoriale
- ↳ Cereri
- ↳ Discutii generale
- ↳ Probleme la servere dedicate de Counter-Strike
- ↳ Cereri admin / slot
- ↳ Probleme in jocul Counter-Strike
- ↳ Pluginuri
- ↳ Pluginuri eXtream
- ↳ Cereri
- ↳ AdminMod
- ↳ AmxModX
- ↳ Resurse
- ↳ Moduri
- ↳ Addon-uri
- ↳ Kit-uri
- ↳ Harti
- ↳ Diverse
- ↳ Cereri
- ↳ Servere
- ↳ Programarea CS-ului
- ↳ Scripting
- ↳ Modificari pluginuri
- ↳ CStrike
- ↳ Cereri
- eXtream - Echipa
- ↳ Productia eXtream
- ↳ Harti eXtream
- ↳ CS.eXtreamCS.com - Server oficial eXtreamCS
- ↳ Zona administrativă
- ↳ Cereri acces
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Admin zone
- ↳ CS2.eXtreamCS.com - Server official eXtreamCS
- ↳ XMAS.eXtreamCS.com
- ↳ Cereri admin
- ↳ Cereri unban
- ↳ Reclamatii / Sugestii
- ↳ eXtreamCS #PubMasters
- eXtream - Counter Strike Global Offensive
- ↳ Diverse
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Probleme la servere dedicate de Counter-Strike: Global Offensive
- ↳ Probleme in jocul Counter-Strike: Global Offensive
- ↳ Pluginuri
- ↳ Cereri
- ↳ Resurse
- ↳ Addons-uri
- ↳ Hărți
- ↳ Diverse
- ↳ Servere
- eXtream - Counter-Strike Source
- ↳ Tutoriale
- ↳ Pluginuri
- ↳ Servere
- ↳ Resurse
- ↳ Harti
- ↳ Moduri
- ↳ Diverse
- ↳ Classic » CS
- ↳ Anunțuri administrative
- ↳ Cereri admin/slot
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Banlist
- ↳ Admins Only
- ↳ Discord