SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 29/01/2015, 12:51 PM   #1
Daea
Big Clucker
 
Join Date: Dec 2013
Posts: 189
Reputation: 2
Default Отправка запроса при выходе игрока

Добрый день! В общем, при закрытии инвентаря должен отправляться запрос в БД. И он работает. Т.е. если просто закрыть инвентарь и посмотреть в БД, то значение изменится. При выходе игрока [OnPlayerDisconnect] инвентарь закрывается, но в БД уже всё по 0, хотя запрос отправляется с нормальными значениями
Code:
print("{1111}");
		if(GetPVarInt(playerid,"LoadBAG") == 1)
		{
		    print("{2222}");
			if(InventoryPlayer[playerid][invSlot][19] == 735 && InventoryPlayer[playerid][invKol][19] != 1 || InventoryPlayer[playerid][invSlot][19] == 664 && InventoryPlayer[playerid][invKol][19] != 1 || InventoryPlayer[playerid][invSlot][21] == 518 && InventoryPlayer[playerid][invKol][21] != 1 || InventoryPlayer[playerid][invSlot][21] == 736 && InventoryPlayer[playerid][invKol][21] != 1)
			{
			    print("{3333}");
				new stringmysql[400];
				if(InventoryPlayer[playerid][invSlot][19] == 664 || InventoryPlayer[playerid][invSlot][19] == 735)
				{
				    mysql_format(connects,stringmysql,sizeof(stringmysql),"UPDATE `Bags` SET `invSlot0` = '%d',`invSlot1`='%d',`invSlot2`='%d',`invSlot3`='%d',`invSlot4`='%d',`invSlot5`='%d',`invSlot6`='%d',`invSlot7`='%d',`invSlot8`='%d',`invSlot9`='%d',`invKol0`='%d',`invKol1`='%d',`invKol2`='%d',`invKol3`='%d',`invKol4`='%d',`invKol5`='%d',`invKol6`='%d',`invKol7`='%d',`invKol8`='%d',`invKol9`='%d' WHERE `ID` = '%d'",
					InventoryPlayer[playerid][invSlot][9],InventoryPlayer[playerid][invSlot][10],InventoryPlayer[playerid][invSlot][11],InventoryPlayer[playerid][invSlot][12],
					InventoryPlayer[playerid][invSlot][13],InventoryPlayer[playerid][invSlot][14],InventoryPlayer[playerid][invSlot][15],InventoryPlayer[playerid][invSlot][16],
					InventoryPlayer[playerid][invSlot][17],InventoryPlayer[playerid][invSlot][18],InventoryPlayer[playerid][invKol][9],InventoryPlayer[playerid][invKol][10],
					InventoryPlayer[playerid][invKol][11],InventoryPlayer[playerid][invKol][12],InventoryPlayer[playerid][invKol][13],InventoryPlayer[playerid][invKol][14],
					InventoryPlayer[playerid][invKol][15],InventoryPlayer[playerid][invKol][16],InventoryPlayer[playerid][invKol][17],InventoryPlayer[playerid][invKol][18],InventoryPlayer[playerid][invKol][19]);
					mysql_function_query(connects, stringmysql, false, "", "");

					format(stringmysql,sizeof(stringmysql),"UPDATE `Bags` SET `invSlot0` = '%d',`invSlot1`='%d',`invSlot2`='%d',`invSlot3`='%d',`invSlot4`='%d',`invSlot5`='%d',`invSlot6`='%d',`invSlot7`='%d',`invSlot8`='%d',`invSlot9`='%d',`invKol0`='%d',`invKol1`='%d',`invKol2`='%d',`invKol3`='%d',`invKol4`='%d',`invKol5`='%d',`invKol6`='%d',`invKol7`='%d',`invKol8`='%d',`invKol9`='%d' WHERE `ID` = '%d'",
					InventoryPlayer[playerid][invSlot][9],InventoryPlayer[playerid][invSlot][10],InventoryPlayer[playerid][invSlot][11],InventoryPlayer[playerid][invSlot][12],
					InventoryPlayer[playerid][invSlot][13],InventoryPlayer[playerid][invSlot][14],InventoryPlayer[playerid][invSlot][15],InventoryPlayer[playerid][invSlot][16],
					InventoryPlayer[playerid][invSlot][17],InventoryPlayer[playerid][invSlot][18],InventoryPlayer[playerid][invKol][9],InventoryPlayer[playerid][invKol][10],
					InventoryPlayer[playerid][invKol][11],InventoryPlayer[playerid][invKol][12],InventoryPlayer[playerid][invKol][13],InventoryPlayer[playerid][invKol][14],
					InventoryPlayer[playerid][invKol][15],InventoryPlayer[playerid][invKol][16],InventoryPlayer[playerid][invKol][17],InventoryPlayer[playerid][invKol][18],InventoryPlayer[playerid][invKol][19]);
					print(stringmysql);
				}
				if(InventoryPlayer[playerid][invSlot][21] == 518 || InventoryPlayer[playerid][invSlot][21] == 736)
				{
				    mysql_format(connects,stringmysql,sizeof(stringmysql),"UPDATE `Bags` SET `invSlot0` = '%d',`invSlot1`='%d',`invSlot2`='%d',`invSlot3`='%d',`invSlot4`='%d',`invSlot5`='%d',`invSlot6`='%d',`invSlot7`='%d',`invSlot8`='%d',`invSlot9`='%d',`invKol0`='%d',`invKol1`='%d',`invKol2`='%d',`invKol3`='%d',`invKol4`='%d',`invKol5`='%d',`invKol6`='%d',`invKol7`='%d',`invKol8`='%d',`invKol9`='%d' WHERE `ID` = '%d'",
					InventoryPlayer[playerid][invSlot][9],InventoryPlayer[playerid][invSlot][10],InventoryPlayer[playerid][invSlot][11],InventoryPlayer[playerid][invSlot][12],
					InventoryPlayer[playerid][invSlot][13],InventoryPlayer[playerid][invSlot][14],InventoryPlayer[playerid][invSlot][15],InventoryPlayer[playerid][invSlot][16],
					InventoryPlayer[playerid][invSlot][17],InventoryPlayer[playerid][invSlot][18],InventoryPlayer[playerid][invKol][9],InventoryPlayer[playerid][invKol][10],
					InventoryPlayer[playerid][invKol][11],InventoryPlayer[playerid][invKol][12],InventoryPlayer[playerid][invKol][13],InventoryPlayer[playerid][invKol][14],
					InventoryPlayer[playerid][invKol][15],InventoryPlayer[playerid][invKol][16],InventoryPlayer[playerid][invKol][17],InventoryPlayer[playerid][invKol][18],InventoryPlayer[playerid][invKol][21]);
			    	mysql_function_query(connects, stringmysql, false, "", "");

					format(stringmysql,sizeof(stringmysql),"UPDATE `Bags` SET `invSlot0` = '%d',`invSlot1`='%d',`invSlot2`='%d',`invSlot3`='%d',`invSlot4`='%d',`invSlot5`='%d',`invSlot6`='%d',`invSlot7`='%d',`invSlot8`='%d',`invSlot9`='%d',`invKol0`='%d',`invKol1`='%d',`invKol2`='%d',`invKol3`='%d',`invKol4`='%d',`invKol5`='%d',`invKol6`='%d',`invKol7`='%d',`invKol8`='%d',`invKol9`='%d' WHERE `ID` = '%d'",
					InventoryPlayer[playerid][invSlot][9],InventoryPlayer[playerid][invSlot][10],InventoryPlayer[playerid][invSlot][11],InventoryPlayer[playerid][invSlot][12],
					InventoryPlayer[playerid][invSlot][13],InventoryPlayer[playerid][invSlot][14],InventoryPlayer[playerid][invSlot][15],InventoryPlayer[playerid][invSlot][16],
					InventoryPlayer[playerid][invSlot][17],InventoryPlayer[playerid][invSlot][18],InventoryPlayer[playerid][invKol][9],InventoryPlayer[playerid][invKol][10],
					InventoryPlayer[playerid][invKol][11],InventoryPlayer[playerid][invKol][12],InventoryPlayer[playerid][invKol][13],InventoryPlayer[playerid][invKol][14],
					InventoryPlayer[playerid][invKol][15],InventoryPlayer[playerid][invKol][16],InventoryPlayer[playerid][invKol][17],InventoryPlayer[playerid][invKol][18],InventoryPlayer[playerid][invKol][21]);
					print(stringmysql);
				}
			}
		}
