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

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

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

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

История благодарностей участнику freeone ::: Спасибо сказали: 13
Дата поста: В теме: За сообщение: Спасибо сказали:
25.8.2014, 14:19 как убрать защиту с кс? [FREE-MS]
проблема с ником и конфигом теперь на стиме.
вот так вот и качай Г сборки от Г бустов.
perfectblood0
25.8.2014, 4:38 CSO emotion v2.3
stefkone
24.8.2014, 19:52 Обращение к модератору A1on3
я твоей мамке этсамое... цветы дарил :D

XyLiGaN,
hero at a distance
C1_, Gig142
24.8.2014, 19:43 Обращение к модератору A1on3
Скрытый текст
Gig, ты черт! маму не когда не трогай.
BariN
27.10.2012, 19:48 Падает сервер
fakefull_original.amxx
amx_sysbizz.amxx
loading_banner.amxx
votebans_wtf.amxx
Cam_Change.amxx
randomskies.amxx
cfg_hse.amxx
grafity.amxx
amx_ejectcd.amxx
speclist_rus.amxx
amx_gore_ultimate.amxx
admin_spec_esp.amxx
block_rtv.amxx

выключи их и посмотри результ.

Цитата
В логах сервера ничего нет,


log off
sv_logbans 0
sv_logecho 0
sv_logfile 0
sv_log_onefile 0

ещё бы в них что то было...

log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 1

пропиши запусти серв подожди пока он полностью запустится,а потом офф его и го логи сюда)
ser1
27.10.2012, 16:21 Падения сервера от багнутых карт
ну вот у меня не падает лично)) хоть я их 100500 сделаю))
3apuk
25.10.2012, 18:58 ExplosionOnSpawn
можно) вот:
plugin
// Инклуды
#include <amxmodx>
#include <cstrike>
#include <dhudmessage>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

// http://wiki.alliedmods.net/CBaseToggle_%28CS%29
#define m_bitsDamageInflict 71

#define CBaseToggle 4

// http://wiki.alliedmods.net/CEnvExplosion_%28CS%29 мой вклад =)
#define m_iMagnitude 96
#define m_spriteScale 97

#define CEnvExplosion 5

// Настройки
#define EXPLOSION_TIME 20.0 // Через сколько времени взрывать
#define EXPLOSION_SPRITESCALE 30 // Размер спрайта взрыва, 0 - рассчитывать по магнитуде
#define EXPLOSION_MAGNITUDEMULTI 1.5 // Множитель магнитуды
#define EXPLOSION_MAGNITUDERADIUS 3.5 // !!!НЕ МЕНЯТЬ!!! Во сколько раз радиус больше магнитуды
#define RADIATION_ZONEMULTI 1.2 // Множитель зоны радиации
#define RADIATION_DAMAGE 50.0 // Количество урона в секунду
#define PROTECTION_TIME 10.0 // Время протекции (0.0 - выключить)
#define COUNTDOWN_SOUND 1 // Включить звуки при отсчёте
#define COUNTDOWN_WORD "explosion attention radiation" // Произносимое слово/словосочетание/предложение при взрыве
#define COUNTDOWN_HUD 2 // Как показывать отсчёт (0 - print_center, 1 - HUD, 2 - DHUD)
#define HUD_COLOR_1 255, 0, 0 // Цвет худа отсчёта
#define HUD_XY_1 -1.0, 0.3 // Координаты худа отсчёта
#define HUD_EFFECT_1 0 // Эффект худа отсчёта
#define HUD_TIMES_1 0.0, 1.01, 0.0, 0.0 // Время худа отсчёта
#define HUD_COLOR_2 0, 255, 255 // Цвет худа взрыва
#define HUD_XY_2 -1.0, 0.3 // Координаты худа взрыва
#define HUD_EFFECT_2 2 // Эффект худа взрыва
#define HUD_TIMES_2 0.0, 5.0, 0.05, 0.9 // Время худа взрыва
#define HUD_CHANNEL -1 // Канал худа

// Отсчёт
new g_iCountdown;

#if PROTECTION_TIME
// Протекция
new Float:g_flPlayerProtection[33];
#endif

// Размеры зоны радиации
new Float:g_vecSize[2][3];

// Энтити создающая взрыв
new g_pExplo;
// Энтити наносящая урон
new g_pDamage;

#if COUNTDOWN_HUD == 1 && HUD_CHANNEL == -1
// Канал худа
new g_sync;
#endif

