Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Golden Deagle plugin for zombie plague
Edgars
Дата: Вторник, 02.04.2013, 17:29 | Сообщение # 1
офлайн

  • Сообщения: 18
  • Награды: 0
  • Замечания:
 
Какой мне тут надо вставить cvar чтобы на следущий раунд он пропал golden deagle?

Код

#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <zombieplague>
#define is_valid_player(%1) (1 <= %1 <= 32)
new DG_V_MODEL[64] = "models/zombie_plague/v_golden_deagle.mdl"
new DG_P_MODEL[64] = "models/zombie_plague/p_golden_deagle.mdl"
/* Pcvars */
new cvar_dmgmultiplier, cvar_goldbullets,  cvar_custommodel, cvar_uclip
// Item ID
new g_itemid
new bool:g_HasDg[33]
new g_hasZoom[ 33 ]
new bullets[ 33 ]
// Sprite
new m_spriteTexture
const Wep_deagle = ((1<<CSW_DEAGLE))
public plugin_init()
{

/* CVARS */
cvar_dmgmultiplier = register_cvar("zp_goldendg_dmg_multiplier", "3")
cvar_custommodel = register_cvar("zp_goldendg_custom_model", "1")
cvar_goldbullets = register_cvar("zp_goldendg_gold_bullets", "1")
cvar_uclip = register_cvar("zp_goldendg_unlimited_clip", "1")

// Register The Plugin
register_plugin(" [ZP]Extra: Golden Deagle", "1.1", "AlejandroSk")
// Register Zombie Plague extra item
g_itemid = zp_register_extra_item("Golden Deagle (Damage x3)", 20, ZP_TEAM_HUMAN)
// Death Msg
register_event("DeathMsg", "Death", "a")
// Weapon Pick Up
register_event("WeapPickup","checkModel","b","1=19")
// Current Weapon Event
register_event("CurWeapon","checkWeapon","be","1=1")
register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0")
// Ham TakeDamage
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
register_forward( FM_CmdStart, "fw_CmdStart" )
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)

}
public client_connect(id)
{
g_HasDg [id]= false
}
public client_disconnect(id)
{
g_HasDg [id]= false
}
public Death()
{
g_HasDg[read_data(2)] = false
}
public fwHamPlayerSpawnPost(id)
{
g_HasDg [id]= false
}
public plugin_precache()
{
precache_model(DG_V_MODEL)
precache_model(DG_P_MODEL)
m_spriteTexture = precache_model("sprites/dot.spr")
precache_sound("weapons/zoom.wav")
}
public zp_user_infected_post(id)
{
if (zp_get_user_zombie(id))
{
   g_HasDg [id]= false
}
}
public checkModel(id)
{
if ( zp_get_user_zombie(id) )
   return PLUGIN_HANDLED

new szWeapID = read_data(2)

if ( szWeapID == CSW_DEAGLE && g_HasDg [id]== true && get_pcvar_num(cvar_custommodel) )
{
   set_pev(id, pev_viewmodel2, DG_V_MODEL)
   set_pev(id, pev_weaponmodel2, DG_P_MODEL)
}
return PLUGIN_HANDLED
}
public checkWeapon(id)
{
new plrClip, plrAmmo, plrWeap[32]
new plrWeapId

plrWeapId = get_user_weapon(id, plrClip , plrAmmo)

if (plrWeapId == CSW_DEAGLE && g_HasDg[id])
{
   checkModel(id)
}
else
{
   return PLUGIN_CONTINUE
}

if (plrClip == 0 && get_pcvar_num(cvar_uclip))
{
   // If the user is out of ammo..
   get_weaponname(plrWeapId, plrWeap, 31)
   // Get the name of their weapon
   give_item(id, plrWeap)
   engclient_cmd(id, plrWeap)
   engclient_cmd(id, plrWeap)
   engclient_cmd(id, plrWeap)
}
return PLUGIN_HANDLED
}
public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
         if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_DEAGLE && g_HasDg [attacker])
         {
                 SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier ) )
         }
}
public fw_CmdStart( id, uc_handle, seed )
{
if( !is_user_alive( id ) )
   return PLUGIN_HANDLED

if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )
{
   new szClip, szAmmo
   new szWeapID = get_user_weapon( id, szClip, szAmmo )
   
   if( szWeapID == CSW_DEAGLE && g_HasDg [id]== true && !g_hasZoom [id]== true)
   {
    g_hasZoom [id]= true
    cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )
    emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 )
   }
   
   else if ( szWeapID == CSW_DEAGLE && g_HasDg [id]== true && g_hasZoom[id])
   {
    g_hasZoom[ id ] = false
    cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )
    
   }
   
}
return PLUGIN_HANDLED
}

