Проблема с Map Manager by Mistrick

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
468
Реакции
249
Помог
6 раз(а)
Ошибка
L 08/16/2018 - 15:42:42: Start of error session.
L 08/16/2018 - 15:42:42: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20180816.log")
L 08/16/2018 - 15:42:42: Invalid CVAR pointer
L 08/16/2018 - 15:42:42: [AMXX] Run time error 10 (plugin "map_manager_scheduler.amxx") (native "get_pcvar_num") - debug not enabled!
L 08/16/2018 - 15:42:42: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 08/16/2018 - 19:47:22: Invalid CVAR pointer
L 08/16/2018 - 19:47:22: [AMXX] Displaying debug trace (plugin "map_manager_scheduler.amxx")
L 08/16/2018 - 19:47:22: [AMXX] Run time error 10: native error (native "get_pcvar_num")
L 08/16/2018 - 19:47:22: [AMXX] [0] map_manager_scheduler.sma::event_deathmsg (line 271)
ОС
Windows
Amx Mod X
AMX Mod X 1.8.2 (http://www.amxmodx.org)
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 13:12:29 Aug 29 2013 (6153)
ReGamedll
Не установлен
Версия Metamod
Metamod v1.21p37 2013/05/30 (5:13)
Список метамодулей
[ 1] VoiceTranscoder  RUN  -    vtc.so           v2017RC3 ini ANY
[ 2] AMX Mod X RUN - amxmodx.so v1.8.2 ini Start ANY
[ 3] dproto_EF RUN - dproto.so v0.9.582 ini Start Never
[ 4] LocalizeBug Fix RUN - localizebugfix.s v2.4 ini Start Never
[ 5] WHBlocker RUN - whblocker.so v1.5.692 ini ANY
[ 6] Semiclip RUN - semiclip.so v2.2 ini ANY
[ 7] Admin Free Look RUN - adminfreelook_am v1.5.3 pl2 ANY
[ 8] FakeMeta RUN - fakemeta_amxx_i3 v1.8.2 pl2 ANY
[ 9] Engine RUN - engine_amxx_i386 v1.8.2 pl2 ANY
[10] okapi RUN - okapi_amxx_i386. v1.0 pl2 ANY
[11] Orpheu RUN - orpheu_amxx_i386 v2.6.3 pl2 ANY
[12] CStrike RUN - cstrike_amxx_i38 v1.8.2 pl2 ANY
[13] Ham Sandwich RUN - hamsandwich_amxx v1.8.2 pl2 ANY
[14] MySQL RUN - mysql_amxx_i386. v1.8.2 pl2 ANY
[15] CSX RUN - csx_amxx_i386.so v1.8.2 pl2 ANY
[16] Fun RUN - fun_amxx_i386.so v1.8.2 pl2 ANY
Список плагинов
[ 1] Spam-NameBot            1.2.1 Aleksandr E. spam_name.amxx   running
[ 2] Advanced Gag 1.4.1 neygomon amx_gag.amxx running
[ 3] opengl detector 0.8.30cs kanagava opengl_detector running
[ 4] AIM detector 0.9.2cs kanagava aim_detector.am running
[ 5] Admin Loader 2.5.2 neygomon admin_loader_fo running
[ 6] FreshBans 1.3.6 kanagava fresh_bans.amxx running
[ 7] [Amx] SnipersLimit 03.09.2016 vk.com/CSPlugin amx_sniperslimi running
[ 8] Admin Chat 1.8.2 AMXX Dev Team adminchat.amxx running
[ 9] Menus Front-End 1.8.2 AMXX Dev Team menufront.amxx running
[ 10] Maps Menu 1.8.2 AMXX Dev Team mapsmenu.amxx running
[ 11] Restrict Weapons 1.8.2 AMXX Dev Team restmenu.amxx running
[ 12] Admin Votes 1.8.2 AMXX Dev Team adminvote.amxx running
[ 13] CS Stats Logging 1.8.2 AMXX Dev Team stats_logging.a running
[ 14] Screen Shot Menu 1.2 Bonaqua | DimaS screen_shot_men running
[ 15] Autoresponder/Advertis 0.5 MaximusBrood reklama_in_chat running
[ 16] Reset Score 1.0 SKAJIbnEJIb resetscore_rbs. running
[ 17] Aliases checker 0.8.2 kanagava alias_checker.a running
[ 18] AFK Manager v1.4d Leon McVeran afk_manager.amx running
[ 19] Lite Translit 2.74 neygomon lite_translit.a running
[ 20] StatsX GUI 1.8 AMXX Dev Team statsx_gui_skil running
[ 21] Auto Demo Recorder 2.2.1 F@nt0M auto_demo_recor running
[ 22] Parachute New 1.0 Csserv.Ru parachute_new.a running
[ 23] Lite Admin ESP 1.0 neygomon lite_admin_esp. running
[ 24] Auto Game Restart with 1.0 AbeX auto_rr.amxx running
[ 25] IDEAL VIP by Ba/lePa 3.2 Ba/lePa ideal_vip.amxx running
[ 26] Ping Control 1.31 neygomon ping_control.am running
[ 27] Admin Commands 1.8.2 AMXX Dev Team admincmd.amxx running
[ 28] Players Menu 1.8.2 AMXX Dev Team plmenu.amxx running
[ 29] Team Balance Control 1.3.9 gyxoBka team_balance_co running
[ 30] Stats Configuration 1.8.2 AMXX Dev Team statscfg.amxx running
[ 31] auto_change_map 1.0 Black_Hawk auto_change_map running
[ 32] Time Bonus 1.1 SKOBAR1K time_bonus.amxx running
[ 33] Night VIP 0.1 F@nt0M night_vip.amxx running
[ 34] Map Manager: Core 3.0.0-Beta Mistrick map_manager_cor debug
[ 35] Map Manager: Scheduler 0.0.9 Mistrick map_manager_sch debug
[ 36] Map Manager: Rtv 0.0.3 Mistrick map_manager_rtv debug
[ 37] Map Manager: Nominatio 0.0.7 Mistrick map_manager_nom debug
[ 38] Map Manager: BlockList 0.0.3 Mistrick map_manager_blo debug
[ 39] Map Manager: Online so 0.0.1 Mistrick map_manager_onl debug
[ 40] Map Manager: Effects 0.0.8 Mistrick map_manager_eff debug
[ 41] Map Manager: Informer 0.0.5 Mistrick map_manager_inf debug
[ 42] Map Manager: Advanced 0.0.4 Mistrick map_manager_adv debug
Автор плагина
Mistrick
Версия плагина
Map Manager [Modular] 3.0 Beta 4
Исходный код
#include <amxmodx>
#include <amxmisc>
#include <map_manager>

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

#define PLUGIN "Map Manager: Scheduler"
#define VERSION "0.0.9"
#define AUTHOR "Mistrick"

#pragma semicolon 1

#if !defined client_disconnected
#define client_disconnected client_disconnect
#endif

#define get_num(%0) get_pcvar_num(g_pCvars[%0])
#define set_num(%0,%1) set_pcvar_num(g_pCvars[%0],%1)
#define get_float(%0) get_pcvar_float(g_pCvars[%0])
#define set_float(%0,%1) set_pcvar_float(g_pCvars[%0],%1)
#define get_string(%0,%1,%2) get_pcvar_string(g_pCvars[%0],%1,%2)

#define EVENT_SVC_INTERMISSION "30"

enum (+=100) {
TASK_CHECKTIME,
TASK_DELAYED_CHANGE,
TASK_CHANGE_TO_DEFAULT
};

enum {
CHANGE_AFTER_VOTE,
CHANGE_NEXT_ROUND,
CHANGE_MAP_END
};

enum Cvars {
CHANGE_TYPE,
TIMELEFT_TO_VOTE,
ROUNDS_TO_VOTE,
FRAGS_TO_VOTE,
VOTE_IN_NEW_ROUND,
LAST_ROUND,
SECOND_VOTE,
SECOND_VOTE_PERCENT,
CHANGE_TO_DEFAULT,
DEFAULT_MAP,
EXTENDED_TYPE,
EXTENDED_MAX,
EXTENDED_TIME,
EXTENDED_ROUNDS,
MAXROUNDS,
WINLIMIT,
TIMELIMIT,
CHATTIME,
FRAGLIMIT,
FRAGSLEFT,
NEXTMAP
};

new g_pCvars[Cvars];

new bool:g_bVoteInNewRound;
new g_iTeamScore[2];
new Float:g_fOldTimeLimit;
new g_iExtendedNum;
new g_iVoteType;

new g_sSecondVoteMaps[2][MAPNAME_LENGTH];

new bool:g_bChangeMapNextRound;

new g_sPrefix[32];
new g_sCurMap[MAPNAME_LENGTH];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

g_pCvars[CHANGE_TYPE] = register_cvar("mapm_change_type", "1"); // 0 - after end vote, 1 - in round end, 2 - after end map
g_pCvars[TIMELEFT_TO_VOTE] = register_cvar("mapm_timeleft_to_vote", "2"); // minutes
g_pCvars[ROUNDS_TO_VOTE] = register_cvar("mapm_rounds_to_vote", "2"); // rounds
g_pCvars[FRAGS_TO_VOTE] = register_cvar("mapm_frags_to_vote", "5"); // frags
g_pCvars[VOTE_IN_NEW_ROUND] = register_cvar("mapm_vote_in_new_round", "0"); // 0 - disable, 1 - enable
g_pCvars[LAST_ROUND] = register_cvar("mapm_last_round", "0"); // 0 - disable, 1 - enable

g_pCvars[SECOND_VOTE] = register_cvar("mapm_second_vote", "0"); // 0 - disable, 1 - enable
g_pCvars[SECOND_VOTE_PERCENT] = register_cvar("mapm_second_vote_percent", "50");

g_pCvars[CHANGE_TO_DEFAULT] = register_cvar("mapm_change_to_default_map", "0"); // minutes, 0 - disable
g_pCvars[DEFAULT_MAP] = register_cvar("mapm_default_map", "de_dust2");

g_pCvars[EXTENDED_TYPE] = register_cvar("mapm_extended_type", "0"); // 0 - minutes, 1 - rounds
g_pCvars[EXTENDED_MAX] = register_cvar("mapm_extended_map_max", "3");
g_pCvars[EXTENDED_TIME] = register_cvar("mapm_extended_time", "15"); // minutes
g_pCvars[EXTENDED_ROUNDS] = register_cvar("mapm_extended_rounds", "3"); // rounds

g_pCvars[MAXROUNDS] = get_cvar_pointer("mp_maxrounds");
g_pCvars[WINLIMIT] = get_cvar_pointer("mp_winlimit");
g_pCvars[TIMELIMIT] = get_cvar_pointer("mp_timelimit");
g_pCvars[CHATTIME] = get_cvar_pointer("mp_chattime");
g_pCvars[FRAGLIMIT] = get_cvar_pointer("mp_fraglimit");
g_pCvars[FRAGSLEFT] = get_cvar_pointer("mp_fragsleft");


g_pCvars[NEXTMAP] = register_cvar("amx_nextmap", "", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY);

register_concmd("mapm_start_vote", "concmd_startvote", ADMIN_MAP);
register_concmd("mapm_stop_vote", "concmd_stopvote", ADMIN_MAP);

register_clcmd("votemap", "clcmd_votemap");

register_event("DeathMsg", "event_deathmsg", "a");
register_event("TeamScore", "event_teamscore", "a");
register_event("HLTV", "event_newround", "a", "1=0", "2=0");
// register_event("TextMsg", "event_restart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in");
register_event(EVENT_SVC_INTERMISSION, "event_intermission", "a");

set_task(10.0, "task_checktime", TASK_CHECKTIME, .flags = "b");
}
public plugin_cfg()
{
get_mapname(g_sCurMap, charsmax(g_sCurMap));
mapm_get_prefix(g_sPrefix, charsmax(g_sPrefix));
}
public plugin_natives()
{
register_library("map_manager_scheduler");

register_native("map_scheduler_start_vote", "native_start_vote");
register_native("is_vote_will_in_next_round", "native_vote_will_in_next_round");
register_native("is_last_round", "native_is_last_round");
}
public native_start_vote(plugin, params)
{
if(g_bVoteInNewRound) {
return 0;
}

enum { arg_type = 1 };
planning_vote(get_param(arg_type));

return 1;
}
public native_vote_will_in_next_round(plugin, params)
{
return g_bVoteInNewRound;
}
public native_is_last_round(plugin, params)
{
return g_bChangeMapNextRound;
}
public plugin_end()
{
if(g_fOldTimeLimit > 0.0) {
set_float(TIMELIMIT, g_fOldTimeLimit);
}
restore_limits();
}
restore_limits()
{
if(g_iExtendedNum) {
if(get_num(EXTENDED_TYPE) == EXTEND_ROUNDS) {
new win_limit = get_num(WINLIMIT);
if(win_limit) {
set_pcvar_num(g_pCvars[WINLIMIT], win_limit - g_iExtendedNum * get_num(EXTENDED_ROUNDS));
}
new max_rounds = get_num(MAXROUNDS);
if(max_rounds) {
set_pcvar_num(g_pCvars[MAXROUNDS], max_rounds - g_iExtendedNum * get_num(EXTENDED_ROUNDS));
}
} else {
new Float:timelimit = get_float(TIMELIMIT);
if(timelimit) {
new Float:restored_value = timelimit - float(g_iExtendedNum * get_num(EXTENDED_TIME));
set_float(TIMELIMIT, restored_value);
}
}
g_iExtendedNum = 0;
}
}
public concmd_startvote(id, level, cid)
{
if(!cmd_access(id, level, cid, 1)) {
return PLUGIN_HANDLED;
}

new name[32]; get_user_name(id, name, charsmax(name));
log_amx("%s started vote", id ? name : "Server");

planning_vote(VOTE_BY_CMD);

return PLUGIN_HANDLED;
}
public concmd_stopvote(id, level, cid)
{
if(!cmd_access(id, level, cid, 1)) {
return PLUGIN_HANDLED;
}

new name[32]; get_user_name(id, name, charsmax(name));
log_amx("%s stopped vote", id ? name : "Server");

mapm_stop_vote();

if(g_bVoteInNewRound) {
g_bVoteInNewRound = false;

if(g_fOldTimeLimit > 0.0) {
set_float(TIMELIMIT, g_fOldTimeLimit);
}
}

return PLUGIN_HANDLED;
}
public clcmd_votemap()
{
// Block default vote
return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
if(!is_user_bot(id) && !is_user_hltv(id)) {
remove_task(TASK_CHANGE_TO_DEFAULT);
}
}
public client_disconnected(id)
{
new Float:change_time = get_float(CHANGE_TO_DEFAULT);
if(change_time > 0.0 && !get_players_num(id)) {
set_task(change_time * 60, "task_change_to_default", TASK_CHANGE_TO_DEFAULT);
}
}
public task_change_to_default()
{
if(get_players_num()) {
return;
}

new default_map[MAPNAME_LENGTH]; get_string(DEFAULT_MAP, default_map, charsmax(default_map));

if(!is_map_valid(default_map)) {
return;
}

log_amx("map changed to default[%s]", default_map);
set_pcvar_string(g_pCvars[NEXTMAP], default_map);
intermission();
}
public task_checktime()
{
if(is_vote_started() || is_vote_finished() || get_float(TIMELIMIT) <= 0.0) {
return 0;
}

new Float:time_to_vote = get_float(TIMELEFT_TO_VOTE);

new timeleft = get_timeleft();
if(timeleft <= floatround(time_to_vote * 60.0) && get_players_num()) {
log_amx("[checktime]: start vote, timeleft %d", timeleft);

planning_vote(VOTE_BY_SCHEDULER);
}

return 0;
}
public event_deathmsg()
{
if(get_num(FRAGLIMIT)) {
if(get_num(FRAGSLEFT) <= get_num(FRAGS_TO_VOTE)) {
log_amx("[deathmsg]: start vote, fragsleft %d", get_num(FRAGSLEFT));
mapm_start_vote(VOTE_BY_SCHEDULER);
}
}
}
public event_teamscore()
{
new team[2]; read_data(1, team, charsmax(team));
g_iTeamScore[(team[0] == 'C') ? 0 : 1] = read_data(2);
}
public event_newround()
{
new max_rounds = get_num(MAXROUNDS);
if(!is_vote_finished() && max_rounds && (g_iTeamScore[0] + g_iTeamScore[1]) >= max_rounds - get_num(ROUNDS_TO_VOTE)) {
log_amx("[newround]: start vote, maxrounds %d [%d]", max_rounds, g_iTeamScore[0] + g_iTeamScore[1]);
mapm_start_vote(VOTE_BY_SCHEDULER);
}

new win_limit = get_num(WINLIMIT) - get_num(ROUNDS_TO_VOTE);
if(!is_vote_finished() && win_limit > 0 && (g_iTeamScore[0] >= win_limit || g_iTeamScore[1] >= win_limit)) {
log_amx("[newround]: start vote, winlimit %d [CT: %d, T: %d]", win_limit, g_iTeamScore[0], g_iTeamScore[1]);
mapm_start_vote(VOTE_BY_SCHEDULER);
}

if(g_bVoteInNewRound && !is_vote_started()) {
log_amx("[newround]: start vote, timeleft %d, new round", get_timeleft());
mapm_start_vote(g_iVoteType);
}

if(is_vote_finished() && g_bChangeMapNextRound) {
new nextmap[MAPNAME_LENGTH]; get_string(NEXTMAP, nextmap, charsmax(nextmap));
client_print_color(0, print_team_default, "%s^1 %L^3 %s^1.", g_sPrefix, LANG_PLAYER, "MAPM_NEXTMAP", nextmap);
intermission();
}
}
/*
public event_restart()
{
if(get_num(RESTORE_MAP_LIMITS)) {
restore_limits();
}
}
*/
public event_intermission()
{
if(task_exists(TASK_DELAYED_CHANGE)) {
log_amx("double intermission, how?");
return;
}
new Float:chattime = get_float(CHATTIME);
set_float(CHATTIME, chattime + 1.0);
set_task(chattime, "delayed_change", TASK_DELAYED_CHANGE);
}
public delayed_change()
{
new nextmap[MAPNAME_LENGTH]; get_string(NEXTMAP, nextmap, charsmax(nextmap));
set_float(CHATTIME, get_float(CHATTIME) - 1.0);
server_cmd("changelevel %s", nextmap);
}
planning_vote(type)
{
g_iVoteType = type;
if(get_num(VOTE_IN_NEW_ROUND)) {
g_bVoteInNewRound = true;

g_fOldTimeLimit = get_float(TIMELIMIT);
if(g_fOldTimeLimit > 0.0) {
set_float(TIMELIMIT, 0.0);
}

client_print_color(0, print_team_default, "%s^1 %L", g_sPrefix, LANG_PLAYER, "MAPM_VOTE_WILL_BEGIN");
log_amx("[planning_vote]: vote in new round.");
} else {
mapm_start_vote(type);
}
}
public mapm_can_be_extended(type)
{
if(type == VOTE_BY_SCHEDULER_SECOND) {
return EXTEND_BLOCKED;
}
if(g_iExtendedNum >= get_num(EXTENDED_MAX)) {
return EXTEND_BLOCKED;
}
return EXTEND_ALLOWED;
}
public mapm_prepare_votelist(type)
{
if(type != VOTE_BY_SCHEDULER_SECOND) {
return;
}

for(new i; i < sizeof(g_sSecondVoteMaps); i++) {
mapm_push_map_to_votelist(g_sSecondVoteMaps[i], PUSH_BY_SECOND_VOTE, CHECK_IGNORE_MAP_ALLOWED);
}
mapm_set_votelist_max_items(2);
}
public mapm_analysis_of_results(type, total_votes)
{
if(type == VOTE_BY_SCHEDULER_SECOND || !get_num(SECOND_VOTE)) {
return ALLOW_VOTE;
}

new max_items = mapm_get_count_maps_in_vote();

if(max_items <= 2) {
return ALLOW_VOTE;
}

new first, second, max_votes_first, max_votes_second;
new map[MAPNAME_LENGTH], votes;

for(new i, temp_votes, temp_index; i < max_items; i++) {
votes = mapm_get_voteitem_info(i, map, charsmax(map));
if(votes >= max_votes_first) {
temp_votes = max_votes_first;
temp_index = first;
max_votes_first = votes;
first = i;

if(temp_votes > max_votes_second) {
max_votes_second = temp_votes;
second = temp_index;
}
} else if(votes >= max_votes_second) {
max_votes_second = votes;
second = i;
}
}

new percent = total_votes ? floatround(max_votes_first * 100.0 / total_votes) : 0;

if(percent >= get_num(SECOND_VOTE_PERCENT)) {
return ALLOW_VOTE;
}

mapm_get_voteitem_info(first, g_sSecondVoteMaps[0], charsmax(g_sSecondVoteMaps[]));
mapm_get_voteitem_info(second, g_sSecondVoteMaps[1], charsmax(g_sSecondVoteMaps[]));

log_amx("[analysis]: second vote started. (%s, %s)", g_sSecondVoteMaps[0], g_sSecondVoteMaps[1]);

client_print_color(0, print_team_default, "%s^1 %L", g_sPrefix, LANG_PLAYER, "MAPM_SECOND_VOTE");
mapm_start_vote(VOTE_BY_SCHEDULER_SECOND);

return ABORT_VOTE;
}
public mapm_vote_finished(const map[], type, total_votes)
{
if(g_fOldTimeLimit > 0.0) {
set_float(TIMELIMIT, g_fOldTimeLimit);
g_fOldTimeLimit = 0.0;
}
g_bVoteInNewRound = false;

// map extended
if(equali(map, g_sCurMap)) {
g_iExtendedNum++;

new win_limit = get_num(WINLIMIT);
new max_rounds = get_num(MAXROUNDS);

if(get_num(EXTENDED_TYPE) == EXTEND_ROUNDS && (win_limit || max_rounds)) {
new rounds = get_num(EXTENDED_ROUNDS);

if(win_limit > 0) {
set_num(WINLIMIT, win_limit + rounds);
}
if(max_rounds > 0) {
set_num(MAXROUNDS, max_rounds + rounds);
}

client_print_color(0, print_team_default, "%s^1 %L %L.", g_sPrefix, LANG_PLAYER, "MAPM_MAP_EXTEND", rounds, LANG_PLAYER, "MAPM_ROUNDS");
} else {
new min = get_num(EXTENDED_TIME);

client_print_color(0, print_team_default, "%s^1 %L %L.", g_sPrefix, LANG_PLAYER, "MAPM_MAP_EXTEND", min, LANG_PLAYER, "MAPM_MINUTES");
set_float(TIMELIMIT, get_float(TIMELIMIT) + float(min));
}

mapm_set_vote_finished(false);

log_amx("[vote_finished]: map extended[%d].", g_iExtendedNum);
return 0;
}

// change map
if(!total_votes) {
client_print_color(0, print_team_default, "%s^1 %L", g_sPrefix, LANG_PLAYER, "MAPM_NOBODY_VOTE", map);
} else {
client_print_color(0, print_team_default, "%s^1 %L^3 %s^1.", g_sPrefix, LANG_PLAYER, "MAPM_NEXTMAP", map);
}

set_pcvar_string(g_pCvars[NEXTMAP], map);

log_amx("[vote_finished]: nextmap is %s.", map);

if(get_num(LAST_ROUND)) {
// What if timelimit 0?
g_fOldTimeLimit = get_float(TIMELIMIT);
set_float(TIMELIMIT, 0.0);
g_bChangeMapNextRound = true;

client_print_color(0, print_team_default, "%s^1 %L", g_sPrefix, LANG_PLAYER, "MAPM_LASTROUND");

log_amx("[vote_finished]: last round - saved timelimit is %f", g_fOldTimeLimit);
} else if(get_num(CHANGE_TYPE) == CHANGE_AFTER_VOTE) {
client_print_color(0, print_team_default, "%s^1 %L^1 %L.", g_sPrefix, LANG_PLAYER, "MAPM_MAP_CHANGE", get_num(CHATTIME), LANG_PLAYER, "MAPM_SECONDS");
intermission();
} else if(get_num(CHANGE_TYPE) == CHANGE_NEXT_ROUND || type == VOTE_BY_RTV) {
g_bChangeMapNextRound = true;
client_print_color(0, print_team_default, "%s^1 %L", g_sPrefix, LANG_PLAYER, "MAPM_MAP_CHANGE_NEXTROUND");
}

return 0;
}
Не работает часть функционала плагина, например timeleft и thetime. Те ошибки, где "Invalid CVAR pointer" повторялись на тысячи строк, скопировал по одной. На всякий приложу и сам лог. Насчёт ОС не уверен, понятия не имею какая там стоит на csserv.ru.
 
