Ошибка компиляции Lite Rank System при попытке добавить званий

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
Ошибка
Ошибка компиляции:
Segmentation fault
Компилятор
WEB-компилятор
Amx Mod X
1.9.0
Исходный код
/*
Автор плагина: Анатолий (AcE) Бойко.
Моя страничка: https://vk.com/e1337ace
Профиль Steam: http://steamcommunity.com/profiles/76561198038775603/

Настройка плагина:

#define CS_MYSQL - Статистика by SKAJIbnEJIb
#define CS_MYSQL_HUD_SKILL - Скилл игрока на на худе.

#define CSSTATSX_SQL - Статистика by SerFreeman1337
#define CSSTATSX_SQL_HUD_SKILL - Скилл игрока на на худе.

Если закомментировать #define CS_MYSQL и #define CSSTATSX_SQL
то плагин будет работать со стандартной статистикой csx, csstats

#define STATUS_VALUE - Информация о игроке под прицелом.
#define HUD_POSITION - Позиция игрока (на худе) в статистике.
*/

#define AUTHOR "AcE"
#define VERSION "1.5"
#define PLUGIN "Lite Rank System"
#define LASTUPDATE "4, December (12), 2017"

#include <amxmodx>
#include <reapi>

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#define argbreak strbreak
#define client_disconnected client_disconnect
#endif

//#define CS_MYSQL
//#define CS_MYSQL_HUD_SKILL
//#define CSSTATSX_SQL
//#define CSSTATSX_SQL_HUD_SKILL
#define HUD_POSITION
//#define STATUS_VALUE

#if defined CS_MYSQL
native csstats_get_statsnum()
native csstats_get_user_stats(id, stats[22])
#if defined CS_MYSQL_HUD_SKILL
#define FRAGS 0
#define DEATHS 1
native statsx_get_skill(stats[22], string[] = "", len = 0)
#endif
#endif

#if defined CSSTATSX_SQL
native get_statsnum_sql()
native get_user_stats_sql(index, stats[8], bodyhits[8])
#if defined CSSTATSX_SQL_HUD_SKILL
native get_user_skill(player, &Float:skill)
new const g_skill_letters[][] = {"L-", "L", "L+", "M-", "M", "M+", "H-", "H", "H+", "P-", "P", "P+", "G"}
new Float:g_skill_opt[sizeof g_skill_letters]
#endif
#endif

#if !defined CS_MYSQL && !defined CSSTATSX_SQL
#include <csstats>
#endif

#if defined STATUS_VALUE
enum _:MAX_TYPES {TYPE_NONE, TYPE_RELATION, TYPE_PLAYER}
enum {LOOK_FRIEND = 1, LOOK_ENEMY, LOOK_HOSTAGE}
enum _:MAX_REPLACES {RE_HP, RE_RANK, RE_NAME}
new const Replaces[MAX_REPLACES][] = {"%hp%", "%rank%", "%name%"}
new status_value[MAX_TYPES], gStatusText
#endif

enum _:udata
{
level, exp, informer
}

new UserData[33][udata]
new Float:HudUpdateInterval
new g_Cvar[9], LEVELS[101], g_Connected

#define IsUserValid(%1) (1 <= %1 <= 32)
#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) (%1 |= (1 << (%2 & 31)))
#define reset_bit(%1,%2) (%1 &= ~(1 << (%2 & 31)))

