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