OMMAND:housemenu(playerid, params[]){// Setup local variablesnew OptionsList[200], DialogTitle[200];// Send the command to all admins so they can see itSendAdminText(playerid, \"/housemenu\", params);// Check if the player has logged inif (APlayerData[playerid][LoggedIn] == true){// Check if the player is inside a houseif (APlayerData[playerid][CurrentHouse] != 0){ format(DialogTitle, sizeof(DialogTitle), \"Select option for %s\", AHouseData[APlayerData[playerid][CurrentHouse]][HouseName]); format(OptionsList, sizeof(OptionsList), \"%s Ház Név Változtatás\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%s Ház fejlesztése\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%s AutóVásárlás\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%s Aútó Biztositás\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%s Aútó eladás\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%s Ház Eladás\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%s Ház Kinyit Nyivanoság Elot\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%s Ház Bezár Nyivanoság Elot\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%s Kilép a házból\\n\", OptionsList); // Show the housemenu ShowPlayerDialog(playerid, DialogHouseMenu, DIALOG_STYLE_LIST, DialogTitle, OptionsList, \"Választ\", \"Bezár\");}else SendClientMessage(playerid, 0xFF0000FF, \"You\'re not inside a house\");}else return 0;// Let the server know that this was a valid commandreturn 1;}
Dialog_HouseMenu(playerid, response, listitem){// Just close the dialog if the player clicked \"Cancel\"if(!response) return 1;// Setup local variablesnew UpgradeList[2000], HouseID, DialogTitle[200], Counter, UpgradePrice, Msg[128], CarSlot, VehicleClassList[1000], VehicleList[500];// Get the HouseID of the house where the player isHouseID = APlayerData[playerid][CurrentHouse];// Select an option based on the selection in the listswitch(listitem){ case 0: // Change house name { // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { format(DialogTitle, 200, TXT_DialogOldHouseName, AHouseData[HouseID][HouseName]); ShowPlayerDialog(playerid, DialogHouseNameChange, DIALOG_STYLE_INPUT, DialogTitle, TXT_DialogEnterNewHouseName, TXT_DialogButtonSelect, TXT_DialogButtonCancel); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak a haz tulajdonosa hasznalhatja ezt az opciot\"); } case 1: // Upgrade the house { // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { // Check if it\'s possible to upgrade further if (AHouseData[HouseID][HouseLevel] < AHouseData[HouseID][HouseMaxLevel]) { // Add only the upgrades above the current house-level to the upgradelist for (new i = AHouseData[HouseID][HouseLevel] + 1; i <= AHouseData[HouseID][HouseMaxLevel]; i++) { Counter++; // Add 1 to the counter each time an upgrade is added to the upgradelist UpgradePrice = ((AHouseData[HouseID][HousePrice] * Counter) / 100) * HouseUpgradePercent; // Add the upgrade-info in green if the player can afford it, and in red if he cannot afford it if (APlayerData[playerid][PlayerMoney] >= UpgradePrice) format(UpgradeList, 2000, \"%s{00FF00}%s (level %i)\\t\\t$%i\\n\", UpgradeList, AHouseInteriors[interiorName], i, UpgradePrice); else format(UpgradeList, 2000, \"%s{FF0000}%s (level %i)\\t\\t$%i\\n\", UpgradeList, AHouseInteriors[interiorName], i, UpgradePrice); } // Show another dialog to let the player select which upgrade he wants for his house ShowPlayerDialog(playerid, DialogUpgradeHouse, DIALOG_STYLE_LIST, TXT_DialogSelectHouseUpgrade, UpgradeList, TXT_DialogButtonSelect, TXT_DialogButtonCancel); } else SendClientMessage(playerid, 0xFFFFFFFF, TXT_HouseReachedMaxLevel); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak a haz tulajdonosa hasznalhatja ezt az opciot\"); }case 2: // Buy house-car{ // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { // Find a free carslot CarSlot = House_GetFreeCarSlot(HouseID); // Check if the carslot is valid if (CarSlot != -1) { // Let the player choose a vehicle-class format(VehicleClassList, 1000, \"%s{00FF00}%s{FFFFFF}\\n\", VehicleClassList, \"Motrok\"); format(VehicleClassList, 1000, \"%s{40FF00}%s{FFFFFF}\\n\", VehicleClassList, \"Hajok\"); format(VehicleClassList, 1000, \"%s{80FF00}%s{FFFFFF}\\n\", VehicleClassList, \"Cabriok\"); format(VehicleClassList, 1000, \"%s{B0FF00}%s{FFFFFF}\\n\", VehicleClassList, \"Helicopterek\"); format(VehicleClassList, 1000, \"%s{FFFF00}%s{FFFFFF}\\n\", VehicleClassList, \"MunkaJármuek\"); format(VehicleClassList, 1000, \"%s{B0FF40}%s{FFFFFF}\\n\", VehicleClassList, \"Low-Riderek\"); format(VehicleClassList, 1000, \"%s{80FF80}%s{FFFFFF}\\n\", VehicleClassList, \"Telep Aútók\"); format(VehicleClassList, 1000, \"%s{40FFB0}%s{FFFFFF}\\n\", VehicleClassList, \"Repülok\"); format(VehicleClassList, 1000, \"%s{00FFFF}%s{FFFFFF}\\n\", VehicleClassList, \"Szolgálati Jármuvek\"); format(VehicleClassList, 1000, \"%s{00B0FF}%s{FFFFFF}\\n\", VehicleClassList, \"RC Jarmuvek\"); format(VehicleClassList, 1000, \"%s{0080FF}%s{FFFFFF}\\n\", VehicleClassList, \"Saloon Autók\"); format(VehicleClassList, 1000, \"%s{0040FF}%s{FFFFFF}\\n\", VehicleClassList, \"Sport Autók\"); format(VehicleClassList, 1000, \"%s{0000FF}%s{FFFFFF}\\n\", VehicleClassList, \"Kombik\"); format(VehicleClassList, 1000, \"%s{4000FF}%s{FFFFFF}\\n\", VehicleClassList, \"Trailerek\"); format(VehicleClassList, 1000, \"%s{8000FF}%s{FFFFFF}\\n\", VehicleClassList, \"Egyedi jármuvek\"); // Ask which vehicle class the player wants to see to buy a vehicle ShowPlayerDialog(playerid, DialogBuyCarClass, DIALOG_STYLE_LIST, TXT_DialogBuyCarSelectClass, VehicleClassList, TXT_DialogButtonSelect, TXT_DialogButtonCancel); } else SendClientMessage(playerid, 0xFFFFFFFF, TXT_HouseHasMaxVehicles); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak a haz tulajdonosa hasznalhatja ezt az opciot\");}case 3: // Buy house-car insurance{ // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { new MsgInsurance[128]; // Check if this house doesn\'t have insurance yet if (AHouseData[HouseID][insurance] == 0) { // Check if the player can afford the insurance if (APlayerData[playerid][PlayerMoney] >= (AHouseData[HouseID][HousePrice] / 10)) { // Construct the message for the dialog, this includes the price for the insurance format(MsgInsurance, 128, TXT_DialogBuyInsurance, AHouseData[HouseID][HousePrice] / 10); // Ask the player if the wants to buy an insurance for this house\'s vehicles ShowPlayerDialog(playerid, DialogBuyInsurance, DIALOG_STYLE_MSGBOX, TXT_DialogTitleBuyInsurance, MsgInsurance, TXT_DialogButtonYes, TXT_DialogButtonNo); } else SendClientMessage(playerid, 0xFFFFFFFF, TXT_CannotAffordInsurance); } else SendClientMessage(playerid, 0xFFFFFFFF, TXT_HouseAlreadyHasInsurance); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak a haz tulajdonosa hasznalhatja ezt az opciot\");}case 4: // Sell house-car{ // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { new BuyableCarIndex, bool:HouseHasCars = false; // Check if the house has any cars assigned to it for (CarSlot = 0; CarSlot < 5; CarSlot++) if (AHouseData[HouseID][VehicleIDs][CarSlot] != 0) HouseHasCars = true; // Check if the house has any cars assigned to it if (HouseHasCars == true) { // Add all vehicles to the list for (CarSlot = 0; CarSlot < 10; CarSlot++) { if (AHouseData[HouseID][VehicleIDs][CarSlot] != 0) { // Get the index where the first vehicle is found in the ABuyableVehicles array BuyableCarIndex = VehicleBuyable_GetIndex(GetVehicleModel(AHouseData[HouseID][VehicleIDs][CarSlot])); // Add the name of the vehicle to the list format(VehicleList, 500, \"%s{00FF00}%s: $%i{FFFFFF}\\n\", VehicleList, ABuyableVehicles[buyableCarIndex][CarName], ABuyableVehicles[buyableCarIndex][Price] / 2); } else format(VehicleList, 500, TXT_EmptyCarSlot, VehicleList); } // Ask which vehicle class the player wants to see to buy a vehicle ShowPlayerDialog(playerid, DialogSellCar, DIALOG_STYLE_LIST, TXT_SelectVehicleToSell, VehicleList, TXT_DialogButtonSelect, TXT_DialogButtonCancel); } else SendClientMessage(playerid, 0xFFFFFFFF, TXT_NoHouseVehicles); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak a haz tulajdonosa hasznalhatja ezt az opciot\");}case 5: // Sell house{ // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { // Setup local variables new bool:HouseHasCars = false; // Check if the house has any cars assigned to it for (CarSlot = 0; CarSlot < 10; CarSlot++) if (AHouseData[HouseID][VehicleIDs][CarSlot] != 0) HouseHasCars = true; // Check if all house-cars have been sold (all slots are empty) if (HouseHasCars == false) { format(Msg, 128, TXT_SureSellHouse, House_CalcSellPrice(HouseID)); ShowPlayerDialog(playerid, DialogSellHouse, DIALOG_STYLE_MSGBOX, TXT_AreYouSure, Msg, TXT_DialogButtonYes, TXT_DialogButtonNo); } else SendClientMessage(playerid, 0xFFFFFFFF, TXT_CannotSellHouseWithCars); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak a haz tulajdonosa hasznalhatja ezt az opciot\");} case 6: // Open the house to the public (everyone can enter it) { // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { // Open the house to the public AHouseData[HouseID][HouseOpened] = true; // Let the player know he opened the house to the public SendClientMessage(playerid, 0xFFFFFFFF, \"{00FF00}Kinyitottad a hazad publikussa, barki be tud jonni\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak a haz tulajdonosa hasznalhatja ezt az opciot\"); } case 7: // Close the house to the public (only the owner can enter it) { // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { // Close the house to the public AHouseData[HouseID][HouseOpened] = false; // Let the player know he closed the house to the public SendClientMessage(playerid, 0xFFFFFFFF, \"{00FF00}Bezartad a hazad, csak te tudsz bejonni\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak a haz tulajdonosa hasznalhatja ezt az opciot\"); } case 8: // Exit the house { House_Exit(playerid, HouseID); }}return 1;}