В теме 44 сообщения

@Nekit_Krut18,

C:\Users\User\Desktop\gamemodes\dm.pwn(386) : error 017: undefined symbol "mysql_log"

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какая у Вас версия MySQL? (P.S. Откройте через Pawno файл a_mysql.inc через путь .../pawno/include/a_mysql.inc)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@nexus505 

SA-MP MySQL plugin R5

Copyright (c) 2008-2010, G-sTyLeZzZ 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

up
При бане /ban идет запись в таблицу, а при входе в акк разбан, хотя я себя забанил на 30 дней.
При бане /offban идет краш сервера (не пингует сервер).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно удалить offban там нету ничего важного?

И только offban удалить кмд или еще чтото есть в моде?

И можно ли сделать оффбан  как на арз тип format --  /offban [Nick] [obnylenia (0/1)] [days] [Reason]  ???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 25.05.2020 в 15:49, Pirat сказал:

При бане /ban идет запись в таблицу, а при входе в акк разбан, хотя я себя забанил на 30 дней.

Забанили Вы себя. Данные о блокировке появились в базе данных. Заходите на сервер - данных о блокировке нет. В базе данных все равно указано, что Вы забанены. Так?

В 27.05.2020 в 21:08, Pirat сказал:

Можно удалить offban там нету ничего важного?

Что для Вас важно определяете сами. Если не нужна эта команда, сносите ее. 

 

В 27.05.2020 в 21:08, Pirat сказал:

И можно ли сделать оффбан  как на арз тип format --  /offban [Nick] [obnylenia (0/1)] [days] [Reason]  ???

Можно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 29.05.2020 в 11:59, odosenok сказал:

Забанили Вы себя. Данные о блокировке появились в базе данных. Заходите на сервер - данных о блокировке нет. В базе данных все равно указано, что Вы забанены. Так?

Что для Вас важно определяете сами. Если не нужна эта команда, сносите ее. 

 

Можно.

Здравствуйте, начнем с первого вопроса. Смотрите, я себя забанил по формату "/ban [id] [days] [Reason]" -> "/ban 0 30 1". В общий чат написали - Администратор Pirat[0] заблокировал аккаунт Pirat[0] на 30 дней. Причина: 1 и кикнуло. После я вышел из игры и зашел в базу данных, где увидел в таблице `banlist` свой ник и т.д. Я думал что все окей работает, решил перезайти и перепроверить все. Зашел в игру и мне написало - Ваш аккаунт успешно {00FF00}разблокирован! Вы можете продолжить игру!. Меня это смутило и я написал данную тему.

Далее 2 вопрос Ваш. Я не спец и не разбираюсь в павно. И не знаю что будет если я ее удалю, задену ли я какие то важные или не совсем функции или системы сервера.

Думаю что я ответил на все Ваши вопросы.

Update 
При коннекте в серверу есть проверки на бан скину в спойлере. Название проверок - "LoadBanList" "LoadBanIpList".Кто разбираться посмотрите. Оставлю две проверки на бан. Одна проверка на обычный бан а другой на бан по ип.
 

Спойлер

stock LoadBanList(playerid)
{
    new name[MAX_PLAYER_NAME], unbandate, dates[16],reason[128];
    new str[150],totalstr[600];
    GetPlayerName(playerid, sn, sizeof(sn));
    format(query, sizeof(query), "SELECT * FROM `banlist` WHERE `Name` = '%s'", sn);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row(query) == 1)
    {
        mysql_fetch_row_format(query, "|");
        sscanf(query, "p<|>s[32]s[16]s[32]s[128]",name,dates,unbandate,reason);
        mysql_free_result();
        if(unbandate > gettime())
        {
            format(str, sizeof(str),"{FF6347}NICK:\t\t\t%s\n",name);
            strcat(totalstr, str);
            format(str, sizeof(str),"Дата бана:\t\t%s\n",dates);
            strcat(totalstr, str);
            format(str, sizeof(str),"Причина:\t\t%s",reason);
            strcat(totalstr, str);
            SPD(playerid,0,DIALOG_STYLE_MSGBOX,"Блокировка",totalstr,"Закрыть","");
            Kicked(playerid);
        }
        else
        {
            format(query, sizeof(query), "DELETE FROM `banlist` WHERE `Name` = '%s'",sn);
            mysql_query(query);
            SCM(playerid, COLOR_YELLOW, "Ваш аккаунт успешно {00FF00}разблокирован!{33FFFF} Вы можете продолжить игру!");
        }
        mysql_free_result();
    }
    return 1;
}

 

