Иконка ресурса

Lite Rank System 1.5

Нет прав для скачивания
Сообщения
264
Реакции
80
Помог
1 раз(а)
Пользователь REVO разместил новый ресурс:

RE Lite Rank System - Плагин званий на сервере

Переделка плагина: Lite Rank System V2.3
Переписан код под ReAPI и вырезано все лишнее. (Голый ранг мод)
Расчёт звания по статистике: CSX (По фрагам + HS и переменным: lrs_add_exp, lrs_add_exp_hs)
Поддержка (SQL) статистики: SerFreeman1337 и SKAJIbnEJIb
Имеется native на вывод звания в чат, с помощью стороннего плагина: Lite Translit
Возможность: Вкл/Выкл HUD информера
Возможность: Вкл/Выкл в информере сколько осталось очков опыта, до получения следующего звания
Оповещение игроков в чате о...
Узнать больше об этом ресурсе...
 
Сообщения
34
Реакции
46
Помог
1 раз(а)
тот самый момент, когда написал то же самое, а это выложили :)
только моя версия совместима с api aes 0.5 чтоб не переписывать остальные.

зачёт. но можно было сделать ещё меньше )
 
Последнее редактирование:
Сообщения
215
Реакции
25
Помог
1 раз(а)
Ge3eR, скинь свой плагин если не трудно )
 
Сообщения
34
Реакции
46
Помог
1 раз(а)
ade888, не хочется засорять автору обсуждения, он старался.
чуть позже зарелизю.
 
Сообщения
2,750
Реакции
3,013
Помог
61 раз(а)
Ge3eR, вы главное удобство пользования не испортите. Ланг файлы для нормальных серверов - нужны.
 
Сообщения
215
Реакции
25
Помог
1 раз(а)
Сделайте так чтобы уровни брались через .ini или .txt файла
 
Сообщения
264
Реакции
80
Помог
1 раз(а)
Пользователь REVO обновил ресурс Lite Rank System новой записью:

Обновлено до версии 1.5

Исправлены критические ошибки!
1: Убраны лишние проверки.
2: Переписан немного информер.
3: Исправлена ошибка при взятии last уровня.
4: Переписана формула расчёта опыта по стате.
5: Добавлена информация о игроке при наведении на него прицела.
#define STATUS_VALUE
Узнать больше об этом обновлении...
 
Сообщения
2,750
Реакции
3,013
Помог
61 раз(а)
REVO обсудите это с автором.
Код:

public CBasePlayer_Killed_Post(const victim, killer, iGib)
{
if (!get_bit(g_Connected, killer) && !(UserData[killer][level] < 21)) // 1) Что такое 21?
return

if (!IsUserValid(killer) || !IsUserValid(victim) || killer == victim)
return

static szName[32]
// 2) этому есть адекватное объяснение и оправдание перед get_user_name() ?
get_entvar(killer, var_netname, szName, 31)

if (UserData[killer][level] <= 0)
UserData[killer][level] = 1

if (UserData[killer][exp] < 0)
UserData[killer][exp] = 0

static TempEXP, headshot
headshot = get_member(victim, m_bHeadshotKilled)

// 3) Тут по сути headshot - булевая. Тогда правильнее так: static bool: headshot; if(headshot) {...}
TempEXP = (headshot == 1) ? get_pcvar_num(g_Cvar[2]) : get_pcvar_num(g_Cvar[1])
UserData[killer][exp] += TempEXP

if (UserData[killer][exp] >= LEVELS[UserData[killer][level] +1])
{
UserData[killer][level] ++
// 4) Зачем для всех воспроизводить звук, что один из игроков достиг "личной боевой задачи"? Так и задуманно, мешать игрокам?
client_cmd(0, "spk events/task_complete")
client_print_color(0, print_team_default, "^1[^4LRS^1] Боец ^3%s ^1получил новое звание - ^4%s^1. Поздравляем!", szName, CLASSES[UserData[killer][level]])
}
}



1) магические числа - не лучшее
2) https://github.com/alliedmodders/am...aa2aeddb71042cd/amxmodx/amxmodx.cpp#L660-L669
3) https://github.com/s1lentq/ReGameDL...c195444/regamedll/dlls/player.cpp#L1830-L1831
4) Если так и было задуманно, то ок... (ок, задумка автора)
 
Последнее редактирование:
  • Нравится
Реакции: REVO
Сообщения
264
Реакции
80
Помог
1 раз(а)
wopox1337, Всё так как и должно быть! Всё работает как часы..:beee: И изменятся не будет!
 
