Page 1 of 1

Cerere Plugin Vip

Posted: 29 Dec 2013, 12:20
by EuDumy
Salutare ExtreamCs!
As dori si eu un plugin Vip pentru server clasic care sa contina urmatoarele:

Deagle+He+Flash+armura+def in fiecare runda
Double jump
Din runda a 3-a m4+deagle sau ak+deagle
15 Hp pe kill si 25 pe hs
Hp maxim 135

Daca se poate as dori sa dau accesul separat din vip.ini:
sa arate asa : "nume" "parola" "flag t" "a"

Multumesc!

Re: Cerere Plugin Vip

Posted: 01 Jan 2014, 12:01
by ARTUR.HAZ
Ai gresit categoria de postare !
http://www.extreamcs.com/forum/cereri-cs/

Download plugin: Link
SMA. | Afiseaza codul
[code]#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

/*
Daca stergi // din fata lui CHAT_COMMAND comanda o sa fie vizibila in chat(/vipmenu). Daca stergi // din fata lui P_MODELS modelele afisate (cum vezi arma altuia) o sa functioneze.
Nerecomandat daca n-ai modelele lui
*/

//#define CHAT_COMMAND
#define P_MODELS

#define VIP ADMIN_LEVEL_T
#define is_valid_player(%1) (1 <= %1 <= 32)

new const TAG[] = "[EXEMPLU]"
new const m_rgpPlayerItems_plr[] = {268}

new vip_selected[33], gloante[33];

new gold_bullet;

new const
   V_M4A1_GOLD[] = "models/furien_vip/v_m4a1_gold.mdl",
   V_AK47_GOLD[] = "models/furien_vip/v_ak47_gold.mdl",
   #if defined P_MODELS
   V_KATANA[] = "models/furien_vip/v_katana.mdl",
   P_M4A1_GOLD[] = "models/furien_vip/p_m4a1_gold.mdl",
   P_KATANA[] = "models/furien_vip/p_katana.mdl",
   P_AK47_GOLD[] = "models/furien_vip/p_ak47_gold.mdl";
   #else
   V_KATANA[] = "models/furien_vip/v_katana.mdl";
   #endif
   

public plugin_init()
{
   register_plugin("Furien VIP [xNoS Version]", "1.0", "cyby")
   
   register_clcmd("say /vipmenu", "vip_menu")
   
   RegisterHam(Ham_TakeDamage, "player", "vip_take_damage")
   register_event("CurWeapon", "weapon_vip", "be", "1=1")
   RegisterHam(Ham_Spawn, "player", "spawn_vip", 1)
   register_event("CurWeapon", "make_bullet", "be", "1=1", "3>0")
}

public plugin_precache()
{
   precache_model(V_M4A1_GOLD)
   precache_model(V_AK47_GOLD)
   precache_model(V_KATANA)
   gold_bullet = precache_model("sprites/dot.spr")
   #if defined P_MODELS
   precache_model(P_M4A1_GOLD)
   precache_model(P_AK47_GOLD)
   precache_model(P_KATANA)
   #endif
}

public vip_menu(id)
{
   new mesaj[64]
   switch(get_user_team(id))
   {
      case 1: formatex(mesaj, charsmax(mesaj) - 1, "\y[VIP]\w Cumpara cutit din meniul VIP:");   
      case 2: formatex(mesaj, charsmax(mesaj) - 1, "\y[VIP]\w Cumpara arma din meniul VIP:")
   }
   new menu = menu_create(mesaj, "handled_vip")
   switch(get_user_team(id))
   {
      case 1:
      {
         if(vip_selected[id] == 3)
            menu_additem(menu, "\dKATANA", "1", 0)
         else
            menu_additem(menu, "\wKATANA", "1", 0)   
      }
      case 2:
      {
         if(vip_selected[id] <= 2 || vip_selected[id] > 0)
         {
            menu_additem(menu, "\dM4A1 GOLD", "1", 0)
            menu_additem(menu, "\dAK47 GOLD", "2", 0)
         }
         else
         {
            menu_additem(menu, "\wM4A1\y GOLD", "1", 0)
            menu_additem(menu, "\wAK47\y GOLD", "2", 0)
         }
      }
   }
   menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
   menu_display(id, menu, 0)
   #if defined CHAT_COMMAND
   return PLUGIN_CONTINUE;
   #else
   return PLUGIN_HANDLED;
   #endif
}

