Русское сообщество по скриптингу

Nade Health - добавить команду.

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Nade Health - добавить команду.

Сообщение Onty » 11 сен 2016, 00:48

Помогите сделать так чтобы VIP мог брать гранату командой в чат например /greenhp. Заранее спасибо !
Код: Выделить всё
#include <amxmodx>
#include <fakemeta>
#include < cstrike >
#include < fun >
#include < engine >
 
#include <amxmisc>
 
#define PLUGIN_NAME "<span class="searchlite">Nade</span> Health"
#define PLUGIN_VERSION "0.1"
#define PLUGIN_AUTHOR "Dorus"
 
#define V_MODEL "models/v_he_mk_nade.mdl"
#define P_MODEL "models/p_he_mk_nade.mdl"
#define W_MODEL "models/w_he_mk_nade.mdl"
 
#define GIVE_HP 30
 
#define SMOKE_SCALE 30
#define SMOKE_FRAMERATE 12
 
new ExplSprExplSpr2ExplSpr3ExplYOg_iSpriteCircle
 
// do not edit
new const g_sound_explosion[] = "weapons/sg_explode.wav"
new const g_classname_grenade[] = "grenade"
new g_eventid_createsmoke
 
public plugin_init() {
   
register_plugin(PLUGIN_NAMEPLUGIN_VERSIONPLUGIN_AUTHOR)
 
   
register_forward(FM_EmitSound"forward_emitsound")
   
register_forward(FM_PlaybackEvent"forward_playbackevent")
   
register_event"CurWeapon""CurWeapon""be""1=1" )
   
register_forwardFM_SetModel"forward_model")
 
   
// we do not precaching, but retrieving the indexes
   
g_eventid_createsmoke engfunc(EngFunc_PrecacheEvent1"events/createsmoke.sc")
}
 
public 
plugin_precache()
{
   
ExplSpr precache_model("sprites/gp_1.spr");
   
ExplSpr2 precache_model("sprites/gp_2.spr");
   
ExplSpr3 precache_model("sprites/gp_3.spr");
   
precache_sound("woomen_expr.wav")
   
ExplYO precache_model("sprites/woomensx.spr");
    
   
g_iSpriteCircle precache_model"sprites/shockwave.spr" );
    
   
precache_model(V_MODEL)
   
precache_model(W_MODEL)
   
precache_model(P_MODEL)
}
 
public 
CurWeapon(id)
{
   if(
is_user_connected(id) && is_user_alive(id) && is_user_admin(id))
   {
      if(
get_user_weapon(id) == CSW_SMOKEGRENADE)
      {
         
set_pev(idpev_viewmodel2V_MODEL)
         
set_pev(idpev_weaponmodel2P_MODEL)
      }
   }
}
 
public 
forward_modelentity, const model[] )
{
   if( !
pev_validentity ) ) return FMRES_IGNORED;
    
   if(
equalmodel"models/w_smokegrenade.mdl" ))
   {
      
engfunc EngFunc_SetModelentityW_MODEL );
   }
   return 
FMRES_IGNORED;
}
 
