AMX MOD X
Пятница, 29.03.2024, 15:49:42



Приветствую Вас Гость | RSS
[ Главная ] [ [ZP] Extra item: Electro weapon - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » [ZP] Extra item: Electro weapon (Помогите отредактировать плагин)
[ZP] Extra item: Electro weapon
RaymanДата: Вторник, 03.08.2010, 16:28:57 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Не в сети
Описание плагина: купив этот предмет, вы можее парализовать электричеством зомби.

Я старался его переделать под ак47 с моделькой гитары из ксо, но при компиляции выдаёт ошибку: fatal error 100: cannot read from file: "zombieplague"

Вот код:

Code


/* Electro Weapon by Zapdos1 */

/*============
==Changelog:==
==============

v1.0:  
- First plugin release

v1.1:  
- New weapon model
- Change spark sprite

v1.2:
- Added glow and aura
- Now you can paralize the zombies
*/

/*==================================================================================================
Credits:

metallicawOw - For his plugin Nitrogen Galil, I used a part of his plugin to make the Electro Weapon
Bad_Country (from FPSBanana) - For his Electric Static Muzzleflash sprite
RUFUS (from FPSBanana) - For his weapon model
Kiske - For his tutorial to buy glow and aura
====================================================================================================
*/

#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <engine>
#include <hamsandwich>
#include <zombieplague>

#define TASK_AURA 27000

new g_item, ElectroSpr, g_electro[33], g_Weapon[33], cvar_aura_colors[3]
new bool:g_electroweapon[33]
new g_iMaxPlayers, g_msgScreenFade

new cvar_aura_size
const UNIT_SECOND = (1<<12)  

public plugin_init()  
{
  register_plugin("Electro Weapon", "1.2", "Zapdos1")
  g_item = zp_register_extra_item("Гитара", 15, ZP_TEAM_HUMAN)
  cvar_aura_size = register_cvar("zp_aura_size", "50")
   
  register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
  register_event("CurWeapon", "event_CurWeapon", "b", "1=1")  
  register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
  RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
   
  cvar_aura_colors[0] = register_cvar("zp_aura_red", "255")
  cvar_aura_colors[1] = register_cvar("zp_aura_green", "255")
  cvar_aura_colors[2] = register_cvar("zp_aura_blue", "0")
   
  g_iMaxPlayers = get_maxplayers()
  g_msgScreenFade = get_user_msgid("ScreenFade")
}

public plugin_precache()  
{
  precache_model("models/zombie_plague/v_gutar.mdl");  
  precache_sound("zombie_plague/gt1.wav");
  ElectroSpr = precache_model("sprites/music.spr");
}

public event_round_start()
{
  for (new i = 1; i <= g_iMaxPlayers; i++)
  {
    
   remove_task(i + TASK_AURA)
    
   if (!is_user_connected(i))
    continue
     
   if (g_electroweapon[i])
   {
    g_electroweapon[i] = false
   }
   if(g_electro[i])
   {
    g_electro[i] = false
   }
  }
}

public zp_extra_item_selected(player, itemid)
{
  if (itemid == g_item)  
  {
   client_print(player, print_chat, "[ZP] Вы купили Гитару!")   
    
   g_electroweapon[player] = true
    
   strip_user_weapons(player)
    
   give_item(player, "weapon_ak47")
    
   cs_set_user_bpammo(player, CSW_AK47, 150)   
    
   set_hudmessage(255, 255, 0, -1.0, -1.0, 0, 6.0, 5.0)
   show_hudmessage(player, "[ZP] Сила музыки включена!")  
    
   set_task(0.1, "electro_aura", player + TASK_AURA, _, _, "b")
   set_user_rendering (player, kRenderFxGlowShell, 255, 255, 0, kRenderTransAlpha, 255)
  }
   
}

public zp_user_infected_post(infected, infector)
{
  remove_task(infected + TASK_AURA)
  if (g_electroweapon[infected])
  {
   g_electroweapon[infected] = false
  }
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
  if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim || !attacker)
   return HAM_IGNORED
   
  static Float:originF[3]
         pev(victim, pev_origin, originF)
      
         static originF2[3]  
         get_user_origin(victim, originF2)  
   
  if (g_electroweapon[attacker] && get_user_weapon(attacker) == CSW_AK47)
  {  
   ElectroEffect(victim)
    
   ElectroRing(originF)  
    
   ElectroSound(originF2)   
  }
   
  if(zp_get_user_nemesis(victim))
  {  
   return HAM_IGNORED
  }
  return PLUGIN_HANDLED;
}