new const CLASSES[][] =
{
"", "1 LVL | Новичек", "2 LVL | Новичек", "3 LVL | Новичек",
"4 LVL | Новичек", "5 LVL | Новичек", "6 LVL | Нуб",
"7 LVL | Нуб", "8 LVL | Нуб", "9 LVL | Нуб",
"10 LVL | Нуб", "11 LVL | Неопытный", "12 LVL | Неопытный",
"13 LVL | Неопытный", "14 LVL | Неопытный", "15 LVL | Неопытный",
"16 LVL | Начинающий", "17 LVL | Начинающий", "18 LVL | Начинающий",
"19 LVL | Начинающий", "20 LVL | Начинающий", "21 LVL | Неплох",
"22 LVL | Неплох", "23 LVL | Неплох", "24 LVL | Неплох",
"25 LVL | Неплох", "26 LVL | Довольно приличный", "27 LVL | Довольно приличный",
"28 LVL | Довольно приличный", "29 LVL | Довольно приличный", "30 LVL | Довольно приличный",
"31 LVL | Просто нереальный", "32 LVL | Просто нереальный", "33 LVL | Просто нереальный",
"34 LVL | Просто нереальный", "35 LVL | Просто нереальный", "36 LVL | Задира",
"37 LVL | Задира", "38 LVL | Задира", "39 LVL | Задира",
"40 LVL | Задира", "41 LVL | Ниндзя", "42 LVL | Ниндзя",
"43 LVL | Ниндзя", "44 LVL | Ниндзя", "45 LVL | Ниндзя",
"46 LVL | Мясник", "47 LVL | Мясник", "48 LVL | Мясник",
"49 LVL | Мясник", "50 LVL | Мясник", "51 LVL | Мастер",
"52 LVL | Мастер", "53 LVL | Мастер", "54 LVL | Мастер",
"55 LVL | Мастер", "56 LVL | Маньяк", "57 LVL | Маньяк",
"58 LVL | Маньяк", "59 LVL | Маньяк", "60 LVL | Маньяк",
"61 LVL | Мародер", "62 LVL | Мародер", "63 LVL | Мародер",
"64 LVL | Мародер", "65 LVL | Мародер", "66 LVL | Серийный убийца",
"67 LVL | Серийный убийца", "68 LVL | Серийный убийца", "69 LVL | Серийный убийца",
"70 LVL | Серийный убийца", "71 LVL | Ветеран", "72 LVL | Ветеран",
"73 LVL | Ветеран", "74 LVL | Ветеран", "75 LVL | Ветеран",
"76 LVL | Легенда", "77 LVL | Легенда", "78 LVL | Легенда",
"79 LVL | Легенда", "80 LVL | Легенда", "81 LVL | Воин севера",
"82 LVL | Воин севера", "83 LVL | Воин севера", "84 LVL | Воин севера",
"85 LVL | Воин севера", "86 LVL | Властелин", "87 LVL | Властелин",
"88 LVL | Властелин", "89 LVL | Властелин", "90 LVL | Властелин",
"91 LVL | Самурай", "92 LVL | Самурай", "93 LVL | Самурай",
"94 LVL | Самурай", "95 LVL | Самурай", "96 LVL | Сама смерть",
"97 LVL | Сама смерть", "98 LVL | Сама смерть", "99 LVL | Сама смерть",
"100 LVL | Бог ножей"
}

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("lrs_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY | FCVAR_UNLOGGED)

#if defined STATUS_VALUE
gStatusText = get_user_msgid("StatusText")
register_event("StatusValue", "StatusValueShow", "be")
#endif

RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed_Post", true)
register_clcmd("say /lrshud", "informer_switch", 0, "switch experience informer on/off")
g_Cvar[1] = register_cvar("lrs_add_exp", "1")
g_Cvar[2] = register_cvar("lrs_add_exp_hs", "2")
g_Cvar[3] = register_cvar("lrs_levels", "0 5 10 20 35 55 80 110 145 185 230 280 335 395 460 530 605 685 770 860 955 1055 1160 1270 1385 1505 1630 1760 1895 2035 2180 2330 2485 2645 2810 2980 3155 3335 3520 3710 3905 4105 4310 4520 4735 4955 5180 5410 5645 5885 6130 6385 6650 6925 7210 7505 7810 8125 8450 8785 9130 9485 9850 10225 10610 11005 11410 11825 12250 12685 13130 13585 14050 14525 15010 15500 15995 16495 17000 17510 18025 18550 19085 19630 20185 20750 21325 21910 22505 23110 23725 24350 24985 25630 26285 26950 27625 28310 29005 30000")
g_Cvar[4] = register_cvar("lrs_hud_exp_type", "0")
g_Cvar[5] = register_cvar("lrs_hud_xypos", "0.01 0.22")
g_Cvar[6] = register_cvar("lrs_hud_color", "50 255 50")
g_Cvar[7] = register_cvar("lrs_hud_random_color", "0")
g_Cvar[8] = register_cvar("lrs_hud_update", "1.0")
HudUpdateInterval = get_pcvar_float(g_Cvar[8])
set_task(HudUpdateInterval, "lrs_informer", _, _, _, "b")
}