В этой теме было размещено решение! Перейти к решению.

Вложения

Последнее редактирование:
Сообщения
1,335
Реакции
528
Помог
91 раз(а)
CHEL74, что за
[ 31] auto_change_map 1.0 Black_Hawk auto_change_map running
Может стоит его офнуть?
Ведь в плагине есть функция:
// Если вышел последний игрок, через сколько минут сменить на карту поумолчанию.
// 0 - disable
// minutes
mapm_change_to_default_map "0"

// Карта поумолчанию.
mapm_default_map "de_dust2"
 
Сообщения
468
Реакции
249
Помог
6 раз(а)
present, это плагин, который меняет карту при достижении настраиваемого кол-ва игроков, а в мап менеджере только при достижении нуля. Бывало на какой-то мало распространённой карте в спектрах кто-то зависнет и беда, вот его и ставил. На старой версии мап менеджера (2.54, вроде) всё нормально было. Думаете, сейчас именно они конфликтуют?
 
Сообщения
1,335
Реакции
528
Помог
91 раз(а)
CHEL74,
Насчёт ОС не уверен, понятия не имею какая там стоит на csserv.ru.
кссерв рулит: не надо разбираться в серваках, пихай все с панели и будет тебе "Щастие"
Думаете, сейчас именно они конфликтуют?
Уверен, что не стоит ставить два плагина схожих по функционалу, на счет конфликта не уверен, все в ваших руках - проверить.
 