Спойлер

stock LoadBanIpList(playerid)
{
    new ip[16], endpos = 0;
    GetPlayerIp(playerid, ip, sizeof(ip));
    format(query, sizeof(query), "SELECT * FROM `baniplist` WHERE `IP` = '%s'", ip);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query))
    {
        SCM(playerid, COLOR_LIGHTRED,"Ваш IP заблокирован!");
        Kicked(playerid);
        return 1;
    }
    mysql_free_result();
    //
    for(new i = 0; i < 2; i++)
    {
        endpos = strfind(ip, ".", true,endpos+1);
    }
    if(endpos != -1) strdel(ip, endpos, sizeof(ip));
    format(query, sizeof(query), "SELECT * FROM `baniplist` WHERE `IP` = '%s'", ip);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query))
    {
        SCM(playerid, COLOR_LIGHTRED, "Ваш IP адрес заблокирован!");
        Kicked(playerid);
        return 1;
    }
    mysql_free_result();
    return 1;
}

 

 

Отредактировано пользователем odosenok

Заметка от Cawfee , создано

3.2. Как правильно выкладывать код на форум рассказано в разделе "FAQ"

Устное предупреждение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Pirat, замените функцию следующей, проделайте все те же операции и покажите логи сервера.

Спойлер

 


stock LoadBanList(playerid)
{
	new name[MAX_PLAYER_NAME], unbandate, dates[16],reason[128];
	new str[150],totalstr[600];
	GetPlayerName(playerid, sn, sizeof(sn));
	format(query, sizeof(query), "SELECT * FROM `banlist` WHERE `Name` = '%s'", sn);
	mysql_query(query);
	mysql_store_result();
	if(mysql_fetch_row(query) == 1)
	{
		mysql_fetch_row_format(query, "|");
		printf("[LoadBanList]: %s", query);
		sscanf(query, "p<|>s[32]s[16]s[32]s[128]",name,dates,unbandate,reason);
		mysql_free_result();
		if(unbandate > gettime())
		{
			format(str, sizeof(str),"{FF6347}NICK:\t\t\t%s\n",name);
			strcat(totalstr, str);
			format(str, sizeof(str),"Дата бана:\t\t%s\n",dates);
			strcat(totalstr, str);
			format(str, sizeof(str),"Причина:\t\t%s",reason);
			strcat(totalstr, str);
			SPD(playerid,0,DIALOG_STYLE_MSGBOX,"Блокировка",totalstr,"Закрыть","");
			Kicked(playerid);
		}
		else
		{
			format(query, sizeof(query), "DELETE FROM `banlist` WHERE `Name` = '%s'",sn);
			mysql_query(query);
			SCM(playerid, COLOR_YELLOW, "Ваш аккаунт успешно {00FF00}разблокирован!{33FFFF} Вы можете продолжить игру!");
		}
		mysql_free_result();
	}
	return 1;
}

И какой тип данных в столбце с датой бана в таблице banlist?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@odosenok В столбце -  banlist  ~~~>  `Name`, `Date`, `Unbandata`, `Reason`.

Спойлер

