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

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

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

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

История благодарностей участнику Algalon ::: Спасибо сказали: 60
Дата поста: В теме: За сообщение: Спасибо сказали:
19.12.2016, 20:40 Ошибка в плагине info_rank
RussianBear, в амхх 1.8.3 присутствует нативный колорчат, инклюд там ненужен.
carter
19.12.2016, 19:34 Crux Ansata. Плагин добавляет талисман жизни.
Цитата(ALTnick @ 19.12.2016, 6:38) *
Algalon, thank_you2.gif всё классно . но вот я столкнулся со следующей проблемой- почему моделька не крутится (

Автор не посчитал нужным добавить функцию воспроизведения анимации.

[attachment=42707:crux_ansata.sma]
Cкрытый текст
И все таки у тебя хватило ума отредактировать плагин, а говорил не можешь. derisive.gif


Цитата(ALTnick @ 19.12.2016, 16:02) *
FATAL ERROR (shutting down): Host_Error: recursively entered
сервер падает с такой ошибкой .падает не сразу .
в логах ошибок нету.после отключения этого плагина всё отлично.

Включи кондебаг, описание ошибки не полное, сложно определить что не так.
ALTnick
18.12.2016, 15:40 Crux Ansata. Плагин добавляет талисман жизни.
ALTnick, а что там уметь то? Ctrl+C + Ctrl+V = Profit
Не проверял. Так от балды подредактировал, ибо лень просто.
Cкрытый текст
Код:
/*
Плагин: Crux Ansata
Автор: DUKKHAZ0R | Сайт: http://aimbat.ru/plugins/

Описание:
Плагин добавляет на сервер талисман жизни, у человека имеющего его будет восстанавливаться 5 хп каждые 2 секунды.
В начале рануда рандомному игроку выпадает талисман жизни, если человек умирает, то любой другой сможет подобрать талисман.
Минимальное количество игроков для работы плагина, количество восстанавливаемого здоровья и интервал восстанавления можно настроить в исходнике.

*/

#include <amxmodx>
#include <engine>

// #define SCREENFADE //Затемнять экран при регенерации здоровья
#define RENDERING //Подсветка игрока при регенерации здоровья
#define MIN_PLAYERS 5 //Минимальное кол-во игроков для работы плагина
#define ROUND_ACCESS 3 //С какого раунда доступен талисман
#define GIVE_HEALTH 5 //Кол-во выдаваемого здоровья
#define MAX_HEALTH 100 //Максимальное кол-во выдаваемого здоровья игроку
#define INTERVAL_REGENERATION 2.0 //Интервал между восстановлением

new const g_szModel[] = "models/crux_ansata.mdl";

new g_iPlayerId, g_iRoundCounter, szName[32];

public plugin_init()
{
register_plugin("Crux Ansata", "1.0", "DUKKHAZ0R");

register_touch("crux_ansata", "player", "fw_TouchEntity");

register_logevent("eRoundStart", 2, "1=Round_Start");
register_event("DeathMsg", "eDeathMsg", "a", "1>0");
register_event("TextMsg", "eRoundRestart", "a", "2&#Game_C", "2&#Game_w");

set_task(INTERVAL_REGENERATION, "RegenerationHealth", .flags="b");
}

public plugin_precache()
precache_model(g_szModel);

public client_disconnect(id)
{
if(g_iPlayerId == id)
SpawnAnsata(id);
}

public eRoundRestart()
{
g_iRoundCounter = 0;

if(g_iPlayerId)
{
#if defined RENDERING
set_rendering(g_iPlayerId);
#endif
g_iPlayerId = 0;
}
}

public eRoundStart()
{
if(++g_iRoundCounter < ROUND_ACCESS || get_playersnum() < MIN_PLAYERS || g_iPlayerId)
return;

static iEnt;

while((iEnt = find_ent_by_class(iEnt, "crux_ansata")))
remove_entity(iEnt);

static apPlayers[32], iPlayers;
get_players(apPlayers, iPlayers, "ach");

g_iPlayerId = apPlayers[random(iPlayers)];

get_user_name(g_iPlayerId, szName, charsmax(szName));
ChatColor(0, "^4[CA] ^3%s ^1выпал талисман жизни.", szName);

#if defined RENDERING
set_rendering(g_iPlayerId, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 25);
#endif
}

public eDeathMsg()
{
if(read_data(2) != g_iPlayerId)
return

#if defined RENDERING
set_rendering(g_iPlayerId);
#endif

SpawnAnsata(g_iPlayerId);
}

public fw_TouchEntity(iEnt, id)
{
if(!is_valid_ent(iEnt))
return;

remove_entity(iEnt);

get_user_name(g_iPlayerId = id, szName, charsmax(szName));
ChatColor(0, "^4[CA] ^3%s ^1поднял талисман жизни.", szName);

#if defined RENDERING
set_rendering(g_iPlayerId, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 25);
#endif
}

public RegenerationHealth()
{
if(!g_iPlayerId || get_playersnum() < MIN_PLAYERS)
return;

static Float:fHealth, MsgId_Health; fHealth = entity_get_float(g_iPlayerId, EV_FL_health);

if(!MsgId_Health) MsgId_Health = get_user_msgid("Health");

if(fHealth > 0 && fHealth < 100)
{
static Float:fNewHealth; fNewHealth = float_min(fHealth + GIVE_HEALTH, MAX_HEALTH.0);

entity_set_float(g_iPlayerId, EV_FL_health, fNewHealth);

message_begin(MSG_ONE_UNRELIABLE, MsgId_Health, _, g_iPlayerId);
write_byte(floatround(fNewHealth));
message_end();

#if defined SCREENFADE
message_begin(MSG_ONE_UNRELIABLE, 98, _, g_iPlayerId);
write_short(1<<10);
write_short(1<<10);
write_short(0x0000);
write_byte(0);
write_byte(255);
write_byte(0);
write_byte(40);
message_end();
#endif
}
}

stock SpawnAnsata(id)
{
static Float:fOrigin[3];
entity_get_vector(id, EV_VEC_origin, fOrigin);

new iEnt = create_entity("info_target");

if(!is_valid_ent(iEnt))
return;

entity_set_vector(iEnt, EV_VEC_origin, fOrigin);
entity_set_string(iEnt, EV_SZ_classname, "crux_ansata");
entity_set_int(iEnt, EV_INT_solid, SOLID_TRIGGER);
entity_set_int(iEnt, EV_INT_movetype, MOVETYPE_NONE);
entity_set_int(iEnt, EV_INT_effects, 8);
entity_set_model(iEnt, g_szModel);
entity_set_size(iEnt, Float:{-16.0,-16.0,-16.0}, Float:{16.0,16.0,16.0});

ChatColor(g_iPlayerId = 0, "^4[CA] ^3%s ^1потерял талисман жизни.", szName);
}

stock ChatColor(const id, const szMessage[], any:...)
{
static szBuffer[191], apPlayers[32], iPlayers; iPlayers = 1;
vformat(szBuffer, charsmax(szBuffer), szMessage, 3);
if(id)
{
if(!is_user_connected(id)) return;
apPlayers[0] = id;
iPlayers = 1;
}
else get_players(apPlayers, iPlayers, "ch");
for(new i;i < iPlayers; i++)
{
message_begin(MSG_ONE_UNRELIABLE, 76, .player = apPlayers[i]);
write_byte(apPlayers[i]);
write_string(szBuffer);
message_end();
}
}

stock Float:float_min(Float:value1, Float:value2)
return ((value1 < value2) ? value1 : value2);
ALTnick
18.12.2016, 12:34 Crux Ansata. Плагин добавляет талисман жизни.
ALTnick,
1. Замени.
Код:
if(++g_iRoundCounter < ROUND_ACCESS || get_playersnum() < MIN_PLAYERS)
return;
--->
Код:
if(++g_iRoundCounter < ROUND_ACCESS || get_playersnum() < MIN_PLAYERS || g_iPlayerId)
return;

2. Используй плагин из первого поста.
3. Добавь в конец функции RegenerationHealth()
Код:
set_user_rendering(g_iPlayerId, kRenderFxPulseFast, 0, 255, 0, kRenderGlow, 150)
ALTnick
11.12.2016, 17:09 как они так пишут?
cscms, мы за вас рады) smile.gif
Ссылку оставь на фикс, чтобы другие тоже могли себе поставить.
Bloo
11.12.2016, 13:44 AmxModMenu New
cscms, замени
Код:
\y[Admin menu]
--->
Код:
[\yAdmin menu]
cscms
11.12.2016, 13:29 как они так пишут?
cscms, старо как мир, это баг colorchat'а. Когда-то на форуме была цела тема, посещенная этой фигне.
Существуют непечатаемые спец символы, для печати графики в кодировки ANSI, из-за них движок багается и раскрашивает сообщения в чате.
https://en.wikipedia.org/wiki/Control_character