public 
forward_emitsound(entchannel, const sound[])
{
   if (!
equal(soundg_sound_explosion) || !is_grenade(ent))
      return 
FMRES_IGNORED
 
   
static Float:origin[3]
   static 
id
   id 
pev(entpev_owner)
   
pev(entpev_originorigin)
    
   if(!
is_user_admin(id)) {
      return 
FMRES_IGNORED
   
}
    
   
engfunc(EngFunc_EmitSoundentCHAN_WEAPON"woomen_expr.wav"VOL_NORMATTN_NORM0PITCH_NORM)
   
//engfunc(EngFunc_RemoveEntity, ent)
   //create_smoke(origin)
    
   
message_begin(MSG_ALL,SVC_TEMPENTITY,{0,0,0})
   
write_byte(TE_SPRITETRAIL//Спрайт захвата
   
write_coord(floatround(origin[0]))
   
write_coord(floatround(origin[1]))
   
write_coord(floatround(origin[2])+20)
   
write_coord(floatround(origin[0]))
   
write_coord(floatround(origin[1]))
   
write_coord(floatround(origin[2])+80)
   
write_short(ExplSpr)
   
write_byte(20)
   
write_byte(20)
   
write_byte(4)
   
write_byte(20)
   
write_byte(10)
   
message_end()
    
   
message_begin(MSG_ALL,SVC_TEMPENTITY,{0,0,0})
   
write_byte(TE_SPRITETRAIL//Спрайт захвата
   
write_coord(floatround(origin[0]))
   
write_coord(floatround(origin[1]))
   
write_coord(floatround(origin[2])+20)
   
write_coord(floatround(origin[0]))
   
write_coord(floatround(origin[1]))
   
write_coord(floatround(origin[2])+80)
   
write_short(ExplSpr2)
   
write_byte(20)
   
write_byte(20)
   
write_byte(4)
   
write_byte(20)
   
write_byte(10)
   
message_end()
    
   
message_begin(MSG_ALL,SVC_TEMPENTITY,{0,0,0})
   
write_byte(TE_SPRITETRAIL//Спрайт захвата
   
write_coord(floatround(origin[0]))
   
write_coord(floatround(origin[1]))
   
write_coord(floatround(origin[2])+20)
   
write_coord(floatround(origin[0]))
   
write_coord(floatround(origin[1]))
   
write_coord(floatround(origin[2])+80)
   
write_short(ExplSpr3)
   
write_byte(20)
   
write_byte(20)
   
write_byte(4)
   
write_byte(20)
   
write_byte(10)
   
message_end()
    
   
message_begin(MSG_ALLSVC_TEMPENTITY);
   
write_byte(TE_SPRITE);
   
write_coord(floatround(origin[0]));
   
write_coord(floatround(origin[1]));
   
write_coord(floatround(origin[2]) + 70);
   
write_short(ExplYO);
   
write_byte(5);
   
write_byte(100);
   
message_end();//MESSAGE ENDING
    
   
create_blast_circle(ent1025540)
    
   new 
tre
   
while((tre find_ent_in_sphere(tre,origin,250.0)) != 0)
   {
      if(
is_user_alive(tre) && get_user_team(tre) == get_user_team(id))
      {
         
message_begin(MSG_ONEget_user_msgid("ScreenFade"), {0,0,0}, tre)
         
write_short(1<<10)
         
write_short(1<<10)
         
write_short(0x0000)
         
write_byte(170)
         
write_byte(255)
         
write_byte(0)
         
write_byte(75)
         
message_end()
          
         
set_user_rendering(tre,kRenderFxGlowShell,0,255,50,kRenderNormal,20)
         
set_task(1.5"UnEffect"tre)
          
         
set_user_health(tre,100)
      }
   }
 
   return 
FMRES_SUPERCEDE
}
 
public 
UnEffect(tre)
{
   if(
is_user_alive(tre))
   {
      
set_user_rendering(tre)
   }
}
 
public 
forward_playbackevent(flagsinvokereventindex) {
   
// we do not need a large amount of smoke
   
if (eventindex == g_eventid_createsmoke)
      return 
FMRES_SUPERCEDE
 
   
return FMRES_IGNORED
}
 
bool:is_grenade(ent) {
   if (!
pev_valid(ent))
      return 
false
 
   
static classname[sizeof g_classname_grenade 1]
   
pev(entpev_classnameclassnamesizeof g_classname_grenade)
   if (
equal(classnameg_classname_grenade))
      return 
true
 
   
return false
}
 
stock bool:is_hull_vacant(const Float:origin[3], hull) {
   new 
tr 0
   engfunc
(EngFunc_TraceHulloriginorigin0hull0tr)
   if (!
get_tr2(trTR_StartSolid) && !get_tr2(trTR_AllSolid) && get_tr2(trTR_InOpen))
      return 
true
    
   
return false
}
 
stock create_blast_circle(entRGB
{
   static 
FloatfOrigin[3], iOrigin[3];
    
   
pev(entpev_originfOrigin);
    
   
FVecIVecfOriginiOrigin );
       
   
message_beginMSG_BROADCASTSVC_TEMPENTITYiOrigin ); 
   
write_byteTE_BEAMCYLINDER );
   
write_coordiOrigin] );
   
write_coordiOrigin] );
   
write_coordiOrigin]);
   
write_coordiOrigin] );
   
write_coordiOrigin] );
   
write_coordiOrigin] + 250) ; // radius
   
write_shortg_iSpriteCircle );
   
write_byte);   // start framerate
   
write_byte);   // framerate
   
write_byte);   // life
   
write_byte30 );   // width
   
write_byte);    // amplitude
    
   
write_byte®;
   
write_byte(G);
   
write_byte(B);
    
   
write_byte255 );   // brightness
   
write_byte);   // speed
   
message_end();
Аватара пользователя
Onty
 
Сообщения: 3
Зарегистрирован: 11 сен 2016, 00:03
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Pawn
C++
Php
Ruby
Python

Re: Nade Health - добавить команду.

Сообщение Onty » 11 сен 2016, 18:07

Не кто не знает чтоли как это сделать?
Аватара пользователя
Onty
 
Сообщения: 3
Зарегистрирован: 11 сен 2016, 00:03
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Pawn
C++
Php
Ruby
Python

Re: Nade Health - добавить команду.

Сообщение артист666 » 11 сен 2016, 19:02

Да много кто знает, просто время не хотят тратить.

Вы должны зарегистрироваться, чтобы видеть ссылки.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Nade Health - добавить команду.

Сообщение Onty » 12 сен 2016, 14:29

За денги хотяб сделаете?
Аватара пользователя
Onty
 
Сообщения: 3
Зарегистрирован: 11 сен 2016, 00:03
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Pawn
C++
Php
Ruby
Python


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 2

cron