ЛОГ, когда я выключил инвентарь.
Code:
[16:24:06] {1111}
[16:24:06] {2222}
[16:24:06] {3333}
[16:24:06] UPDATE `Bags` SET `invSlot0` = '5',`invSlot1`='0',`invSlot2`='0',`invSlot3`='0',`invSlot4`='0',`invSlot5`='0',`invSlot6`='0',`invSlot7`='0',`invSlot8`='0',`invSlot9`='0',`invKol0`='1',`invKol1`='0',`invKol2`='0',`invKol3`='0',`invKol4`='0',`invKol5`='0',`invKol6`='0',`invKol7`='0',`invKol8`='0',`invKol9`='0' WHERE `ID` = '39'
ЛОГ, когда я вышел из игры и инвентарь закрылся.
Code:
[16:24:42] {1111}
[16:24:42] {2222}
[16:24:42] {3333}
[16:24:42] UPDATE `Bags` SET `invSlot0` = '5',`invSlot1`='0',`invSlot2`='0',`invSlot3`='0',`invSlot4`='0',`invSlot5`='0',`invSlot6`='0',`invSlot7`='0',`invSlot8`='0',`invSlot9`='0',`invKol0`='1',`invKol1`='0',`invKol2`='0',`invKol3`='0',`invKol4`='0',`invKol5`='0',`invKol6`='0',`invKol7`='0',`invKol8`='0',`invKol9`='0' WHERE `ID` = '39'
[16:24:42] [part] Bob_Anderson has left the server (5:1)
Видно что в обоих случаях
`invSlot0` = '5'