[15:45:19] MySQL connected!
[15:45:19] Number of vehicle models: 0
[15:45:59] [connection] 176.122.98.4:59099 requests connection cookie.
[15:46:00] [connection] incoming connection: 176.122.98.4:59099 id: 0
[15:46:01] [join] Pirat has joined the server (0:176.122.98.4)
[15:46:17] [part] Pirat has left the server (0:2)
[15:46:37] [connection] incoming connection: 176.122.98.4:56742 id: 0
[15:46:47] [connection] incoming connection: 176.122.98.4:56745 id: 0
[15:46:48] [join] Pirat has joined the server (0:176.122.98.4)
[15:46:48] [LoadBanList]: Pirat|30.05.2020|1595076376|1 
[15:47:15] [part] Pirat has left the server (0:1)
[15:47:15] [connection] incoming connection: 176.122.98.4:56751 id: 0
[15:47:26] [connection] incoming connection: 176.122.98.4:56753 id: 0
[15:47:26] [join] Pirat has joined the server (0:176.122.98.4)
[15:47:27] [part] Pirat has left the server (0:2)

Так же я увидел проблему что в таблице `accounts` в столбце REGIP не идет туда запись ип. Там просто прописано "0". Бан по ип работает проверил. Но бан ип идет в другую таблицу. И да еще 1 вопрос можно как то добавить в таблицу `baniplist` ник админка кто забанил, а то там только ИП указан?

Отредактировано пользователем Pirat
Причина: + 1 вопрос

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Короче, я изучал давно его мод, и с работой бана всё нормально, всё заносится и удаляется. Когда банишь, есть формула gettime() + 32 *84600, вроде такая. Но каким то образом, в бд даже если брать только gettime, то значение bantime меньше, как так? тобишь в бд время должно было получится больше чем gettime, поэтому его пропускает на сервер.

Спойлер

if(unbandate > gettime())
        {
            format(str, sizeof(str),"{FF6347}NICK:\t\t\t%s\n",name);
            strcat(totalstr, str);
            format(str, sizeof(str),"Дата бана:\t\t%s\n",dates);
            strcat(totalstr, str);
            format(str, sizeof(str),"Причина:\t\t%s",reason);
            strcat(totalstr, str);
            SPD(playerid,0,DIALOG_STYLE_MSGBOX,"Блокировка",totalstr,"Закрыть","");
            Kicked(playerid);
        }
        else
        {
            format(query, sizeof(query), "DELETE FROM `banlist` WHERE `Name` = '%s'",sn);
            mysql_query(query);
            SCM(playerid, COLOR_YELLOW, "Ваш аккаунт успешно {00FF00}разблокирован!{33FFFF} Вы можете продолжить игру!");
        }

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@odosenok Я тут всповнил что я заменил плагин и инклуд mysql. Это может быть из за него? Я поменял на ту же версию и от того же автора. P.S. смотрел версию и автора в инклуде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 31.05.2020 в 23:21, Pirat сказал:

@odosenok Я тут всповнил что я заменил плагин и инклуд mysql. Это может быть из за него? Я поменял на ту же версию и от того же автора. P.S. смотрел версию и автора в инклуде.

Он тут не при чём, так как у вас в таблице получается дата разбана даже меньше gettime().

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Nekit_Krut18 Забанил на 1 день, скрин с таблице 'banlist' - https://imgur.com/LPGUm9t

Отредактировано пользователем Pirat

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

up

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Pirat, может быть перенести Вашу тему в "Стол заказов"? Думаю, там быстрее Вам помогут, правда, вероятно, на платной основе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@odosenok Давайте

Заметка от DEST , создано

Перенес

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Pirat в команде "/ban" в вычислении времени разбана ошибка, там не количество дней умножается на количество секунд в сутках (86400), а ник игрока. Попробуйте с таким вариантом: 

Спойлер

