А можно сделать чтобы наказание за выход во время голосования шло в сурсбанс а не в стандартный банлист?
Я вот не кодер, вот ваще, но вроде сделал, понабрал коду там сям, короче работает.Добрый вечер ! Началось голосование за бан игрока но он вышел с игры ему дается бан, куда записывается сам бан ? в ma не нашел и при подключение ему пишет что "вам заблокирован вхон на данный сервер"
--- Добавлено позже ---
Не прочитал сообщение выше
public void OnClientDisconnect(int iClient)
{
g_bUse[iClient] = false;
g_bNoSteam[iClient] = false;
g_iTimeLimit[iClient] = 0;
if(g_iChat == iClient) g_iChat = -1;
int a, b;
for(a = 1; a <= MaxClients; a++)
{
for(b = 0; b < 3; b++) g_bVote[iClient][a][b] = false;
}
if(g_fPercent > 0.0 && g_iTarget == iClient && !IsFakeClient(iClient))
{
Log("Игрок %L вышел во время голосования!\n ", iClient);
BanClient(iClient, g_kviDisconnectBan, BANFLAG_AUTO, "Покинул сервер во время голосования");
CPrintToChatAll("{WHITE}[{GREEN}VoteBKM{WHITE}] {RED}Игрок вышел с сервера, голсоование завершено!");
VoteClosed();
}
}
public void OnClientDisconnect(int iClient)
{
g_bUse[iClient] = false;
g_bNoSteam[iClient] = false;
g_iTimeLimit[iClient] = 0;
if(g_iChat == iClient) g_iChat = -1;
char IP[32];
char player_authid[32];
char NaMe[32];
GetClientIP(iClient, IP, 32);
GetClientAuthId(iClient, AuthId_Steam2, player_authid, sizeof(player_authid));
GetClientName(iClient, NaMe, 32);
int a, b;
for(a = 1; a <= MaxClients; a++)
{
for(b = 0; b < 3; b++) g_bVote[iClient][a][b] = false;
}
if(g_fPercent > 0.0 && g_iTarget == iClient && !IsFakeClient(iClient))
{
Log("Игрок %L вышел во время голосования!\n ", iClient);
MAOffBanPlayer(0, MA_BAN_STEAM, player_authid, IP, NaMe, g_kviDisconnectBan, "Покинул сервер во время голосования");
CPrintToChatAll("{WHITE}[{GREEN}VoteBKM{WHITE}] {RED}Игрок вышел с сервера, голсоование завершено!");
VoteClosed();
}
}
Странно у меня работает через раз, не работает когда админ есть, а когда то работает бред...нормально
Ну походу только у вас и работает нормально. Бывает и такое , что пишут вотебан на одного человека, и за 5-10 секунд до появления голосования резко пишут вотебан на другого человека ( на котором 1 голос из 10 ) и голосование срабатывает на него. Крайне кривой плагиннормально
При компиляции выдаёт ошибку в этой строчке:Я вот не кодер, вот ваще, но вроде сделал, понабрал коду там сям, короче работает.
Нужно подключить инклюд от MA и заменить эту часть кода:
C-подобный:public void OnClientDisconnect(int iClient) { g_bUse[iClient] = false; g_bNoSteam[iClient] = false; g_iTimeLimit[iClient] = 0; if(g_iChat == iClient) g_iChat = -1; int a, b; for(a = 1; a <= MaxClients; a++) { for(b = 0; b < 3; b++) g_bVote[iClient][a][b] = false; } if(g_fPercent > 0.0 && g_iTarget == iClient && !IsFakeClient(iClient)) { Log("Игрок %L вышел во время голосования!\n ", iClient); BanClient(iClient, g_kviDisconnectBan, BANFLAG_AUTO, "Покинул сервер во время голосования"); CPrintToChatAll("{WHITE}[{GREEN}VoteBKM{WHITE}] {RED}Игрок вышел с сервера, голсоование завершено!"); VoteClosed(); } }
На эту =>
C-подобный:public void OnClientDisconnect(int iClient) { g_bUse[iClient] = false; g_bNoSteam[iClient] = false; g_iTimeLimit[iClient] = 0; if(g_iChat == iClient) g_iChat = -1; char IP[32]; char player_authid[32]; char NaMe[32]; GetClientIP(iClient, IP, 32); GetClientAuthId(iClient, AuthId_Steam2, player_authid, sizeof(player_authid)); GetClientName(iClient, NaMe, 32); int a, b; for(a = 1; a <= MaxClients; a++) { for(b = 0; b < 3; b++) g_bVote[iClient][a][b] = false; } if(g_fPercent > 0.0 && g_iTarget == iClient && !IsFakeClient(iClient)) { Log("Игрок %L вышел во время голосования!\n ", iClient); MAOffBanPlayer(0, MA_BAN_STEAM, player_authid, IP, NaMe, g_kviDisconnectBan, "Покинул сервер во время голосования"); CPrintToChatAll("{WHITE}[{GREEN}VoteBKM{WHITE}] {RED}Игрок вышел с сервера, голсоование завершено!"); VoteClosed(); } }
P.S
Как я уже говорил, я не кодер, но вижу, что данная просьба тянется ещё с первого поста.
Исправьте, кто поопытнее.
Ну, а что за ошибка?При компиляции выдаёт ошибку в этой строчке:
MAOffBanPlayer(0, MA_BAN_STEAM, player_authid, IP, NaMe, g_kviDisconnectBan, "Покинул сервер во время голосования");
//// VoteBKM.sp
//
// C:\Users\bbs32\Desktop\sourcemod-1.9.0-git6275-windows\addons\sourcemod\scripting\VoteBKM.sp(660) : error 017: undefined symbol "MAOffBanPlayer"
//
// 1 Error.
//
// Compilation Time: 0,31 sec
// ----------------------------------------
Ну так...@Mr_panica, У меня тоже самое
C-подобный://// VoteBKM.sp // // C:\Users\bbs32\Desktop\sourcemod-1.9.0-git6275-windows\addons\sourcemod\scripting\VoteBKM.sp(660) : error 017: undefined symbol "MAOffBanPlayer" // // 1 Error. // // Compilation Time: 0,31 sec // ----------------------------------------
Нужно подключить инклюд от MA и заменить эту часть кода:
Всем привет! перестал работать !votemute пишет что человек был наказан, но он всё равно может говорить в MA мут не появляется ошибок нету
"mute_settings"
{
"Command" "sm_silence {UID}"
"TimeLimit" "180"
"Percent" "50"
}
"mute_settings"
{
"Command" "sm_mute {UID} 30"
"TimeLimit" "180"
"Percent" "50"
}