Вопросы

Доброго времени суток...

Моя проблема заключается в том, что в БД не записываются номера в БД.

Вот код и скриншоты БД:

	case D_VEHNUMBER+2:
		{
			if(!response) return 1;
			
			if(PI[playerid][PlayerCarID] == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_RED, "Ñíà÷àëà íåîáõîäèìî çàãðóçèòü òðàíñïîðò â èãðó: /fixcar");
			
			if(strcmp(C_DATA[playerid][c_number], "None",true)) return SendClientMessage(playerid, COLOR_RED, "Ó Âàñ óæå èìåþòñÿ íîìåðà íà àâòîìîáèëå");
			if(nomercar[playerid] > gettime()) return SendClientMessage(playerid,COLOR_RED,""cER"Íîìåðà ìîæíî ñòàâèòü ðàç â 10 ìèíóò");
			
			mysql_tquery(dbHandle, "SELECT number FROM ownable_numbers f JOIN ( SELECT RAND( ) * ( SELECT MAX( id ) FROM ownable_numbers ) AS max_id) AS m WHERE f.id >= m.max_id AND is_used =0 ORDER BY f.id ASC LIMIT 1","DPSNumber_C","i",playerid);
		}
publics: DPSNumber_C(playerid)
{
	new r,f;
	cache_get_data(r,f);
	
	if(r == 0) return 1;
	
	new local_string[10];
	cache_get_field_content(0, "number", local_string, dbHandle, 10); 
	
	global_string = "";
	format(global_string, 120, "UPDATE `ownable_numbers` SET is_used = 1 WHERE number = '%s'",local_string);
	mysql_tquery(dbHandle, global_string,"", "");
	
	global_string = "";
	format(global_string, sizeof(global_string), "{FFFFFF}Ìåñòî ðåãèñòðàöèè: {63BD4E}Ïóíêò âûäà÷è íîìåðîâ{FFFFFF}\nÍîìåð âàøåãî àâòî: {63BD4E}%s", local_string);
	ShowPlayerDialog(playerid, D_NULL, DIALOG_STYLE_MSGBOX, "{"#cSV"}Ïîëó÷åíèå íîìåðà", global_string, "Çàêðûòü", "");
	foreach(new i: Player)
	{
		if(PlayerLogged[i] == false) continue;
		if(IsADps(i)) SendMes(i, 0x3399FFFF, "[Ïóíêò âûäà÷è íîìåðîâ] %s[%i] çàðåãèñòðèðîâàë íîìåð íà àâòî #1 [%s]", GetName(playerid), playerid, local_string);
	}
	new strings[74];
	format(strings, sizeof strings, "{78A94D}%s", local_string);
	strmid(C_DATA[playerid][c_number], local_string, 0, strlen(local_string), 64);
	TransferMoney(playerid, -1, 5000);
	nomercar[playerid] = gettime() + 300;
	if(VehicleLabel[PI[playerid][PlayerCarID]] != Text3D:INVALID_3DTEXT_ID) UpdateVehicleLabel(PI[playerid][PlayerCarID], 0xFFFFFFFF, strings);
	SetPlayerCarNumber(playerid);
	SavePlayerCar(playerid);
	return 1;
}
Спойлер

Screenshot_14.thumb.png.63c8eb88904a2341d9c4b25c8b5b7545.png

Спойлер

Screenshot_15.thumb.png.104db7409c14a1a77efe4541e527395e.png

В моем случае  донат номера всё же работают, но их сохранение в `ownable_cars` `c_number`  

Вот код:

Спойлер

	case D_DONATE+17:
		{
			if(!response) return callcmd::donate(playerid);
			new fletter[5], sletter[5], tletter[5], rnumber[10], cnumber[15], figures[10], labelcar[65];
			GetPVarString(playerid, "FirstLetter", fletter, sizeof fletter);
			GetPVarString(playerid, "SecondLetter", sletter, sizeof sletter);
			GetPVarString(playerid, "ThirdLetter", tletter, sizeof tletter);
			GetPVarString(playerid, "Region", rnumber, sizeof rnumber);
			GetPVarString(playerid, "ColorNumber", cnumber, sizeof cnumber);
			GetPVarString(playerid, "figures", figures, sizeof figures);
			
			format(labelcar, 64, "%s%s%s%s %s| %sRUS", fletter, figures, sletter, tletter, cnumber, rnumber);

			format(global_string, sizeof(global_string), "SELECT `c_number` FROM `ownable_cars` WHERE `c_number` = '%s'", labelcar);
			mysql_tquery(dbHandle, global_string,"DonateNumber_C","i",playerid);
			
			return 1;
		}

publics:DonateNumber_C(playerid)
{
	new r,f;
	cache_get_data(r,f);
	
	if(r > 0)
	{
		DeletePVar(playerid, "FirstLetter"); DeletePVar(playerid, "SecondLetter"); DeletePVar(playerid, "ThirdLetter");
		DeletePVar(playerid, "Region"); DeletePVar(playerid, "ColorNumber"); DeletePVar(playerid, "figures");
		SendClientMessage(playerid, COLOR_RED, "Номер уже используется, придумайте новый и повторите попытку..");
		return 1;
	}
	if(strcmp(C_DATA[playerid][c_number],"None",true))
	{
		global_string = "";
		format(global_string, 120, "UPDATE `ownable_numbers` SET is_used = 0 WHERE number = '%s'",C_DATA[playerid][c_number]);
		mysql_tquery(dbHandle, global_string,"", "");
	}
	
	new fletter[5], sletter[5], tletter[5], rnumber[10], cnumber[15], figures[10], labelcar[65], string[80];
	GetPVarString(playerid, "FirstLetter", fletter, sizeof fletter);
	GetPVarString(playerid, "SecondLetter", sletter, sizeof sletter);
	GetPVarString(playerid, "ThirdLetter", tletter, sizeof tletter);
	GetPVarString(playerid, "Region", rnumber, sizeof rnumber);
	GetPVarString(playerid, "ColorNumber", cnumber, sizeof cnumber);
	GetPVarString(playerid, "figures", figures, sizeof figures);
	
	format(labelcar, 64, "%s%s%s%s %s| %sRUS", fletter, figures, sletter, tletter, cnumber, rnumber);
	format(string, sizeof string, "{78A94D}%s", labelcar);

	strmid(C_DATA[playerid][c_number], labelcar, 0, strlen(labelcar), 150);

	MysqlUpdatePlayerInt(playerid,"credits",PI[playerid][pPerfectCoins]-150);
	PI[playerid][pPerfectCoins] -= 150;
	SendClientMessage(playerid, COLOR_YELLOW, ""cDA"Вы успешно приобрели новый номер для автомобиля!");

	DeletePVar(playerid, "FirstLetter"); DeletePVar(playerid, "SecondLetter"); DeletePVar(playerid, "ThirdLetter");
	DeletePVar(playerid, "Region"); DeletePVar(playerid, "ColorNumber"); DeletePVar(playerid, "figures");

	if(VehicleLabel[PI[playerid][PlayerCarID]] != Text3D:INVALID_3DTEXT_ID) UpdateVehicleLabel(PI[playerid][PlayerCarID], 0xFFFFFFFF, string);
	
	SetPlayerCarNumber(playerid);
	
	SavePlayerCar(playerid);
	return 1;
}

 

 

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


Ссылка на сообщение

17 ответов на этот вопрос

  • 0

@Evgeha Games логи сервера и логи mysql скиньте

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


Ссылка на сообщение
  • 0

@DEST 

Спойлер

----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3e, (C)2005-2012 SA-MP Team

[10:49:34] 
[10:49:34] Server Plugins
[10:49:34] --------------
[10:49:34]  Loading plugin: crashdetect
[10:49:34]   CrashDetect plugin 4.19.4
[10:49:34]   Loaded.
[10:49:34]  Loading plugin: streamer
[10:49:34] 

*** Streamer Plugin v2.9.4 by Incognito loaded ***

[10:49:34]   Loaded.
[10:49:34]  Loading plugin: sscanf
[10:49:34] 

[10:49:34]  ===============================

[10:49:34]       sscanf plugin loaded.     

[10:49:34]          Version:  2.8.3        

[10:49:34]   (c) 2018 Alex "Y_Less" Cole  

[10:49:34]  ===============================

[10:49:34]   Loaded.
[10:49:34]  Loading plugin: CRP
[10:49:34] 

[10:49:34] ______________________________________

[10:49:34]  Convert Rus To Pwn v0.1.1 loaded
[10:49:34] ______________________________________

[10:49:34]  By: Fro (c) Copyright <TBG> 2009-2011
[10:49:34] ______________________________________

[10:49:34]   Loaded.
[10:49:34]  Loading plugin: pawnraknet
[10:49:34] Pawn.RakNet 0.3e plugin v1.3.0 by urShadow has been loaded
[10:49:34]   Loaded.
[10:49:34]  Loading plugin: pawncmd
[10:49:34] Pawn.CMD plugin v3.2.0 by urShadow has been loaded
[10:49:34]   Loaded.
[10:49:34]  Loading plugin: pawnregex
[10:49:34] Pawn.Regex plugin v1.1.2 by urShadow loaded
[10:49:34]   Loaded.
[10:49:34]  Loading plugin: mysql
[10:49:34]  >> plugin.mysql: R39-6 successfully loaded.
[10:49:34]   Loaded.
[10:49:34]  Loading plugin: mysql_static
[10:49:34]   Failed.
[10:49:34]  Loaded 8 plugins.

[10:49:34] 
[10:49:34] Filterscripts
[10:49:34] ---------------
[10:49:34]   Loading filterscript 'romanpotreb.amx'...
[10:49:34]   Loaded 1 filterscripts.

[10:49:35]   MySQL connection: TRUE

[10:49:35] -> Динамических объектов: 27770
[10:49:35] -> Статических объектов: 0
[10:49:35] 
[10:49:35] ----------
[10:49:35] Reloaded log file: "server_log.txt".
[10:49:35] ----------
[10:49:35] Number of vehicle models: 22
[10:49:36] [Загружено орг/раб. автомобилей]: <159>. Потрачено: <6 ms>.
[10:49:36] [Загружено бизнесов]: <15>. Потрачено: <1 ms>.
[10:49:36] [Загружено домов]: <21>. Потрачено: <2 ms>.
[10:49:36] [Загружены склады мафий]: Потрачено: <0 ms>.
[10:49:36] [Загружены склады банд]: Потрачено: <0 ms>.
[10:49:36] [Загружено гангзон]: <10>. Потрачено: <1 ms>.
[10:49:36] [Загружено банкоматов]: <0>. Потрачено: <0 ms>.
[10:49:36] [Загружено остальное]: Потрачено: <49 ms>.
[10:49:36] [Загружено радаров]: <0>. Потрачено: <0 ms>.
[10:49:36] [Загружено семей]: <0>. Потрачено: <->.
[10:49:36] [Загружено подъездов]: <0>. Потрачено: <0 ms>.
[10:49:36] [Загружено пикапов]: <31>. Потрачено: <1 ms>.
[10:49:36] [Загружено квартир]: <0>. Потрачено: <0 ms>.
[10:49:36] [Загружено гаражей]: <1>. Потрачено: <0 ms>.

 

[16:35:52 06/01/19] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_status") (Query: "SELECT * FROM `other`")
[16:35:52 06/01/19] [ERROR] cache_get_field_content_int - invalid datatype
[16:35:52 06/01/19] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_summ") (Query: "SELECT * FROM `other`")
[16:35:52 06/01/19] [ERROR] cache_get_field_content_int - invalid datatype
[16:35:52 06/01/19] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_count") (Query: "SELECT * FROM `other`")
[16:35:52 06/01/19] [ERROR] cache_get_field_content_int - invalid datatype

 

Отредактировано пользователем odosenok
Причина: заключил код в тег "Спойлер".

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


Ссылка на сообщение
  • 0

В ф-ии DPSNumber_C замените свое начало

new r,f;
cache_get_data(r,f);

if(r == 0) return 1;

этим:

new r,f;
cache_get_data(r,f);

if(r == 0) return print("[#debug]: DPSNumber_C: rows=0");
printf("[#debug]: DPSNumber_C: rows=%d", r);

 

Затем зайдите в игру, попробуйте получить номера и скиньте логи после проделанных действий. 

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


Ссылка на сообщение
  • 0
Спойлер

[10:12:42 06/02/19] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_status") (Query: "SELECT * FROM `other`")
[10:12:42 06/02/19] [ERROR] cache_get_field_content_int - invalid datatype
[10:12:42 06/02/19] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_summ") (Query: "SELECT * FROM `other`")
[10:12:42 06/02/19] [ERROR] cache_get_field_content_int - invalid datatype
[10:12:42 06/02/19] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_count") (Query: "SELECT * FROM `other`")
[10:12:42 06/02/19] [ERROR] cache_get_field_content_int - invalid datatype

 

Спойлер

----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3e, (C)2005-2012 SA-MP Team

[10:12:39] 
[10:12:39] Server Plugins
[10:12:39] --------------
[10:12:39]  Loading plugin: crashdetect
[10:12:39]   CrashDetect plugin 4.19.4
[10:12:39]   Loaded.
[10:12:39]  Loading plugin: streamer
[10:12:39] 

*** Streamer Plugin v2.9.4 by Incognito loaded ***

[10:12:39]   Loaded.
[10:12:39]  Loading plugin: sscanf
[10:12:39] 

[10:12:39]  ===============================

[10:12:39]       sscanf plugin loaded.     

[10:12:39]          Version:  2.8.3        

[10:12:39]   (c) 2018 Alex "Y_Less" Cole  

[10:12:39]  ===============================

[10:12:39]   Loaded.
[10:12:39]  Loading plugin: CRP
[10:12:40] 

[10:12:40] ______________________________________

[10:12:40]  Convert Rus To Pwn v0.1.1 loaded
[10:12:40] ______________________________________

[10:12:40]  By: Fro (c) Copyright <TBG> 2009-2011
[10:12:40] ______________________________________

[10:12:40]   Loaded.
[10:12:40]  Loading plugin: pawnraknet
[10:12:40] Pawn.RakNet 0.3e plugin v1.3.0 by urShadow has been loaded
[10:12:40]   Loaded.
[10:12:40]  Loading plugin: pawncmd
[10:12:40] Pawn.CMD plugin v3.2.0 by urShadow has been loaded
[10:12:40]   Loaded.
[10:12:40]  Loading plugin: pawnregex
[10:12:40] Pawn.Regex plugin v1.1.2 by urShadow loaded
[10:12:40]   Loaded.
[10:12:40]  Loading plugin: mysql
[10:12:40]  >> plugin.mysql: R39-6 successfully loaded.
[10:12:40]   Loaded.
[10:12:40]  Loading plugin: mysql_static
[10:12:40]   Failed.
[10:12:40]  Loaded 8 plugins.

[10:12:40] 
[10:12:40] Filterscripts
[10:12:40] ---------------
[10:12:40]   Loading filterscript 'romanpotreb.amx'...
[10:12:40]   Loaded 1 filterscripts.

[10:12:41]   MySQL connection: TRUE

[10:12:41] -> Динамических объектов: 27770
[10:12:41] -> Статических объектов: 0
[10:12:41] 
[10:12:41] ----------
[10:12:41] Reloaded log file: "server_log.txt".
[10:12:41] ----------
[10:12:41] Number of vehicle models: 22
[10:12:42] [Загружено орг/раб. автомобилей]: <159>. Потрачено: <6 ms>.
[10:12:42] [Загружено бизнесов]: <15>. Потрачено: <1 ms>.
[10:12:42] [Загружено домов]: <21>. Потрачено: <2 ms>.
[10:12:42] [Загружены склады мафий]: Потрачено: <1 ms>.
[10:12:42] [Загружены склады банд]: Потрачено: <0 ms>.
[10:12:42] [Загружено гангзон]: <10>. Потрачено: <0 ms>.
[10:12:42] [Загружено банкоматов]: <0>. Потрачено: <0 ms>.
[10:12:42] [Загружено остальное]: Потрачено: <49 ms>.
[10:12:42] [Загружено радаров]: <0>. Потрачено: <0 ms>.
[10:12:42] [Загружено семей]: <0>. Потрачено: <->.
[10:12:42] [Загружено подъездов]: <0>. Потрачено: <0 ms>.
[10:12:42] [Загружено пикапов]: <31>. Потрачено: <2 ms>.
[10:12:42] [Загружено квартир]: <0>. Потрачено: <0 ms>.
[10:12:42] [Загружено гаражей]: <1>. Потрачено: <0 ms>.
[10:13:53] Incoming connection: 127.0.0.1:55893
[10:13:53] [join] Evgeniy_Kiber has joined the server (0:127.0.0.1)
[10:14:53] [death] Evgeniy_Kiber died 255
[10:15:34] Evgeniy_Kiber | 66 | 66
[10:15:46] [#debug]: DPSNumber_C: rows=0
[10:15:51] [part] Evgeniy_Kiber has left the server (0:1)

 

 

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


Ссылка на сообщение
  • 0

@Evgeha Games судя по всему, номера для игроков должны быть созданы в БазеДанных, откуда они потом уже выдаются самому игроку. Поэтому поищите в моде все, что связано с ownable_numbers, там скорее всего должна быть какая-то команда создания этих самых номеров. 

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


Ссылка на сообщение
  • 0

@DEST Ничего такого не нашёл

 

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


Ссылка на сообщение
  • 0

@DEST

Спойлер

case D_VEHNUMBER+2:
		{
			if(!response) return 1;

            new sendername[MAX_PLAYER_NAME+1];
			if(PI[playerid][PlayerCarID] == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_RED, "Ñíà÷àëà íåîáõîäèìî çàãðóçèòü òðàíñïîðò â èãðó: /fixcar");

			if(strcmp(C_DATA[playerid][c_number], "None",true)) return SendClientMessage(playerid, COLOR_RED, "Ó Âàñ óæå èìåþòñÿ íîìåðà íà àâòîìîáèëå");
			if(nomercar[playerid] > gettime()) return SendClientMessage(playerid,COLOR_RED,""cER"Íîìåðà ìîæíî ñòàâèòü ðàç â 10 ìèíóò");

			mysql_tquery(dbHandle, "SELECT number FROM ownable_numbers f JOIN ( SELECT RAND( ) * ( SELECT MAX( id ) FROM ownable_numbers ) AS max_id) AS m WHERE f.id >= m.max_id AND is_used =0 ORDER BY f.id ASC LIMIT 1","DPSNumber_C","i",GetName(playerid), sendername);
		}

 

 

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


Ссылка на сообщение
  • 0

Значит вручную попробуйте создать в самой БД какой-нибудь номер в таблице ownable_numbers. И проверьте, будут ли выдаваться номера. 

Адресовано @Дарвин, @Evgeha Games

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


Ссылка на сообщение
  • 0

@DEST Оказывается они вообще не выдаются...

Они должны как-то записываться в ownable_cars "c_number"

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


Ссылка на сообщение
  • 0

@Evgeha Games, не выдаются

@DEST не выдаются

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


Ссылка на сообщение
  • 0

Проделайте опять все то же самое, что указано в этом посте: https://pawno-rus.ru/topic/3799-problema-s-zapisyu-nomerov/?do=findComment&comment=14177

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


Ссылка на сообщение
  • 0

@DEST, нет. Номера не выдаются

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


Ссылка на сообщение
  • 0

@Дарвин Внимательно прочитайте пост.

В 01.06.2019 в 22:37, DEST сказал:

Затем зайдите в игру, попробуйте получить номера и скиньте логи после проделанных действий. 

 

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


Ссылка на сообщение
  • 0

@DEST, всё  проделано. вот логи - 

[22:30:42] Darvin_Channel | 73 | 73
[22:30:57] [#debug]: DPSNumber_C: rows=0
[22:57:24] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_status")
[22:57:24] [ERROR] cache_get_field_content_int - invalid datatype
[22:57:24] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_summ")
[22:57:24] [ERROR] cache_get_field_content_int - invalid datatype
[22:57:24] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_count")
[22:57:24] [ERROR] cache_get_field_content_int - invalid datatype
[22:58:13] [ERROR] CMySQLQuery::Execute[] - (error #1146) Table 'amina-rp.logs' doesn't exist
[23:00:02] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_status")
[23:00:02] [ERROR] cache_get_field_content_int - invalid datatype
[23:00:02] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_summ")
[23:00:02] [ERROR] cache_get_field_content_int - invalid datatype
[23:00:02] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_count")
[23:00:02] [ERROR] cache_get_field_content_int - invalid datatype
[23:04:48] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_status")
[23:04:48] [ERROR] cache_get_field_content_int - invalid datatype
[23:04:48] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_summ")
[23:04:48] [ERROR] cache_get_field_content_int - invalid datatype
[23:04:48] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_count")
[23:04:48] [ERROR] cache_get_field_content_int - invalid datatype
[23:07:46] [ERROR] CMySQLQuery::Execute[] - (error #1146) Table 'amina-rp.logs' doesn't exist
[23:09:37] [ERROR] CMySQLQuery::Execute[] - (error #1146) Table 'amina-rp.logs' doesn't exist
[22:24:45] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_status")
[22:24:45] [ERROR] cache_get_field_content_int - invalid datatype
[22:24:45] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_summ")
[22:24:45] [ERROR] cache_get_field_content_int - invalid datatype
[22:24:45] [WARNING] CMySQLResult::GetRowDataByName - field not found ("lot_count")
[22:24:45] [ERROR] cache_get_field_content_int - invalid datatype
[22:29:26] [ERROR] CMySQLQuery::Execute[] - (error #1146) Table 'amina-rp.logs' doesn't exist
[22:29:41] [ERROR] CMySQLQuery::Execute[] - (error #1146) Table 'amina-rp.logs' doesn't exist
[22:30:36] [ERROR] CMySQLQuery::Execute[] - (error #1146) Table 'amina-rp.logs' doesn't exist

 

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


Ссылка на сообщение
  • 0

@Evgeha Games, я так полагаю этот сервер слит где-то? Если да, оставьте, пожалуйста, ссылочку на него.

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


Ссылка на сообщение
  • 0

@odosenok, Скинул в ЛС

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


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

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

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

    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.