public plugin_cfg()
{
new LVL[101][16], cvLevels[1024]
get_pcvar_string(g_Cvar[3], cvLevels, 255); trim(cvLevels)
parse(cvLevels, LVL[0], 15, LVL[1], 15, LVL[2], 15, LVL[3], 15, LVL[4], 15, LVL[5], 15, LVL[6], 15, LVL[7], 15, LVL[8], 15, LVL[9], 15, LVL[10], 15, LVL[11], 15, LVL[12], 15, LVL[13], 15, LVL[14], 15, LVL[15], 15, LVL[16], 15, LVL[17], 15, LVL[18], 15, LVL[19], 15, LVL[20], 15, LVL[21], 15, LVL[22], 15, LVL[23], 15, LVL[24], 15, LVL[25], 15, LVL[26], 15, LVL[27], 15, LVL[28], 15, LVL[29], 15, LVL[30], 15, LVL[31], 15, LVL[32], 15, LVL[33], 15, LVL[34], 15, LVL[35], 15, LVL[36], 15, LVL[37], 15, LVL[38], 15, LVL[39], 15, LVL[40], 15, LVL[41], 15, LVL[42], 15, LVL[43], 15, LVL[44], 15, LVL[45], 15, LVL[46], 15, LVL[47], 15, LVL[48], 15, LVL[49], 15, LVL[50], 15, LVL[51], 15,LVL[52], 15, LVL[53], 15, LVL[54], 15, LVL[55], 15, LVL[56], 15, LVL[57], 15, LVL[58], 15, LVL[59], 15, LVL[60], 15, LVL[61], 15, LVL[62], 15, LVL[63], 15, LVL[64], 15, LVL[65], 15, LVL[66], 15, LVL[67], 15, LVL[68], 15, LVL[69], 15, LVL[70], 15, LVL[71], 15, LVL[72], 15, LVL[73], 15, LVL[74], 15, LVL[75], 15, LVL[76], 15, LVL[77], LVL[78], 15, LVL[79], 15, LVL[80], 15, LVL[81], 15, LVL[82], 15, LVL[83], 15, LVL[84], 15, LVL[85], 15, LVL[86], 15, LVL[87], 15, LVL[88], 15, LVL[89], 15, LVL[90], 15, LVL[91], 15, LVL[92], 15, LVL[93], 15, LVL[94], 15, LVL[95], 15, LVL[96], 15, LVL[97], 15, LVL[98], 15, LVL[99], 15, LVL[100], 15)
for (new i = 0; i < 100; i ++)
LEVELS[i +1] = str_to_num(LVL[i])

#if defined CSSTATSX_SQL
#if defined CSSTATSX_SQL_HUD_SKILL
new levelString[512], stPos, ePos, rawPoint[20], cnt
new g_pCvarSkill = get_cvar_pointer("aes_statsx_skill")
get_pcvar_string(g_pCvarSkill, levelString, charsmax(levelString))
do {
ePos = strfind(levelString[stPos], " ")
formatex(rawPoint, ePos, levelString[stPos])
g_skill_opt[cnt] = str_to_float(rawPoint)
stPos += ePos + 1; cnt ++
if (cnt > sizeof g_skill_letters - 1)
break
} while(ePos != -1)
#endif
#endif

server_print(""); server_print(" %s Copyright (c) 2017 %s", PLUGIN, AUTHOR)
server_print(" Version %s build on %s", VERSION, LASTUPDATE); server_print("")
}

public client_putinserver(id)
{
set_bit(g_Connected, id)
arrayset(UserData[id], 0, udata)
set_task(0.9, "load_client_data", id + 555)
}