public event_CurWeapon(id)
{
  if (!is_user_alive(id))
   return PLUGIN_CONTINUE
   
  g_Weapon[id] = read_data(2)
   
  if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id))
   return PLUGIN_CONTINUE
   
  if(!g_electroweapon[id] || g_Weapon[id] != CSW_AK47)  
   return PLUGIN_CONTINUE
   
  entity_set_string(id, EV_SZ_viewmodel, "models/zombie_plague/v_guitar.mdl")  
   
  return PLUGIN_CONTINUE
}

public fw_PlayerPreThink(id)
{
  if (!is_user_alive(id))
   return;
}  

public ElectroSound(iOrigin[3])
{
  new Entity = create_entity("info_target")
   
  new Float:flOrigin[3]
  IVecFVec(iOrigin, flOrigin)
   
  entity_set_origin(Entity, flOrigin)
   
  emit_sound(Entity, CHAN_WEAPON, "zombie_plague/gt1.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
   
  remove_entity(Entity)
}

ElectroRing(const Float:originF3[3])
{
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF3, 0)
write_byte(TE_BEAMCYLINDER)  
engfunc(EngFunc_WriteCoord, originF3[0])  
engfunc(EngFunc_WriteCoord, originF3[1])  
engfunc(EngFunc_WriteCoord, originF3[2])  
engfunc(EngFunc_WriteCoord, originF3[0])
engfunc(EngFunc_WriteCoord, originF3[1])  
engfunc(EngFunc_WriteCoord, originF3[2]+100.0)  
write_short(ElectroSpr)  
write_byte(0)
write_byte(0)  
write_byte(4)  
write_byte(60)
write_byte(0)  
write_byte(41)  
write_byte(138)  
write_byte(255)  
write_byte(200)
write_byte(0)  
message_end()
}

public ElectroEffect(id)
{
  if (!is_user_alive(id) || !zp_get_user_zombie(id) || g_electro[id])
  return;
   
  message_begin(MSG_ONE_UNRELIABLE, g_msgScreenFade, _, id)
  write_short(UNIT_SECOND*1)
  write_short(UNIT_SECOND*1)  
  write_short(0x0000)  
  write_byte(255)  
  write_byte(255)  
  write_byte(0)  
  write_byte(100)  
  message_end()
   
  #if defined HANDLE_MODELS_ON_SEPARATE_ENT
  fm_set_rendering(g_ent_playermodel[id], kRenderFxGlowShell, 255, 255, 0, kRenderNormal, 25)
  #else
  fm_set_rendering(id, kRenderFxGlowShell, 250, 250, 0, kRenderNormal, 25)
  #endif
   
  g_electro[id] = true
  set_task(5.0, "stopelectro", id)  
}

public stopelectro(id)
{
  if (!is_user_alive(id) || !g_electro[id])
   return;
    
  g_electro[id] = false;
   
  #if defined HANDLE_MODELS_ON_SEPARATE_ENT
  fm_set_rendering(g_ent_playermodel[id])
  #else
  fm_set_rendering(id)
  #endif
}

public client_putinserver(id)
{
g_electroweapon[id] = false
g_electro[id] = false  
}

public client_disconnect(id)
{
g_electroweapon[id] = false
g_electro[id] = false
remove_task(id + TASK_AURA)  
}

public electro_aura(id)
{
id -= TASK_AURA

if (!is_user_alive(id))
  return
   
static Float:FOrigin[3]
pev(id, pev_origin, FOrigin)
   
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin, 0)  
write_byte(TE_DLIGHT)  
engfunc(EngFunc_WriteCoord, FOrigin[0])  
engfunc(EngFunc_WriteCoord, FOrigin[1])  
engfunc(EngFunc_WriteCoord, FOrigin[2])  
write_byte(get_pcvar_num(cvar_aura_size))  
write_byte(get_pcvar_num(cvar_aura_colors[0]))  
write_byte(get_pcvar_num(cvar_aura_colors[1]))  
write_byte(get_pcvar_num(cvar_aura_colors[2]))  
write_byte(2)  
write_byte(0)  
message_end()   
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }
*/
 
maxim3333Дата: Воскресенье, 24.04.2011, 00:50:16 | Сообщение # 2
Рядовой
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Не в сети
Раздаю бесплатно проги для взлома VK (кража подарков, накрутка рейтинга) стучаться в icq 583412082 или скайп maxi-cool6, так же делаю программы (взломы) для сайтов (не для всех а только для тех в которых найду дыры!)
 
[S]mertДата: Среда, 17.08.2011, 14:42:46 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 5
Репутация: 0
Статус: Не в сети
Странно, у меня с компилировалось..
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » [ZP] Extra item: Electro weapon (Помогите отредактировать плагин)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024