public make_tracer(id)
{
if (get_pcvar_num(cvar_goldbullets))
{
   new clip,ammo
   new wpnid = get_user_weapon(id,clip,ammo)
   new pteam[16]
   
   get_user_team(id, pteam, 15)
   
   if ((bullets [id]> clip) && (wpnid == CSW_DEAGLE) && g_HasDg[id])
   {
    new vec1[3], vec2[3]
    get_user_origin(id, vec1, 1) // origin; your camera point.
    get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
    
    
    //BEAMENTPOINTS
    message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
    write_byte (0)        //TE_BEAMENTPOINTS 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( m_spriteTexture )
    write_byte(1) // framestart
    write_byte(5) // framerate
    write_byte(2) // life
    write_byte(10) // width
    write_byte(0) // noise
    write_byte( 255 )     // r, g, b
    write_byte( 215 )       // r, g, b
    write_byte( 0 )         // r, g, b
    write_byte(200) // brightness
    write_byte(150) // speed
    message_end()
   }

   bullets [id]= clip
}

}
public zp_extra_item_selected(player, itemid)
{
if ( itemid == g_itemid )
{
   if ( user_has_weapon(player, CSW_DEAGLE) )
   {
    drop_prim(player)
   }
   
   give_item(player, "weapon_deagle")
   client_print(player, print_chat, " [ZP]You bought Golden Deagle")
   g_HasDg [player]= true;
}
}
stock drop_prim(id)
{
new weapons[32], num
get_user_weapons(id, weapons, num)
for (new i = 0; i < num; i++) {
   if (Wep_deagle & (1<<weapons[i]))
   {
    static wname[32]
    get_weaponname(weapons[i], wname, sizeof wname - 1)
    engclient_cmd(id, "drop", wname)
   }
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }
*/

Добавлено (02.04.2013, 17:29)
---------------------------------------------
Ктото поможет?

 
NooB2
Дата: Вторник, 02.04.2013, 17:42 | Сообщение # 2
офлайн

  • Сообщения: 136
  • Награды: 2
  • Замечания:
 
кто-то поможет
Код
#include <amxmodx>  
  #include <fakemeta>  
  #include <fun>  
  #include <hamsandwich>  
  #include <cstrike>  
  #include <zombieplague>  
  #define is_valid_player(%1) (1 <= %1 <= 32)  
  new DG_V_MODEL[64] = "models/zombie_plague/v_golden_deagle.mdl"
  new DG_P_MODEL[64] = "models/zombie_plague/p_golden_deagle.mdl"
  /* Pcvars */
  new cvar_dmgmultiplier, cvar_goldbullets,  cvar_custommodel, cvar_uclip  
  // Item ID  
  new g_itemid  
  new bool:g_HasDg[33]  
  new g_hasZoom[ 33 ]  
  new bullets[ 33 ]  
  // Sprite  
  new m_spriteTexture  
  const Wep_deagle = ((1<<CSW_DEAGLE))  
  public plugin_init()  
  {  
   
  /* CVARS */
  cvar_dmgmultiplier = register_cvar("zp_goldendg_dmg_multiplier", "3")  
  cvar_custommodel = register_cvar("zp_goldendg_custom_model", "1")  
  cvar_goldbullets = register_cvar("zp_goldendg_gold_bullets", "1")  
  cvar_uclip = register_cvar("zp_goldendg_unlimited_clip", "1")  
   
  // Register The Plugin  
  register_plugin(" [ZP]Extra: Golden Deagle", "1.1", "AlejandroSk")  
  // Register Zombie Plague extra item  
  g_itemid = zp_register_extra_item("Golden Deagle (Damage x3)", 20, ZP_TEAM_HUMAN)  
  // Death Msg  
  register_event("DeathMsg", "Death", "a")  
  // Weapon Pick Up  
  register_event("WeapPickup","checkModel","b","1=19")  
  // Current Weapon Event  
  register_event("CurWeapon","checkWeapon","be","1=1")  
  register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0")  
  // Ham TakeDamage  
  RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")  
  register_forward( FM_CmdStart, "fw_CmdStart" )  
  RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)  
   
  //Событие нового раунда
  register_event( "HLTV"            , "EVENT_NewRound"   , "a"   , "1=0"   ,         "2=0"   );
   
  }  
  public client_connect(id)  
  {  
  g_HasDg [id]= false
  }  
  public client_disconnect(id)  
  {  
  g_HasDg [id]= false
  }  
  public Death()  
  {  
  g_HasDg[read_data(2)] = false
  }  
   
  //  Новый Раунд
  public EVENT_NewRound()
{

  new players[32], numplayers, i;
  get_players( players, numplayers );
  for ( i = 0; i < numplayers; i++ )
  {
  g_HasDg[players[i]] = false
  }
   
}

  public fwHamPlayerSpawnPost(id)  
  {  
  g_HasDg [id]= false
  }  
  public plugin_precache()  
  {  
  precache_model(DG_V_MODEL)  
  precache_model(DG_P_MODEL)  
  m_spriteTexture = precache_model("sprites/dot.spr")  
  precache_sound("weapons/zoom.wav")  
  }  
  public zp_user_infected_post(id)  
  {  
  if (zp_get_user_zombie(id))  
  {  
    g_HasDg [id]= false
  }  
  }  
  public checkModel(id)  
  {  
  if ( zp_get_user_zombie(id) )  
    return PLUGIN_HANDLED  
   
  new szWeapID = read_data(2)  
   
  if ( szWeapID == CSW_DEAGLE && g_HasDg [id]== true && get_pcvar_num(cvar_custommodel) )  
  {  
    set_pev(id, pev_viewmodel2, DG_V_MODEL)  
    set_pev(id, pev_weaponmodel2, DG_P_MODEL)  
  }  
  return PLUGIN_HANDLED  
  }  
  public checkWeapon(id)  
  {  
  new plrClip, plrAmmo, plrWeap[32]  
  new plrWeapId  
   
  plrWeapId = get_user_weapon(id, plrClip , plrAmmo)  
   
  if (plrWeapId == CSW_DEAGLE && g_HasDg[id])  
  {  
    checkModel(id)  
  }  
  else
  {  
    return PLUGIN_CONTINUE  
  }  
   
  if (plrClip == 0 && get_pcvar_num(cvar_uclip))  
  {  
    // If the user is out of ammo..  
    get_weaponname(plrWeapId, plrWeap, 31)  
    // Get the name of their weapon  
    give_item(id, plrWeap)  
    engclient_cmd(id, plrWeap)  
    engclient_cmd(id, plrWeap)  
    engclient_cmd(id, plrWeap)  
  }  
  return PLUGIN_HANDLED  
  }  
  public fw_TakeDamage(victim, inflictor, attacker, Float:damage)  
  {  
          if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_DEAGLE && g_HasDg [attacker])  
          {  
                  SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier ) )  
          }  
  }  
  public fw_CmdStart( id, uc_handle, seed )  
  {  
  if( !is_user_alive( id ) )  
    return PLUGIN_HANDLED  
   
  if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )  
  {  
    new szClip, szAmmo  
    new szWeapID = get_user_weapon( id, szClip, szAmmo )  
      
    if( szWeapID == CSW_DEAGLE && g_HasDg [id]== true && !g_hasZoom [id]== true)  
    {  
     g_hasZoom [id]= true
     cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )  
     emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 )  
    }  
      
    else if ( szWeapID == CSW_DEAGLE && g_HasDg [id]== true && g_hasZoom[id])  
    {  
     g_hasZoom[ id ] = false
     cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )  
       
    }  
      
  }  
  return PLUGIN_HANDLED  
  }  
   
  public make_tracer(id)  
  {  
  if (get_pcvar_num(cvar_goldbullets))  
  {  
    new clip,ammo  
    new wpnid = get_user_weapon(id,clip,ammo)  
    new pteam[16]  
      
    get_user_team(id, pteam, 15)  
      
    if ((bullets [id]> clip) && (wpnid == CSW_DEAGLE) && g_HasDg[id])  
    {  
     new vec1[3], vec2[3]  
     get_user_origin(id, vec1, 1) // origin; your camera point.  
     get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)  
       
       
     //BEAMENTPOINTS  
     message_begin( MSG_BROADCAST,SVC_TEMPENTITY)  
     write_byte (0)        //TE_BEAMENTPOINTS 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( m_spriteTexture )  
     write_byte(1) // framestart  
     write_byte(5) // framerate  
     write_byte(2) // life  
     write_byte(10) // width  
     write_byte(0) // noise  
     write_byte( 255 )     // r, g, b  
     write_byte( 215 )       // r, g, b  
     write_byte( 0 )         // r, g, b  
     write_byte(200) // brightness  
     write_byte(150) // speed  
     message_end()  
    }  
   
    bullets [id]= clip  
  }  
   
  }  
  public zp_extra_item_selected(player, itemid)  
  {  
  if ( itemid == g_itemid )  
  {  
    if ( user_has_weapon(player, CSW_DEAGLE) )  
    {  
     drop_prim(player)  
    }  
      
    give_item(player, "weapon_deagle")  
    client_print(player, print_chat, " [ZP]You bought Golden Deagle")  
    g_HasDg [player]= true;  
  }  
  }  
  stock drop_prim(id)  
  {  
  new weapons[32], num  
  get_user_weapons(id, weapons, num)  
  for (new i = 0; i < num; i++) {  
    if (Wep_deagle & (1<<weapons[i]))  
    {  
     static wname[32]  
     get_weaponname(weapons[i], wname, sizeof wname - 1)  
     engclient_cmd(id, "drop", wname)  
    }  
  }  
  }  
  /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE  
  *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }  
  */
 
Edgars
Дата: Вторник, 02.04.2013, 18:33 | Сообщение # 3
офлайн

  • Сообщения: 18
  • Награды: 0
  • Замечания:
 
Какие места? У меня есть ещо 3 плагина где изменить надо. +

Добавлено (02.04.2013, 18:33)
---------------------------------------------
Непомогло. (

 
Chrescoe1
Дата: Среда, 03.04.2013, 21:19 | Сообщение # 4
офлайн

  • Сообщения: 68
  • Награды: 0
  • Замечания:
 
public fwHamPlayerSpawnPost(id)
 {
 g_HasDg [id]= false
 }

Если игрок возрождается-дигл убирается.
Убери эту функцию и никто не пострадает.
 
Edgars
Дата: Среда, 03.04.2013, 21:44 | Сообщение # 5
офлайн

  • Сообщения: 18
  • Награды: 0
  • Замечания:
 
Спс!
 
Chrescoe1
Дата: Среда, 03.04.2013, 22:17 | Сообщение # 6
офлайн

  • Сообщения: 68
  • Награды: 0
  • Замечания:
 
Обращайся wink
 
  • Страница 1 из 1
  • 1
Поиск: