PDA

Просмотр полной версии : [Вопрос] Проблема с продажей дома. [Мод Diamond]



Ramirez
11.06.2014, 17:24
Покупаю дом, в статистике пишет что ето мой дом но когда хочу продать немогу. Пишет что я являюсь владельцем дома номер 0.

Вот сама команда.

if(!strcmp(cmd,"/sellhouse",true))
{
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])
{
SendMes(playerid, -1, "Вы явл владельцем: %i дома",gHouses[houseid][houseOwnerID]);
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,"Продажа дома","Да","Нет","{"#cWHITE"}Вы хотите продать дом государству за {"#cGREEN"}$%d {"#cWHITE"}(80% от гос. стоимости)?\n{"#cGRAY"}(Чтобы продать дом другому игроку введите /sellhouse [ID игрока] [Цена])",gHouses[houseid][housePrice]/100*80);
return 1;
}
ПОМОГИТЕ ИСПРАВИТЬ!

DeimoS
11.06.2014, 17:27
Команду покупки дока в студию

Ramirez
11.06.2014, 17:33
Команду покупки дока в студию


if(areaid >= gHouseArea[0] && areaid <= gHouseArea[gHouseCount-1])
{
if(pTemp[playerid][pJustTP])
{
pTemp[playerid][pJustTP] = false;
return 1;
}
new houseid=areaid - gHouseArea[0];
/*for(new i;i<gHouseCount;i++)
{
if(gHouseArea[i] == areaid)
{
houseid = i;
break;
}
} */
if(houseid == -1) return 1;
pTemp[playerid][pSelectedHouseID] = houseid;
new mes[128];
new classname[20];
switch(gHouses[houseid][houseClass])
{
case 0:classname = "Эконом";
case 1:classname = "Cредний";
case 2:classname = "Элитный";
case 3:classname = "Особняк";
default: classname = "Неизвестно";
}
if(!IsPlayerInAnyVehicle(playerid))
{
if(!gHouses[houseid][houseOwnerID]) // на продажу
{
format(mes,sizeof(mes),"{"#cWHITE"}Номер дома: {"#cGREEN"}%d\n{"#cWHITE"}Класс: {"#cGREEN"}%s\n{"#cWHITE"}Цена: {"#cGREEN"}%d",gHouses[houseid][houseID],classname,gHouses[houseid][housePrice]);
ShowPlayerDialog(playerid,dHouseInfo,0,"Частный дом",mes,"Купить","Отмена");
}
else
{
format(mes,sizeof(mes),"{"#cWHITE"}Номер дома: {"#cGREEN"}%d\n{"#cWHITE"}Класс: {"#cGREEN"}%s\n{"#cWHITE"}Владелец: {"#cGREEN"}%s",gHouses[houseid][houseID],classname,gHouses[houseid][houseOwner]);
ShowPlayerDialog(playerid,dHouseInfo,0,"Частный дом",mes,"Войти","Отмена");
}
}
}

Вот

DeimoS
11.06.2014, 17:38
Это всё, конечно, хорошо, но где диалог? Нужен код, который записывает дом за новым владельцем.
И помещайте код не в тег quote, а в тег php

Ramirez
11.06.2014, 17:43
Это всё, конечно, хорошо, но где диалог? Нужен код, который записывает дом за новым владельцем.
И помещайте код не в тег quote, а в тег php

Тоесть что вставить подскажите?Может я что-то не то кинул?

DmX
11.06.2014, 17:48
Тоесть что вставить подскажите?Может я что-то не то кинул?

Тебе нужно скинуть строчку либо


case dHouseInfo:

либо


if(dialogid == dHouseInfo)

Ramirez
11.06.2014, 17:50
Тебе нужно скинуть строчку либо


case dHouseInfo:

либо


if(dialogid == dHouseInfo)

Просто добавить ето?

DeimoS
11.06.2014, 17:51
Просто добавить ето?

Сюда скинуть содержимое диалога нужно

Ramirez
11.06.2014, 17:53
case dHouseInfo:
{
if(!response) return 1;
new houseid = pTemp[playerid][pSelectedHouseID];
if(!gHouses[houseid][houseOwnerID])
{
if(pData[playerid][pHouse]) return SendClientMessage(playerid,CGRAY,"Ó âàñ óæå åñòü äîì");
SPFD(playerid,dHouseBuy,0,"×àñòíûé äîì","Äà","Íåò","{"#cWHITE"}Âû äåéñòâèòåëüíî õîòèòå êóïèòü ýòîò äîì çà {"#cGREEN"}$%d?",gHouses[houseid][housePrice]);
}
else
{
if(gHouses[houseid][houseClose]) return GameTextForPlayer(playerid,"~r~closed",2000,1);
SetPlayerInterior(playerid,gHints[gHouses[houseid][houseHint]][hintInterior]);
SetPlayerPos(playerid,gHints[gHouses[houseid][houseHint]][hintX],gHints[gHouses[houseid][houseHint]][hintY],gHints[gHouses[houseid][houseHint]][hintZ]);
SetPlayerFacingAngle(playerid,gHints[gHouses[houseid][houseHint]][hintR]);
SetPlayerVirtualWorld(playerid,houseid+1);
pTemp[playerid][pIsInHouse] = true;
}
}

Вот

underwoker
11.06.2014, 20:04
Вот
Сказали же в php запихивать код.

Ramirez
11.06.2014, 20:51
Сказали же в php запихивать код.

Помоги впихнуть

DeimoS
11.06.2014, 22:32
Запрос в БД нужен, блджад. Вы вообще понимаете то, о чём вас тут просят?

Ramirez
11.06.2014, 23:45
Запрос в БД нужен, блджад. Вы вообще понимаете то, о чём вас тут просят?

Вот в том и проблема. Я не понимаю как сделать запрос в БД

underwoker
11.06.2014, 23:54
Вот в том и проблема. Я не понимаю как сделать запрос в БД
Запросов не так много. Почитайте мануалы/уроки. В конце концов - скачайте какой-нибудь мод и посмотрите как сделано там.

Ramirez
12.06.2014, 00:20
Запросов не так много. Почитайте мануалы/уроки. В конце концов - скачайте какой-нибудь мод и посмотрите как сделано там.

В интернете ненаходит совсем никаких мануилов о запросах в БД

underwoker
12.06.2014, 01:44
В интернете ненаходит совсем никаких мануилов о запросах в БД
Раз не умеете пользоваться гуглом, то качайте моды/fs, смотрите как там реализовано. В fs бывает даже понятнее.

DeimoS
12.06.2014, 08:34
Вот в том и проблема. Я не понимаю как сделать запрос в БД

При чём тут СДЕЛАТЬ!? НАЙДИТЕ В МОДЕ ЗАПРОС, КОТОРЫЙ ПРИСВАИВАЕТ ДОМ ИГРОКУ И СКИНЬТЕ ВЕСЬ ЭТОТ КОД СЮДА. Так понятнее?