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

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

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

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

connect info

, ошибки в логах
Статус пользователя kenZZo
сообщение 14.9.2013, 21:18
Сообщение #1
Стаж: 14 лет

Сообщений: 64
Благодарностей: 6
Полезность: 75

есть плагин players_info, в логах появляются постоянно ошибки:

L 09/14/2013 - 00:08:39:log:3 -------- Mapchange to de_dust2_2x2 --------
L 09/14/2013 - 00:08:40:err:10 [AMXX] [0] players_info.sma::colorChat (line 623)
L 09/14/2013 - 00:08:40:err:11 [AMXX] [1] players_info.sma::showMessage (line 395)
L 09/14/2013 - 00:08:40:err:12 [AMXX] [2] players_info.sma::client_putinserver (line 221)
L 09/14/2013 - 00:08:40:err:13 [AMXX] Displaying debug trace (plugin "players_info.amxx")
L 09/14/2013 - 00:08:40:err:14 [AMXX] Run time error 4: index out of bounds
L 09/14/2013 - 00:08:40:err:15 [AMXX] [0] players_info.sma::colorChat (line 623)
L 09/14/2013 - 00:08:40:err:16 [AMXX] [1] players_info.sma::showMessage (line 395)
L 09/14/2013 - 00:08:40:err:17 [AMXX] [2] players_info.sma::client_putinserver (line 221)
L 09/14/2013 - 00:08:40:err:8 [AMXX] Displaying debug trace (plugin "players_info.amxx")
L 09/14/2013 - 00:08:40:err:9 [AMXX] Run time error 4: index out of bounds
L 09/14/2013 - 00:08:41:err:18 [AMXX] Displaying debug trace (plugin "players_info.amxx")
L 09/14/2013 - 00:08:41:err:19 [AMXX] Run time error 4: index out of bounds
L 09/14/2013 - 00:08:41:err:20 [AMXX] [0] players_info.sma::colorChat (line 623)
L 09/14/2013 - 00:08:41:err:21 [AMXX] [1] players_info.sma::showMessage (line 395)
L 09/14/2013 - 00:08:41:err:22 [AMXX] [2] players_info.sma::client_putinserver (line 221)

прошу помощи, кто чем может =)
Скрытый текст

Код:

/* AMX Mod X Script
*
* Последние обновление: 15 апреля, 2009
* Авторы: Eugene N. и noga
*
* По вашим предложениям писать в ICQ 833783 или в теме на форуме
*
**/

#include <amxmodx>
#include <amxmisc>
#include <geoip>
#include <geoipse>

#define A_CONNECT "^x04 Админ ^x01[^x03%s^x01] ^x04в сети!"
#define V_CONNECT "^x04 VIP ^x01[^x03%s^x01] ^x04в сети!"

// Files
const XLEN = 128

new LogName_C[128]
new LogName_D[128]

// PCVARS

new gpc_c_sound_enable, sz_c_sound_file[64]
new gpc_d_sound_enable, sz_d_sound_file[64]

new gpc_c_msg_enable, gpc_c_skip_bots, gpc_c_skip_hltvs, gpc_c_msg_hudcolor, gpc_c_msg_hudxy, gpc_c_msg_type, gpcs_c_msg
new gpc_c_log_enable, gpc_c_log_skip_bots, gpc_c_log_skip_hltvs, gpcs_c_log_msg

new gpc_d_msg_enable, gpc_d_skip_bots, gpc_d_skip_hltvs, gpc_d_msg_hudcolor, gpc_d_msg_hudxy, gpc_d_msg_type, gpcs_d_msg
new gpc_d_log_enable, gpc_d_log_skip_bots, gpc_d_log_skip_hltvs, gpcs_d_log_msg


// Stuff
new steamidsProtect[][] =
{
"VALVE_ID_LAN",
"VALVE_ID_PENDING",
"STEAM_666:88:666",
"STEAM_ID_PENDING",
"STEAM_ID_LAN"
}

// ColorChat
enum ChatColor
{
CHATCOLOR_NORMAL = 1,
CHATCOLOR_GREEN,
CHATCOLOR_TEAM_COLOR,
CHATCOLOR_GREY,
CHATCOLOR_RED,
CHATCOLOR_BLUE,
}

new g_TeamName[][] =
{
"",
"TERRORIST",
"CT",
"SPECTATOR"
}

new g_msgSayText
new g_msgTeamInfo