Последнее редактирование:
Сообщения
468
Реакции
249
Помог
6 раз(а)
present, проверил, изменений нет.
 
Сообщения
468
Реакции
249
Помог
6 раз(а)
Mistrick, и чего теперь делать?
 
Последнее редактирование:
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
В ReGameDLL восстановлен "утерянный" CVar с названием mp_fraglimit.
https://github.com/s1lentq/ReGameDLL_CS/blob/master/regamedll/dlls/game.cpp#L108

Так как на стандартном gamedll от valve таковых фиксов не было, а плагин ищет как раз их - плагин выдаёт ошибку об отсутствии "указателя" на CVar. Ошибка не страшна, автор возможно поправит позже в коде. Допустим добавит проверку на CVar иди вовсе сделает функцию, имитирующую данный CVar.
 
Последнее редактирование:
Сообщения
468
Реакции
249
Помог
6 раз(а)
wopox1337, ясненько. Но почему-то timeleft и thetime до сих пор не работают.

Что-то сильно лагает сайт, что на компе, что на телефоне, минут 5 не мог отредактировать случайно отправившееся из-за лагов сообщение )
 
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
CHEL74, потому что рантайм плагина был остановлен из за ошибки.
17 Авг 2018
Закомментируйте строки с 271 по 276.

Это будет временным решением.
 
Сообщения
468
Реакции
249
Помог
6 раз(а)
wopox1337, закомментировал эти строчки, в логах теперь чисто. А timeleft и thetime начали работать после того, как я переместил Map Manager повыше в plugins.ini. Понять бы теперь какой именно плагин конфликтовал с ним.
 
Последнее редактирование модератором:
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
CHEL74, чат менеджер. Читай документацию перед использованием
 
Сообщения
468
Реакции
249
Помог
6 раз(а)
wopox1337, так читал, что чат менеджер не даёт rtv писать, только с /. На timeleft и thetime ЧМ тоже влияние оказывает?
 
Статус
В этой теме нельзя размещать новые ответы.

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

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