public client_disconnected(id)
reset_bit(g_Connected, id)

public load_client_data(index)
{
new id = index - 555

if (!get_bit(g_Connected, id)) return

#if defined CS_MYSQL
new st[22]
csstats_get_user_stats(id, st)
#endif
#if defined CSSTATSX_SQL
new st[8], bh[8]
get_user_stats_sql(id, st, bh)
#endif
#if !defined CS_MYSQL && !defined CSSTATSX_SQL
new st[8], bh[8]
get_user_stats(id, st, bh)
#endif

if (UserData[id][level] <= 1)
UserData[id][level] = 1

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

if (get_pcvar_num(g_Cvar[2]) > 1)
{
new not_hs_num = st[0] - st[2]
new hs_points = st[2] * get_pcvar_num(g_Cvar[2])
new not_hs_points = not_hs_num * get_pcvar_num(g_Cvar[1])
UserData[id][exp] = hs_points + not_hs_points
}
else
{
UserData[id][exp] = (st[0] * get_pcvar_num(g_Cvar[1]))
}
for (new i = 1; i <= 100; i ++)
{
if (i < 100)
{
if (UserData[id][exp] >= LEVELS[i] && UserData[id][exp] < LEVELS[i +1])
UserData[id][level] = i
else if (UserData[id][exp] >= LEVELS[100])
UserData[id][level] = 100
}
}
}

public CBasePlayer_Killed_Post(const victim, killer, iGib)
{
if (!get_bit(g_Connected, killer))
return

if (!IsUserValid(killer) || !IsUserValid(victim) || killer == victim || get_member(victim, m_bKilledByBomb))
return

static szName[32]
get_entvar(killer, var_netname, szName, 31)

if (UserData[killer][level] < 100)
{
static TempEXP
TempEXP = get_member(victim, m_bHeadshotKilled) ? 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] ++
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]])
}
}
}

public lrs_informer()
{
static id, target
static buffer[192], len, SyncHudMsg
if (!SyncHudMsg) SyncHudMsg = CreateHudSyncObj()

for (id = 1; id <= 32; id ++)
{
if (!get_bit(g_Connected, id)) continue
if (UserData[id][informer]) continue
ClearSyncHud(id, SyncHudMsg)
target = get_entvar(id, var_iuser2)

#if defined HUD_POSITION
static g_rank[33], g_maxrank
#if defined CS_MYSQL
static st[22]
g_maxrank = csstats_get_statsnum()
g_rank[id] = csstats_get_user_stats(id, st)
g_rank[target] = csstats_get_user_stats(target, st)
#endif
#if defined CSSTATSX_SQL
static st[8], bh[8]
g_maxrank = get_statsnum_sql()
g_rank[id] = get_user_stats_sql(id, st, bh)
g_rank[target] = get_user_stats_sql(target, st, bh)
#endif
#if !defined CS_MYSQL && !defined CSSTATSX_SQL
static st[8], bh[8]
g_maxrank = get_statsnum()
g_rank[id] = get_user_stats(id, st, bh)
g_rank[target] = get_user_stats(target, st, bh)
#endif
#endif

if (is_user_alive(id))
{
len = format(buffer, charsmax(buffer), "Звание: %s", CLASSES[UserData[id][level]])
if (UserData[id][level] < 100)
{
if (get_pcvar_num(g_Cvar[4]) == 0)
len += format(buffer[len], charsmax(buffer) - len, "^nОпыт: [%d/%d]", UserData[id][exp], LEVELS[UserData[id][level] +1])
else len += format(buffer[len], charsmax(buffer) - len, "^nОпыт: [%d/%d] [+%d]", UserData[id][exp], LEVELS[UserData[id][level] +1], (LEVELS[UserData[id][level] +1] - UserData[id][exp]))
}
else
{
len += format(buffer[len], charsmax(buffer) - len, "^nОпыт: Максимальный")
}
#if defined CS_MYSQL
#if defined CS_MYSQL_HUD_SKILL
new iRank = csstats_get_user_stats(id, st)
if (iRank > 0)
{
if (st[FRAGS] && st[DEATHS])
{
new szSkill[3], iSkill = statsx_get_skill(st, szSkill, charsmax(szSkill))
len += format(buffer[len], charsmax(buffer) - len, "^nСкилл: [%s|%d]", szSkill, iSkill)
}
}
#endif
#endif
#if defined CSSTATSX_SQL
#if defined CSSTATSX_SQL_HUD_SKILL
new Float:szSkill, szSkill_id
get_user_skill(id, szSkill)
szSkill_id = aes_statsx_get_skill_id(szSkill)
len += format(buffer[len], charsmax(buffer) - len, "^nСкилл: [%s|%.0f]", g_skill_letters[szSkill_id], szSkill)
#endif
#endif
#if defined HUD_POSITION
len += format(buffer[len], charsmax(buffer) - len, "^nПозиция: [%d из %d]", g_rank[id], g_maxrank)
#endif
}
else
{
if (target > 0 && !is_user_alive(id))
{
static szName[32]
get_entvar(target, var_netname, szName, 31)
len = format(buffer, charsmax(buffer), "Ник: %s", szName)
len += format(buffer[len], charsmax(buffer) - len, "^nЗвание: %s", CLASSES[UserData[target][level]])
if (UserData[target][level] < 10011:46 29.06.2018)
{
if (get_pcvar_num(g_Cvar[4]) == 0)
len += format(buffer[len], charsmax(buffer) - len, "^nОпыт: [%d/%d]", UserData[target][exp], LEVELS[UserData[target][level] +1])
else len += format(buffer[len], charsmax(buffer) - len, "^nОпыт: [%d/%d] [+%d]", UserData[target][exp], LEVELS[UserData[target][level] +1], (LEVELS[UserData[target][level] +1] - UserData[target][exp]))
}
else
{
len += format(buffer[len], charsmax(buffer) - len, "^nОпыт: Максимальный")
}
#if defined CS_MYSQL
#if defined CS_MYSQL_HUD_SKILL
new iRank = csstats_get_user_stats(target, st)
if (iRank > 0)
{
if (st[FRAGS] && st[DEATHS])
{
new szSkill[3], iSkill = statsx_get_skill(st, szSkill, charsmax(szSkill))
len += format(buffer[len], charsmax(buffer) - len, "^nСкилл: [%s|%d]", szSkill, iSkill)
}
}
#endif
#endif
#if defined CSSTATSX_SQL
#if defined CSSTATSX_SQL_HUD_SKILL
new Float:szSkill, szSkill_id
get_user_skill(target, szSkill)
szSkill_id = aes_statsx_get_skill_id(szSkill)
len += format(buffer[len], charsmax(buffer) - len, "^nСкилл: [%s|%.0f]", g_skill_letters[szSkill_id], szSkill)
#endif
#endif
#if defined HUD_POSITION
len += format(buffer[len], charsmax(buffer) - len, "^nПозиция: [%d из %d]", g_rank[target], g_maxrank)
#endif
}
}
static r, g, b, Float:x, Float:y
HudMsgPos(x, y); HudMsgColor(g_Cvar[6], r, g, b)
if (get_pcvar_num(g_Cvar[7]) == 0)
set_hudmessage(r, g, b, x, y, 0, 0.0, HudUpdateInterval, _, _, -1)
else set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), x, y, 0, 0.0, HudUpdateInterval, _, _, -1)
ShowSyncHudMsg(id, SyncHudMsg, "%s", buffer)
}
}

public informer_switch(id)
{
if (!get_bit(g_Connected, id)) return

if (UserData[id][informer])
{
UserData[id][informer] = 0
client_cmd(id, "spk fvox/activated")
client_print_color(id, print_team_default, "^1[^4LRS^1] ^3Информер звания ^1<^4Включён^1>")
}
else
{
UserData[id][informer] = 1
client_cmd(id, "spk fvox/deactivated")
client_print_color(id, print_team_default, "^1[^4LRS^1] ^3Информер звания ^1<^4Выключен^1>")
}
}

