Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Редактирование winter_environment

Статус пользователя lolik
сообщение 24.11.2016, 13:05
Сообщение #1
Стаж: 10 лет

Сообщений: 7
Благодарностей: 1
Полезность: 0

Доброго времени суток друзья :-)
У меня такая проблемка имеется плагин winter_environment его функции это:
1. Падает снег
2. Вместо шагов слышен хруст по снегу
3. Вместо бомбы ставится либо елка либо подарок либо снеговик и при этом играет музыка

Мне нужно оставить в этом плагине только 1 пункт и 2
Помогите вырезать лишнее из плагина пожалуйста.

Вот сам плагин:

Код:

#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Winter Environment"
#define VERSION "1.0"
#define AUTHOR "Alka"

#define STEP_DELAY 0.5

new const g_szBombModels[][] = {

"models/ch-m/c4-christmastree2.mdl",
"models/ch-m/c4-christmastree.mdl",
"models/ch-m/frost_man.mdl",
"models/ch-m/present1.mdl"
};
new const g_szBombSounds[][] = {

"ch-s/bmb_planted.wav",
"ch-s/bmb_defused.wav",
"ch-s/bmb_defuse_failure.wav"
};
new const g_szStepSound[][] = {

"player/pl_snow1.wav",
"player/pl_snow2.wav",
"player/pl_snow3.wav",
"player/pl_snow4.wav",
"player/pl_snow5.wav",
"player/pl_snow6.wav"
};
new g_iLedSprite;

new Float:g_fNextStep[33];

public plugin_init() {

register_plugin(PLUGIN, VERSION, AUTHOR);

register_forward(FM_SetModel, "fwd_SetModel", 1);
register_forward(FM_PlayerPreThink, "fwd_PlayerPreThink", 0);

register_logevent("logevent_BombPlanted", 3, "2=Planted_The_Bomb");
register_logevent("logevent_BombDefused", 3, "2=Defused_The_Bomb");
register_logevent("logevent_BombExploded", 6, "3=Target_Bombed");

register_message(SVC_TEMPENTITY, "message_TempEntity");
}

public plugin_precache()
{
engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_snow"));

new i;
for(i = 0 ; i < sizeof g_szBombModels ; i++)
precache_model(g_szBombModels[i]);
for(i = 0 ; i < sizeof g_szBombSounds ; i++)
precache_sound(g_szBombSounds[i]);
for(i = 0 ; i < sizeof g_szStepSound ; i++)
precache_sound(g_szStepSound[i]);

g_iLedSprite = precache_model("sprites/ledglow.spr");
}

public fwd_SetModel(ent, const szModel[])
{
if(!pev_valid(ent))
return FMRES_IGNORED;

if(equal(szModel, "models/w_c4.mdl"))
{
static iRndModel; iRndModel = random_num(0, sizeof g_szBombModels - 1);
engfunc(EngFunc_SetModel, ent, g_szBombModels[iRndModel]);

return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}

public fwd_PlayerPreThink(id)
{
if(!is_user_alive(id))
return FMRES_IGNORED;

static Float:fGmTime ; fGmTime = get_gametime();
if(g_fNextStep[id] < fGmTime)
{
if(fm_get_user_speed(id) && (pev(id, pev_flags) & FL_ONGROUND) && is_user_outside(id))
{
set_pev(id, pev_flTimeStepSound, 999);
engfunc(EngFunc_EmitSound, id, CHAN_AUTO, g_szStepSound[random_num(0, sizeof g_szStepSound - 1)], 0.5, ATTN_NORM, 0, PITCH_NORM);

g_fNextStep[id] = fGmTime + STEP_DELAY;
}
}
return FMRES_IGNORED;
}

public logevent_BombPlanted()
{
emit_sound(0, CHAN_AUTO, g_szBombSounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}

public logevent_BombDefused()
{
client_cmd(0, "wait;stopsound");
emit_sound(0, CHAN_AUTO, g_szBombSounds[1], VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}

public logevent_BombExploded()
{
emit_sound(0, CHAN_AUTO, g_szBombSounds[2], VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}

public message_TempEntity(msg_id, msg_dest, msg_ent)
{
if(get_msg_arg_int(1) == TE_GLOWSPRITE)
{
if(get_msg_arg_int(5) == g_iLedSprite)
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

stock Float:is_user_outside(id)
{
new Float:vOrigin[3], Float:fDist;
pev(id, pev_origin, vOrigin);

fDist = vOrigin[2];

while(engfunc(EngFunc_PointContents, vOrigin) == CONTENTS_EMPTY)
vOrigin[2] += 5.0;

if(engfunc(EngFunc_PointContents, vOrigin) == CONTENTS_SKY)
return (vOrigin[2] - fDist);

return 0.0;
}

stock Float:fm_get_user_speed(id)
{
if(!is_user_connected(id))
return 0.0;

static Float:fVelocity[3];
pev(id, pev_velocity, fVelocity);

fVelocity[2] = 0.0;

return vector_length(fVelocity);
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя LeoBH
сообщение 2.12.2016, 14:27
Сообщение #2


Стаж: 12 лет

Сообщений: 159
Благодарностей: 91
Полезность: 170

Код:
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Winter Environment"
#define VERSION "1.0"
#define AUTHOR "Alka"

#define STEP_DELAY 0.5

new const g_szBombSounds[][] = {

"ch-s/bmb_planted.wav",
"ch-s/bmb_defused.wav",
"ch-s/bmb_defuse_failure.wav"
};
new const g_szStepSound[][] = {

"player/pl_snow1.wav",
"player/pl_snow2.wav",
"player/pl_snow3.wav",
"player/pl_snow4.wav",
"player/pl_snow5.wav",
"player/pl_snow6.wav"
};
new g_iLedSprite;

new Float:g_fNextStep[33];

public plugin_init() {

register_plugin(PLUGIN, VERSION, AUTHOR);

register_forward(FM_PlayerPreThink, "fwd_PlayerPreThink", 0);

register_logevent("logevent_BombPlanted", 3, "2=Planted_The_Bomb");
register_logevent("logevent_BombDefused", 3, "2=Defused_The_Bomb");
register_logevent("logevent_BombExploded", 6, "3=Target_Bombed");

register_message(SVC_TEMPENTITY, "message_TempEntity");
}

public plugin_precache()
{
engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_snow"));

new i;
for(i = 0 ; i < sizeof g_szBombSounds ; i++)
precache_sound(g_szBombSounds[i]);
for(i = 0 ; i < sizeof g_szStepSound ; i++)
precache_sound(g_szStepSound[i]);

g_iLedSprite = precache_model("sprites/ledglow.spr");
}

public fwd_PlayerPreThink(id)
{
if(!is_user_alive(id))
return FMRES_IGNORED;

static Float:fGmTime ; fGmTime = get_gametime();
if(g_fNextStep[id] < fGmTime)
{
if(fm_get_user_speed(id) && (pev(id, pev_flags) & FL_ONGROUND) && is_user_outside(id))
{
set_pev(id, pev_flTimeStepSound, 999);
engfunc(EngFunc_EmitSound, id, CHAN_AUTO, g_szStepSound[random_num(0, sizeof g_szStepSound - 1)], 0.5, ATTN_NORM, 0, PITCH_NORM);

g_fNextStep[id] = fGmTime + STEP_DELAY;
}
}
return FMRES_IGNORED;
}

public logevent_BombPlanted()
{
emit_sound(0, CHAN_AUTO, g_szBombSounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}

public logevent_BombDefused()
{
client_cmd(0, "wait;stopsound");
emit_sound(0, CHAN_AUTO, g_szBombSounds[1], VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}

public logevent_BombExploded()
{
emit_sound(0, CHAN_AUTO, g_szBombSounds[2], VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}

public message_TempEntity(msg_id, msg_dest, msg_ent)
{
if(get_msg_arg_int(1) == TE_GLOWSPRITE)
{
if(get_msg_arg_int(5) == g_iLedSprite)
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

stock Float:is_user_outside(id)
{
new Float:vOrigin[3], Float:fDist;
pev(id, pev_origin, vOrigin);

fDist = vOrigin[2];

while(engfunc(EngFunc_PointContents, vOrigin) == CONTENTS_EMPTY)
vOrigin[2] += 5.0;

if(engfunc(EngFunc_PointContents, vOrigin) == CONTENTS_SKY)
return (vOrigin[2] - fDist);

return 0.0;
}

stock Float:fm_get_user_speed(id)
{
if(!is_user_connected(id))
return 0.0;

static Float:fVelocity[3];
pev(id, pev_velocity, fVelocity);

fVelocity[2] = 0.0;

return vector_length(fVelocity);
}


Отредактировал: LeoBH, - 2.12.2016, 14:28
Прикрепленные файлы:
Прикрепленный файл  we.sma ( 3,23 килобайт ) Кол-во скачиваний: 4
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lolik
сообщение 3.12.2016, 13:47
Сообщение #3
Стаж: 10 лет

Сообщений: 7
Благодарностей: 1
Полезность: 0

LeoBH, спасибо) а когда на шифте ходишь все равно хруст снега слышен можно исправить как нибудь?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Templar
сообщение 3.12.2016, 13:51
Сообщение #4
Иконка группы

Стаж: 18 лет

Сообщений: 2680
Благодарностей: 978
Полезность: 860

Меценат Меценат

Дабы не создавать тему, может есть у кого самое простое... Чтобы играла просто музычка когда стоит бомба с этого плагина вырезать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: