floZZy 125 Опубликовано 10 августа, 2016 (изменено) В общем. Столкнулся с такой бедой. При покупке дома, дом записывается с БД ( к игроку ) , но после ввода команды /sellhouse, пишет что у Вас нету дома, хотя я его только что купил. А после рестарта сервера, пишет в чат " владелец продал дом который вы снимали " хотя я не снимал, а купил его. В общем, помогите. p/s После рестарта хоть и пишет что дом продан, но в БД всё равно написал владелец я if(pTemp[playerid][pSellHouseOffee] == playerid) //Согласился купить дом {new houseid = pTemp[playerid][pSellHouseID];new price = pTemp[playerid][pSellHousePrice];new offerid = pTemp[playerid][pSellHouseOffer];if(!gHouses[houseid][houseOwnerID] || !pData[offerid][pHouse]){SendClientMessage(playerid,CGRAY,"Дом был продан в гос.");pTemp[offerid][pSellHouseOffer] = INVALID_PLAYER_ID;pTemp[playerid][pSellHouseOffer] = INVALID_PLAYER_ID;pTemp[playerid][pSellHouseOffee] = INVALID_PLAYER_ID;pTemp[playerid][pSellHousePrice] = 0;pTemp[playerid][pSellHouseID] = 0;return 1;}if(pTemp[offerid][pSellHouseOffer] == INVALID_PLAYER_ID || !IsPlayerConnected(offerid)){SendClientMessage(playerid,CGRAY,"Продавец вышел из игры, либо продал дом другому игроку");pTemp[offerid][pSellHouseOffer] = INVALID_PLAYER_ID;pTemp[playerid][pSellHouseOffer] = INVALID_PLAYER_ID;pTemp[playerid][pSellHouseOffee] = INVALID_PLAYER_ID;pTemp[playerid][pSellHousePrice] = 0;pTemp[playerid][pSellHouseID] = 0;return 1;}if(GetPlayerMoneyEx(playerid) {SendClientMessage(playerid,CGRAY,"У Вас недостаточно денег на руках");SendClientMessage(offerid,CGRAY,"У покупателя недостаточно денег");pTemp[offerid][pSellHouseOffer] = INVALID_PLAYER_ID;pTemp[playerid][pSellHouseOffer] = INVALID_PLAYER_ID;pTemp[playerid][pSellHouseOffee] = INVALID_PLAYER_ID;pTemp[playerid][pSellHousePrice] = 0;pTemp[playerid][pSellHouseID] = 0;return 1;}UpdatePlayerData(offerid,"house",0);UpdatePlayerData(playerid,"house",houseid+1);new query[512];format(query,sizeof(query),"UPDATE `houses` SET `ownerid` = '%d', owner = '%s',inhabit2id = '0',inhabit3id = '0',inhabit4id = '0',inhabit2='',inhabit3='',inhabit4='' WHERE `id` = '%d'",pData[playerid][pMysqlID],pData[playerid][pNickname],houseid+1);sql_query(dbserv, query);TransferMoney(playerid,offerid,price,"sellhouse");pData[playerid][pHouse] = houseid+1;pData[offerid][pHouse] = 0;gHouses[houseid][houseOwnerID] = pData[playerid][pMysqlID];format(gHouses[houseid][houseOwner],MAX_PLAYER_NAME,"%s",pData[playerid][pNickname]);strdel(gHouseHabits[houseid][0],0,24);strdel(gHouseHabits[houseid][1],0,24);strdel(gHouseHabits[houseid][2],0,24);gHouses[houseid][houseHabitID][0] = 0;gHouses[houseid][houseHabitID][1] = 0;gHouses[houseid][houseHabitID][2] = 0;gHouses[houseid][houseSkin][1] = 0;gHouses[houseid][houseSkin][2] = 0;gHouses[houseid][houseSkin][3] = 0;if(pData[playerid][pFraction]) gHouses[houseid][houseSkin][3] = pData[playerid][pFractionSkin];UpdateHouseDress(houseid);if(pData[offerid][pFraction]) SetPlayerSkin(offerid,pData[offerid][pFractionSkin]);SendClientMessage(playerid,CGREEN,"Поздравляем, Вы купили дом");SendClientMessage(offerid,CGREEN,"Дом продан");if(questprohod[playerid] == 1 && questhome[playerid] == 0){SendClientMessage(playerid, CGREEN, "Вы успешно выполнили квест 'Жильё'.");SendClientMessage(playerid, CGREEN, "Ваша награда 60.000$.");questprohod[playerid] = 0,questhome[playerid] = 1;pData[playerid][pMoney] += 60000;ResetPlayerMoney(playerid); GivePlayerMoney(playerid,pData[playerid][pMoney]);}pTemp[offerid][pSellHouseOffer] = INVALID_PLAYER_ID;pTemp[playerid][pSellHouseOffer] = INVALID_PLAYER_ID;pTemp[playerid][pSellHouseOffee] = INVALID_PLAYER_ID;pTemp[playerid][pSellHousePrice] = 0;pTemp[playerid][pSellHouseID] = 0;} if(!strcmp(cmd,"/sellhouse",true)){new mes[128];if(!pData[playerid][pHouse]) return SendClientMessage(playerid,CGRAY,"У Вас нет дома");if(pData[playerid][pCar]) return SendClientMessage(playerid,CGRAY,"У Вас есть машина. Вы должны продать её прежде чем продавать дом");new houseid = pData[playerid][pHouse]-1;if(gHouses[houseid][houseOwnerID] != pData[playerid][pMysqlID]) return SendClientMessage(playerid,CGRAY,"Вы не являетесь владельцем дома в котором живете");if(pTemp[playerid][pTaxiID] != INVALID_VEHICLE_ID || pTemp[playerid][pTaxiPass] != INVALID_PLAYER_ID) return SendClientMessage(playerid,CGRAY,"Нельзя использовать данную команду сейчас");tmp = strtok(cmdtext, idx);if(!strlen(tmp)){SPFD(playerid,dSellHouse,0,"Продажа дома","Да","Нет","{"#cW"}Вы хотите продать дом государству за {"#cGREEN"}$%d {"#cW"}(80%% от гос. стоимости)?\n{"#cGRAY"}(чтобы продать дом другому игроку введите /sellhouse [iD игрока] [Цена])",gHouses[houseid][housePrice]/100*80);return 1;}new actplayerid = strval(tmp);tmp = strtok(cmdtext, idx);new price = strval(tmp);if(price 200000000) return SendClientMessage(playerid,CGRAY,"Цена не может быть меньше гос. цены дома или больше 200 млн.");if(!IsPlayerConnected(actplayerid) || playerid == actplayerid) return SendClientMessage(playerid,CGRAY,"Неверный ID игрока");if(pData[actplayerid][pHouse]) return SendClientMessage(playerid,CGRAY,"У игрока уже есть дом, чтобы обменяться используйте /changehouse");if(GetPlayerDistanceToPlayer(playerid,actplayerid) > 3.0 || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(actplayerid)) return SendClientMessage(playerid,CGRAY,"Вы далеко друг от друга");format(mes,sizeof(mes),"Вы предложили {"#cW"}%s {"#cINFO"} купить ваш дом",pData[actplayerid][pNickname]);SendClientMessage(playerid,CINFO,mes);format(mes,sizeof(mes),"%s {"#cINFO"}предложил Вам купить его дом за {"#cRED"}$%d{"#cINFO"}. Чтобы подтвердить нажмите {"#cGREEN"}Y{"#cINFO"}, иначе {"#cRED"}N",pData[playerid][pNickname],price);SendClientMessage(actplayerid,CWHITE,mes);format(mes, sizeof(mes), "Вы предложили {"#cINFO"}%s {"#cW"}купить ваш дом за {"#cGREEN"}$%d", pData[actplayerid][pNickname],price);SendClientMessage(playerid, -1, mes);pTemp[playerid][pSellHouseOffer] = playerid;pTemp[actplayerid][pSellHouseOffer] = playerid;pTemp[actplayerid][pSellHouseOffee] = actplayerid;pTemp[actplayerid][pSellHousePrice] = price;pTemp[actplayerid][pSellHouseID] = houseid;} Изменено 10 августа, 2016 пользователем T4RAS1KMLG Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
floZZy 125 Опубликовано 10 августа, 2016 Крч в БД дом остаётся, и пишет что хозяин я Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
floZZy 125 Опубликовано 11 августа, 2016 up Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
floZZy 125 Опубликовано 13 августа, 2016 Что не кто не может помочь ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
EgasVegas 842 Опубликовано 13 августа, 2016 Тут надо мод сам смотреть. Вдруг что-то с переменными не так и т.п Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
floZZy 125 Опубликовано 13 августа, 2016 @EgasVegas,Вот именно, что в моде всё в порядке, так же как и с БД Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты