Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include
- #include
- #include
- #include
- #include
- #define VIP_FLAG ADMIN_LEVEL_H
- #define ITEMS_BROJ 4
- #define TASK_INFAMMO 1100
- #define TASK_INVIS 1200
- new const g_szItems[ITEMS_BROJ][] =
- {
- "\r+10% DMG \y[\dNanosite 10% vise stete\y]",
- "\rBeskonacno Municije \y[\d40 Sekundi\y]",
- "\r100 HP \y[\dDobijate 100 HP\y]",
- "\rAssassin Mod \y[\dNevidljivi ste sa nozem (25sec)\y]"
- }
- new const g_iCosts[ITEMS_BROJ] =
- {
- 50,
- 70,
- 30,
- 60
- }
- const m_pClientActiveItem = 373;
- new bool: iVip[33], g_iVipPoints[33], g_iItems[33];
- new g_pKillPoints, g_iMaxPlayers;
- public plugin_init()
- {
- register_plugin("COD:MW VIP", "1.0", "Cs-Pr0.");
- register_dictionary("vip.txt")
- register_message(get_user_msgid( "ScoreAttrib" ),"iVipScoreboard");
- register_event("DeathMsg", "Death", "a");
- RegisterHam(Ham_TraceAttack, "player", "fwTraceAttack_Pre", 0);
- register_logevent("eRoundStart", 2, "1=Round_Start");
- register_event("CurWeapon","eCurWeapon","be", "1=1", "3=1");
- register_clcmd("say /cash", "myCash");
- register_clcmd("say /vipshop", "cmdShop");
- register_clcmd("say /lang", "Lang")
- register_clcmd("say", "prefix")
- register_clcmd("say /vips", "OnlineVips");
- g_iMaxPlayers = get_maxplayers();
- g_pKillPoints = register_cvar("vip_kill_points", "2");
- }
- public client_putinserver(id)
- {
- if(get_user_flags(id) & VIP_FLAG)
- iVip[id] = true;
- else
- iVip[id] = false;
- }
- public iVipScoreboard()
- {
- new i = get_msg_arg_int(1);
- if(is_user_alive(i) && iVip[i])
- set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2) | 4);
- }
- public prefix(id)
- {
- if(get_user_flags(id) & VIP_FLAG)
- {
- new szSaid[192], szName[32];
- get_user_name(id, szName, charsmax(szName));
- read_args(szSaid, charsmax(szSaid));
- remove_quotes(szSaid);
- ColorChat(0, GREEN, "^4[V.I.P] ^3%s ^1: %s", szName, szSaid);
- return PLUGIN_HANDLED_MAIN;
- }
- return PLUGIN_CONTINUE;
- }
- public Lang(id)
- {
- new szItem[32];
- formatex(szItem, charsmax(szItem), "%L", id, "ML_MENU");
- new iMenu = menu_create(szItem, "Lang_Handle");
- menu_additem(iMenu, "English");
- menu_additem(iMenu, "Srpski");
- menu_display(id, iMenu);
- }
- public Lang_Handle(id, iMenu, iItem)
- {
- if(iItem == MENU_EXIT)
- {
- menu_destroy(iMenu);
- return PLUGIN_HANDLED;
- }
- switch(iItem)
- {
- case 1:
- set_user_info(id, "lang", "en");
- case 2:
- set_user_info(id, "lang", "sr");
- }
- menu_destroy(iMenu);
- return PLUGIN_HANDLED;
- }
- public Death(id)
- {
- new iAttacker = read_data(1);
- if(iVip[iAttacker] && is_user_connected(iAttacker))
- {
- set_user_health(iAttacker, get_user_health(iAttacker) + 15);
- g_iVipPoints[iAttacker] += get_pcvar_num(g_pKillPoints);
- }
- }
- public myCash(id)
- {
- if(!(get_user_flags(id) & VIP_FLAG))
- ColorChat(id, GREEN, "%L", id, "ML_PRISTUP");
- else
- ColorChat(id, GREEN, "^4[VIP]^1 Imas^4 %i ^1VIP poena.", g_iVipPoints[id]);
- }
- public cmdShop(id)
- {
- if(get_user_flags(id) & VIP_FLAG)
- {
- new iMenu = menu_create("VIP Shop:", "hndShop");
- new szTemp[64];
- for(new i = 0; i < ITEMS_BROJ; ++i)
- {
- formatex(szTemp, charsmax(szTemp), "%s \w- \r%d Poena", g_szItems[i], g_iCosts[i]);
- menu_additem(iMenu, szTemp);
- }
- menu_display(id, iMenu);
- }
- else
- ColorChat(id, GREEN, "%L", id, "ML_NEMAS_PRISTUP");
- }
- public hndShop(id, iMenu, iItem)
- {
- if(iItem == MENU_EXIT)
- {
- menu_destroy(iMenu);
- return PLUGIN_HANDLED;
- }
- if(g_iVipPoints[id] < g_iCosts[iItem])
- ColorChat(id, GREEN, "%L", id, "ML_NEMA");
- else
- {
- g_iVipPoints[id] -= g_iCosts[iItem];
- g_iItems[id] |= iItem + 1;
- if(iItem == 1)
- {
- if(task_exists(id))
- change_task(id, 40.0);
- else
- set_task(40.0, "RemoveInfiniteAmmo", id + TASK_INFAMMO);
- }
- if(iItem == 3)
- {
- if(task_exists(id))
- change_task(id, 25.0);
- else
- set_task(25.0, "UkloniNevidljivost", id + TASK_INVIS);
- }
- }
- return PLUGIN_HANDLED;
- }
- public fwTraceAttack_Pre(iThis, iAttacker, Float: fDamage, Float: fDir[3], iTr, bitsDamage)
- {
- if(!is_user_connected(iAttacker))
- return HAM_IGNORED;
- if(g_iItems[iAttacker] & 1)
- SetHamParamFloat(3, fDamage * 1.1);
- return HAM_IGNORED;
- }
- public eRoundStart()
- {
- arrayset(g_iItems, 0, sizeof(g_iItems) - 1);
- for(new i = 1; i < g_iMaxPlayers; ++i)
- {
- if(task_exists(i + TASK_INFAMMO))
- remove_task(i + TASK_INFAMMO);
- if(task_exists(i + TASK_INVIS))
- remove_task(i + TASK_INVIS);
- }
- }
- public eCurWeapon(id)
- {
- new iWeapon = read_data(2);
- if(g_iItems[id] & 2)
- cs_set_weapon_ammo(get_pdata_cbase(id, m_pClientActiveItem), 2);
- if(g_iItems[id] & 4 && iWeapon == CSW_KNIFE)
- set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 1);
- }
- public RemoveInfiniteAmmo(id)
- g_iItems[id] &= ~2;
- public UkloniNevidljivost(id)
- {
- g_iItems[id] &= ~4;
- set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 255);
- }
- public OnlineVips(id) {
- new szVipsNames[33][32], message[256], i, count, k, len;
- for(i = 1 ; i <= g_iMaxPlayers ; i++)
- if(is_user_connected(i))
- if(iVip[i])
- get_user_name(i, szVipsNames[count++], 31);
- len = format(message, 255, "^x04 %L ", id, "ML_VIPS_ONLINE");
- if(count > 0) {
- for(k = 0 ; k < count ; k++) {
- len += format(message[len], charsmax(message) - len, "%s%s ", szVipsNames[k], k < (count-1) ? "| ":"");
- if(len > 96 ) {
- ColorChat(id, GREEN, "%s", message);
- len = format(message, charsmax(message), "^x04 ");
- }
- }
- ColorChat(id, GREEN, "%s", message);
- }
- else {
- len += format(message[len], charsmax(message) - len, "%L", id, "ML_NO_ONLINE_VIPS");
- ColorChat(id, GREEN, "%s", message);
- }
- return PLUGIN_HANDLED;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement