Я уже вроде выше обьяснял кому-то, что в этом и есть суть, что можно прикоснуться к предмету, реализм типо, вся фигня, игроки даже представить не могут, что в кс может быть такое, поэтому и убегают, не обращай внимания и всё.Снёс базу и всё заработало, но вот эта строка не работает
sm_opener_same_plat 0 - хоть 1 хоть 0 ничего не меняется, постоянно сообщение о том что нужно быть на одной поверхности.
Можно ли как-то сделать что-бы игроки автоматически получали награду после открытия? А то пол сервера убегает а потом ноют что у них УКРАЛИ кредиты и опыт xD
Переменная работает нормально. Пока владелец не заберет кейс - его никто не заберёт. Либо, если закончится раунд, они смогу в следующем его открыть ещё раз и так до бесконечности, пока не заберут. Изучите переменные и описание к ним лучшеСнёс базу и всё заработало, но вот эта строка не работает
sm_opener_same_plat 0 - хоть 1 хоть 0 ничего не меняется, постоянно сообщение о том что нужно быть на одной поверхности.
Можно ли как-то сделать что-бы игроки автоматически получали награду после открытия? А то пол сервера убегает а потом ноют что у них УКРАЛИ кредиты и опыт xD
Мб ты уже решил проблему да, но в верху я кидал sp и smx файл под SM 1.11Скиньте пожалуйста рабочий smx SM 1.11 под LR
Что конкретно вводите? Какая версия плагина? Плагин листВсе правильно установил , но когда начинаешь писать команду , что бы открыть кейс она не срабатывает, а вот когда начинаешь сильно спамить через консоль, то он открывается, и без каких либо эффектов , что это может быть ?
void AddDataToDB(int client)
{
char sQuery[256], auth[22];
GetClientAuthId(client, AuthId_Steam2, auth, sizeof(auth));
SQL_FormatQuery(gDatabase, sQuery, sizeof(sQuery), "SELECT * FROM `opener_base` WHERE `steam`='%s'", auth);
gDatabase.Query(SQLAddClientData, sQuery, client, DBPrio_High);
}
public void SQLAddClientData(Database db, DBResultSet result, const char[] error, int client)
{
if(result != INVALID_HANDLE && !error[0])
{
if(result.HasResults)
{
if(result.RowCount == 0 && IsClientInGame(client))
{
char sQuery[256], auth[22];
GetClientAuthId(client, AuthId_Steam2, auth, sizeof(auth));
SQL_FormatQuery(gDatabase, sQuery, sizeof(sQuery), "INSERT INTO `opener_base` (`steam`, `last_open`, `available`) VALUES ('%s', '0', 1)", auth);
SQL_FastQuery(gDatabase, sQuery);
LogMessage("[CASEOPENER] The player has been added to the database");
}
447 строка -=> else LogMessage("[CASEOPENER] The player %N is already in the database", client);
}
}
else SetFailState("[CASEOPENER] Error adding player %N data", client);
}
L 11/29/2022 - 17:30:26: [SM] Exception reported: Client index 3 is invalid (arg 2)
L 11/29/2022 - 17:30:26: [SM] Blaming: CaseOpener.smx
L 11/29/2022 - 17:30:26: [SM] Call stack trace:
L 11/29/2022 - 17:30:26: [SM] [0] LogMessage
L 11/29/2022 - 17:30:26: [SM] [1] Line 447, CaseOpener.sp::SQLAddClientData
PHP:void AddDataToDB(int client) { char sQuery[256], auth[22]; GetClientAuthId(client, AuthId_Steam2, auth, sizeof(auth)); SQL_FormatQuery(gDatabase, sQuery, sizeof(sQuery), "SELECT * FROM `opener_base` WHERE `steam`='%s'", auth); gDatabase.Query(SQLAddClientData, sQuery, client, DBPrio_High); }
PHP:public void SQLAddClientData(Database db, DBResultSet result, const char[] error, int client) { if(result != INVALID_HANDLE && !error[0]) { if(result.HasResults) { if(result.RowCount == 0 && IsClientInGame(client)) { char sQuery[256], auth[22]; GetClientAuthId(client, AuthId_Steam2, auth, sizeof(auth)); SQL_FormatQuery(gDatabase, sQuery, sizeof(sQuery), "INSERT INTO `opener_base` (`steam`, `last_open`, `available`) VALUES ('%s', '0', 1)", auth); SQL_FastQuery(gDatabase, sQuery); LogMessage("[CASEOPENER] The player has been added to the database"); } 447 строка -=> else LogMessage("[CASEOPENER] The player %N is already in the database", client); } } else SetFailState("[CASEOPENER] Error adding player %N data", client); }
void AddDataToDB(int client)
{
if(client && client <= MaxClients && !IsFakeClient(client))
{
char sQuery[256], auth[22];
.......
.......
.......
Пробовал так! Не конкретно так, но смысл такой-же.C-подобный:void AddDataToDB(int client) { if(client && client <= MaxClients && !IsFakeClient(client)) { char sQuery[256], auth[22]; ....... ....... .......
Ну если только "чей-то" но fakeclient проверка была тоже.В какой момент это произошло? Бот на сервер зашел?
С этой строкой скидывали мне, но там проблема была с добавлением клиента в базу, после обновы(старую бд не удалил)Ну если только "чей-то" но fakeclient проверка была тоже.
Момент не отследить, этож надо играть, попробую отловить (если повезет), как раз думал ты уже ловил такое.
мб все таки игрок успел отключится? потому что тут нет проверки на "в игре" в отличие от 7 строкиL 11/29/2022 - 17:30:26: [SM] Exception reported: Client index 3 is invalid (arg 2)
L 11/29/2022 - 17:30:26: [SM] Blaming: CaseOpener.smx
L 11/29/2022 - 17:30:26: [SM] Call stack trace:
L 11/29/2022 - 17:30:26: [SM] [0] LogMessage
L 11/29/2022 - 17:30:26: [SM] [1] Line 447, CaseOpener.sp::SQLAddClientData
PHP:void AddDataToDB(int client) { char sQuery[256], auth[22]; GetClientAuthId(client, AuthId_Steam2, auth, sizeof(auth)); SQL_FormatQuery(gDatabase, sQuery, sizeof(sQuery), "SELECT * FROM `opener_base` WHERE `steam`='%s'", auth); gDatabase.Query(SQLAddClientData, sQuery, client, DBPrio_High); }
PHP:public void SQLAddClientData(Database db, DBResultSet result, const char[] error, int client) { if(result != INVALID_HANDLE && !error[0]) { if(result.HasResults) { if(result.RowCount == 0 && IsClientInGame(client)) { char sQuery[256], auth[22]; GetClientAuthId(client, AuthId_Steam2, auth, sizeof(auth)); SQL_FormatQuery(gDatabase, sQuery, sizeof(sQuery), "INSERT INTO `opener_base` (`steam`, `last_open`, `available`) VALUES ('%s', '0', 1)", auth); SQL_FastQuery(gDatabase, sQuery); LogMessage("[CASEOPENER] The player has been added to the database"); } 447 строка -=> else LogMessage("[CASEOPENER] The player %N is already in the database", client); } } else SetFailState("[CASEOPENER] Error adding player %N data", client); }
По идее ошибка другая должна быть.С этой строкой скидывали мне, но там проблема была с добавлением клиента в базу, после обновы(старую бд не удалил)
Сообщения автоматически склеены:
мб все таки игрок успел отключится? потому что тут нет проверки на "в игре" в отличие от 7 строки
Да вроде как всё скачивается вВозможно модельки не качаются. Если есть логи - отправьте