Поищи в темах защиты игровых серверов, там должны быть какие то фиксы.
cscms
1.12.2016, 15:53 Wepon Mod , получение оружия
cangncan, ошибся с размером массива, теперь должно работать нормально.
Добавил квар swm_autospawn_menu [attachment=42425:weaponmod3.1.sma]
cangncan
1.12.2016, 11:50 Wepon Mod , получение оружия
cangncan, там немножечко по другому, функция выдачи оружия срабатывала раньше чем время обнулилось.
Нужно было поменять местами функции и все. Короче, я тебе там нашаманил, исправил эту фигню и с меню побаловался немножко.
Не проверял, надеюсь, что не сломал все там нафиг. [attachment=42422:weaponmod3.1.sma]
cangncan
30.11.2016, 12:29 BadNames Detector
wopox3, client_infochanged вызывается не только при смене имени игрока, не стоит просто так гонять цикл.
wopox3
29.11.2016, 11:34 warning TheArtemMaps
28.11.2016, 18:44 Рандомное выдача оружия
ssx, конечно можно
https://www.amxmodx.org/api/core/random

random_num обычно используют если нужен определенный диапазон чисел, к примеру от 50 до 100
ssx
27.11.2016, 15:08 [Поиск] Халявное облако с webdav
Bloo, как вариант можно использовать облако mail.ru, правда у них нет webdav, но энтузиасты запилили плагин для total commander, который позволяет получить доступ к диску через api.
https://geektimes.ru/post/279076
Bloo
21.11.2016, 14:17 Типо only headshot
asigloch,
Цитата(Algalon @ 14.11.2016, 15:54) *
Есть поддержка ботов и ножа, все настраивается через дефайны.