#if defined STATUS_VALUE
public StatusValueShow(id)
{
new num = read_data(1)
if (num <= 0 || num >= MAX_TYPES) return
new update = status_value[num] = read_data(2)
switch(num)
{
case TYPE_RELATION:
{
if (!update && is_user_alive(id))
{
message_begin(MSG_ONE_UNRELIABLE, gStatusText, _, id)
write_byte(0); write_string(""); message_end()
}
}
case TYPE_PLAYER:
{
if (is_user_alive(id))
{
new message[192]
switch(status_value[TYPE_RELATION])
{
case LOOK_FRIEND:
{
copy(message, charsmax(message), "Друг: %name% ХП: %hp% Ранг: %rank%")
}
case LOOK_ENEMY:
{
copy(message, charsmax(message), "Враг: %name% Ранг: %rank%")
}
case LOOK_HOSTAGE:
{
return
}
}
EditMessage(message, update, true, get_user_health(update))
message_begin(MSG_ONE_UNRELIABLE, gStatusText, _, id)
write_byte(0); write_string(message); message_end()
}
}
}
}

EditMessage(message[192], player, bool:status_text, hp)
{
new temp[64]
if (is_user_alive(player))
{
for (new i; i < MAX_REPLACES; i++)
{
switch(i)
{
case RE_HP:
{
num_to_str(hp, temp, charsmax(temp))
}
case RE_RANK:
{
format(temp, charsmax(temp), "%s", CLASSES[UserData[player][level]])
}
case RE_NAME:
{
if (status_text)
copy(temp, charsmax(temp), "%p2")
else
get_user_name(player, temp, charsmax(temp))
}
default:
{
copy(temp, charsmax(temp), "")
}
}
replace(message, charsmax(message), Replaces[i], temp)
}
}
trim(message)
}
#endif

public plugin_natives()
register_native("lrs_get_level_name", "_lrs_get_level_name")

public _lrs_get_level_name(plugin, params)
{
new buffer[192]
new id = get_param(1)
new len = get_param(3)
format(buffer, len, "%s", CLASSES[UserData[id][level]])
set_string(2, buffer, len)
}

stock HudMsgPos(&Float:x, &Float:y)
{
static coords[16], piece[10]
get_pcvar_string(g_Cvar[5], coords, 15)
argbreak(coords, piece, 9, coords, 15)
x = str_to_float(piece)
y = str_to_float(coords)
}

stock HudMsgColor(cvar, &r, &g, &b)
{
static color[16], piece[5]
get_pcvar_string(cvar, color, 15)
argbreak(color, piece, 4, color, 15)
r = str_to_num(piece)
argbreak(color, piece, 4, color, 15)
g = str_to_num(piece)
b = str_to_num(color)
}

#if defined CSSTATSX_SQL
#if defined CSSTATSX_SQL_HUD_SKILL
aes_statsx_get_skill_id(Float:szSkill)
{
for (new i; i < sizeof g_skill_opt; i ++)
{
if (szSkill < g_skill_opt[i])
{
return i
}
}
return (sizeof g_skill_opt - 1)
}
#endif
#endif
Ошибка компиляции Lite Rank System при попытке добавить званий. На онлайн компиляторе возникает вышеуказанная ошибка, локальный компилятор просто отказывается работать.

Снимок.JPG

P.s. при добавлении до 50 званий все шло нормально, попытался добавить 60+, уже выходит эта ошибка. Помогите пожалуйста
P.p.s в оригинале там
Код:
cvLevels[256]
 
В этой теме было размещено решение! Перейти к решению.
Последнее редактирование:
Сообщения
345
Реакции
77
Помог
14 раз(а)
Почему в оригинале:
Код:
    "", "Курсант", "Рядовой", "Ефрейтор",
    "Мл. Сержант", "Сержант", "Ст. Сержант",
    "Старшина", "Прапорщик", "Ст. Прапорщик",
    "Мл. Лейтенант", "Лейтенант", "Ст. Лейтенант",
    "Капитан", "Майор", "Подполковник",
    "Полковник", "Генерал-майор", "Генерал-лейтенант",
    "Генерал-полковник", "Генерал армии", "Маршал РФ"