Так-с, пробежимся снова по данной проблеме. Если закрыть инвентарь, то данные сохраняются, а если выйти из игры, то уже в инвентаре нулики, хотя запрос посылает 5...
Daea is offline   Reply With Quote
Old 29/01/2015, 01:01 PM   #2
White_116
High-roller
 
Join Date: Sep 2010
Location: Russia/116
Posts: 1,481
Reputation: 69
Default Re: Отправка запроса при выходе игрока



OnPlayerDisconnect в студию.
__________________
White_116 is offline   Reply With Quote
Old 29/01/2015, 01:01 PM   #3
cm666
Huge Clucker
 
Join Date: Jul 2012
Posts: 462
Reputation: 8
Default Re: Отправка запроса при выходе игрока

Обнуление значит где-то есть .
cm666 is offline   Reply With Quote
Old 29/01/2015, 01:08 PM   #4
Daea
Big Clucker
 
Join Date: Dec 2013
Posts: 189
Reputation: 2
Default Re: Отправка запроса при выходе игрока

Это весь код, который отвечает за это. Нет, как же может быть обнуление, если он посылает значение 5? Тем более закрытие инвентаря происходит самым первым
Code:
public OnPlayerDisconnect(playerid)
{
if(GetPVarInt(playerid,"InvON")) CloseInventory(playerid);
...// Там уже никак не относится. Обнуления, в общем нет
}
Daea is offline   Reply With Quote
Old 29/01/2015, 01:38 PM   #5
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,463
Reputation: 131
Default Re: Отправка запроса при выходе игрока

А теперь начни выводить в лог запрос который ты отправляешь, а не повторно отформатированую строку.

pawn Code:
if(InventoryPlayer[playerid][invSlot][19] == 664 || InventoryPlayer[playerid][invSlot][19] == 735)
                {
                    mysql_format(connects,stringmysql,sizeof(stringmysql),"UPDATE `Bags` SET `invSlot0` = '%d',`invSlot1`='%d',`invSlot2`='%d',`invSlot3`='%d',`invSlot4`='%d',`invSlot5`='%d',`invSlot6`='%d',`invSlot7`='%d',`invSlot8`='%d',`invSlot9`='%d',`invKol0`='%d',`invKol1`='%d',`invKol2`='%d',`invKol3`='%d',`invKol4`='%d',`invKol5`='%d',`invKol6`='%d',`invKol7`='%d',`invKol8`='%d',`invKol9`='%d' WHERE `ID` = '%d'",
                    InventoryPlayer[playerid][invSlot][9],InventoryPlayer[playerid][invSlot][10],InventoryPlayer[playerid][invSlot][11],InventoryPlayer[playerid][invSlot][12],
                    InventoryPlayer[playerid][invSlot][13],InventoryPlayer[playerid][invSlot][14],InventoryPlayer[playerid][invSlot][15],InventoryPlayer[playerid][invSlot][16],
                    InventoryPlayer[playerid][invSlot][17],InventoryPlayer[playerid][invSlot][18],InventoryPlayer[playerid][invKol][9],InventoryPlayer[playerid][invKol][10],
                    InventoryPlayer[playerid][invKol][11],InventoryPlayer[playerid][invKol][12],InventoryPlayer[playerid][invKol][13],InventoryPlayer[playerid][invKol][14],
                    InventoryPlayer[playerid][invKol][15],InventoryPlayer[playerid][invKol][16],InventoryPlayer[playerid][invKol][17],InventoryPlayer[playerid][invKol][18],InventoryPlayer[playerid][invKol][19]);
                    mysql_function_query(connects, stringmysql, false, "", "");
                    print(stringmysql);
                }
                if(InventoryPlayer[playerid][invSlot][21] == 518 || InventoryPlayer[playerid][invSlot][21] == 736)
                {
                    mysql_format(connects,stringmysql,sizeof(stringmysql),"UPDATE `Bags` SET `invSlot0` = '%d',`invSlot1`='%d',`invSlot2`='%d',`invSlot3`='%d',`invSlot4`='%d',`invSlot5`='%d',`invSlot6`='%d',`invSlot7`='%d',`invSlot8`='%d',`invSlot9`='%d',`invKol0`='%d',`invKol1`='%d',`invKol2`='%d',`invKol3`='%d',`invKol4`='%d',`invKol5`='%d',`invKol6`='%d',`invKol7`='%d',`invKol8`='%d',`invKol9`='%d' WHERE `ID` = '%d'",
                    InventoryPlayer[playerid][invSlot][9],InventoryPlayer[playerid][invSlot][10],InventoryPlayer[playerid][invSlot][11],InventoryPlayer[playerid][invSlot][12],
                    InventoryPlayer[playerid][invSlot][13],InventoryPlayer[playerid][invSlot][14],InventoryPlayer[playerid][invSlot][15],InventoryPlayer[playerid][invSlot][16],
                    InventoryPlayer[playerid][invSlot][17],InventoryPlayer[playerid][invSlot][18],InventoryPlayer[playerid][invKol][9],InventoryPlayer[playerid][invKol][10],
                    InventoryPlayer[playerid][invKol][11],InventoryPlayer[playerid][invKol][12],InventoryPlayer[playerid][invKol][13],InventoryPlayer[playerid][invKol][14],
                    InventoryPlayer[playerid][invKol][15],InventoryPlayer[playerid][invKol][16],InventoryPlayer[playerid][invKol][17],InventoryPlayer[playerid][invKol][18],InventoryPlayer[playerid][invKol][21]);
                    mysql_function_query(connects, stringmysql, false, "", "");
                    print(stringmysql);
                }
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Сохранение позиции при выходе [rls] allex Русский/Russian 14 10/03/2014 10:48 AM
MySQL проблемы с выполнением запроса Makar007 Русский/Russian 11 04/02/2014 03:03 PM
Отправка писем через SMTP serpip Русский/Russian 4 01/07/2013 11:43 AM
Требуется помощь в создании запроса warlock02 Русский/Russian 14 26/02/2013 10:40 PM
HTTP запросы. Отправка сообщений на e-mail. Gameyer Русский/Russian 9 18/08/2012 08:46 PM


All times are GMT. The time now is 02:16 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.