Открываешь исходник и ищешь там строку, дальше комментируешь её.
Код:
#define HSONLY_KNIFE


Cкрытый текст
Можно конечно заменить строку, а то я ошибся с названием дефайна.
Код:
#if defined HSONLY_KNIFE
-->
Код:
#if !defined HSONLY_KNIFE
asigloch
18.11.2016, 20:51 Ошибка индекса дд
Не плагин, а огрызок какой то, черти-что с бухты-барахты запилили фигню.
Передай своему горе разработчику.
Код:
if(Kills_Dmg[g_kills[attacker]]) // ????

Код:
new const Kills_Dmg[11] = {
2, // 0
4, // 1
6, // 2
8, // 3
10, // 4
12, // 5
14, // 6
16, // 7
18, // 8
20, // 9
22 // 10
}

new const Float:Wpn_Dmg[11] = {
1.1, // 0
1.2, // 1
1.3, // 2
1.4, // 3
1.5, // 4
1.6, // 5
1.7, // 6
1.8, // 7
1.9, // 8
2.0 // 9
}
EvilSMS
17.11.2016, 14:42 Исправление ошибок
Я теперь понял зачем там изменение координаты игрока, это мега-тру-про способ удаления оружия с земли. cbf1b2bfde1a.gif
ncux0Zz, если бы вы знали какой это унылый способ, и как там все это реализовано.

Subb98, лучше использовать аргументы CurWeapon, вместо get_user_weapon.
И опять же, нет принудительной смены оружия для всех игроков.
Код:
case '1': {
knifeonly = true;
engclient_cmd(id, "weapon_knife");
console_print(id, "Knives Only has been turned on.");
}
--->
Код:
case '1':
{
knifeonly = true;

new iPlayers[32], iNum;
get_players(iPlayers, iNum, "ah");

for(new i = 0; i < iNum; i++)
engclient_cmd(iPlayers[i], "weapon_knife");

console_print(id, "Knives Only has been turned on.");
}
Subb98
16.11.2016, 10:13 Склад маленьких плагинов
FOXSAN, удали 81 строку, следующий раз ссылку на исходник прикрепляй.
Код:
const MAX_NAME_LENGTH   = 32
FOXSAN
15.11.2016, 7:49 Типо only headshot
asigloch, да, почти тоже самое, нет только меню с голосованием, все так как тебе нужно.
asigloch
14.11.2016, 17:42 Меню заказа песен
Captain, пробуй
[attachment=42211:zp_music_end_round.sma]
Captain, ssx
14.11.2016, 14:54 Типо only headshot
Когда-то делал плагин одному человеку, но он ему не понадобился.
Плагин не тестировался. Есть поддержка ботов и ножа, все настраивается через дефайны.
[attachment=42209:onhs.sma]
asigloch, ssx

3 страниц V   1 2 »