public plugin_precache()
{
register_cvar("connected_sound_file", "ultimate_sounds/blip1.wav")
register_cvar("disconnected_sound_file", "ultimate_sounds/comeagain1.wav")
precache_sound("ultimate_sounds/blip1.wav")
precache_sound("ultimate_sounds/comeagain1.wav")

get_cvar_string("connected_sound_file", sz_c_sound_file, sizeof sz_c_sound_file -1)
new_replacer(sz_c_sound_file, sizeof sz_c_sound_file -1, ";", "")

if(!precache_sound(sz_c_sound_file))
log_amx("Can't precache '%s' from cvar 'connected_sound_file'", sz_c_sound_file)

get_cvar_string("disconnected_sound_file", sz_d_sound_file, sizeof sz_d_sound_file -1)
new_replacer(sz_d_sound_file, sizeof sz_d_sound_file -1, ";", "")

if(!precache_sound(sz_d_sound_file))
log_amx("Can't precache '%s' from cvar 'disconnected_sound_file'", sz_d_sound_file)
}

public plugin_init()
{
register_plugin("Players Info", "1.01", "Eugene N. & noga")

register_concmd("players_locations", "cmdShowLocations", ADMIN_ALL, "- Locations of players")


gpc_c_sound_enable = register_cvar("connected_sound_enable", "1")

gpc_c_msg_enable = register_cvar("connected_msg_enable", "1")

gpc_c_skip_bots = register_cvar("connected_skip_bots", "0")

gpc_c_skip_hltvs = register_cvar("connected_skip_hltvs", "0")

gpc_c_msg_type = register_cvar("connected_msg_type", "0")

gpc_c_msg_hudcolor = register_cvar("connected_msg_hudcolor", "255 170 000")

gpc_c_msg_hudxy = register_cvar("connected_msg_hudxy", "0.0 0.60")

gpcs_c_msg = register_cvar("connected_msg", "!t%nick%!n connected")

gpc_c_log_enable = register_cvar("connected_log_enable", "1")

gpc_c_log_skip_bots = register_cvar("connected_log_skip_bots", "0")

gpc_c_log_skip_hltvs = register_cvar("connected_log_skip_hltvs", "0")

gpcs_c_log_msg = register_cvar("connected_log_msg",
"Присоединился: %nick% [%ip%] [%steamid%] [%country% , %city%]")


gpc_d_sound_enable = register_cvar("disconnected_sound_enable", "1")

gpc_d_msg_enable = register_cvar("disconnected_msg_enable", "1")

gpc_d_skip_bots = register_cvar("disconnected_skip_bots", "0")

gpc_d_skip_hltvs = register_cvar("disconnected_skip_hltvs", "0")

gpc_d_msg_type = register_cvar("disconnected_msg_type", "0")

gpc_d_msg_hudcolor = register_cvar("disconnected_msg_hudcolor", "255 170 000")

gpc_d_msg_hudxy = register_cvar("disconnected_msg_hudxy", "0.0 0.67")

gpcs_d_msg = register_cvar("disconnected_msg", "!t%nick%!n disconnected")

gpc_d_log_enable = register_cvar("disconnected_log_enable", "1")

gpc_d_log_skip_bots = register_cvar("disconnected_log_skip_bots", "0")

gpc_d_log_skip_hltvs = register_cvar("disconnected_log_skip_hltvs", "0")

gpcs_d_log_msg = register_cvar("disconnected_log_msg",
"Отсоединился: %nick% [%ip%] [%steamid%] [%country% , %city%]")


g_msgSayText = get_user_msgid("SayText")
g_msgTeamInfo = get_user_msgid("TeamInfo")
}

public plugin_cfg()
{
new cfgdir[XLEN]
get_configsdir(cfgdir, XLEN -1)

server_cmd("exec %s/players_info.cfg", cfgdir)

new logsdir[XLEN]
get_localinfo("amxx_logs", logsdir, XLEN -1)

new direxists[XLEN];
format(direxists, XLEN -1, "/%s/Players Info Logs", logsdir)
if(!dir_exists(direxists))
mkdir(direxists)

format(logsdir, XLEN -1, "%s/Connected Players", direxists)
if(!dir_exists(logsdir))
mkdir(logsdir)



new monthyear[12]
get_time("%d-%m-%Y", monthyear, sizeof monthyear -1)

new file[XLEN]
format(file, XLEN -1, "%s.txt", monthyear)




format(LogName_C, XLEN -1, "%s/%s", logsdir, file)
if(!file_exists(LogName_C))
write_file(LogName_C, " ")

format(logsdir, XLEN -1, "%s/Disconnected Players", direxists)
if(!dir_exists(logsdir))
mkdir(logsdir)

format(LogName_D, XLEN -1, "%s/%s", logsdir, file)
if(!file_exists(LogName_D))
write_file(LogName_D, " ")
}

public client_putinserver(id)
{
if(get_pcvar_num(gpc_c_sound_enable))
{
if(strlen(sz_c_sound_file))
{
new_replacer(sz_c_sound_file, sizeof sz_c_sound_file -1, ";", "")

client_cmd(0, "spk %s", sz_c_sound_file)
}
}

new isBot = is_user_bot(id)
new isHltv = is_user_hltv(id)

if
(
get_pcvar_num(gpc_c_msg_enable)
&&
(
(isBot && get_pcvar_num(gpc_c_skip_bots))
|| (isHltv && get_pcvar_num(gpc_c_skip_hltvs))
|| (!isBot && !isHltv)
)
)

{
showMessage(id, 0)
}

if
(
get_pcvar_num(gpc_c_log_enable)
&&
(
(isBot && get_pcvar_num(gpc_c_log_skip_bots))
|| (isHltv && get_pcvar_num(gpc_c_log_skip_hltvs))
|| (!isBot && !isHltv)
)
)

{
logging(id, 0)
}

new name[32], sflags[32]

get_user_name(id,name,31)
get_flags(get_user_flags(id),sflags,31)

new text[128]

format(text,127,"Админ %s is OnLine шухеритесь читаки", name)

if (contain(sflags,"c")!=-1)
{
set_hudmessage(255, 0, 32, 0.05, 0.60, 1, 5.0, 5.0, 0.3, 0.3, -1)
show_hudmessage(0,"%s",text)
colorChat(0, CHATCOLOR_RED, A_CONNECT, name)
}
else if (contain(sflags,"a")!=-1)
{
colorChat(0, CHATCOLOR_RED, V_CONNECT, name)
}
}

public client_disconnect(id)
{
if(get_pcvar_num(gpc_d_sound_enable))
{
if(strlen(sz_d_sound_file))
{
client_cmd(0, "spk %s", sz_d_sound_file)
}
}

new isBot = is_user_bot(id)
new isHltv = is_user_hltv(id)

if
(
get_pcvar_num(gpc_d_msg_enable)
&&
(
(isBot && get_pcvar_num(gpc_d_skip_bots))
|| (isHltv && get_pcvar_num(gpc_d_skip_hltvs))
|| (!isBot && !isHltv)
)
)

{
showMessage(id, 1)
}

if
(
get_pcvar_num(gpc_d_log_enable)
&&
(
(isBot && get_pcvar_num(gpc_d_log_skip_bots))
|| (isHltv && get_pcvar_num(gpc_d_log_skip_hltvs))
|| (!isBot && !isHltv)
)
)

{
logging(id, 1)
}
}