public handled_vip(id, menu, item)
{
   if(item == MENU_EXIT)
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   }
   
   if(!is_user_connected(id) || !is_user_alive(id))
      return PLUGIN_HANDLED;
   
   if(!(get_user_flags(id) & VIP))
   {
      color(id, ".v%s.g Nu ai acces la acest meniu.", TAG)
      return PLUGIN_HANDLED;
   }
   
   if(vip_selected[id] > 0)
   {
      color(id, ".v%s.g Ai cumparat ceva deja din meniul VIP.", TAG)
      return PLUGIN_HANDLED;
   }
   
   new data[12], iName[64];
   new access, callback;
   menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
   
   new key = str_to_num(data)
   
   switch(key)
   {
      case 1:
      {
         switch(get_user_team(id))
         {
            case 1:
            {
               vip_selected[id] = 3
               if(get_user_weapon(id) == CSW_KNIFE)
               {
                  set_pev(id, pev_viewmodel2, V_KATANA)
                  #if defined P_MODELS
                  set_pev(id, pev_weaponmodel2, P_KATANA)
                  #endif
               }
            }
            case 2:
            {
               strip_primary(id)
               vip_selected[id] = 1
               give_item(id, "weapon_m4a1")
               cs_set_user_bpammo(id, CSW_M4A1, 150)
            }
         }
      }
      case 2:
      {
         if(get_user_team(id) == 2)
         {
            strip_primary(id)
            vip_selected[id] = 2
            give_item(id, "weapon_ak47")
            cs_set_user_bpammo(id, CSW_AK47, 150)
         }
      }
   }
   return PLUGIN_HANDLED;
}

public vip_take_damage(victima, inflictor, atacator, Float:dmg)
{
   if(is_valid_player(atacator))
   {
      if(get_user_weapon(atacator) == CSW_M4A1 && vip_selected[atacator] == 1)
         dmg += 20
      else if(get_user_weapon(atacator) == CSW_AK47 && vip_selected[atacator] == 2)
         dmg += 20
      else if(get_user_weapon(atacator) == CSW_KNIFE && vip_selected[atacator] == 3)
         dmg += 35
   }
   SetHamParamFloat(4, dmg)
}

public weapon_vip(id)
{
   if(vip_selected[id] > 0)
   {
      if(get_user_weapon(id) == CSW_AK47)
      {
         set_pev(id, pev_viewmodel2, V_AK47_GOLD)
         #if defined P_MODELS
         set_pev(id, pev_weaponmodel2, P_AK47_GOLD)
         #endif
      }
      else if(get_user_weapon(id) == CSW_M4A1)
      {
         set_pev(id, pev_viewmodel2, V_M4A1_GOLD)
         #if defined P_MODELS
         set_pev(id, pev_weaponmodel2, P_M4A1_GOLD)
         #endif
      }
      else if(get_user_weapon(id) == CSW_KNIFE)
      {
         set_pev(id, pev_viewmodel2, V_KATANA)
         #if defined P_MODELS
         set_pev(id, pev_weaponmodel2, P_KATANA)
         #endif
      }
   }
}

public spawn_vip(id)
{
   if(!(get_user_flags(id) & VIP))
      return PLUGIN_HANDLED;
   
   switch(get_user_team(id))
   {
      case 1:
      {
         if(vip_selected[id] != 3 || vip_selected[id] > 0)
            vip_selected[id] = 0
      }
      case 2:
      {
         if(vip_selected[id] == 3)
            vip_selected[id] = 0
      }
   }
   return PLUGIN_HANDLED;
}

public make_bullet(id)
{
   new clip;
   new wpnid = get_user_weapon(id, clip, _)
   if((gloante[id] > clip) && ((wpnid == CSW_M4A1 && vip_selected[id] == 1) || (wpnid == CSW_AK47 && vip_selected[id] == 2)))
   {
      new vec1[3], vec2[3]
      get_user_origin(id, vec1, 1)
      get_user_origin(id, vec2, 4)
      
      message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
      write_byte(0)
      write_coord(vec1[0])
      write_coord(vec1[1])
      write_coord(vec1[2])
      write_coord(vec2[0])
      write_coord(vec2[1])
      write_coord(vec2[2])
      write_short(gold_bullet)
      write_byte(1)
      write_byte(5)
      write_byte(1)
      write_byte(4)
      write_byte(0)
      write_byte(255)
      write_byte(215)
      write_byte(0)
      write_byte(200)
      write_byte(150)
      message_end()
   }
   gloante[id] = clip
}

stock strip_primary(id)
{
   for(new i; i < sizeof(m_rgpPlayerItems_plr); i++)
   {
      new iWeapon;
      iWeapon = get_pdata_cbase(id, m_rgpPlayerItems_plr, 5)
      while(pev_valid(iWeapon))
      {
         new szWeapon[20];
         pev(iWeapon, pev_classname, szWeapon, charsmax(szWeapon))
      
         new wId = get_weaponid(szWeapon)
         if(!wId) return 0;

         new wEnt
         while((wEnt = engfunc(EngFunc_FindEntityByString, wEnt, "classname", szWeapon)) && pev(wEnt, pev_owner) != id) {}
         if(!wEnt) return 0;

         if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon, wEnt)

         if(!ExecuteHamB(Ham_RemovePlayerItem, id, wEnt)) return 0;
         ExecuteHamB(Ham_Item_Kill, wEnt)

         set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wId))
      }
   }
   return 1;
}

stock color(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)

   replace_all(msg, 190, ".v", "^4")
   replace_all(msg, 190, ".g", "^1")
   replace_all(msg, 190, ".e", "^3")

   if (id) players[0] = id; else get_players(players, count, "ch")
   {
      for (new i = 0; i < count; i++)
      {
         if (is_user_connected(players))
         {
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
            write_byte(players)
            write_string(msg)
            message_end()
         }
      }
   }
}[/code]


VIP dai pe litera T

Alta data fi mai atent unde e categoria speciala pentru cererea plugin-urilor.