Сообщения
2,750
Реакции
3,013
Помог
61 раз(а)
REVO, я полагаю, это ответ лишь по 4 пункту.
А, первые три пункта? :scratch_one-s_head:
 
Сообщения
264
Реакции
80
Помог
1 раз(а)
REVO, я полагаю, это ответ лишь по 4 пункту.
А, первые три пункта? :scratch_one-s_head:
Код:
if (!get_bit(g_Connected, killer) && !(UserData[killer][level] < 21)) // 1) Что такое 21?

если есть 21 уровень то код выполнятся не будет для игрока
Код:
get_user_name vs get_entvar(killer, var_netname, szName, 31)

Код:
    // 3) Тут по сути headshot - булевая. Тогда правильнее так: static bool: headshot; if(headshot) {...}
TempEXP = (headshot == 1) ? get_pcvar_num(g_Cvar[2]) : get_pcvar_num(g_Cvar[1])
UserData[killer][exp] += TempEXP

код про hs был взят у неугомона.
// 4) Зачем для всех воспроизводить звук, что один из игроков достиг "личной боевой задачи"? Так и задуманно, мешать игрокам?
Для стимуляции! Пусть знают, кто апнул званием. Паблик же. :hunter:
 
Сообщения
265
Реакции
315
Помог
10 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
get_user_name vs get_entvar(killer, var_netname, szName, 31)
как бы вопрос в том, почему используется entvar, а не натива специальная для ника... ?
код про hs был взят у неугомона.
ну уж надо было нормально "брать", а не выдрать криво :)
если есть 21 уровень то код выполнятся не будет для игрока
21 нельзя заменить на charsmax(массив с уровнями)?
 
  • Нравится
Реакции: REVO
Сообщения
2,750
Реакции
3,013
Помог
61 раз(а)
get_user_name vs get_entvar(killer, var_netname, szName, 31)
я не понял ответа суть. Я знаю что обе нативы обозначают, но, какой смысл замены?

если есть 21 уровень то код выполнятся не будет для игрока
почему, тот самый максимально, изначально известный, уровень - не занесён в константу или не предопределён условием кода?
Например, const MAX_LEVELS = 21;? тому, кто смотрит код, или использует его, придётся немножечко погадать. статья на вики - никем не была прочтена?

код про hs был взят у неугомона
и, что? сути не меняет ни капли. :pardon: хоть у кого код бери, а стандартизация - не сменится.
 
Последнее редактирование:
  • Нравится
Реакции: REVO
Сообщения
264
Реакции
80
Помог
1 раз(а)
У меня нет ответов на ваши вопросы. Я не скриптер, и не автор плагина.
Конечно если можно и нужно, сделать реализацию плагина иначе, я только за.

Прощу прошения, если что не так сделал..:beee:
 
Сообщения
36
Реакции
2
Помог
2 раз(а)
Согласен с wopox1337 , звук при повышении уровня раздражает (жаловались сами игроки). Тем более когда на сервере 32/32, новый зашедший игрок может через 10 минут поднять свой уровень. И слушать этот звук без конца надоедает.
 
Последнее редактирование модератором:

hajimura

Е777КХ05
Сообщения
290
Реакции
228
Помог
6 раз(а)
Код:
headshot = get_member(victim, m_bHeadshotKilled)
TempEXP = (headshot == 1) ? get_pcvar_num(g_Cvar[2]) : get_pcvar_num(g_Cvar[1])

->
Код:
new bool:bHeadshot;
bHeadshot = get_member(victim, m_bHeadshotKilled)
TempEXP = (bHeadshot == true) ? get_pcvar_num(g_Cvar[2]) : get_pcvar_num(g_Cvar[1])
 
Сообщения
265
Реакции
315
Помог
10 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Phantom,
не варик?
TempEXP = get_member(victim, m_bHeadshotKilled) ? get_pcvar_num(g_Cvar[2]) : get_pcvar_num(g_Cvar[1])
 

hajimura

Е777КХ05
Сообщения
290
Реакции
228
Помог
6 раз(а)
neygomon, че ты меня спрашиваешь? Автора плагина спроси. А вообще, я дальше код не стал смотреть, думал, что эта переменная еще где-то используется
 
Последнее редактирование:
Сообщения
264
Реакции
80
Помог
1 раз(а)
Последнее редактирование модератором:
Сообщения
2,750
Реакции
3,013
Помог
61 раз(а)
1) Название апдейта должно быть формата: Обновлено до версии 1.5
2) В описании апдейта - должны быть выражены по пунктам изменения.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу