Все вопросы по работе и настройке AMXX и его плагинов.
Модератор: liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.
Onty » 11 сен 2016, 00:48
Помогите сделать так чтобы VIP мог брать гранату командой в чат например /greenhp. Заранее спасибо !
- Код: Выделить всё
new ExplSpr, ExplSpr2, ExplSpr3, ExplYO, g_iSpriteCircle
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_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
register_forward(FM_EmitSound, "forward_emitsound")
register_forward(FM_PlaybackEvent, "forward_playbackevent")
register_event( "CurWeapon", "CurWeapon", "be", "1=1" )
register_forward( FM_SetModel, "forward_model", 1 )
g_eventid_createsmoke = engfunc(EngFunc_PrecacheEvent, 1, "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(id, pev_viewmodel2, V_MODEL)
set_pev(id, pev_weaponmodel2, P_MODEL)
}
}
}
public forward_model( entity, const model[] )
{
if( !pev_valid( entity ) ) return FMRES_IGNORED;
if(equal( model, "models/w_smokegrenade.mdl" ))
{
engfunc ( EngFunc_SetModel, entity, W_MODEL );
}
return FMRES_IGNORED;
}
public forward_emitsound(ent, channel, const sound[])
{
if (!equal(sound, g_sound_explosion) || !is_grenade(ent))
return FMRES_IGNORED
static Float:origin[3]
static id
id = pev(ent, pev_owner)
pev(ent, pev_origin, origin)
if(!is_user_admin(id)) {
return FMRES_IGNORED
}
engfunc(EngFunc_EmitSound, ent, CHAN_WEAPON, "woomen_expr.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
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_ALL, SVC_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();create_blast_circle(ent, 10, 255, 40)
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_ONE, get_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(flags, invoker, eventindex) {
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(ent, pev_classname, classname, sizeof g_classname_grenade)
if (equal(classname, g_classname_grenade))
return true
return false
}
stock bool:is_hull_vacant(const Float:origin[3], hull) {
new tr = 0
engfunc(EngFunc_TraceHull, origin, origin, 0, hull, 0, tr)
if (!get_tr2(tr, TR_StartSolid) && !get_tr2(tr, TR_AllSolid) && get_tr2(tr, TR_InOpen))
return true
return false
}
stock create_blast_circle(ent, R, G, B)
{
static Float: fOrigin[3], iOrigin[3];
pev(ent, pev_origin, fOrigin);
FVecIVec( fOrigin, iOrigin );
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMCYLINDER );
write_coord( iOrigin[ 0 ] );
write_coord( iOrigin[ 1 ] );
write_coord( iOrigin[ 2 ]);
write_coord( iOrigin[ 0 ] );
write_coord( iOrigin[ 1 ] );
write_coord( iOrigin[ 2 ] + 250) ; write_short( g_iSpriteCircle );
write_byte( 0 ); write_byte( 1 ); write_byte( 5 ); write_byte( 30 ); write_byte( 1 ); write_byte®;
write_byte(G);
write_byte(B);
write_byte( 255 ); write_byte( 5 ); message_end();
}
-
Onty
-
- Сообщения: 3
- Зарегистрирован: 11 сен 2016, 00:03
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Языки программирования: Pawn
C++
Php
Ruby
Python
Onty » 11 сен 2016, 18:07
Не кто не знает чтоли как это сделать?
-
Onty
-
- Сообщения: 3
- Зарегистрирован: 11 сен 2016, 00:03
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Языки программирования: Pawn
C++
Php
Ruby
Python
артист666 » 11 сен 2016, 19:02
Да много кто знает, просто время не хотят тратить.
Вы должны зарегистрироваться, чтобы видеть ссылки.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
-
артист666
-
- Сообщения: 2706
- Зарегистрирован: 09 апр 2013, 17:46
- Благодарил (а): 284 раз.
- Поблагодарили: 639 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn
Onty » 12 сен 2016, 14:29
За денги хотяб сделаете?
-
Onty
-
- Сообщения: 3
- Зарегистрирован: 11 сен 2016, 00:03
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Языки программирования: Pawn
C++
Php
Ruby
Python
Вернуться в Вопросы по AMXX и его плагинам
Кто сейчас на конференции
Сейчас этот форум просматривают: Yandex [Bot] и гости: 2