У вас же:
Код:
    "", "1 LVL | Новичек", "2 LVL | Новичек", "3 LVL | Новичек",
    "4 LVL | Новичек", "5 LVL | Новичек", "6 LVL | Нуб",
    "7 LVL | Нуб", "8 LVL | Нуб", "9 LVL | Нуб",
    "10 LVL | Нуб", "11 LVL | Неопытный", "12 LVL | Неопытный",
    "13 LVL | Неопытный", "14 LVL | Неопытный", "15 LVL | Неопытный",
    "16 LVL | Начинающий", "17 LVL | Начинающий", "18 LVL | Начинающий",
    "19 LVL | Начинающий", "20 LVL | Начинающий", "21 LVL | Неплох",
29 Июн 2018
Дело совсем не в количестве званий
29 Июн 2018
Хотя может и я что-то не знаю, но точно не в количестве званий проблема...
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
KOLOKOLb4UK, и что у меня не так?

Не понял суть вашего сообщения. Ну другие названия званий. И что?
 
Сообщения
345
Реакции
77
Помог
14 раз(а)
KOLOKOLb4UK, и что у меня не так?

Не понял суть вашего сообщения. Ну другие названия званий. И что?
Я не застал ваше редактирование топика. К сожалению я ни чем помочь не могу, ожидайте, может кто-то поможет.
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
Скорей всего причина в нативе parse. Подозреваю что слишком много аргументов передано. Возмите MARS например. Зачем вам именно этот плагин
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
fantom, потому что я не шарю в коде почти, а в LRS есть готовый натив для вывода звания в чат с Lite Translit. Я рассматривал MARS, но не знаю как для него сделать вывод.
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
sbelov020, MARS умеет имитировать AES. А Это занчит что обычный LT без переделок сумеет работать с ним

P.S. Я удержуть от коментирования разницы качества кода. Но только скажу как бы я сделал. Взял бы AES (fork от Sonyx) + Chat Manager от Mistrick и не парил бы себе мозги. Провереный вариант. Ну или так как умею написал бы сам себе свои системы.
 
Сообщения
496
Реакции
621
Помог
16 раз(а)
Я же вам отписывал строки, где надо править.
И да, соглашусь с фантомом, плагин - такое себе. Убрана мультиязычность и конфиг типа в угоду скорости.
А вот перед нами скайрим, обливион, морровинд. И конфиги длиной в километр. Наверное в бетезде идиоты работают.
Да и любая нормальная игра в принципе содержит кучу вынесенных вовне настроек..
Берите приличный AES от Соникса и не заморачивайтесь оптимизацией там, где её нет. Убран ланг и конфиг? Молодец, сэкономил 500 тактов проца. А он их делает 3 миллиона в секунду.
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
fantom, сейчас попробую, спасибо

Gudaus, я редактировал именно те строки. И до 50+ звания было все нормально, но когда я начал делать 60+ звания, то появилась такая ошибка в компиляции.
А данный плагин мне подходит, потому что там чисто ранг мод. Я делаю knife сервер, и в АES будет куча ненужных мне функций. Бонусы, бонусы за уровень, за повышение и тд
 
Сообщения
496
Реакции
621
Помог
16 раз(а)
Если вам не нужны бонусы - так не ставьте их или отключите.
 
Сообщения
46
Реакции
8
Предупреждения
100
Помог
3 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
fantom, сейчас попробую, спасибо

Gudaus, я редактировал именно те строки. И до 50+ звания было все нормально, но когда я начал делать 60+ звания, то появилась такая ошибка в компиляции.
А данный плагин мне подходит, потому что там чисто ранг мод. Я делаю knife сервер, и в АES будет куча ненужных мне функций. Бонусы, бонусы за уровень, за повышение и тд
Все намного проще, все бонусы отключаются в cfg и ini файле, не нужно брать всякие заумные системы и ломать мозги.
 
Статус
В этой теме нельзя размещать новые ответы.

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

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