// Инит
public plugin_init()
{
// Регистрируем плагин
register_plugin("Explosion on spawn", "Epsilon", "Microbe");

// Копирайт :D
set_pcvar_string(register_cvar("Explosion_on_spawn", "Epsilon, Microbe", FCVAR_SERVER | FCVAR_SPONLY), "Epsilon, Microbe");

// Событие нового раунда
register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");

#if PROTECTION_TIME
// Событие спавна игрока
RegisterHam(Ham_Spawn, "player", "PlayerSpawnPost", 1);
// Событие получения урона игроком
RegisterHam(Ham_TakeDamage, "player", "PlayerTakeDamagePre", 0);
#endif
// Событие смерти игрока
RegisterHam(Ham_Killed, "player", "PlayerKilledPre", 0);
RegisterHam(Ham_Killed, "player", "PlayerKilledPost", 1);

#if COUNTDOWN_HUD == 1 && HUD_CHANNEL == -1
// Создаём новый канал худа
g_sync = CreateHudSyncObj();
#endif

// Получаем координаты
new Float:vecOrigin[3];

FindCentreSpawnCoordSize(vecOrigin, g_vecSize); // Получаем координаты и размеры

// Создаём энтити
g_pExplo = create_entity("env_explosion");

// Устанавливаем координаты
entity_set_origin(g_pExplo, vecOrigin);

// Выставляем флаги
entity_set_int(g_pExplo, EV_INT_spawnflags, SF_ENVEXPLOSION_REPEATABLE);

// Выставляем магнитуду
set_pdata_int(g_pExplo, m_iMagnitude, floatround(VectorLength(g_vecSize[0]) / RADIATION_ZONEMULTI / EXPLOSION_MAGNITUDERADIUS * EXPLOSION_MAGNITUDEMULTI), CEnvExplosion);

// Имитируем спаун
DispatchSpawn(g_pExplo);

#if EXPLOSION_SPRITESCALE
// Размер спрайта
set_pdata_int(g_pExplo, m_spriteScale, EXPLOSION_SPRITESCALE, CEnvExplosion);
#endif

// Создаём энтити
g_pDamage = create_entity("trigger_hurt");

// Устанавливаем координаты
entity_set_origin(g_pDamage, vecOrigin);

// Устанавливаем урон
entity_set_float(g_pDamage, EV_FL_dmg, RADIATION_DAMAGE);

// Устанавливаем тип урона
set_pdata_int(g_pDamage, m_bitsDamageInflict, DMG_RADIATION, CBaseToggle);

// Имитируем спаун
DispatchSpawn(g_pDamage);

// Выключаем энтити
entity_set_int(g_pDamage, EV_INT_solid, SOLID_NOT);

entity_set_float(g_pDamage, EV_FL_nextthink, 0.0);

// Отсчёт
g_iCountdown = floatround(EXPLOSION_TIME, floatround_floor);

#if !COUNTDOWN_HUD
client_print(0, print_center, "Внимание! До взрыва осталось %d!", g_iCountdown);
#else
#if COUNTDOWN_HUD == 1
set_hudmessage(HUD_COLOR_1, HUD_XY_1, HUD_EFFECT_1, HUD_TIMES_1, HUD_CHANNEL);
#if HUD_CHANNEL == -1
ShowSyncHudMsg(0, g_sync, "Внимание! До взрыва осталось %d!", g_iCountdown);
#else
show_hudmessage(0, "Внимание! До взрыва осталось %d!", g_iCountdown);
#endif
#else
set_dhudmessage(HUD_COLOR_1, HUD_XY_1, HUD_EFFECT_1, HUD_TIMES_1, false);
show_dhudmessage(0, "Внимание! До взрыва осталось %d!", g_iCountdown);
#endif
#endif

set_task(1.0, "TaskCountdown", _, _, _, "a", g_iCountdown - 1);

#if COUNTDOWN_SOUND
// Проигрываем звук
new szWord[32];

num_to_word(g_iCountdown, szWord, 31);

client_cmd(0, "spk ^"%s^"", szWord);
#endif

// Взрываем через время
set_task(EXPLOSION_TIME, "TaskExplode");
}

