Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interior_loader = {}
- interior_loader.__index = interior_loader
- function interior_loader:new(...)
- local object = setmetatable({}, {__index = self})
- if object.constructor then
- object:constructor()
- end
- return object
- end
- function interior_loader:render()
- dxDrawRectangle(668, 827, 551, 195, tocolor(17, 17, 17, 255), false)
- dxDrawText(self.text, 673, 835, 1209, 1012, tocolor(255, 255, 255, 255), 1.50, "default", "center", "center", false, false, false, false, false)
- end
- function interior_loader:set(interior)
- self.interior = interior
- addEventHandler("onClientRender", root, self.rendering)
- self.visible_window = true
- addEventHandler("onClientKey", root, self.clicking)
- if self.interior.owner == 0 and self.interior.type ~= 4 then
- self.text = "Budynek na sprzedaż\nCena: "..self.interior.price.."$"
- else
- self.text = self.interior.name.."\n"..self.interior.desp.."\n".."locked: "..self.interior.locked
- end
- end
- function interior_loader:click(button, press)
- if self.visible_window then
- if button == "e" and press and not isChatBoxInputActive() and not guiGetVisible(self.gui.window) then
- removeEventHandler("onClientKey", root, self.clicking)
- if tonumber(self.interior.type) == 1 or tonumber(self.interior.type) == 2 then
- if tonumber(self.interior.owner) == 0 then
- showCursor(true)
- return guiSetVisible(self.gui.buyWindow, not guiGetVisible(self.gui.buyWindow))
- elseif tonumber(self.interior.locked) == 1 then
- return Notification:add("Zamknięte na amen.")
- end
- end
- local interior = self.interior
- triggerServerEvent("roleplay_gamemode:enterToInterior", localPlayer, interior)
- addCommandHandler("drzwi", self.command)
- removeEventHandler("onClientRender", root, self.rendering)
- elseif press and button == "l" and self.interior.type ~= 4 then
- if self.interior.owner_bool then
- if self.interior.locked == 1 then self.interior.locked = 0 else self.interior.locked = 1 end
- self.text = self.interior.name.."\n"..self.interior.desp.."\n".."locked: "..self.interior.locked
- local interior = self.interior
- triggerServerEvent("roleplay_gamemode:lockInterior", localPlayer, interior)
- end
- end
- end
- end
- function interior_loader:guiClick()
- if source == self.gui.showInterior then
- Notification:add("Możesz zwiedzać wnętrze przez minute.")
- local old_interior = getElementInterior(localPlayer)
- local old_dimension = getElementDimension(localPlayer)
- local old_position = {getElementPosition(localPlayer)}
- local pos = split(self.interior.interior_position, ",")
- setElementDimension(localPlayer, self.interior.id)
- setElementInterior(localPlayer, 1)
- setElementPosition(localPlayer, pos[1], pos[2], pos[3])
- guiSetVisible(self.gui.buyWindow, false)
- showCursor(false)
- setTimer(function()
- setElementDimension(localPlayer, old_dimension)
- setElementInterior(localPlayer, old_interior)
- setElementPosition(localPlayer, old_position[1], old_position[2], old_position[3])
- end, 60000, 1)
- elseif source == self.gui.buyButton then
- showCursor(false)
- guiSetVisible(self.gui.buyWindow, false)
- local interior = self.interior
- triggerServerEvent("roleplay_gamemode:buyInterior", localPlayer, interior)
- removeEventHandler("onClientRender", root, self.rendering)
- removeEventHandler("onClientKey", root, self.clicking)
- elseif source == self.gui.exit then
- showCursor(false)
- guiSetVisible(self.gui.buyWindow, false)
- removeEventHandler("onClientKey", root, self.clicking)
- elseif source == self.gui.exitEdit then
- guiSetVisible(self.gui.window, false)
- showCursor(false)
- elseif source == self.gui.saveButt then
- self.interior.name = guiGetText(self.gui.name)
- self.interior.desp = guiGetText(self.gui.desp)
- self.text = self.interior.name.."\n"..self.interior.desp.."\n".."locked: "..self.interior.locked
- local interior = self.interior
- guiSetVisible(self.gui.window, false)
- showCursor(false)
- triggerServerEvent("roleplay_gamemode:editInterior", localPlayer, interior)
- elseif source == self.gui.delete_interior then
- local id = self.interior.identity
- triggerServerEvent("roleplay_gamemode:delete_interior", localPlayer, id)
- end
- end
- function interior_loader:doors_cmd(interior)
- guiSetVisible(self.gui.window, not guiGetVisible(self.gui.window))
- guiSetText(self.gui.name, interior.name)
- guiSetText(self.gui.desp, interior.desp)
- showCursor(true)
- for i,v in pairs(self.gui.tab) do if v then guiDeleteTab(v, self.gui.tab_panel) end end
- self.gui.tab[1] = guiCreateTab("Drzwi", self.gui.tab_panel)
- self.gui.name = guiCreateEdit(0.02, 0.04, 0.94, 0.20, self.interior.name, true, self.gui.tab[1])
- self.gui.desp = guiCreateMemo(0.02, 0.28, 0.94, 0.68, self.interior.desp, true, self.gui.tab[1])
- if interior.type == 1 then
- self.gui.tab[4] = guiCreateTab("Lokatorzy", self.gui.tab_panel)
- self.gui.add = guiCreateButton(0.55, 0.06, 0.42, 0.29, "Dodaj", true, self.gui.tab[4])
- self.gui.delete = guiCreateButton(0.55, 0.41, 0.42, 0.29, "Usuń", true, self.gui.tab[4])
- self.gui.locators_list = guiCreateGridList(0.02, 0.05, 0.51, 0.91, true, self.gui.tab[4])
- guiGridListAddColumn(self.gui.locators_list, "Imie i nazwisko", 0.9)
- end
- if true then
- self.gui.tab[3] = guiCreateTab("Admin", self.gui.tab_panel)
- self.gui.delete_interior = guiCreateButton(0.34, 0.33, 0.35, 0.28, "Usuń", true, self.gui.tab[3])
- end
- if interior.type == 3 then
- self.gui.tab[2] = guiCreateTab("Interior", self.gui.tab_panel)
- self.gui.interior_code = guiCreateMemo(0.02, 0.04, 0.70, 0.90, "Kod interiora", true, self.gui.tab[2])
- self.gui.interior_load = guiCreateButton(0.72, 0.35, 0.25, 0.24, "Załaduj", true, self.gui.tab[2])
- end
- end
- function interior_loader:cmd(cmd, type)
- if type == "e" or type == "edytuj" then
- if self.interior.owner_bool then
- self:doors_cmd(self.interior)
- end
- elseif type == "m" or type == "meble" then
- if self.interior.owner_bool then
- Furniture:visible()
- end
- end
- end
- function interior_loader:visible()
- removeEventHandler("onClientRender", root, self.rendering)
- removeEventHandler("onClientKey", root, self.clicking)
- removeCommandHandler("drzwi", self.command)
- self.visible_window = false
- end
- function interior_loader:constructor()
- self.gui = {}
- self.gui.tab = {}
- self.rendering = function() self:render() end
- self.sets = function(interior) self:set(interior) end
- self.visibles = function() self:visible() end
- self.clicking = function(button, press) self:click(button, press) end
- self.guiClicking = function() self:guiClick() end
- self.doorscmd = function(interior) self:doors_cmd(interior) end
- self.command = function(cmd, type) self:cmd(cmd, type) end
- self.gui.buyWindow = guiCreateWindow(0.39, 0.33, 0.15, 0.13, "Kup", true)
- self.gui.showInterior = guiCreateButton(0.52, 0.20, 0.45, 0.34, "Zobacz wnętrze", true, self.gui.buyWindow)
- self.gui.buyButton = guiCreateButton(0.03, 0.20, 0.45, 0.34, "Kup", true, self.gui.buyWindow)
- self.gui.exit = guiCreateButton(0.28, 0.59, 0.45, 0.34, "Wyjdź", true, self.gui.buyWindow )
- self.gui.window = guiCreateWindow(0.38, 0.37, 0.18, 0.26, "Edytuj drzwi - blablabla", true)
- self.gui.saveButt = guiCreateButton(0.03, 0.79, 0.41, 0.18, "Zapisz", true, self.gui.window)
- self.gui.tab_panel = guiCreateTabPanel(0.03, 0.09, 0.95, 0.67, true, self.gui.window)
- self.gui.exitEdit = guiCreateButton(0.56, 0.79, 0.41, 0.18, "Wyjdź", true, self.gui.window)
- self.gui.tab[1] = guiCreateTab("Drzwi", self.gui.tab_panel)
- --tab1
- self.gui.name = guiCreateEdit(0.02, 0.04, 0.94, 0.20, "Nazwa", true, self.gui.tab[1])
- self.gui.desp = guiCreateMemo(0.02, 0.28, 0.94, 0.68, "Opis", true, self.gui.tab[1])
- self.visible_window = false
- guiSetVisible(self.gui.buyWindow, false)
- guiSetVisible(self.gui.window, false)
- addEvent("roleplay_gamemode:interiorPickupEnter", true)
- addEvent("roleplay_gamemode:interiorPickupLeave", true)
- addEventHandler("roleplay_gamemode:interiorPickupEnter", resourceRoot, self.sets)
- addEventHandler("roleplay_gamemode:interiorPickupLeave", resourceRoot, self.visibles)
- addEventHandler("onClientGUIClick", resourceRoot, self.guiClicking)
- end
- interiorLoader = interior_loader:new()
- addEventHandler("onClientResourceStart", root, function()
- guiSetInputMode("no_binds_when_editing")
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement