HexscriptsVersion 1.0House
Configurations
Here you will get all configurations & open source files that are included within this script.
Config Files
Config = {}
Config.Locale = 'de'
Config.SellPrice = 0.85
Config.Access = {
['createHouse'] = {
'projektleitung',
'admin'
}
}
Config.HouseTypes = {
[1] = {
right_backgroundUrl = 'https://corleone.vip/hexscripts/housing/1/right_background.png', -- Right picture
left_backgroundUrl = 'https://corleone.vip/hexscripts/housing/1/left_background.png', -- Left picture
info = 'Diese Immobilie beinhaltet ein persönlichen Waffenschrank & Kleiderschrank',
joinleave = {
coords = vector4(346.52, -1012.73, -99.2, 359.24),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
housemenu = {
coords = vector3(349.66, -1007.4, -99.2),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
armorymenu = {
coords = vector3(345.09, -995.5, -99.2),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
clothesmenu = {
coords = vector3(351.73, -998.81, -99.2),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
}
},
[2] = {
right_backgroundUrl = 'https://corleone.vip/hexscripts/housing/2/right_background.png', -- Right picture
left_backgroundUrl = 'https://corleone.vip/hexscripts/housing/2/left_background.png', -- Left picture
info = 'Diese Immobilie beinhaltet ein persönlichen Waffenschrank & Kleiderschrank',
joinleave = {
coords = vector4(266.11, -1007.3, -101.01, 10.29),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
housemenu = {
coords = vector3(256.96, -996.87, -99.01),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
armorymenu = {
coords = vector3(265.02, -995.8, -99.01),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
clothesmenu = {
coords = vector3(259.77, -1003.81, -99.01),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
}
},
[3] = {
right_backgroundUrl = 'https://corleone.vip/hexscripts/housing/3/right_background.png', -- Right picture
left_backgroundUrl = 'https://corleone.vip/hexscripts/housing/3/left_background.png', -- Left picture
info = 'Diese Immobilie beinhaltet ein persönlichen Waffenschrank & Kleiderschrank',
joinleave = {
coords = vector4(1274.01, -1719.64, 54.77, 11.13),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
housemenu = {
coords = vector3(1272.35, -1712.03, 54.77),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
armorymenu = {
coords = vector3(1275.59, -1710.57, 54.77),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
clothesmenu = {
coords = vector3(1273.63, -1707.81, 54.77),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
}
},
[4] = {
right_backgroundUrl = 'https://corleone.vip/hexscripts/housing/4/right_background.png', -- Right picture
left_backgroundUrl = 'https://corleone.vip/hexscripts/housing/4/left_background.png', -- Left picture
info = 'Diese Immobilie beinhaltet ein persönlichen Waffenschrank & Kleiderschrank',
joinleave = {
coords = vector4(-174.1731, 497.5084, 137.6670, 183.7928),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
housemenu = {
coords = vector3(-165.4228, 495.9556, 137.6535),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
armorymenu = {
coords = vector3(-175.9807, 491.9454, 130.0435),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
clothesmenu = {
coords = vector3(-167.4138, 487.8677, 133.8438),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
}
},
[5] = {
right_backgroundUrl = 'https://cdn.leon1337.host/attachments/kghjn.jpg', -- Right picture
left_backgroundUrl = 'https://cdn.leon1337.host/attachments/9x54o.jpg', -- Left picture
info = 'Diese Immobilie beinhaltet ein persönlichen Waffenschrank & Kleiderschrank',
joinleave = {
coords = vector4(969.7468, 63.0025, 112.5562, 237.4034),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
housemenu = {
coords = vector3(983.5153, 66.7948, 116.1642),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
armorymenu = {
coords = vector3(971.6701, 68.6768, 116.1642),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
clothesmenu = {
coords = vector3(984.7704, 60.2734, 116.1642),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
}
},
[6] = {
right_backgroundUrl = 'https://cdn.leon1337.host/attachments/vdl93.jpg', -- Right picture
left_backgroundUrl = 'https://cdn.leon1337.host/attachments/inzjr.jpg', -- Left picture
info = 'Diese Immobilie beinhaltet ein persönlichen Waffenschrank & Kleiderschrank',
joinleave = {
coords = vector4(902.9445, -3182.3162, -97.0550, 84.2100),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
housemenu = {
coords = vector3(896.7216, -3202.6560, -98.1962),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
armorymenu = {
coords = vector3(905.7906, -3230.3853, -98.2944),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
},
clothesmenu = {
coords = vector3(903.6412, -3199.4216, -97.1880),
marker_enabled = true,
marker_type = nil,
marker_color = { r = 255, g = 0, b = 0, a = 100 }
}
}
}
-- Outside Marker
Config.Marker = {
enabled = true,
type = nil,
color = { r = 255, g = 0, b = 0, a = 100 }
}
-- Blips
Config.sellBlip = {
enabled = true,
sprite = 374,
scale = 0.4,
shortRange = true,
color = 46,
text = 'Haus'
}
Config.ownBlip = {
enabled = true,
sprite = 40,
scale = 0.8,
shortRange = true,
color = 2,
text = 'Eigenes Haus',
}
Config.Locales = {
['de'] = {
['press_e_house_join'] = 'Drücke E um das Haus zu betreten',
['press_e_house_leave'] = 'Drücke E um das Haus zu verlassen',
['press_e_house_armory'] = 'Drücke E um das Hausmenü zu öffnen',
['press_e_house_menu'] = 'Drücke E um das Hausmenü zu öffnen',
['press_e_house_clothing'] = 'Drücke E um das Klamottenmenü zu öffnen',
['notify_title'] = 'Haus System',
['houseClosed'] = 'Dieses Haus ist geschlossen!',
['notHouse'] = 'Du bist in keinem Haus!',
['ownAlready'] = 'Dieses Haus gehört schon jemanden!',
['notEnough'] = 'Du hast nicht genug Geld dabei!',
['nowOwn'] = 'Herzlichen Glückwunsch! Du bist nun Hausbesitzer!',
['houseSell'] = 'Du hast dein Haus an den Staat verkauft!',
['notSell'] = 'Du kannst das Haus nicht verkaufen, da es dir nicht gehört!',
['onlyOne'] = 'Du kannst nur ein Haus besitzen!',
['houseOpen'] = 'Haus aufgeschlossen!',
['houseClose'] = 'Haus abgeschlossen!',
['noOwner'] = 'Keiner',
['noOpen'] = 'Offen',
['noClose'] = 'Geschlossen',
['noPlayer'] = 'Besitzer: %s',
['noPreis'] = 'Preis: %s$',
['menu_create_house_system_title'] = 'Haus System',
['menu_create_house_system_title_sub_1_menu'] = 'Haus Menü',
['menu_create_house_system_title_sub_2_menu'] = 'Armory Menü',
['menu_create_house_system_house'] = 'Haus Öffnen / Schließen',
['menu_create_house_system_inventory'] = 'Inventar',
['menu_create_house_system_inventory_count'] = 'Menge',
['menu_create_house_system_clothing'] = 'Kleidung',
['menu_create_house_system_clothing_title'] = 'Kleidung',
['menu_create_house_system_clothing_delete'] = 'Kleidung entfernen',
['menu_create_house_system_put_weapon'] = '[Waffe] Lagern',
['menu_create_house_system_put_stock'] = '[Gegenstand] Lagern',
['menu_create_house_system_get_weapon'] = '[Waffe] Auslagern',
['menu_create_house_system_get_stock'] = '[Gegenstand] Auslagern',
['menu_create_house_title'] = 'Haus Position',
['menu_create_house_title_sub'] = 'Haus Position Setzen',
['menu_create_house_type'] = 'Geben sie den Haus Typen ein',
['menu_create_house_price'] = 'Geben sie den Haus Preis an',
['webhook_date'] = "Am %s um %s",
['webhook_buy_house_title'] = "Haus Kaufen",
['webhook_buy_house_desc'] = 'Der Spieler %s hat sich ein Haus für %s$ gekauft!',
['webhook_sell_house_title'] = "Haus Verkaufen",
['webhook_sell_house_desc'] = 'Der Spieler %s hat sein Haus für %s$ verkauft!',
['webhook_put_item_title'] = "Item rein",
['webhook_put_item_desc'] = 'Der Spieler %s hat in sein Haus (%s) %sx %s reingelegt!',
['webhook_put_weapon_title'] = "Waffe rein",
['webhook_put_weapon_desc'] = 'Der Spieler %s hat in sein Haus (%s) eine %s mit %s Munition reingelegt!',
['webhook_get_item_title'] = "Item raus",
['webhook_get_item_desc'] = 'Der Spieler %s hat aus sein Haus (%s) %sx %s rausgeholt!',
['webhook_get_weapon_title'] = "Waffe raus",
['webhook_get_weapon_desc'] = 'Der Spieler %s hat aus sein Haus (%s) eine %s mit %s Schuss rausgeholt!',
},
['en'] = {
}
}
function Draw3DText(x, y, z, text, scale)
local onScreen, _x, _y = World3dToScreen2d(x,y,z)
SetTextScale(scale, scale)
SetTextFont(0)
SetTextProportional(1)
SetTextEntry("STRING")
SetTextCentre(true)
SetTextColour(255, 255, 255, 255)
AddTextComponentString(text)
DrawText(_x, _y)
end
function format(coords)
return tonumber(string.format('%.2f', coords))
end
function DrawHelpNotify(message)
SetTextComponentFormat('STRING')
AddTextComponentString(message)
DisplayHelpTextFromStringLabel(0, 0, 1, -1)
end
function Notify(title, message, type, timeout)
TriggerEvent('hex_hud:notify', title, message, type, timeout)
endOpen Source Files
function OpenClothesMenu()
local elements = {}
elements[#elements + 1] = { label = Config.Locales[Config.Locale]['menu_create_house_system_clothing'], value = "clothing" }
elements[#elements + 1] = { label = Config.Locales[Config.Locale]['menu_create_house_system_clothing_delete'], value = "clothing_delete" }
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_clothing', {
title = Config.Locales[Config.Locale]['menu_create_house_system_clothing_title'],
align = 'left',
elements = elements
}, function(data, menu)
if data.current.value == 'clothing' then
local clothings = exports['hex_1_clothing']:GetClothings()
local elements = {}
for k, v in pairs(clothings) do
elements[#elements + 1] = {
label = v.label,
skin = v.skin,
value = k
}
end
Framework.UI.Menu.Open("default", GetCurrentResourceName(), "hex_1_house_clothing_main", {
title = Config.Locales[Config.Locale]['menu_create_house_system_clothing'],
align = "left",
elements = elements
}, function(data, menu)
TriggerEvent('skinchanger:getSkin', function(skin)
TriggerEvent('skinchanger:loadClothes', skin, json.decode(data.current.skin))
TriggerEvent('esx_skin:setLastSkin', skin)
TriggerEvent('skinchanger:getSkin', function(skin)
TriggerServerEvent('esx_skin:save', skin)
end)
end)
end, function(data, menu)
menu.close()
end)
elseif data.current.value == 'clothing_delete' then
local clothings = exports['hex_1_clothing']:GetClothings()
local elements = {}
for k, v in pairs(clothings) do
elements[#elements + 1] = {
label = v.label,
id = v.id
}
end
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_clothing_delete', {
title = Config.Locales[Config.Locale]['menu_create_house_system_clothing_delete'],
align = 'left',
elements = elements
}, function(data, menu)
menu.close()
TriggerEvent('hex_1_clothing:deleteClothing', tonumber(data.current.id))
end, function(data, menu)
menu.close()
end)
end
end, function(data, menu)
menu.close()
end)
end
function OpenPutWeaponMenu(dimension)
local elements = {}
local ped = PlayerPedId()
local weaponList = Framework.Functions.GetWeaponList()
for k, v in pairs(weaponList) do
if HasPedGotWeapon(ped, joaat(v.name), false) and v.name ~= 'WEAPON_UNARMED' then
elements[#elements + 1] = {
label = v.label,
value = v.name
}
end
end
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_put_weapons_menu', {
title = Config.Locales[Config.Locale]['menu_create_house_system_inventory'],
align = 'left',
elements = elements
}, function(data, menu)
menu.close()
TriggerServerEvent('hex_1_house:put', dimension, data.current.value, 0, 'weapon')
end, function(data, menu)
menu.close()
end)
end
function OpenPutStocksMenu(dimension)
local elements = {}
local items = Framework.Functions.GetItems()
for k, v in pairs(items) do
if v.count > 0 then
elements[#elements + 1] = {
label = v.label .. ' x' .. v.count,
value = v.name
}
end
end
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_put_stocks_menu', {
title = Config.Locales[Config.Locale]['menu_create_house_system_inventory'],
align = 'left',
elements = elements
}, function(data, menu)
local itemName = data.current.value
Framework.UI.Menu.Open('dialog', GetCurrentResourceName(), 'hex_1_house_put_stocks_menu_count', {
title = Config.Locales[Config.Locale]['menu_create_house_system_inventory_count']
}, function(data, menu2)
local count = tonumber(data.value)
menu.close()
menu2.close()
if count then
TriggerServerEvent('hex_1_house:put', dimension, itemName, count, 'item')
end
end, function(data, menu)
menu.close()
end)
end, function(data, menu)
menu.close()
end)
end
function OpenGetWeaponMenu(dimension)
Framework.Functions.TriggerServerCallback('hex_1_house:getInventory', function(weapons)
local elements = {}
if weapons == nil then
weapons = {}
end
for k, v in pairs(weapons) do
local weapon = Framework.Functions.GetWeaponLabel(k)
local ammos = {}
for k1, v1 in pairs(v) do
ammos[#ammos + 1] = {
index = k1,
label = v1,
ammo = v1
}
end
if weapon ~= nil then
if #v >= 1 then
elements[#elements + 1] = {
name = k,
label = weapon .. ' - ' .. #v,
ammos = ammos
}
end
end
end
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_get_weapons_menu', {
title = Config.Locales[Config.Locale]['menu_create_house_system_inventory'],
align = 'left',
elements = elements
}, function(data, menu)
local elements = data.current.ammos
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_get_weapons_menu_ammo', {
title = Config.Locales[Config.Locale]['menu_create_house_system_inventory'],
align = 'left',
elements = elements
}, function(data2, menu2)
menu.close()
menu2.close()
TriggerServerEvent('hex_1_house:get', dimension, data.current.name, data2.current.index, 'weapon')
end, function(data, menu)
menu.close()
end)
end, function(data, menu)
menu.close()
end)
end, dimension, 'weapons')
end
function OpenGetStocksMenu(dimension)
Framework.Functions.TriggerServerCallback('hex_1_house:getInventory', function(items)
if items == nil then
items = {}
end
local elements = {}
for k, v in pairs(items) do
if v > 0 then
elements[#elements + 1] = {
label = 'x' .. v .. ' ' .. Framework.Functions.GetItemLabel(k),
value = k
}
end
end
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_get_stocks_menu', {
title = Config.Locales[Config.Locale]['menu_create_house_system_inventory'],
align = 'left',
elements = elements
}, function(data, menu)
local itemName = data.current.value
Framework.UI.Menu.Open('dialog', GetCurrentResourceName(), 'hex_1_house_get_stocks_menu_count', {
title = Config.Locales[Config.Locale]['menu_create_house_system_inventory_count']
}, function(data, menu2)
local count = tonumber(data.value)
menu.close()
menu2.close()
if count then
TriggerServerEvent('hex_1_house:get', dimension, itemName, count, 'item')
end
end, function(data, menu)
menu.close()
end)
end, function(data, menu)
menu.close()
end)
end, dimension, 'items')
end
function OpenArmoryMenu(dimension)
local elements = {}
elements[#elements + 1] = { label = Config.Locales[Config.Locale]['menu_create_house_system_put_weapon'], value = "put_weapon" }
elements[#elements + 1] = { label = Config.Locales[Config.Locale]['menu_create_house_system_put_stock'], value = "put_stock" }
elements[#elements + 1] = { label = Config.Locales[Config.Locale]['menu_create_house_system_get_weapon'], value = "get_weapon" }
elements[#elements + 1] = { label = Config.Locales[Config.Locale]['menu_create_house_system_get_stock'], value = "get_stock" }
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_main_3', {
title = Config.Locales[Config.Locale]['menu_create_house_system_title'],
align = 'left',
elements = elements
}, function(data, menu)
if data.current.value == 'put_weapon' then
OpenPutWeaponMenu(dimension)
elseif data.current.value == 'put_stock' then
OpenPutStocksMenu(dimension)
elseif data.current.value == 'get_weapon' then
OpenGetWeaponMenu(dimension)
elseif data.current.value == 'get_stock' then
OpenGetStocksMenu(dimension)
end
end, function(data, menu)
menu.close()
end)
end
function OpenHouseMenu(dimension)
Framework.UI.Menu.CloseAll()
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_main', {
title = Config.Locales[Config.Locale]['menu_create_house_system_title'],
align = 'left',
elements = {
{ label = Config.Locales[Config.Locale]['menu_create_house_system_title_sub_1_menu'], value = 'house' },
{ label = Config.Locales[Config.Locale]['menu_create_house_system_title_sub_2_menu'], value = 'armory' }
}
}, function(data, menu)
if data.current.value == 'armory' then
OpenArmoryMenu(dimension)
elseif data.current.value == 'house' then
Framework.UI.Menu.Open("default", GetCurrentResourceName(), "hex_1_house_main_2", {
title = Config.Locales[Config.Locale]['menu_create_house_system_title'],
align = "left",
elements = {
{ label = Config.Locales[Config.Locale]['menu_create_house_system_house'], value = "houseOpen" },
}
}, function(data, menu)
if data.current.value == 'houseOpen' then
TriggerServerEvent("hex_1_house:openClose", dimension)
end
end, function(data, menu)
menu.close()
end)
end
end, function(data, menu)
menu.close()
end)
end
RegisterNetEvent('hex_1_house:createHouse', function()
Framework.UI.Menu.CloseAll()
Framework.UI.Menu.Open('default', GetCurrentResourceName(), 'hex_1_house_create_house_main', {
title = Config.Locales[Config.Locale]['menu_create_house_title'],
align = 'top-left',
elements = {
{ label = Config.Locales[Config.Locale]['menu_create_house_title_sub'] }
}
}, function(data, menu)
menu.close()
Citizen.Wait(100)
local playerPed = PlayerPedId()
local playerCoords = GetEntityCoords(playerPed)
local x, y, z = format(playerCoords.x), format(playerCoords.y), format(playerCoords.z)
local h = format(GetEntityHeading(playerPed))
Framework.UI.Menu.Open('dialog', GetCurrentResourceName(), 'hex_1_house_create_house_main_two', {
title = Config.Locales[Config.Locale]['menu_create_house_type'],
}, function(data, menu)
local houseType = data.value
menu.close()
Citizen.Wait(500)
Framework.UI.Menu.Open('dialog', GetCurrentResourceName(), 'hex_1_house_create_house_three', {
title = Config.Locales[Config.Locale]['menu_create_house_price'],
}, function(data, menu)
local housePrice = data.value
menu.close()
Citizen.Wait(500)
TriggerServerEvent('hex_1_house:createHouse', x, y, z, h, houseType, housePrice)
end, function(data, menu)
menu.close()
end)
end, function(data, menu)
menu.close()
end)
end, function(data, menu)
menu.close()
end)
end)