public showMessage(id, mode)
{
static message[191], name[32], ip[16], steamid[35], country[32], city[32], i = 0

get_user_name(id, name, sizeof name -1)

if(strlen(name) > 20)
add(name, 20, "...")

get_user_ip(id, ip, sizeof ip -1, 1)

if(IsLocalIp(ip))
{
country = "LAN"
city = "LAN"
}
else
{
geoip_country(ip, country, sizeof country -1)
geoip_city(ip, city, sizeof city -1)
}

get_user_authid(id, steamid, sizeof steamid -1)

for(i=0;i<sizeof steamidsProtect;i++)
{
if(equali(steamid, steamidsProtect[i]))
{
steamid = "No Steam ID"

break
}
}

switch(mode)
{
case 0: get_pcvar_string(gpcs_c_msg, message, sizeof message -1)
case 1: get_pcvar_string(gpcs_d_msg, message, sizeof message -1)
}

new_replacer(message, sizeof message -1, "%nick%", name)
new_replacer(message, sizeof message -1, "%ip%", ip)
new_replacer(message, sizeof message -1, "%steamid%", steamid)
new_replacer(message, sizeof message -1, "%country%", country)
new_replacer(message, sizeof message -1, "%city%", city)

new players[32], num
get_players(players, num)

switch(mode)
{
case 0:
{
switch(get_pcvar_num(gpc_c_msg_type))
{
case 1:
{
new szCvarHudTemp[12], RGB[3] = { 255, 170, 0 }, tempstrnu[3][4]
get_pcvar_string(gpc_c_msg_hudcolor, szCvarHudTemp, sizeof szCvarHudTemp -1)

parse(szCvarHudTemp, tempstrnu[0], 3, tempstrnu[1], 3, tempstrnu[2], 3)
RGB[0] = str_to_num(tempstrnu[0])
RGB[1] = str_to_num(tempstrnu[1])
RGB[2] = str_to_num(tempstrnu[2])

new Float:Hud_XY[2] = { 0.0, 0.60 }, tempstrflo[2][6]
get_pcvar_string(gpc_c_msg_hudxy, szCvarHudTemp, sizeof szCvarHudTemp -1)

parse(szCvarHudTemp, tempstrflo[0], 5, tempstrflo[1], 5)
Hud_XY[0] = str_to_float(tempstrflo[0])
Hud_XY[1] = str_to_float(tempstrflo[1])

new_replacer(message, sizeof message -1, "!t", "")
new_replacer(message, sizeof message -1, "!g", "")
new_replacer(message, sizeof message -1, "!n", "")

for(i=0;i<num;i++)
{
set_hudmessage(RGB[0], RGB[1], RGB[2], Hud_XY[0], Hud_XY[1], 0, 6.0, 6.0, 0.1, 0.2, 3)
show_hudmessage(players[i], "%s", message)
}
}
default:
{
new_replacer(message, sizeof message -1, "!t", "^x03")
new_replacer(message, sizeof message -1, "!g", "^x04")
new_replacer(message, sizeof message -1, "!n", "^x01")

for(i=0;i<num;i++)
{
colorChat(players[i], CHATCOLOR_RED, "%s", message)
}
}
}
}
case 1:
{
switch(get_pcvar_num(gpc_d_msg_type))
{
case 1:
{
new szCvarHudTempDis[12], RGBDis[3] = { 255, 170, 0 }, tempstrnuDis[3][4]
get_pcvar_string(gpc_d_msg_hudcolor, szCvarHudTempDis, sizeof szCvarHudTempDis -1)

parse(szCvarHudTempDis, tempstrnuDis[0], 3, tempstrnuDis[1], 3, tempstrnuDis[2], 3)
RGB[0] = str_to_num(tempstrnuDis[0])
RGB[1] = str_to_num(tempstrnuDis[1])
RGB[2] = str_to_num(tempstrnuDis[2])

new Float:Hud_YX[2] = { 0.0, 0.67 }, tempstrfloDis[2][6]
get_pcvar_string(gpc_d_msg_hudxy, szCvarHudTempDis, sizeof szCvarHudTempDis -1)

parse(szCvarHudTempDis, tempstrfloDis[0], 5, tempstrfloDis[1], 5)
Hud_YX[0] = str_to_float(tempstrfloDis[0])
Hud_YX[1] = str_to_float(tempstrfloDis[1])

new_replacer(message, sizeof message -1, "!t", "")
new_replacer(message, sizeof message -1, "!g", "")
new_replacer(message, sizeof message -1, "!n", "")

for(i=0;i<num;i++)
{
set_hudmessage(RGBDis[0], RGBDis[1], RGBDis[2], Hud_YX[0], Hud_YX[1], 0, 6.0, 6.0, 0.1, 0.2, 3)
show_hudmessage(players[i], "%s", message)
}
}
default:
{
new_replacer(message, sizeof message -1, "!t", "^x03")
new_replacer(message, sizeof message -1, "!g", "^x04")
new_replacer(message, sizeof message -1, "!n", "^x01")

for(i=0;i<num;i++)
{
colorChat(players[i], CHATCOLOR_RED, "%s", message)
}
}
}
}
}
}

public logging(id, mode)
{
static message[191], name[32], ip[16], steamid[35], country[32], city[32], i = 0

get_user_name(id, name, sizeof name -1)

if(strlen(name) > 20)
add(name, 20, "...")

get_user_ip(id, ip, sizeof ip -1, 1)

if(IsLocalIp(ip))
{
country = "LAN"
city = "LAN"
}
else
{
geoip_country(ip, country, sizeof country -1)
geoip_city(ip, city, sizeof city -1)
}

get_user_authid(id, steamid, sizeof steamid -1)

for(i=0;i<sizeof steamidsProtect;i++)
{
if(equali(steamid, steamidsProtect[i]))
{
steamid = "No Steam ID"

break
}
}

switch(mode)
{
case 0: get_pcvar_string(gpcs_c_log_msg, message, sizeof message -1)
case 1: get_pcvar_string(gpcs_d_log_msg, message, sizeof message -1)
}

new_replacer(message, sizeof message -1, "%nick%", name)
new_replacer(message, sizeof message -1, "%ip%", ip)
new_replacer(message, sizeof message -1, "%steamid%", steamid)
new_replacer(message, sizeof message -1, "%country%", country)
new_replacer(message, sizeof message -1, "%city%", city)

switch(mode)
{
case 0: log_to_file(LogName_C, "%s", message)
case 1: log_to_file(LogName_D, "%s", message)
}
}

public cmdShowLocations(id)
{
new players[32], num
get_players(players, num, "ch")

if(num <= 0)
{
console_print(id, "Sorry, players not found on server")

return PLUGIN_HANDLED
}

console_print(id, "%s %-22.22s %-22.22s %-22.22s", "#", "Player", "Country", "City")

new pid, name[32], ip[16], country[32], city[32]

for(new i=0;i<num;i++)
{
pid = players[i]

get_user_name(pid, name, 31)

if(strlen(name) > 17)
add(name, 17, "...")

get_user_ip(pid, ip, 15, 1)

if(IsLocalIp(ip))
{
country = "LAN"
city = "LAN"
}
else
{
geoip_country(ip, country, 31)
geoip_city(ip, city, 31)
}

console_print(id, "%-2d %-22.22s %-22.22s %-22.22s", i+1, name, country, city)
}

return PLUGIN_HANDLED
}

stock new_replacer(text[], len, const what[], const with[])
while(replace(text, len, what, with)) {}

bool:IsLocalIp(checked_ip[16])
{
new temp[32]

copy(temp, 3, checked_ip)

if(equal(temp, "10.") || equal(temp, "127"))
return true

copy(temp, 7, checked_ip)

if(equal(temp, "192.168"))
return true

return false
}

colorChat(id, ChatColor:color, const msg[], {Float,Sql,Result,_}:...)
{
new team, index, MSG_Type
new bool:teamChanged = false
static message[192]

switch(color)
{
case CHATCOLOR_NORMAL:
{
message[0] = 0x01
}
case CHATCOLOR_GREEN:
{
message[0] = 0x04
}
default:
{
message[0] = 0x03
}
}

vformat(message[1], 190, msg, 4)

if(id == 0)
{
index = findAnyPlayer()
MSG_Type = MSG_ALL
}
else
{
index = id
MSG_Type = MSG_ONE
}

if(index != 0)
{
team = get_user_team(index)

if(color == CHATCOLOR_RED && team != 1)
{
messageTeamInfo(index, MSG_Type, g_TeamName[1])
teamChanged = true
}
else if(color == CHATCOLOR_BLUE && team != 2)
{
messageTeamInfo(index, MSG_Type, g_TeamName[2])
teamChanged = true
}
else if(color == CHATCOLOR_GREY && team != 0)
{
messageTeamInfo(index, MSG_Type, g_TeamName[0])
teamChanged = true
}

messageSayText(index, MSG_Type, message)

if(teamChanged)
{
messageTeamInfo(index, MSG_Type, g_TeamName[team])
}
}
}

messageSayText(id, type, message[])
{
message_begin(type, g_msgSayText, _, id)
write_byte(id)
write_string(message)
message_end()
}

messageTeamInfo(id, type, team[])
{
message_begin(type, g_msgTeamInfo, _, id)
write_byte(id)
write_string(team)
message_end()
}

findAnyPlayer()
{
static players[32], inum, pid

get_players(players, inum, "ch")

for (new a = 0; a < inum; a++)
{
pid = players[a]

if(is_user_connected(pid))
return pid
}

return 0
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/




Отредактировал: kenZZo, - 14.9.2013, 21:20
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
cs-portal
сообщение 14.9.2013, 22:38
Сообщение #2
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

сервер на 32 слота? там кажется в индексах ошибочка.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kenZZo
сообщение 14.9.2013, 23:14
Сообщение #3
Стаж: 14 лет

Сообщений: 64
Благодарностей: 6
Полезность: 75

нет на 12, раньше этот плаг стоял серваке с виндовс, потом на старом хостинге с линуксом - все работало норм, а щас ошибки выдает... хотя сам плагин работает нормально.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: