Отправка запроса при выходе игрока
#1

Добрый день! В общем, при закрытии инвентаря должен отправляться запрос в БД. И он работает. Т.е. если просто закрыть инвентарь и посмотреть в БД, то значение изменится. При выходе игрока [OnPlayerDisconnect] инвентарь закрывается, но в БД уже всё по 0, хотя запрос отправляется с нормальными значениями
Код:
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);
				}
			}
		}
ЛОГ, когда я выключил инвентарь.
Код:
[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'
ЛОГ, когда я вышел из игры и инвентарь закрылся.
Код:
[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...
Reply
#2



OnPlayerDisconnect в студию.
Reply
#3

Обнуление значит где-то есть .
Reply
#4

Это весь код, который отвечает за это. Нет, как же может быть обнуление, если он посылает значение 5? Тем более закрытие инвентаря происходит самым первым
Код:
public OnPlayerDisconnect(playerid)
{
if(GetPVarInt(playerid,"InvON")) CloseInventory(playerid);
...// Там уже никак не относится. Обнуления, в общем нет
}
Reply
#5

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

pawn Код:
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);
                }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)