CMD:ban(playerid,params[])
{
    AdminCommand(3);
    new nsa[120];
    if(sscanf(params,"ids[60]",params[0], params[1], params[2])) return SCM(playerid, COLOR_GREY, "Используйте: /ban [id] [дни] [причина]");
    if(params[1] < 1 || params[1] > 30) return SCM(playerid, COLOR_GREY, "Нельзя меньше 1 и больше 30!");
    GetPlayerName(params[0], gp, sizeof(gp));
    new ip[16];
    GetPlayerIp(params[0], ip, sizeof(ip));
    GetPlayerName(playerid, sn, sizeof(sn));
    com
    format(nsa,128,"Администратор %s[%d] заблокировал аккаунт %s на %d дней. Причина: %s",sn, playerid, gp, params[1],params[2]);
    SCMToAll(COLOR_LIGHTRED,nsa);
    new Hour, Minute, Second,Year, Month, Day;
    getdate(Year, Month, Day), gettime(Hour, Minute, Second);
    new slip[16];
    GetPlayerIp(params[0], slip, sizeof(slip));
    format(nsa, sizeof(nsa), "[A] [IP: %s] REG-IP: [%s]",slip, info[params[0]][pRegIP]);
    SCM(playerid, COLOR_LIGHTRED,nsa);
    new unbandate = gettime() + params[1]*86400;
    new data[16];
    format(data, 16, "%02d.%02d.%02d",Day,Month,Year);
    format(query, sizeof(query), "INSERT INTO `banlist` (`Name`, `Date`, `Unbandata`, `Reason`) VALUE ('%s', '%s', '%i', '%s')",gp,data,unbandate,params[2]);
    mysql_query(query);
    Kicked(params[0]);
    ainfo[playerid][aBan] ++;
    return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Вопросы / проблемы по скриптингу"

Перемещена в: "Магазин > Стол заказов"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Магазин > Стол заказов", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST не помогло

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };
    • Garnik
      От Garnik
      ERRORS:
      : error 017: undefined symbol "HouseInfo"
      : error 017: undefined symbol "OWNABLEHOUSES"
      : error 029: invalid expression, assumed zero
      : fatal error 107: too many error messages on one line
      ===============================================================================================================
       
       
      ================================================================================================================
      CMD:addhouse(playerid,params[])
      {
              if(PI[playerid][pAdmin] < 10)return false;
              new string[650];
              new house_class, house_price;
              new Float:X, Float:Y, Float:Z, Float:A;
              if(sscanf(params, "ii", house_class,house_price))
              {
                      SendClientMessage(playerid, -1, "???????????: /addhouse [????? ??????] [???? ???????]");
                      SendClientMessage(playerid, -1, "??????: [1 - ??????-?????] [2 - ???????-?????] [3 - ???????-?????] [4 - ???????-?????]");
                      return 1;
              }
              if(house_class > 4 || house_class < 1)
              {
                      SendClientMessage(playerid, -1, "ID ????????? ?? 1 ?? 4");
                      return 1;
              }
              //
              GetPlayerPos(playerid,X,Y,Z);
              GetPlayerFacingAngle(playerid,A);
              HouseInfo[OWNABLEHOUSES][hEnter_X]=X;
              HouseInfo[OWNABLEHOUSES][hEnter_Y]=Y;
              HouseInfo[OWNABLEHOUSES][hEnter_Z]=Z;
              HouseInfo[OWNABLEHOUSES][hEnter_A]=A;
              HouseInfo[OWNABLEHOUSES][hKlass]=house_class;
              HouseInfo[OWNABLEHOUSES][hCost]=house_price;
              string="";
              strmid(HouseInfo[OWNABLEHOUSES][hOwner],"The State",0,strlen("The State"),28);
              format(string, 144, "?? ??????? ??????? ??? ????? {e7e7e7}%d {ffffff}????????? ???????: {e7e7e7}%d",OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hCost]);
              SendClientMessage(playerid,-1,string);
              //
              string="";
              format(string,1500,"INSERT INTO `houses`(`ID`,`Enter_X`, `Enter_Y`, `Enter_Z`, `Enter_A`,`Exit_X`, `Exit_Y`, `Exit_Z`, `Owner`, `Cost` , `Klass`, `Interior`, `Level`) VALUES ('%d','%.2f','%.2f','%.2f','%.2f','267.1','305','999.148','The State','%d','%d','2','1')",
              OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hEnter_X],HouseInfo[
              OWNABLEHOUSES][hEnter_Y],HouseInfo[OWNABLEHOUSES][hEnter_Z]
              ,HouseInfo[OWNABLEHOUSES][hEnter_A],HouseInfo[OWNABLEHOUSES]
              [hCost],HouseInfo[OWNABLEHOUSES][hKlass]);
              mysql_tquery(mysql, string);
              OWNABLEHOUSES++;
              return 1;
      }
       0
       Ответить
    • Garnik
      От Garnik
      ERRORS:
      : error 017: undefined symbol "HouseInfo"
      : error 017: undefined symbol "OWNABLEHOUSES"
      : error 029: invalid expression, assumed zero
      : fatal error 107: too many error messages on one line
      ===============================================================================================================
       
       
      ================================================================================================================
      CMD:addhouse(playerid,params[])
      {
              if(PI[playerid][pAdmin] < 10)return false;
              new string[650];
              new house_class, house_price;
              new Float:X, Float:Y, Float:Z, Float:A;
              if(sscanf(params, "ii", house_class,house_price))
              {
                      SendClientMessage(playerid, -1, "???????????: /addhouse [????? ??????] [???? ???????]");
                      SendClientMessage(playerid, -1, "??????: [1 - ??????-?????] [2 - ???????-?????] [3 - ???????-?????] [4 - ???????-?????]");
                      return 1;
              }
              if(house_class > 4 || house_class < 1)
              {
                      SendClientMessage(playerid, -1, "ID ????????? ?? 1 ?? 4");
                      return 1;
              }
              //
              GetPlayerPos(playerid,X,Y,Z);
              GetPlayerFacingAngle(playerid,A);
              HouseInfo[OWNABLEHOUSES][hEnter_X]=X;
              HouseInfo[OWNABLEHOUSES][hEnter_Y]=Y;
              HouseInfo[OWNABLEHOUSES][hEnter_Z]=Z;
              HouseInfo[OWNABLEHOUSES][hEnter_A]=A;
              HouseInfo[OWNABLEHOUSES][hKlass]=house_class;
              HouseInfo[OWNABLEHOUSES][hCost]=house_price;
              string="";
              strmid(HouseInfo[OWNABLEHOUSES][hOwner],"The State",0,strlen("The State"),28);
              format(string, 144, "?? ??????? ??????? ??? ????? {e7e7e7}%d {ffffff}????????? ???????: {e7e7e7}%d",OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hCost]);
              SendClientMessage(playerid,-1,string);
              //
              string="";
              format(string,1500,"INSERT INTO `houses`(`ID`,`Enter_X`, `Enter_Y`, `Enter_Z`, `Enter_A`,`Exit_X`, `Exit_Y`, `Exit_Z`, `Owner`, `Cost` , `Klass`, `Interior`, `Level`) VALUES ('%d','%.2f','%.2f','%.2f','%.2f','267.1','305','999.148','The State','%d','%d','2','1')",
              OWNABLEHOUSES+1,HouseInfo[OWNABLEHOUSES][hEnter_X],HouseInfo[
              OWNABLEHOUSES][hEnter_Y],HouseInfo[OWNABLEHOUSES][hEnter_Z]
              ,HouseInfo[OWNABLEHOUSES][hEnter_A],HouseInfo[OWNABLEHOUSES]
              [hCost],HouseInfo[OWNABLEHOUSES][hKlass]);
              mysql_tquery(mysql, string);
              OWNABLEHOUSES++;
              return 1;
      }