// Новый раунд
public EventRoundStart()
{
// Выключаем энтити
entity_set_int(g_pDamage, EV_INT_solid, SOLID_NOT);

entity_set_float(g_pDamage, EV_FL_nextthink, 0.0);

// Убираем таск
remove_task();

// Отсчёт
g_iCountdown = floatround(EXPLOSION_TIME, floatround_floor);

#if !COUNTDOWN_HUD
client_print(0, print_center, "Внимание! До взрыва осталось %d!", g_iCountdown);
#else
#if COUNTDOWN_HUD == 1
set_hudmessage(HUD_COLOR_1, HUD_XY_1, HUD_EFFECT_1, HUD_TIMES_1, HUD_CHANNEL);
#if HUD_CHANNEL == -1
ShowSyncHudMsg(0, g_sync, "Внимание! До взрыва осталось %d!", g_iCountdown);
#else
show_hudmessage(0, "Внимание! До взрыва осталось %d!", g_iCountdown);
#endif
#else
set_dhudmessage(HUD_COLOR_1, HUD_XY_1, HUD_EFFECT_1, HUD_TIMES_1, false);
show_dhudmessage(0, "Внимание! До взрыва осталось %d!", g_iCountdown);
#endif
#endif

set_task(1.0, "TaskCountdown", _, _, _, "a", g_iCountdown - 1);

#if COUNTDOWN_SOUND
// Проигрываем звук
new szWord[32];

num_to_word(g_iCountdown, szWord, 31);

client_cmd(0, "spk ^"%s^"", szWord);
#endif

// Взрываем через время
set_task(EXPLOSION_TIME, "TaskExplode");
}

#if PROTECTION_TIME
// Событие спауна игрока
public PlayerSpawnPost(pPlayer) g_flPlayerProtection[pPlayer] = get_gametime() + PROTECTION_TIME;

// Событие получения урона игроком
public PlayerTakeDamagePre(pPlayer, pInflictor, pAttacker, Float:flDamage, bitsDamage)
{
// Если урон наносит не взрыв и не радиация
if (pAttacker != g_pExplo && pAttacker != g_pDamage)
return HAM_IGNORED;
// Если уже не время протекции
if (g_flPlayerProtection[pPlayer] <= get_gametime())
return HAM_IGNORED;

// Блокируем
return HAM_SUPERCEDE;
}
#endif

// Событие смерти игрока (ДО)
public PlayerKilledPre(pPlayer, pAttacker, iShouldGib)
{
// Если убил не взрыв и не радиация
if (pAttacker != g_pExplo && pAttacker != g_pDamage)
return;

// Блокируем смерти
set_msg_block(get_user_msgid("ScoreInfo"), BLOCK_SET);
}

// Событие смерти игрока
public PlayerKilledPost(pPlayer, pAttacker, iShouldGib)
{
// Если убил не взрыв и не радиация
if (pAttacker != g_pExplo && pAttacker != g_pDamage)
return;

// Возвращаем смерти
cs_set_user_deaths(pPlayer, cs_get_user_deaths(pPlayer) - 1);

set_msg_block(get_user_msgid("ScoreInfo"), BLOCK_NOT);
}

// Отсчёт
public TaskCountdown()
{
// Показываем
#if !COUNTDOWN_HUD
client_print(0, print_center, "Внимание! До взрыва осталось %d!", --g_iCountdown);
#else
#if COUNTDOWN_HUD == 1
set_hudmessage(HUD_COLOR_1, HUD_XY_1, HUD_EFFECT_1, HUD_TIMES_1, HUD_CHANNEL);
#if HUD_CHANNEL == -1
ShowSyncHudMsg(0, g_sync, "Внимание! До взрыва осталось %d!", --g_iCountdown);
#else
show_hudmessage(0, "Внимание! До взрыва осталось %d!", --g_iCountdown);
#endif
#else
set_dhudmessage(HUD_COLOR_1, HUD_XY_1, HUD_EFFECT_1, HUD_TIMES_1, false);
show_dhudmessage(0, "%Внимание! До взрыва осталось %d!", --g_iCountdown);
#endif
#endif

#if COUNTDOWN_SOUND
// Проигрываем звук
new szWord[32];

num_to_word(g_iCountdown, szWord, 31);

client_cmd(0, "spk ^"%s^"", szWord);
#endif
}

// Взрываем
public TaskExplode()
{
#if COUNTDOWN_SOUND
// Звук при взрыве
client_cmd(0, "spk ^"%s^"", COUNTDOWN_WORD);
#endif

// Взрываем
ExecuteHamB(Ham_Use, g_pExplo, 0, 0, 0, 0);

// Включаем
entity_set_int(g_pDamage, EV_INT_solid, SOLID_TRIGGER);

entity_set_float(g_pDamage, EV_FL_nextthink, get_gametime());

entity_set_size(g_pDamage, g_vecSize[0], g_vecSize[1]);

// Показываем сообщение
#if !COUNTDOWN_HUD
client_print(0, print_center, "Внимание, на месте взрыва осталась радиация!");
#else
#if COUNTDOWN_HUD == 1
set_hudmessage(HUD_COLOR_2, HUD_XY_2, HUD_EFFECT_2, HUD_TIMES_2, HUD_CHANNEL);
#if HUD_CHANNEL == -1
ShowSyncHudMsg(0, g_sync, "Внимание! На месте взрыва осталась радиация!");
#else
show_hudmessage(0, "Внимание! На месте взрыва осталась радиация!");
#endif
#else
set_dhudmessage(HUD_COLOR_2, HUD_XY_2, HUD_EFFECT_2, HUD_TIMES_2, false);
show_dhudmessage(0, "Внимание! На месте взрыва осталась радиация!");
#endif
#endif
}

// Ищем центральные координаты
FindCentreSpawnCoordSize(Float:vecOrigin[3], Float:vecSize[2][3])
{
new iSpawns; // Количество спавнов
new Float:vecOrigin2[3]; // Координаты спавна
new pEntity; // Энтити спавна

// Ищем энтити спавна
while ((pEntity = find_ent_by_class(pEntity, "info_player_start")))
{
// Получаем её координаты
entity_get_vector(pEntity, EV_VEC_origin, vecOrigin2);

// Находим крайнюю точку
if (iSpawns) VectorMin(vecSize[0], vecOrigin2, vecSize[0]);
else vecSize[0] = vecOrigin2;

// Прибавляем к тоталу координат
VectorAdd(vecOrigin, vecOrigin2, vecOrigin);

// Ещё один
iSpawns++;
}

// Делим тотал коодинат на количество спавнов
VectorDivide(vecOrigin, float(iSpawns), vecOrigin);

// Получаем минусовые размеры
VectorSubtract(vecSize[0], vecOrigin, vecSize[0]);

// Увеличиваем их в N раз
VectorScale(vecSize[0], RADIATION_ZONEMULTI, vecSize[0]);

// Получаем положительные размеры
VectorNegative(vecSize[0], vecSize[1]);

// Прибавляем дополнительную высоту для зоны
vecSize[0][2] += -36.0;
vecSize[1][2] += 36.0;
}

// Найти меньший вектор
VectorMin(const Float:vec1[3], const Float:vec2[3], Float:vecOut[3])
{
vecOut[0] = floatmin(vec1[0], vec2[0]);
vecOut[1] = floatmin(vec1[1], vec2[1]);
vecOut[2] = floatmin(vec1[2], vec2[2]);
}

// Сложить векторы
VectorAdd(const Float:vec1[3], const Float:vec2[3], Float:vecOut[3])
{
vecOut[0] = vec1[0] + vec2[0];
vecOut[1] = vec1[1] + vec2[1];
vecOut[2] = vec1[2] + vec2[2];
}

// Вычесть векторы
VectorSubtract(const Float:vec1[3], const Float:vec2[3], Float:vecOut[3])
{
vecOut[0] = vec1[0] - vec2[0];
vecOut[1] = vec1[1] - vec2[1];
vecOut[2] = vec1[2] - vec2[2];
}

// Получить вектор противоположный по знакам данному
VectorNegative(const Float:vec[3], Float:vecOut[3])
{
vecOut[0] = -vec[0];
vecOut[1] = -vec[1];
vecOut[2] = -vec[2];
}

// Поделить вектор на число
VectorDivide(const Float:vec[3], const Float:fl, Float:vecOut[3])
{
vecOut[0] = vec[0] / fl;
vecOut[1] = vec[1] / fl;
vecOut[2] = vec[2] / fl;
}

// Умножить вектор на число
VectorScale(const Float:vec[3], const Float:fl, Float:vecOut[3])
{
vecOut[0] = vec[0] * fl;
vecOut[1] = vec[1] * fl;
vecOut[2] = vec[2] * fl;
}

// Получить длину вектора
Float:VectorLength(const Float:vec[3]) return floatsqroot(vec[0] * vec[0] + vec[1] * vec[1] + vec[2] * vec[2]);
pulse.
24.10.2012, 15:55 Colorchat и его использование
как мне сделать что бы отображалось цветное сообщение в чате?
к примеру плагин high_ping_kicker
нужно вот эту строку сделать в цвете:
hpk
public showWarn(param[])
client_print( param[0] ,print_chat,"* Players with ping higher than %d will be kicked!", get_cvar_num( "amx_hpk_ping" ) )

что нужно вписывать?)
GangnamStyle
24.10.2012, 12:44 Статс для HnS сервера
вот такой вариант:
Ccылка
http://www.amxmodx.su/forum/viewtopic.php?f=5&t=2512
pulse.
24.10.2012, 10:24 Новый античит
епанутый сайт, анти-чит походу такой же....
Predat0r
11.10.2012, 18:46 Hltv model
папка cstrike_russian есть?
если есть то в неё,если в ней нету папки models создай!
Melkiy59
10.10.2012, 12:54 CSFile.Info OpenGL32 Detect v.2.2 (17.02.2011)
сильно ли вредна эта dll'ka opengl32_4.dll?
у меня просто Nod32 блокирует её)
LordNAO