#Rips 210 Опубликовано 5 июня, 2017 Доброе время суток, пользователи портала. Возникла такая проблема, то, что при покупки дома не меняется диалог, то есть когда Я купил дом пикап, иконка обновляется, а диалог нет.. Покупка дома на OnPlayerEnterDynamicArea. Код пикапов: if(areaid >= HouseInfo[0][hSquare] && areaid <= HouseInfo[1999][hSquare]) { if(GetPVarInt(playerid, "ExitHouse")) return true; new h = areaid-1; if(h == 255) return true; if(HouseInfo[h][hOwned] == 1) { new ttextt[32], ids = GetPlayerID(HouseInfo[h][hOwner]); if(FIX_IsPlayerConnected(ids)) { ttextt = "[{22ff00}Online{F2EEF0}]"; } else if(!FIX_IsPlayerConnected(ids)) { ttextt = "[{ff001c}Offline{F2EEF0}]"; } new tstext[10]; switch(HouseInfo[h][hKlass]) { case 1: tstext = "D"; case 2: tstext = "C"; case 3: tstext = "B"; case 4: tstext = "A"; case 5: tstext = "S"; default: tstext = "Nope"; } format(stringer1, sizeof(stringer1), "{FFFFFF}Владелец: %s %s\nКласс: %s\nНомер дома: %d",HouseInfo[h][hOwner],ttextt,tstext,HouseInfo[h][hID]); SPD(playerid,10075,DIALOG_STYLE_MSGBOX,"Дом занят",stringer1,"Войти","Отмена"); return true; } else { if(PlayerInfo[playerid][pCash] < HouseInfo[h][hValue]) { GameTextForPlayer(playerid,"~r~No Money",5000,1); return true; } new tstexr[10]; switch(HouseInfo[h][hKlass]) { case 1: tstexr = "D"; case 2: tstexr = "C"; case 3: tstexr = "B"; case 4: tstexr = "A"; case 5: tstexr = "S"; default: tstexr = "Nope"; } format(stringer1, sizeof(stringer1), "{FFFFFF}Цена: %s\nКласс: %s\nНомер дома: %d",formatInt(HouseInfo[h][hValue]),tstexr,HouseInfo[h][hID]); SPD(playerid,10026,DIALOG_STYLE_MSGBOX,"Дом продается",stringer1,"Купить","Отмена"); return true; } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SCRIPTMAN 358 Опубликовано 5 июня, 2017 Код покупки дай. Диалог и т.д.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
#Rips 210 Опубликовано 5 июня, 2017 Покупка: case 10026: { if(!response) return true; new platas; for(new h = 0; h < sizeof(HouseInfo); h++) { if(IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0) { if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(PlayerInfo[playerid][pNames], HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0) { SendClientMessage(playerid, 0xFFFF00AA, "У вас уже есть квартира..."); SendClientMessage(playerid, cwhite, "(( /hmenu - [3] Продать квартиру ))"); return true; } if(PlayerInfo[playerid][pCash] < HouseInfo[h][hValue]) return SendClientMessage(playerid, cwhite, "У вас нет столько денег на руках!"); PlayerInfo[playerid][pPhousekey] = h; HouseInfo[h][hOwned] = 1; HouseInfo[h][hHel] = 0; HouseInfo[h][hTakings] = 300; strmid(HouseInfo[h][hOwner], PlayerInfo[playerid][pNames], 0, strlen(PlayerInfo[playerid][pNames]), 255); PlayerInfo[playerid][pCash] -= HouseInfo[h][hValue]; SetPlayerInteriorEx(playerid,HouseInfo[h][hInt]); SetPPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]); PlayerInfo[playerid][pLocal] = h; if(HouseInfo[h][hKlass] == 0) platas = 50; else if(HouseInfo[h][hKlass] == 1) platas = 100; else if(HouseInfo[h][hKlass] == 2) platas = 150; else if(HouseInfo[h][hKlass] == 3) platas = 100; else if(HouseInfo[h][hKlass] == 4) platas = 200; else if(HouseInfo[h][hKlass] == 5) platas = 0; SetPlayerVirtualWorldEx(playerid,h+50); SendClientMessage(playerid, cwhite, "Поздравляем с покупкой!"); SendMes(playerid,0xFFFF00AA, "Внимание! Теперь каждый час со счёта вашего дома будут снимать комунальные платежи, в размере %d вирт", platas); SendClientMessage(playerid,0xFFFF00AA,"Если на счету недостаточно денег, вас выселят"); SendClientMessage(playerid,0xFFFF00AA,"Пополнить домашний счёт или узнать баланс можно через банк/банкомат (помощь: /mm => команды)"); GameTextForPlayer(playerid, "~w~WELCOME HOME~n~~w~PRINT: ~g~/hmenu", 5000, 4); if(PlayerInfo[playerid][pCar] == 0) PlayerInfo[playerid][pCar] = 462; if(PlayerInfo[playerid][pCar2] == 0) PlayerInfo[playerid][pCar2] = 462; SaveHouse(h); new house = PlayerInfo[playerid][pPhousekey]; if(caridhouse[playerid] == INVALID_VEHICLE_ID) { caridhouse[playerid] = CreateVehicleEx(PlayerInfo[playerid][pCar], 2485.8762,-2561.1030,2500.8086,360.0000, cColor[playerid][0][0], cColor[playerid][0][1],7200, 0); VEHICLE[caridhouse[playerid]][vHealth] = 1000.0; VEHICLE[caridhouse[playerid]][vLock] = 1; LinkVehicleToInterior(caridhouse[playerid], 1); SetVehicleVirtualWorld(caridhouse[playerid], house+50); Fuell[caridhouse[playerid]] = 100.0; PlayerInfo[playerid][pFuelcar] = 100.0; SetPVarInt(playerid, "CarNomer", 0); AddTune(playerid, 0); } BuyHouse(house); OnPlayerUpdateRL(playerid); return true; } } } Занятой дом: case 10075: { if(response) { for(new i = 0; i < sizeof(HouseInfo); i++) { if(IsPlayerInRangeOfPoint(playerid, 3.0,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez])) { if(strcmp(PlayerInfo[playerid][pNames], HouseInfo[i][hOwner], true) == 0 && PlayerInfo[playerid][pPhousekey] == 255) PlayerInfo[playerid][pPhousekey] = i; if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0 || PlayerInfo[playerid][pHomez] == i || IsACop(playerid) || IsAArm(playerid) || PlayerInfo[playerid][pAdmin] >= 3) { SetPlayerInteriorEx(playerid,HouseInfo[i][hInt]); SetPlayerVirtualWorldEx(playerid,i+50); SetPPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]); PlayerInfo[playerid][pLocal] = i; return true; } else if(IsAGang(playerid)) { PlayerInfo[playerid][pLocal] = i; if(PlayerInfo[playerid][Texts][1] == 0) SPD(playerid, 432, DIALOG_STYLE_MSGBOX,"Предложение","Эй, хочешь вскрыть этот дом?","Дерзнуть","Свалить"); else return SendClientMessage(playerid, cgrey, "Вы уже засветились в ограблении дома, подождите еще чуть-чуть."); return true; } else GameTextForPlayer(playerid, "~r~Locked", 5000, 1); } } } else return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SCRIPTMAN 358 Опубликовано 5 июня, 2017 ,попробуй case 10026: { if(!response) return true; new platas; for(new h = 0; h < sizeof(HouseInfo); h++) { if(IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0) { if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(PlayerInfo[playerid][pNames], HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0) { SendClientMessage(playerid, 0xFFFF00AA, "У вас уже есть квартира..."); SendClientMessage(playerid, cwhite, "(( /hmenu - [3] Продать квартиру ))"); return true; } if(PlayerInfo[playerid][pCash] < HouseInfo[h][hValue]) return SendClientMessage(playerid, cwhite, "У вас нет столько денег на руках!"); PlayerInfo[playerid][pPhousekey] = h; HouseInfo[h][hOwned] = 1; HouseInfo[h][hHel] = 0; HouseInfo[h][hTakings] = 300; strmid(HouseInfo[h][hOwner], PlayerInfo[playerid][pNames], 0, strlen(PlayerInfo[playerid][pNames]), 255); PlayerInfo[playerid][pCash] -= HouseInfo[h][hValue]; SetPlayerInteriorEx(playerid,HouseInfo[h][hInt]); SetPPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]); PlayerInfo[playerid][pLocal] = h; if(HouseInfo[h][hKlass] == 0) platas = 50; else if(HouseInfo[h][hKlass] == 1) platas = 100; else if(HouseInfo[h][hKlass] == 2) platas = 150; else if(HouseInfo[h][hKlass] == 3) platas = 100; else if(HouseInfo[h][hKlass] == 4) platas = 200; else if(HouseInfo[h][hKlass] == 5) platas = 0; SetPlayerVirtualWorldEx(playerid,h+50); SendClientMessage(playerid, cwhite, "Поздравляем с покупкой!"); SendMes(playerid,0xFFFF00AA, "Внимание! Теперь каждый час со счёта вашего дома будут снимать комунальные платежи, в размере %d вирт", platas); SendClientMessage(playerid,0xFFFF00AA,"Если на счету недостаточно денег, вас выселят"); SendClientMessage(playerid,0xFFFF00AA,"Пополнить домашний счёт или узнать баланс можно через банк/банкомат (помощь: /mm => команды)"); GameTextForPlayer(playerid, "~w~WELCOME HOME~n~~w~PRINT: ~g~/hmenu", 5000, 4); HouseInfo[h][hOwned] = 1; if(PlayerInfo[playerid][pCar] == 0) PlayerInfo[playerid][pCar] = 462; if(PlayerInfo[playerid][pCar2] == 0) PlayerInfo[playerid][pCar2] = 462; SaveHouse(h); new house = PlayerInfo[playerid][pPhousekey]; if(caridhouse[playerid] == INVALID_VEHICLE_ID) { caridhouse[playerid] = CreateVehicleEx(PlayerInfo[playerid][pCar], 2485.8762,-2561.1030,2500.8086,360.0000, cColor[playerid][0][0], cColor[playerid][0][1],7200, 0); VEHICLE[caridhouse[playerid]][vHealth] = 1000.0; VEHICLE[caridhouse[playerid]][vLock] = 1; LinkVehicleToInterior(caridhouse[playerid], 1); SetVehicleVirtualWorld(caridhouse[playerid], house+50); Fuell[caridhouse[playerid]] = 100.0; PlayerInfo[playerid][pFuelcar] = 100.0; SetPVarInt(playerid, "CarNomer", 0); AddTune(playerid, 0); } BuyHouse(house); OnPlayerUpdateRL(playerid); return true; } } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
#Rips 210 Опубликовано 6 июня, 2017 , такая же фигня Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
#Rips 210 Опубликовано 6 июня, 2017 Проблема решена. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты