mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 13:53:45 +03:00
2414 lines
85 KiB
Lua
2414 lines
85 KiB
Lua
--[[
|
||
| This file was obtained through the combined efforts
|
||
| of Madbluntz & Plymouth Antiquarian Society.
|
||
|
|
||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||
| Maloy, DrPepper10 @ RIP, Atle!
|
||
|
|
||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||
--]]
|
||
|
||
local PLUGIN = PLUGIN
|
||
|
||
local color = Color(41, 243, 229, 255)
|
||
|
||
function PLUGIN:CreateRow(parent, title, text, date, bSecondInRow, bUpdateable)
|
||
parent:SetSize(parent:GetWide(), SScaleMin(48 / 3))
|
||
parent:Dock(TOP)
|
||
parent.Paint = function(this, w, h)
|
||
if (bSecondInRow) then
|
||
surface.SetDrawColor(0, 0, 0, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
else
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
end
|
||
|
||
local top = parent:Add("EditablePanel")
|
||
top:SetSize(parent:GetWide(), parent:GetTall() * 0.5)
|
||
top:Dock(TOP)
|
||
top.Paint = nil
|
||
|
||
local topTitle = top:Add("DLabel")
|
||
topTitle:SetTextColor(Color(154, 169, 175, 255))
|
||
topTitle:SetFont("MenuFontNoClamp")
|
||
topTitle:SetText(string.utf8upper(title)..":")
|
||
topTitle:Dock(LEFT)
|
||
topTitle:DockMargin(SScaleMin(20 / 3), SScaleMin(5 / 3), 0, 0)
|
||
topTitle:SizeToContents()
|
||
|
||
parent.bottom = parent:Add("EditablePanel")
|
||
parent.bottom:SetSize(parent:GetWide(), parent:GetTall() * 0.4)
|
||
parent.bottom:Dock(TOP)
|
||
parent.bottom.Paint = nil
|
||
parent.bottom:SetName( "bottom" )
|
||
|
||
parent.bottom.titleText = parent.bottom:Add("DLabel")
|
||
parent.bottom.titleText:SetTextColor(color)
|
||
parent.bottom.titleText:SetFont("MenuFontNoClamp")
|
||
parent.bottom.titleText:SetText(text)
|
||
parent.bottom.titleText:Dock(LEFT)
|
||
parent.bottom.titleText:DockMargin(SScaleMin(20 / 3), 0, 0, 0)
|
||
parent.bottom.titleText:SizeToContents()
|
||
|
||
if (bUpdateable) then
|
||
local topDate = top:Add("DLabel")
|
||
topDate:SetFont("MenuFontNoClamp")
|
||
topDate:SetTextColor(Color(154, 169, 175, 255))
|
||
topDate:SetText(string.utf8upper((string.find(title, "receiver") and "date" or "updated")..": "..date))
|
||
topDate:Dock(RIGHT)
|
||
topDate:DockMargin(0, SScaleMin(5 / 3), SScaleMin(20 / 3), 0)
|
||
topDate:SizeToContents()
|
||
end
|
||
end
|
||
|
||
local function CreateButton(name, text, path)
|
||
name:SetSize(SScaleMin(480 / 3), SScaleMin(40 / 3))
|
||
name:SetContentAlignment(4)
|
||
name:SetTextInset(SScaleMin(20 / 3), 0)
|
||
name:Dock(TOP)
|
||
name:SetFont("TitlesFontNoClamp")
|
||
name:DockMargin(0, 0, 0, SScaleMin(9 / 3))
|
||
name:SetText(string.utf8upper(text))
|
||
name.Paint = function(self, w, h)
|
||
surface.SetDrawColor(Color(255, 255, 255, 255))
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/"..path))
|
||
surface.DrawTexturedRect(0, 0, w, h)
|
||
end
|
||
end
|
||
|
||
local function CreateHalfButton(name, text, path, bDockLeft)
|
||
name:SetSize(SScaleMin(235 / 3), SScaleMin(40 / 3))
|
||
name:SetContentAlignment(4)
|
||
name:SetTextInset(SScaleMin(20 / 3), 0)
|
||
if bDockLeft then
|
||
name:Dock(LEFT)
|
||
name:DockMargin(0, 0, SScaleMin(5 / 3), 0)
|
||
else
|
||
name:Dock(RIGHT)
|
||
name:DockMargin(SScaleMin(5 / 3), 0, 0, 0)
|
||
end
|
||
|
||
name:SetFont("TitlesFontNoClamp")
|
||
name:SetText(string.utf8upper(text))
|
||
name.Paint = function(self, w, h)
|
||
surface.SetDrawColor(Color(255, 255, 255, 255))
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/"..path))
|
||
surface.DrawTexturedRect(0, 0, w, h)
|
||
end
|
||
end
|
||
|
||
local function createUpdateButton(parent)
|
||
parent:SetSize(SScaleMin(137 / 3), SScaleMin(18 / 3))
|
||
parent:Dock(RIGHT)
|
||
parent:DockMargin(0, 0, SScaleMin(21 / 3), 0)
|
||
parent:SetFont("MenuFontNoClamp")
|
||
parent:SetText(string.utf8upper("güncelle"))
|
||
parent:SetContentAlignment(5)
|
||
parent.Paint = function(self, w, h)
|
||
surface.SetDrawColor(255, 255, 255, 255)
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/smallestbutton.png"))
|
||
surface.DrawTexturedRect(0, 0, w, h)
|
||
end
|
||
end
|
||
|
||
local PANEL = {}
|
||
|
||
function PANEL:GetLoyaltyText()
|
||
local loyaltyText = PLUGIN.file.genericdata.loyaltyStatus or "N/A"
|
||
if PLUGIN.file.genericdata.socialCredits and !PLUGIN.file.genericdata.combine then
|
||
if PLUGIN.file.genericdata.socialCredits < 40 then
|
||
return "UNDERCLASS"
|
||
end
|
||
end
|
||
|
||
return loyaltyText
|
||
end
|
||
|
||
function PANEL:Init()
|
||
ix.gui.citizenDatafile = self
|
||
|
||
if !PLUGIN.file.genericdata.permits then
|
||
PLUGIN.file.genericdata.permits = {}
|
||
netstream.Start("RemovePermitDatapad", PLUGIN.file.genericdata)
|
||
end
|
||
|
||
local permitsGeneric = PLUGIN.file.genericdata.permit
|
||
if permitsGeneric == true or permitsGeneric == false then
|
||
PLUGIN.file.genericdata.permits = {}
|
||
netstream.Start("RemovePermitDatapad", PLUGIN.file.genericdata)
|
||
end
|
||
|
||
PLUGIN.mainTitle:SetText(string.utf8upper("datafile"))
|
||
self:SetSize(self:GetParent():GetWide(), SScaleMin(338 / 3))
|
||
self:Dock(TOP)
|
||
self:DockMargin(0, 0, 0, SScaleMin(15 / 3))
|
||
self.Paint = nil
|
||
|
||
local titleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(titleFrame, self, "bilgi")
|
||
|
||
local titleSubframe = titleFrame:Add("EditablePanel")
|
||
titleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
titleSubframe:Dock(RIGHT)
|
||
titleSubframe.Paint = nil
|
||
|
||
local viewLogs = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(viewLogs, titleSubframe, 87, "kayıtlar", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(titleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local back = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back, titleSubframe, 68, "geri", RIGHT)
|
||
back.DoClick = function()
|
||
PLUGIN.mainTitle:SetText(string.utf8upper("datapad"))
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
if IsValid(PLUGIN.datafileInfo) then
|
||
PLUGIN.datafileInfo:SetVisible(false)
|
||
end
|
||
|
||
if IsValid(PLUGIN.datafileFunctions) then
|
||
PLUGIN.datafileFunctions:SetVisible(false)
|
||
end
|
||
|
||
PLUGIN.updates:SetVisible(true)
|
||
PLUGIN.functions:SetVisible(true)
|
||
end
|
||
|
||
viewLogs.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
PLUGIN.datafileInfo:SetVisible(false)
|
||
PLUGIN.datafileFunctions:SetVisible(false)
|
||
PLUGIN.viewEntryLogs = vgui.Create("ixDatafileEntryLogs", PLUGIN.contentSubframe)
|
||
end
|
||
|
||
local infoContentFrame = self:Add("EditablePanel")
|
||
infoContentFrame:SetSize(self:GetWide(), SScaleMin(288 / 3))
|
||
infoContentFrame:Dock(TOP)
|
||
infoContentFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
infoContentFrame.Paint = nil
|
||
|
||
local name = infoContentFrame:Add("EditablePanel")
|
||
|
||
if (!PLUGIN.file.genericdata.cohesionPoints) then
|
||
PLUGIN:CreateRow(name, "isim", PLUGIN.file.genericdata.name, nil, false, false)
|
||
end
|
||
|
||
local clientName = LocalPlayer():Name()
|
||
local clientRank = 1
|
||
local genericName = PLUGIN.file.genericdata.name
|
||
local genericRank = 1
|
||
|
||
local ranks = {}
|
||
ranks[1] = "RCT"
|
||
ranks[2] = "i5"
|
||
ranks[3] = "i4"
|
||
ranks[4] = "i3"
|
||
ranks[5] = "i2"
|
||
ranks[6] = "i1"
|
||
ranks[7] = "RL"
|
||
ranks[8] = "CpT"
|
||
ranks[9] = "ChF"
|
||
|
||
if PLUGIN.file.genericdata.combine == true and LocalPlayer():IsCombine() then
|
||
for k, v in pairs(ranks) do
|
||
if Schema:IsCombineRank(clientName, v) then
|
||
clientRank = k
|
||
end
|
||
|
||
if Schema:IsCombineRank(genericName, v) then
|
||
genericRank = k
|
||
end
|
||
end
|
||
|
||
if clientRank == 7 or clientRank == 8 or clientRank == 9 then
|
||
if (clientRank > genericRank) or (genericRank == 9 and clientRank != 9) then
|
||
local rankTopTitle = name:GetChildren()[1]:Add("DLabel")
|
||
rankTopTitle:SetTextColor(Color(154, 169, 175, 255))
|
||
rankTopTitle:SetFont("MenuFontNoClamp")
|
||
rankTopTitle:SetText(string.utf8upper("RÜTBE SEÇENEKLERİ")..":")
|
||
rankTopTitle:Dock(RIGHT)
|
||
rankTopTitle:DockMargin(0, SScaleMin(5 / 3), SScaleMin(20 / 3), 0)
|
||
rankTopTitle:SizeToContents()
|
||
|
||
local demote = name.bottom:Add("DButton")
|
||
demote:Dock(RIGHT)
|
||
demote:SetText("RÜTBE DÜŞÜR")
|
||
demote:SetFont("MenuFontNoClamp")
|
||
demote:DockMargin(SScaleMin(4 / 3), 0, SScaleMin(18 / 3), 0)
|
||
demote.Paint = nil
|
||
demote:SetTextColor(color)
|
||
demote:SizeToContents()
|
||
demote.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
|
||
if genericRank == 1 then
|
||
return
|
||
end
|
||
|
||
local newName = string.Replace( name.bottom.titleText:GetText(), ranks[genericRank], ranks[genericRank - 1] )
|
||
PLUGIN.file.genericdata.name = newName
|
||
|
||
name.bottom.titleText:SetText(newName)
|
||
name.bottom.titleText:SizeToContents()
|
||
genericRank = genericRank - 1
|
||
|
||
netstream.Start("DatafilePromoteDemote", PLUGIN.file.genericdata.id, newName)
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "DEMOTED TO: "..ranks[genericRank])
|
||
end
|
||
|
||
local divider = name.bottom:Add("DShape")
|
||
divider:SetType("Rect")
|
||
divider:SetColor(color)
|
||
divider:Dock(RIGHT)
|
||
divider:SetWide(SScaleMin(2 / 3))
|
||
divider:DockMargin(SScaleMin(5 / 3), SScaleMin(3 / 3), 0, SScaleMin(3 / 3), 0)
|
||
|
||
if genericRank != 9 then
|
||
local promote = name.bottom:Add("DButton")
|
||
promote:Dock(RIGHT)
|
||
promote:SetText("TERFİ")
|
||
promote:SetFont("MenuFontNoClamp")
|
||
promote.Paint = nil
|
||
promote:SetTextColor(color)
|
||
promote:SizeToContents()
|
||
promote.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
if genericRank + 1 == 8 or genericRank + 1 >= clientRank then
|
||
promote:Remove()
|
||
demote:Remove()
|
||
divider:Remove()
|
||
|
||
rankTopTitle:SetText(string.utf8upper("DOKUNULAMAZ RÜTBE"))
|
||
rankTopTitle:SizeToContents()
|
||
end
|
||
|
||
local newName = string.Replace( name.bottom.titleText:GetText(), ranks[genericRank], ranks[genericRank + 1] )
|
||
PLUGIN.file.genericdata.name = newName
|
||
name.bottom.titleText:SetText(newName)
|
||
name.bottom.titleText:SizeToContents()
|
||
genericRank = genericRank + 1
|
||
|
||
netstream.Start("DatafilePromoteDemote", PLUGIN.file.genericdata.id, newName)
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "PROMOTED TO: "..ranks[genericRank])
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
self.cid = infoContentFrame:Add("EditablePanel")
|
||
|
||
local function shouldGetBioticCredits()
|
||
if (PLUGIN.file.genericdata.cid != "N/A") then
|
||
netstream.Start("RequestCIDCreditsDatafile", PLUGIN.file.genericdata.cid)
|
||
end
|
||
end
|
||
|
||
if (PLUGIN.file.genericdata.collarID) then
|
||
PLUGIN:CreateRow(self.cid, "collar id | cid | credits", PLUGIN.file.genericdata.collarID.. " | " .. PLUGIN.file.genericdata.cid .. " | ".."0", nil, false, false)
|
||
|
||
shouldGetBioticCredits()
|
||
else
|
||
PLUGIN:CreateRow(self.cid, "cid | krediler", PLUGIN.file.genericdata.cid.." | ".."0", nil, true, false)
|
||
netstream.Start("RequestCIDCreditsDatafile", PLUGIN.file.genericdata.cid)
|
||
end
|
||
|
||
local nullification = infoContentFrame:Add("EditablePanel")
|
||
|
||
if PLUGIN.file.genericdata.cohesionPoints then
|
||
PLUGIN:CreateRow(nullification, "nullification", string.upper(PLUGIN.file.genericdata.nulled), PLUGIN.file.genericdata.cohesionPointsDate, true, true)
|
||
|
||
for _, v in ipairs(nullification:GetChildren()) do
|
||
if v:GetName() == "bottom" then
|
||
local updateStatusButton = v:Add("DButton")
|
||
createUpdateButton(updateStatusButton)
|
||
updateStatusButton.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
titleFrame:SetVisible(false)
|
||
infoContentFrame:SetVisible(false)
|
||
|
||
local updateStatusTitleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(updateStatusTitleFrame, self, "edit nullification status")
|
||
|
||
local updateStatusTitleSubframe = updateStatusTitleFrame:Add("EditablePanel")
|
||
updateStatusTitleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
updateStatusTitleSubframe:Dock(RIGHT)
|
||
updateStatusTitleSubframe.Paint = nil
|
||
|
||
local editStatus = updateStatusTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(editStatus, updateStatusTitleSubframe, 87, "edit status", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(updateStatusTitleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local back2 = updateStatusTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back2, updateStatusTitleSubframe, 68, "geri", RIGHT)
|
||
|
||
local updateStatusFrame = self:Add("DPanel")
|
||
updateStatusFrame:SetSize(self:GetWide(), SScaleMin(288 / 3))
|
||
updateStatusFrame:Dock(TOP)
|
||
updateStatusFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
updateStatusFrame.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 40)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
|
||
local statusName = updateStatusFrame:Add("DLabel")
|
||
statusName:SetFont("MenuFontNoClamp")
|
||
statusName:SetText(string.utf8upper("Durum seç:"))
|
||
statusName:SetTextColor(color)
|
||
statusName:Dock(TOP)
|
||
statusName:DockMargin(SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local nullificationOptions = vgui.Create("DComboBox", updateStatusFrame)
|
||
nullificationOptions:SetZPos(7)
|
||
nullificationOptions:SetFont("MenuFontNoClamp")
|
||
nullificationOptions:SetTextColor(color)
|
||
nullificationOptions:Dock(TOP)
|
||
nullificationOptions:SetTall(SScaleMin(46 / 3))
|
||
nullificationOptions:SetFont("TitlesFontNoClamp")
|
||
nullificationOptions:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), 0)
|
||
nullificationOptions:SetValue(string.utf8upper("/////"))
|
||
nullificationOptions:AddChoice( string.utf8upper("ACTIVE") )
|
||
nullificationOptions:AddChoice( string.utf8upper("INACTIVE") )
|
||
nullificationOptions.Paint = function(panel, width, height)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, width, height)
|
||
end
|
||
|
||
back2.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
updateStatusTitleFrame:SetVisible(false)
|
||
updateStatusFrame:SetVisible(false)
|
||
titleFrame:SetVisible(true)
|
||
infoContentFrame:SetVisible(true)
|
||
end
|
||
|
||
editStatus.DoClick = function()
|
||
if (nullificationOptions:GetSelected()) then
|
||
PLUGIN.file.genericdata.nulled = nullificationOptions:GetSelected()
|
||
PLUGIN.file.genericdata.cohesionPointsDate = os.date("%d/%m/%Y")
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
netstream.Start("EditDatafile", PLUGIN.file.genericdata, "Nullification Status updated to " .. nullificationOptions:GetSelected())
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "UPDATED NULLIFICATION STATUS TO: ".. nullificationOptions:GetSelected())
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
local statusTopTitle = self.cid:GetChildren()[1]:Add("DLabel")
|
||
statusTopTitle:SetTextColor(Color(154, 169, 175, 255))
|
||
statusTopTitle:SetFont("MenuFontNoClamp")
|
||
statusTopTitle:SetText(string.utf8upper("SADAKAT DURUMU")..":")
|
||
statusTopTitle:Dock(RIGHT)
|
||
statusTopTitle:DockMargin(0, SScaleMin(5 / 3), SScaleMin(20 / 3), 0)
|
||
statusTopTitle:SizeToContents()
|
||
|
||
local titleText = self.cid:GetChildren()[2]:Add("DLabel")
|
||
titleText:SetTextColor(color)
|
||
titleText:SetFont("MenuFontNoClamp")
|
||
titleText:SetText(self:GetLoyaltyText())
|
||
titleText:Dock(RIGHT)
|
||
titleText:DockMargin(0, 0, SScaleMin(20 / 3), 0)
|
||
titleText:SizeToContents()
|
||
|
||
local socialCredits = infoContentFrame:Add("EditablePanel")
|
||
|
||
if (isbool(PLUGIN.file.genericdata.combine)) then
|
||
local date = PLUGIN.file.genericdata.socialCreditsDate
|
||
|
||
if (PLUGIN.file.genericdata.combine) then
|
||
PLUGIN:CreateRow(socialCredits, "sterilize kredi", !PLUGIN.file.genericdata.combine and math.Clamp(tonumber(PLUGIN.file.genericdata.socialCredits), 0, 200) or tonumber(PLUGIN.file.genericdata.socialCredits), isnumber(date) and os.date("%d/%m/%Y", date) or date, false, true)
|
||
elseif PLUGIN.file.genericdata.cohesionPoints or PLUGIN.file.genericdata.collarID then
|
||
date = PLUGIN.file.genericdata.cohesionPointsDate
|
||
PLUGIN:CreateRow(socialCredits, "uyum puanı", !PLUGIN.file.genericdata.combine and math.Clamp(tonumber(PLUGIN.file.genericdata.cohesionPoints), 0, 200) or tonumber(PLUGIN.file.genericdata.cohesionPoints), isnumber(date) and os.date("%d/%m/%Y", date) or date, false, true)
|
||
else
|
||
PLUGIN:CreateRow(socialCredits, "sosyal kredi", !PLUGIN.file.genericdata.combine and math.Clamp(tonumber(PLUGIN.file.genericdata.socialCredits), 0, 200) or tonumber(PLUGIN.file.genericdata.socialCredits), isnumber(date) and os.date("%d/%m/%Y", date) or date, false, true)
|
||
end
|
||
end
|
||
|
||
for _, v in pairs(socialCredits:GetChildren()) do
|
||
if v:GetName() == "bottom" then
|
||
local updateSocialButton = v:Add("DButton")
|
||
createUpdateButton(updateSocialButton)
|
||
updateSocialButton.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
titleFrame:SetVisible(false)
|
||
infoContentFrame:SetVisible(false)
|
||
|
||
local updateCreditsTitleFrame = self:Add("EditablePanel")
|
||
|
||
if (PLUGIN.file.genericdata.cohesionPoints) then
|
||
PLUGIN:CreateTitle(updateCreditsTitleFrame, self, "uyum punlarını düzenle")
|
||
else
|
||
PLUGIN:CreateTitle(updateCreditsTitleFrame, self, "sosyal kredileri düzenle")
|
||
end
|
||
|
||
local updateCreditsTitleSubframe = updateCreditsTitleFrame:Add("EditablePanel")
|
||
updateCreditsTitleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
updateCreditsTitleSubframe:Dock(RIGHT)
|
||
updateCreditsTitleSubframe.Paint = nil
|
||
|
||
local editCredits = updateCreditsTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(editCredits, updateCreditsTitleSubframe, 87, "kredileri düzenle", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(updateCreditsTitleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local back2 = updateCreditsTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back2, updateCreditsTitleSubframe, 68, "geri", RIGHT)
|
||
|
||
local updateCreditsFrame = self:Add("DPanel")
|
||
updateCreditsFrame:SetSize(self:GetWide(), SScaleMin(288 / 3))
|
||
updateCreditsFrame:Dock(TOP)
|
||
updateCreditsFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
updateCreditsFrame.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 40)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
|
||
local reason = updateCreditsFrame:Add("DLabel")
|
||
reason:SetFont("MenuFontNoClamp")
|
||
reason:SetText(string.utf8upper("sebep:"))
|
||
reason:SetTextColor(color)
|
||
reason:Dock(TOP)
|
||
reason:DockMargin( SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local entry = vgui.Create("DTextEntry", updateCreditsFrame)
|
||
entry:Dock(TOP)
|
||
entry:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
entry:SetMultiline(false)
|
||
entry:SetVerticalScrollbarEnabled( false )
|
||
entry:SetEnterAllowed(false)
|
||
entry:SetTall(SScaleMin(20 / 3))
|
||
entry:SetFont("MenuFontNoClamp")
|
||
entry:SetTextColor( color )
|
||
entry:SetCursorColor( color )
|
||
entry.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
|
||
entry.MaxChars = 50
|
||
entry.OnTextChanged = function(this)
|
||
local txt = this:GetValue()
|
||
local amt = string.utf8len(txt)
|
||
if amt > this.MaxChars then
|
||
this:SetText(this.OldText)
|
||
this:SetValue(this.OldText)
|
||
else
|
||
this.OldText = txt
|
||
end
|
||
end
|
||
|
||
local amount = updateCreditsFrame:Add("DLabel")
|
||
amount:SetFont("MenuFontNoClamp")
|
||
amount:SetText(string.utf8upper("miktar:"))
|
||
amount:SetTextColor(color)
|
||
amount:Dock(TOP)
|
||
amount:DockMargin( SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local number = vgui.Create("DNumberWang", updateCreditsFrame)
|
||
number:Dock(TOP)
|
||
|
||
number:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), 0)
|
||
number:SetMinMax( -10, 10 )
|
||
number:SetTall(SScaleMin(20 / 3))
|
||
number:SetFont("MenuFontNoClamp")
|
||
number:SetTextColor( color )
|
||
number:SetCursorColor( color )
|
||
number.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
|
||
local limitCount = 0
|
||
|
||
for _, v1 in pairs(PLUGIN.file.datafilelogs) do
|
||
if v1.points and v1.points != 0 and isnumber(v1.date) and (os.date("%d/%m/%Y", v1.date) == os.date("%d/%m/%Y")) then
|
||
limitCount = limitCount + v1.points
|
||
end
|
||
end
|
||
|
||
editCredits.DoClick = function()
|
||
if (!PLUGIN.file.genericdata.cohesionPoints and number:GetValue() > 20 or number:GetValue() < -20) then
|
||
LocalPlayer():NotifyLocalized("Miktar -20 ile 20 arasında olmalıdır!")
|
||
return false
|
||
elseif (PLUGIN.file.genericdata.cohesionPoints and number:GetValue() > 20 or number:GetValue() < -20) then
|
||
LocalPlayer():NotifyLocalized("Miktar -20 ile 20 arasında olmalıdır!")
|
||
return false
|
||
end
|
||
|
||
if (LocalPlayer():Team() != FACTION_ADMIN and PLUGIN.file.genericdata.name and ((number:GetValue() + limitCount) > 20 or (number:GetValue() + limitCount) < -20)) then
|
||
LocalPlayer():NotifyLocalized("Bu kişi bugün "..limitCount.." SC kazandı, günlük maksimum -20/20'dir!")
|
||
return false
|
||
end
|
||
|
||
if (number:GetValue() == 0) then
|
||
LocalPlayer():NotifyLocalized("Puan eklemeniz ya da çıkarmanız gerekiyor!")
|
||
return false
|
||
end
|
||
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
|
||
if PLUGIN.file.genericdata.collarID then
|
||
PLUGIN.file.genericdata.cohesionPoints = !PLUGIN.file.genericdata.combine and math.Clamp(PLUGIN.file.genericdata.cohesionPoints + number:GetValue(), 0, 200) or PLUGIN.file.genericdata.cohesionPoints + number:GetValue()
|
||
netstream.Start("EditDatafile", PLUGIN.file.genericdata, "Uyum puanı " .. number:GetValue() .. " olarak değiştirildi")
|
||
else
|
||
PLUGIN.file.genericdata.socialCredits = !PLUGIN.file.genericdata.combine and math.Clamp(PLUGIN.file.genericdata.socialCredits + number:GetValue(), 0, 200) or PLUGIN.file.genericdata.socialCredits + number:GetValue()
|
||
netstream.Start("EditDatafile", PLUGIN.file.genericdata, "Sosyal Kredi " .. number:GetValue() .. " olarak değiştirildi")
|
||
end
|
||
|
||
PLUGIN.file.genericdata.socialCreditsDate = os.time()
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), number:GetValue(), entry:GetText())
|
||
end
|
||
|
||
back2.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
updateCreditsTitleFrame:SetVisible(false)
|
||
updateCreditsFrame:SetVisible(false)
|
||
titleFrame:SetVisible(true)
|
||
infoContentFrame:SetVisible(true)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
local geneticDescription = infoContentFrame:Add("EditablePanel")
|
||
if PLUGIN.file.genericdata.combine != "overwatch" then
|
||
PLUGIN:CreateRow(geneticDescription, "genetik açıklama", PLUGIN.file.genericdata.geneticDesc, nil, true, false)
|
||
else
|
||
PLUGIN:CreateRow(geneticDescription, "genetik açıklama", "OVERWATCH", nil, true, false)
|
||
end
|
||
|
||
local occupation = infoContentFrame:Add("EditablePanel")
|
||
PLUGIN:CreateRow(occupation, "meslek", string.Left(PLUGIN.file.genericdata.occupation, 38), PLUGIN.file.genericdata.occupationDate, false, true)
|
||
|
||
for _, v in pairs(occupation:GetChildren()) do
|
||
if v:GetName() == "bottom" then
|
||
local updateOccupationButton = v:Add("DButton")
|
||
createUpdateButton(updateOccupationButton)
|
||
updateOccupationButton.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
titleFrame:SetVisible(false)
|
||
infoContentFrame:SetVisible(false)
|
||
|
||
local updateOccupationTitleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(updateOccupationTitleFrame, self, "meslek düzenle")
|
||
|
||
local updateOccupationTitleSubframe = updateOccupationTitleFrame:Add("EditablePanel")
|
||
updateOccupationTitleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
updateOccupationTitleSubframe:Dock(RIGHT)
|
||
updateOccupationTitleSubframe.Paint = nil
|
||
|
||
local editOccupation = updateOccupationTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(editOccupation, updateOccupationTitleSubframe, 87, "meslek düzenle", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(updateOccupationTitleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local back2 = updateOccupationTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back2, updateOccupationTitleSubframe, 68, "geri", RIGHT)
|
||
|
||
local updateOccupationFrame = self:Add("DPanel")
|
||
updateOccupationFrame:SetSize(self:GetWide(), SScaleMin(288 / 3))
|
||
updateOccupationFrame:Dock(TOP)
|
||
updateOccupationFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
updateOccupationFrame.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 40)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
|
||
local occupationName = updateOccupationFrame:Add("DLabel")
|
||
occupationName:SetFont("MenuFontNoClamp")
|
||
occupationName:SetText(string.utf8upper("meslek adı giriniz:"))
|
||
occupationName:SetTextColor(color)
|
||
occupationName:Dock(TOP)
|
||
occupationName:DockMargin( SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local entry = vgui.Create("DTextEntry", updateOccupationFrame)
|
||
entry:Dock(TOP)
|
||
entry:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
entry:SetMultiline(false)
|
||
entry:SetVerticalScrollbarEnabled( false )
|
||
entry:SetText(PLUGIN.file.genericdata.occupation)
|
||
entry:SetEnterAllowed(false)
|
||
entry:SetTall(SScaleMin(20 / 3))
|
||
entry:SetFont("MenuFontNoClamp")
|
||
entry:SetTextColor( color )
|
||
entry:SetCursorColor( color )
|
||
entry.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
|
||
entry.MaxChars = 50
|
||
entry.OnTextChanged = function(this)
|
||
local txt = this:GetValue()
|
||
local amt = string.utf8len(txt)
|
||
if amt > this.MaxChars then
|
||
this:SetText(this.OldText)
|
||
this:SetValue(this.OldText)
|
||
else
|
||
this.OldText = txt
|
||
end
|
||
end
|
||
|
||
editOccupation.DoClick = function()
|
||
local occupation = entry:GetText()
|
||
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
PLUGIN.file.genericdata.occupation = occupation
|
||
PLUGIN.file.genericdata.occupationDate = os.date("%d/%m/%Y")
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "MESLEK: " .. occupation)
|
||
netstream.Start("EditDatafile", PLUGIN.file.genericdata, "Meslek '" .. string.upper(occupation) .. "' olarak değiştirildi")
|
||
end
|
||
|
||
back2.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
updateOccupationTitleFrame:SetVisible(false)
|
||
updateOccupationFrame:SetVisible(false)
|
||
titleFrame:SetVisible(true)
|
||
infoContentFrame:SetVisible(true)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
local designatedStatus = infoContentFrame:Add("EditablePanel")
|
||
PLUGIN:CreateRow(designatedStatus, "belirlenen durum", string.Left(PLUGIN.file.genericdata.designatedStatus, 38), PLUGIN.file.genericdata.designatedStatusDate, true, true)
|
||
|
||
for _, v in pairs(designatedStatus:GetChildren()) do
|
||
if v:GetName() == "bottom" then
|
||
local updateStatusButton = v:Add("DButton")
|
||
createUpdateButton(updateStatusButton)
|
||
updateStatusButton.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
titleFrame:SetVisible(false)
|
||
infoContentFrame:SetVisible(false)
|
||
|
||
local updateStatusTitleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(updateStatusTitleFrame, self, "belirlenen durumu düzenle")
|
||
|
||
local updateStatusTitleSubframe = updateStatusTitleFrame:Add("EditablePanel")
|
||
updateStatusTitleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
updateStatusTitleSubframe:Dock(RIGHT)
|
||
updateStatusTitleSubframe.Paint = nil
|
||
|
||
local editStatus = updateStatusTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(editStatus, updateStatusTitleSubframe, 87, "durumu düzenle", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(updateStatusTitleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local back2 = updateStatusTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back2, updateStatusTitleSubframe, 68, "geri", RIGHT)
|
||
|
||
local updateStatusFrame = self:Add("DPanel")
|
||
updateStatusFrame:SetSize(self:GetWide(), SScaleMin(288 / 3))
|
||
updateStatusFrame:Dock(TOP)
|
||
updateStatusFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
updateStatusFrame.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 40)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
|
||
local statusName = updateStatusFrame:Add("DLabel")
|
||
statusName:SetFont("MenuFontNoClamp")
|
||
statusName:SetText(string.utf8upper("durum adını giriniz:"))
|
||
statusName:SetTextColor(color)
|
||
statusName:Dock(TOP)
|
||
statusName:DockMargin( SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local entry = vgui.Create("DTextEntry", updateStatusFrame)
|
||
entry:Dock(TOP)
|
||
entry:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
entry:SetMultiline(false)
|
||
entry:SetVerticalScrollbarEnabled( false )
|
||
entry:SetText(PLUGIN.file.genericdata.designatedStatus)
|
||
entry:SetEnterAllowed(false)
|
||
entry:SetFont("MenuFontNoClamp")
|
||
entry:SetTall(SScaleMin(20 / 3))
|
||
entry:SetTextColor( color )
|
||
entry:SetCursorColor( color )
|
||
entry.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
|
||
entry.MaxChars = 50
|
||
entry.OnTextChanged = function(this)
|
||
local txt = this:GetValue()
|
||
local amt = string.utf8len(txt)
|
||
if amt > this.MaxChars then
|
||
this:SetText(this.OldText)
|
||
this:SetValue(this.OldText)
|
||
else
|
||
this.OldText = txt
|
||
end
|
||
end
|
||
|
||
editStatus.DoClick = function()
|
||
local status = entry:GetText()
|
||
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
PLUGIN.file.genericdata.designatedStatus = status
|
||
PLUGIN.file.genericdata.designatedStatusDate = os.date("%d/%m/%Y")
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "BELİRLENEN DURUM: " .. status)
|
||
netstream.Start("EditDatafile", PLUGIN.file.genericdata, "Belirlenen durum '" .. string.upper(status) .. "' olarak değiştirildi")
|
||
end
|
||
|
||
back2.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
updateStatusTitleFrame:SetVisible(false)
|
||
updateStatusFrame:SetVisible(false)
|
||
titleFrame:SetVisible(true)
|
||
infoContentFrame:SetVisible(true)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
vgui.Register("ixDatafileInfo", PANEL, "EditablePanel")
|
||
|
||
PANEL = {}
|
||
|
||
function PANEL:Init()
|
||
self:SetSize(self:GetParent():GetWide(), self:GetParent():GetTall())
|
||
self:Dock(TOP)
|
||
self:DockMargin(0, 0, 0, SScaleMin(15 / 3))
|
||
self.Paint = nil
|
||
|
||
PLUGIN.viewDatafileLogs = self
|
||
|
||
self.titleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(self.titleFrame, self, "datafile kayıtlarını gör")
|
||
|
||
local titleSubframe = self.titleFrame:Add("EditablePanel")
|
||
titleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
titleSubframe:Dock(RIGHT)
|
||
titleSubframe.Paint = nil
|
||
|
||
local addGenericNote = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(addGenericNote, titleSubframe, 87, "genel not ekle", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(titleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local back = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back, titleSubframe, 68, "geri", RIGHT)
|
||
|
||
back.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
self:SetVisible(false)
|
||
if IsValid(PLUGIN.datafileInfo) then
|
||
PLUGIN.datafileInfo:SetVisible(true)
|
||
end
|
||
|
||
if IsValid(PLUGIN.datafileFunctions) then
|
||
PLUGIN.datafileFunctions:SetVisible(true)
|
||
end
|
||
end
|
||
|
||
self.transactionLogs = self:Add("DButton")
|
||
CreateButton(self.transactionLogs, "işlem kayıtları", "smallerbuttonarrow.png")
|
||
self.transactionLogs:DockMargin(0, 0 - SScaleMin(2 / 3), 0, SScaleMin(9 / 3))
|
||
|
||
self.logsFrame = self:Add("DScrollPanel")
|
||
self.logsFrame:SetSize(self:GetWide(), SScaleMin(576 / 3) - self.transactionLogs:GetTall() - SScaleMin(11 / 3))
|
||
self.logsFrame:Dock(FILL)
|
||
self.logsFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
|
||
self.transactionLogs.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
|
||
if (LocalPlayer():Team() != FACTION_ADMIN and !LocalPlayer():IsCombineRankAbove("i3") and !LocalPlayer():GetCharacter():HasFlags("T")) then
|
||
LocalPlayer():Notify("İşlem günlüklerine yalnızca CCA ve CP i3+ erişebilir!")
|
||
|
||
return
|
||
end
|
||
|
||
if self.titleFrame then
|
||
self.titleFrame:SetVisible(false)
|
||
end
|
||
|
||
self.logsFrame:SetVisible(false)
|
||
self.transactionLogs:SetVisible(false)
|
||
|
||
self.genericTitleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(self.genericTitleFrame, self, "transaction logs")
|
||
|
||
local genericTitleSubframe = self.genericTitleFrame:Add("EditablePanel")
|
||
genericTitleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
genericTitleSubframe:Dock(RIGHT)
|
||
genericTitleSubframe.Paint = nil
|
||
|
||
self.genericBack = genericTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(self.genericBack, genericTitleSubframe, 68, "geri", RIGHT)
|
||
|
||
PLUGIN.viewTransactionLogs = vgui.Create("ixDatafileTransactionLogs", self)
|
||
|
||
self.genericBack.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
self.genericTitleFrame:SetVisible(false)
|
||
self.transactionLogs:SetVisible(true)
|
||
if self.titleFrame then
|
||
self.titleFrame:SetVisible(true)
|
||
end
|
||
|
||
self.logsFrame:SetVisible(true)
|
||
PLUGIN.viewTransactionLogs:SetVisible(false)
|
||
end
|
||
end
|
||
|
||
addGenericNote.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
if self.titleFrame then
|
||
self.titleFrame:SetVisible(false)
|
||
end
|
||
self.logsFrame:SetVisible(false)
|
||
self.transactionLogs:SetVisible(false)
|
||
|
||
local genericTitleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(genericTitleFrame, self, "genel not ekle")
|
||
|
||
local genericTitleSubframe = genericTitleFrame:Add("EditablePanel")
|
||
genericTitleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
genericTitleSubframe:Dock(RIGHT)
|
||
genericTitleSubframe.Paint = nil
|
||
|
||
local saveGenericNote = genericTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(saveGenericNote, genericTitleSubframe, 87, "genel notu kaydet", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(genericTitleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local genericBack = genericTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(genericBack, genericTitleSubframe, 68, "geri", RIGHT)
|
||
|
||
local textEntryPanel = self:Add("DPanel")
|
||
textEntryPanel:Dock(TOP)
|
||
textEntryPanel:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
textEntryPanel:SetSize(self:GetWide(), SScaleMin(576 / 3))
|
||
textEntryPanel.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
|
||
local genericEntry = textEntryPanel:Add("DTextEntry")
|
||
genericEntry:Dock(FILL)
|
||
genericEntry:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
genericEntry:SetMultiline(true)
|
||
genericEntry:RequestFocus()
|
||
genericEntry:SetFont("MenuFontNoClamp")
|
||
genericEntry:SetVerticalScrollbarEnabled( true )
|
||
genericEntry:SetTextColor( color )
|
||
genericEntry:SetCursorColor( color )
|
||
genericEntry.Paint = function(this, w, h)
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
genericEntry.MaxChars = 70 * 20
|
||
genericEntry.OnTextChanged = function(this)
|
||
local txt = this:GetValue()
|
||
local amt = string.utf8len(txt)
|
||
if amt > this.MaxChars then
|
||
this:SetText(this.OldText)
|
||
this:SetValue(this.OldText)
|
||
else
|
||
this.OldText = txt
|
||
end
|
||
end
|
||
|
||
saveGenericNote.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, genericEntry:GetText(), false, true)
|
||
end
|
||
|
||
genericBack.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
genericTitleFrame:SetVisible(false)
|
||
textEntryPanel:SetVisible(false)
|
||
self.transactionLogs:SetVisible(true)
|
||
if self.titleFrame then
|
||
self.titleFrame:SetVisible(true)
|
||
end
|
||
self.logsFrame:SetVisible(true)
|
||
end
|
||
end
|
||
|
||
for k, v in SortedPairs(PLUGIN.file.datafilelogs, true) do
|
||
if v.disabled then continue end
|
||
local frame = self.logsFrame:Add("DPanel")
|
||
frame:SetTall(SScaleMin(48 / 3))
|
||
frame:Dock(TOP)
|
||
frame.Paint = function(this, w, h)
|
||
if (k % 2 == 0) then
|
||
surface.SetDrawColor(0, 0, 0, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
else
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
end
|
||
|
||
local top = frame:Add("EditablePanel")
|
||
top:SetSize(frame:GetWide(), frame:GetTall() * 0.5)
|
||
top:Dock(TOP)
|
||
top.Paint = nil
|
||
|
||
local topPoster = top:Add("DLabel")
|
||
topPoster:SetTextColor(Color(154, 169, 175, 255))
|
||
topPoster:SetFont("MenuFontNoClamp")
|
||
topPoster:SetText(string.utf8upper(PLUGIN.file.datafilelogs[k].poster))
|
||
topPoster:Dock(LEFT)
|
||
topPoster:DockMargin(SScaleMin(20 / 3), SScaleMin(5 / 3), 0, 0)
|
||
topPoster:SizeToContents()
|
||
|
||
local topDate = top:Add("DLabel")
|
||
topDate:SetTextColor(Color(154, 169, 175, 255))
|
||
topDate:SetFont("MenuFontNoClamp")
|
||
local date = PLUGIN.file.datafilelogs[k].date
|
||
topDate:SetText(string.utf8upper("yayınlanma: ")..(isnumber(date) and os.date("%H:%M:%S - %d/%m/%Y", date) or date))
|
||
topDate:Dock(RIGHT)
|
||
topDate:DockMargin(0, SScaleMin(5 / 3), SScaleMin(20 / 3), 0)
|
||
topDate:SizeToContents()
|
||
|
||
local bottom = frame:Add("EditablePanel")
|
||
bottom:SetSize(frame:GetWide(), frame:GetTall() * 0.4)
|
||
bottom:Dock(TOP)
|
||
bottom.Paint = nil
|
||
bottom:SetName( "bottom" )
|
||
|
||
local excerpt = string.Left( PLUGIN.file.datafilelogs[k].text, 33)
|
||
|
||
if string.len(PLUGIN.file.datafilelogs[k].text) > 33 then
|
||
excerpt = excerpt..".."
|
||
end
|
||
|
||
local bottomText = bottom:Add("DLabel")
|
||
bottomText:SetTextColor(color)
|
||
bottomText:SetFont("MenuFontNoClamp")
|
||
bottomText:SetText(excerpt)
|
||
bottomText:Dock(LEFT)
|
||
bottomText:DockMargin(SScaleMin(20 / 3), 0, 0, SScaleMin(5 / 3))
|
||
bottomText:SizeToContents()
|
||
|
||
local viewLog = bottom:Add("DButton")
|
||
viewLog:Dock(RIGHT)
|
||
viewLog:DockMargin(0, 0, SScaleMin(20 / 3), SScaleMin(5 / 3))
|
||
viewLog:SetFont("MenuFontNoClamp")
|
||
viewLog:SetTextColor(color)
|
||
viewLog:SetText(string.utf8upper("incele"))
|
||
viewLog:SizeToContents()
|
||
viewLog.Paint = nil
|
||
viewLog.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
PLUGIN.viewDatafileLogs:SetVisible(false)
|
||
PLUGIN.viewDatafileLog = vgui.Create("ixDatafileOpenLog", PLUGIN.contentSubframe)
|
||
PLUGIN.viewDatafileLog:Update(PLUGIN.file.datafilelogs[k].text)
|
||
end
|
||
|
||
PLUGIN:DrawDividerLine(bottom, 2, 13, 0, SScaleMin( 4 / 3), RIGHT, true )
|
||
|
||
local removeLog = bottom:Add("DButton")
|
||
removeLog:Dock(RIGHT)
|
||
removeLog:DockMargin(0, 0, 0, SScaleMin(5 / 3))
|
||
removeLog:SetFont("MenuFontNoClamp")
|
||
removeLog:SetTextColor(color)
|
||
removeLog:SetText(string.utf8upper("kaldır"))
|
||
removeLog:SizeToContents()
|
||
removeLog.Paint = nil
|
||
removeLog.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
|
||
if (!LocalPlayer():IsCombineRankAbove("RL") and !LocalPlayer():GetCharacter():HasFlags("L") and LocalPlayer():Team() != FACTION_ADMIN) then
|
||
LocalPlayer():Notify("Yeterince yüksek rütbeye sahip olmadığınız veya Combine kıyafetinizi giymediğiniz için bu kütüğü kaldıramazsınız!")
|
||
|
||
return false
|
||
end
|
||
|
||
frame:Remove()
|
||
|
||
PLUGIN.file.datafilelogs[k] = {
|
||
poster = PLUGIN.file.datafilelogs[k].poster,
|
||
date = PLUGIN.file.datafilelogs[k].date,
|
||
text = PLUGIN.file.datafilelogs[k].text,
|
||
points = PLUGIN.file.datafilelogs[k].points or 0,
|
||
disabled = true
|
||
}
|
||
|
||
if !PLUGIN.file.genericdata.name then
|
||
netstream.Start("UpdateDatafileLogs", PLUGIN.file.genericdata.id, PLUGIN.file.datafilelogs, k, PLUGIN.file.genericdata.collarID)
|
||
else
|
||
netstream.Start("UpdateDatafileLogs", PLUGIN.file.genericdata.id, PLUGIN.file.datafilelogs, k, PLUGIN.file.genericdata.name)
|
||
end
|
||
end
|
||
|
||
if PLUGIN.file.datafilelogs[k].points then
|
||
if PLUGIN.file.datafilelogs[k].points != 0 then
|
||
PLUGIN:DrawDividerLine(bottom, 2, 13, 0, SScaleMin( 4 / 3), RIGHT, true )
|
||
|
||
local points = bottom:Add("DLabel")
|
||
points:SetTextColor(color)
|
||
points:SetFont("MenuFontNoClamp")
|
||
points:SetText(string.utf8upper("puanlar: ")..PLUGIN.file.datafilelogs[k].points)
|
||
points:Dock(RIGHT)
|
||
points:SizeToContents()
|
||
points:DockMargin(0, 0, SScaleMin(2 / 3), SScaleMin(5 / 3))
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
vgui.Register("ixDatafileEntryLogs", PANEL, "EditablePanel")
|
||
|
||
PANEL = {}
|
||
|
||
function PANEL:Init()
|
||
self:SetSize(self:GetParent():GetWide(), self:GetParent():GetTall())
|
||
self:Dock(TOP)
|
||
self:DockMargin(0, 0, 0, SScaleMin(15 / 3))
|
||
self.Paint = nil
|
||
|
||
PLUGIN.openDatafileLog = self
|
||
|
||
self.shouldOpenMedical = false
|
||
|
||
local titleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(titleFrame, self, "kaydı gör")
|
||
|
||
local titleSubframe = titleFrame:Add("EditablePanel")
|
||
titleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
titleSubframe:Dock(RIGHT)
|
||
titleSubframe.Paint = nil
|
||
|
||
self.back = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(self.back, titleSubframe, 68, "geri", RIGHT)
|
||
|
||
self.back.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
self:SetVisible(false)
|
||
if IsValid(PLUGIN.viewDatafileLogs) and !self.shouldOpenMedical then
|
||
PLUGIN.viewDatafileLogs:SetVisible(true)
|
||
return
|
||
end
|
||
|
||
if IsValid(PLUGIN.viewDatafileMedicalLogs) then
|
||
PLUGIN.viewDatafileMedicalLogs:SetVisible(true)
|
||
end
|
||
|
||
PLUGIN.viewDatafileLog.shouldOpenMedical = false
|
||
end
|
||
end
|
||
|
||
function PANEL:Update(text)
|
||
local textEntryPanel = self:Add("DPanel")
|
||
textEntryPanel:Dock(TOP)
|
||
textEntryPanel:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
textEntryPanel:SetSize(self:GetWide(), SScaleMin(576 / 3))
|
||
textEntryPanel.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
|
||
local genericEntry = textEntryPanel:Add("DTextEntry")
|
||
genericEntry:Dock(FILL)
|
||
genericEntry:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
genericEntry:SetMultiline(true)
|
||
genericEntry:SetEditable(true)
|
||
genericEntry:RequestFocus()
|
||
genericEntry:SetValue(text)
|
||
genericEntry:SetFont("MenuFontNoClamp")
|
||
genericEntry:SetVerticalScrollbarEnabled( true )
|
||
genericEntry:SetTextColor( color )
|
||
genericEntry:SetCursorColor( color )
|
||
genericEntry.Paint = function(this, w, h)
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
|
||
local cover = genericEntry:Add("Panel")
|
||
cover:Dock(FILL)
|
||
cover:DockMargin(0, 0, 19, 0)
|
||
end
|
||
|
||
vgui.Register("ixDatafileOpenLog", PANEL, "EditablePanel")
|
||
|
||
PANEL = {}
|
||
|
||
function PANEL:Init()
|
||
self:SetSize(self:GetParent():GetWide(), SScaleMin(300 / 3))
|
||
self:Dock(TOP)
|
||
self.Paint = nil
|
||
|
||
local titleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(titleFrame, self, "fonksiyonlar")
|
||
|
||
local titleViolations = self:Add("DButton")
|
||
CreateButton(titleViolations, "ihlal kayıtları", "smallerbuttonarrow.png")
|
||
titleViolations:DockMargin(0, 0 - SScaleMin(2 / 3), 0, SScaleMin(9 / 3))
|
||
|
||
titleViolations.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
PLUGIN.datafileInfo:SetVisible(false)
|
||
PLUGIN.datafileFunctions:SetVisible(false)
|
||
PLUGIN.viewTitleViolations = vgui.Create("ixDatafileTitleViolations", PLUGIN.contentSubframe)
|
||
end
|
||
|
||
local medicalRecords = self:Add("DButton")
|
||
CreateButton(medicalRecords, "tıbbi kayıtlar", "smallerbuttonarrow.png")
|
||
|
||
medicalRecords.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
PLUGIN.datafileInfo:SetVisible(false)
|
||
PLUGIN.datafileFunctions:SetVisible(false)
|
||
PLUGIN.viewMedicalRecords = vgui.Create("ixDatafileMedicalRecords", PLUGIN.contentSubframe)
|
||
PLUGIN.viewMedicalRecords.medicalRecords = PLUGIN.file.datafilemedicalrecords
|
||
PLUGIN.viewMedicalRecords.genericData = PLUGIN.file.genericdata
|
||
PLUGIN.viewMedicalRecords:Populate(PLUGIN.file.datafilemedicalrecords)
|
||
end
|
||
|
||
local housingInfo = self:Add("DButton")
|
||
CreateButton(housingInfo, "ev bilgisi", "smallerbuttonarrow.png")
|
||
housingInfo.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
PLUGIN.datafileInfo:SetVisible(false)
|
||
PLUGIN.datafileFunctions:SetVisible(false)
|
||
PLUGIN.viewHousingInfo = vgui.Create("ixDatafileHousingInfo", PLUGIN.contentSubframe)
|
||
end
|
||
|
||
local permitWagesFrame = self:Add("Panel")
|
||
permitWagesFrame:Dock(TOP)
|
||
permitWagesFrame:SetTall(SScaleMin(40 / 3))
|
||
permitWagesFrame:DockMargin(0, 0, 0, SScaleMin(9 / 3))
|
||
|
||
local permits = permitWagesFrame:Add("DButton")
|
||
CreateHalfButton(permits, "izinler", "licensebutton.png", true)
|
||
local characterFaction = LocalPlayer():GetCharacter():GetFaction()
|
||
|
||
permits.DoClick = function()
|
||
if (characterFaction != FACTION_WORKERS and characterFaction != FACTION_ADMIN and characterFaction != FACTION_SERVERADMIN and !LocalPlayer():GetCharacter():HasFlags("U")) then
|
||
LocalPlayer():NotifyLocalized("Sadece CWU ve CA buna erişebilir.")
|
||
return
|
||
end
|
||
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
PLUGIN.datafileInfo:SetVisible(false)
|
||
PLUGIN.datafileFunctions:SetVisible(false)
|
||
PLUGIN.viewPermits = vgui.Create("ixDatafilePermits", PLUGIN.contentSubframe)
|
||
end
|
||
|
||
local loyalistTools = permitWagesFrame:Add("DButton")
|
||
CreateHalfButton(loyalistTools, "Sadık Ayarları", "medium-button-arrow.png", false)
|
||
|
||
loyalistTools.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
PLUGIN.datafileInfo:SetVisible(false)
|
||
PLUGIN.datafileFunctions:SetVisible(false)
|
||
|
||
PLUGIN.viewLoyalistTools = vgui.Create("ixDatafileLoyalistTools", PLUGIN.contentSubframe)
|
||
end
|
||
|
||
local bolAntiCitizenFrame = self:Add("Panel")
|
||
bolAntiCitizenFrame:Dock(TOP)
|
||
bolAntiCitizenFrame:SetTall(SScaleMin(40 / 3))
|
||
bolAntiCitizenFrame:DockMargin(0, 0, 0, SScaleMin(9 / 3))
|
||
|
||
local bol = bolAntiCitizenFrame:Add("DButton")
|
||
if PLUGIN.file.genericdata.bol == false then
|
||
CreateHalfButton(bol, "b.o.l", "bolbutton.png", false)
|
||
else
|
||
CreateHalfButton(bol, "b.o.l", "bolbuttonon.png", false)
|
||
end
|
||
|
||
bol.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
|
||
if (PLUGIN.file.genericdata.bol == false) then
|
||
PLUGIN.file.genericdata.bol = true
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "B.O.L. durumu aktifleştirildi")
|
||
else
|
||
PLUGIN.file.genericdata.bol = false
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "B.O.L durumu devre dışı bırakıldı.")
|
||
end
|
||
|
||
netstream.Start("EditDatafile", PLUGIN.file.genericdata, "B.O.L durumu " .. (PLUGIN.file.genericdata.bol and "aktif" or "deaktif"))
|
||
end
|
||
|
||
local anticitizen = bolAntiCitizenFrame:Add("DButton")
|
||
if PLUGIN.file.genericdata.anticitizen == false then
|
||
CreateHalfButton(anticitizen, "anti-sivil", "acbutton.png", true)
|
||
else
|
||
CreateHalfButton(anticitizen, "anti-sivil", "acbuttonon.png", true)
|
||
end
|
||
|
||
anticitizen.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
if PLUGIN.file.genericdata.anticitizen == false then
|
||
PLUGIN.file.genericdata.anticitizen = true
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "Anti-Sivil durumu aktifleştirildi.")
|
||
else
|
||
PLUGIN.file.genericdata.anticitizen = false
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "Anti-Sivil durumu deaktifleştirildi.")
|
||
end
|
||
|
||
netstream.Start("EditDatafile", PLUGIN.file.genericdata, "Anti-Sivil durumu " .. (PLUGIN.file.genericdata.anticitizen and "aktif" or "deaktif"))
|
||
end
|
||
end
|
||
|
||
vgui.Register("ixDatafileFunctions", PANEL, "EditablePanel")
|
||
|
||
PANEL = {}
|
||
|
||
function PANEL:GetLoyaltyText()
|
||
local loyaltyText = PLUGIN.file.genericdata.loyaltyStatus or "N/A"
|
||
if PLUGIN.file.genericdata.socialCredits and !PLUGIN.file.genericdata.combine then
|
||
if PLUGIN.file.genericdata.socialCredits < 40 then
|
||
return "UNDERCLASS"
|
||
end
|
||
end
|
||
|
||
return loyaltyText
|
||
end
|
||
|
||
function PANEL:Init()
|
||
self:SetSize(self:GetParent():GetWide(), self:GetParent():GetTall())
|
||
self:Dock(TOP)
|
||
self:DockMargin(0, 0, 0, SScaleMin(15 / 3))
|
||
self.Paint = nil
|
||
|
||
local titleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(titleFrame, self, "sadık seçenekleri")
|
||
|
||
local titleSubframe = titleFrame:Add("EditablePanel")
|
||
titleSubframe:SetSize(SScaleMin(159 / 3), 0)
|
||
titleSubframe:Dock(RIGHT)
|
||
titleSubframe.Paint = nil
|
||
|
||
local back = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back, titleSubframe, 87, "geri", RIGHT)
|
||
|
||
back.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
self:SetVisible(false)
|
||
if IsValid(PLUGIN.datafileInfo) then
|
||
PLUGIN.datafileInfo:SetVisible(true)
|
||
end
|
||
|
||
if IsValid(PLUGIN.datafileFunctions) then
|
||
PLUGIN.datafileFunctions:SetVisible(true)
|
||
end
|
||
end
|
||
|
||
local wagesFrame = self:Add("DPanel")
|
||
wagesFrame:Dock(TOP)
|
||
wagesFrame:SetZPos(1)
|
||
wagesFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, SScaleMin(5 / 3))
|
||
wagesFrame:SetSize(self:GetWide(), (SScaleMin(576 / 3) / 3) - SScaleMin(5 / 3))
|
||
wagesFrame.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h - SScaleMin(46 / 3))
|
||
end
|
||
|
||
local wagesTitle = wagesFrame:Add("DLabel")
|
||
wagesTitle:SetFont("TitlesFontNoClamp")
|
||
wagesTitle:SetTextColor(color)
|
||
wagesTitle:SetText(string.utf8upper("rasyonlara eklenecek ekstra maaşlar"))
|
||
wagesTitle:Dock(TOP)
|
||
wagesTitle:SetZPos(2)
|
||
wagesTitle:DockMargin(SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local wagesString = wagesFrame:Add("DTextEntry")
|
||
wagesString:Dock(TOP)
|
||
wagesString:SetTall(SScaleMin(46 / 3))
|
||
wagesString:SetMultiline(false)
|
||
wagesString:RequestFocus()
|
||
wagesString:MoveToFront()
|
||
wagesString:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), 0)
|
||
wagesString:SetEnterAllowed(false)
|
||
wagesString:SetText(PLUGIN.file.genericdata.wages or 0)
|
||
wagesString:SetVerticalScrollbarEnabled( false )
|
||
wagesString:SetFont("TitlesFontNoClamp")
|
||
wagesString:SetTextColor( color )
|
||
wagesString:SetZPos(3)
|
||
wagesString:SetCursorColor( color )
|
||
wagesString.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
|
||
local saveWages = wagesFrame:Add("DButton")
|
||
saveWages:Dock(BOTTOM)
|
||
saveWages:SetTall(SScaleMin(46 / 3))
|
||
saveWages:SetText("kaydet")
|
||
saveWages:SetZPos(4)
|
||
saveWages:SetContentAlignment(5)
|
||
saveWages:SetFont("TitlesFontNoClamp")
|
||
saveWages.Paint = function(this, w, h)
|
||
surface.SetDrawColor(color_white)
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/buttonnoarrow.png"))
|
||
surface.DrawTexturedRect(0, 0, w, h)
|
||
end
|
||
|
||
saveWages.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
if LocalPlayer():GetCharacter():GetFaction() == FACTION_ADMIN or LocalPlayer():IsCombineRankAbove("i1") or LocalPlayer():GetCharacter():HasFlags("U") then
|
||
if tonumber(wagesString:GetText()) > 200 then
|
||
LocalPlayer():NotifyLocalized("Maaş değeri 200 veya daha az olmalıdır.")
|
||
return
|
||
end
|
||
|
||
netstream.Start("SetWagesDatafile", PLUGIN.file.genericdata, tonumber(wagesString:GetText()))
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "Ekstra maaş miktarını şuna değiştir "..wagesString:GetText())
|
||
else
|
||
LocalPlayer():NotifyLocalized("Sadece CCA buna erişebilir.")
|
||
end
|
||
end
|
||
|
||
local loyalistStatusFrame = self:Add("DPanel")
|
||
loyalistStatusFrame:Dock(TOP)
|
||
loyalistStatusFrame:DockMargin(0, SScaleMin(5 / 3), 0, 0)
|
||
loyalistStatusFrame:SetZPos(5)
|
||
loyalistStatusFrame:SetSize(self:GetWide(), (SScaleMin(576 / 3) / 3) - SScaleMin(5 / 3))
|
||
loyalistStatusFrame.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h - SScaleMin(46 / 3))
|
||
end
|
||
|
||
local loyalistTitle = loyalistStatusFrame:Add("DLabel")
|
||
loyalistTitle:SetFont("TitlesFontNoClamp")
|
||
loyalistTitle:SetTextColor(color)
|
||
loyalistTitle:SetText(string.utf8upper("sadık durumunu değiştir (T3 üzeri)"))
|
||
loyalistTitle:Dock(TOP)
|
||
loyalistTitle:SetZPos(6)
|
||
loyalistTitle:DockMargin(SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local loyalistBox = loyalistStatusFrame:Add("DComboBox")
|
||
loyalistBox:SetZPos(7)
|
||
loyalistBox:SetFont("MenuFontNoClamp")
|
||
loyalistBox:SetTextColor(color)
|
||
loyalistBox:Dock(TOP)
|
||
loyalistBox:SetTall(SScaleMin(46 / 3))
|
||
loyalistBox:SetFont("TitlesFontNoClamp")
|
||
loyalistBox:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), 0)
|
||
loyalistBox:SetValue( self:GetLoyaltyText() or string.utf8upper("Yok") )
|
||
loyalistBox:AddChoice( string.utf8upper("TIER 4 (blue)") )
|
||
loyalistBox:AddChoice( string.utf8upper("TIER 5 (green)") )
|
||
loyalistBox:AddChoice( string.utf8upper("TIER 6 (white)") )
|
||
loyalistBox:AddChoice( string.utf8upper("TIER 7 (commended)"))
|
||
loyalistBox:AddChoice( string.utf8upper("CCA MEMBER") )
|
||
loyalistBox:AddChoice( string.utf8upper("Yok") )
|
||
loyalistBox.Paint = function(panel, width, height)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, width, height)
|
||
end
|
||
|
||
local saveLoyalist = loyalistStatusFrame:Add("DButton")
|
||
saveLoyalist:Dock(BOTTOM)
|
||
saveLoyalist:SetTall(SScaleMin(46 / 3))
|
||
saveLoyalist:SetZPos(8)
|
||
saveLoyalist:SetText("kaydet")
|
||
saveLoyalist:SetContentAlignment(5)
|
||
saveLoyalist:SetFont("TitlesFontNoClamp")
|
||
saveLoyalist.Paint = function(this, w, h)
|
||
surface.SetDrawColor(color_white)
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/buttonnoarrow.png"))
|
||
surface.DrawTexturedRect(0, 0, w, h)
|
||
end
|
||
|
||
saveLoyalist.DoClick = function()
|
||
if (loyalistBox:GetSelected()) then
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
netstream.Start("SetLoyalistStatusDatafile", PLUGIN.file.genericdata, loyalistBox:GetSelected())
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "Set Loyalist Status to "..loyalistBox:GetSelected())
|
||
end
|
||
end
|
||
|
||
local bypassCommunionFrame = self:Add("DPanel")
|
||
bypassCommunionFrame:Dock(TOP)
|
||
bypassCommunionFrame:DockMargin(0, SScaleMin(5 / 3), 0, 0)
|
||
bypassCommunionFrame:SetZPos(9)
|
||
bypassCommunionFrame:SetSize(self:GetWide(), (SScaleMin(576 / 3) / 3) - SScaleMin(5 / 3))
|
||
bypassCommunionFrame.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h - SScaleMin(46 / 3))
|
||
end
|
||
|
||
local communionTitle = bypassCommunionFrame:Add("DLabel")
|
||
communionTitle:SetFont("TitlesFontNoClamp")
|
||
communionTitle:SetTextColor(color)
|
||
communionTitle:SetText(string.utf8upper("Birlik Gereksinimi Terminalini Yoksay"))
|
||
communionTitle:Dock(TOP)
|
||
communionTitle:SetZPos(10)
|
||
communionTitle:DockMargin(SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local enableDisableCommunion = bypassCommunionFrame:Add("DButton")
|
||
enableDisableCommunion:Dock(BOTTOM)
|
||
enableDisableCommunion:SetTall(SScaleMin(46 / 3))
|
||
enableDisableCommunion:SetZPos(8)
|
||
enableDisableCommunion:SetText(PLUGIN.file.genericdata.bypassCommunion == true and "AKTİF" or "DEAKTİF")
|
||
enableDisableCommunion:SetContentAlignment(5)
|
||
enableDisableCommunion:SetFont("TitlesFontNoClamp")
|
||
enableDisableCommunion.Paint = function(this, w, h)
|
||
surface.SetDrawColor(color_white)
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/buttonnoarrow.png"))
|
||
|
||
if PLUGIN.file.genericdata then
|
||
if PLUGIN.file.genericdata.bypassCommunion == true then
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/buttonnoarrow.png"))
|
||
else
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/buttonnoarrow-off.png"))
|
||
end
|
||
end
|
||
|
||
surface.DrawTexturedRect(0, 0, w, h)
|
||
end
|
||
|
||
enableDisableCommunion.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
|
||
if PLUGIN.file.genericdata then
|
||
if PLUGIN.file.genericdata.bypassCommunion then
|
||
netstream.Start("SetBypassDatafile", PLUGIN.file.genericdata, false)
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "Set Bypass Communion to: ENABLED")
|
||
else
|
||
netstream.Start("SetBypassDatafile", PLUGIN.file.genericdata, true)
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "Set Bypass Communion to: DISABLED")
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
vgui.Register("ixDatafileLoyalistTools", PANEL, "EditablePanel")
|
||
|
||
PANEL = {}
|
||
|
||
function PANEL:Init()
|
||
self:SetSize(self:GetParent():GetWide(), self:GetParent():GetTall())
|
||
self:Dock(TOP)
|
||
self:DockMargin(0, 0, 0, SScaleMin(15 / 3))
|
||
self.Paint = nil
|
||
|
||
local titleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(titleFrame, self, "ihlal kayıtları")
|
||
|
||
local titleSubframe = titleFrame:Add("EditablePanel")
|
||
titleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
titleSubframe:Dock(RIGHT)
|
||
titleSubframe.Paint = nil
|
||
|
||
local addViolation = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(addViolation, titleSubframe, 87, "ihlal ekle", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(titleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local back = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back, titleSubframe, 68, "geri", RIGHT)
|
||
|
||
back.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
self:SetVisible(false)
|
||
if IsValid(PLUGIN.datafileInfo) then
|
||
PLUGIN.datafileInfo:SetVisible(true)
|
||
end
|
||
|
||
if IsValid(PLUGIN.datafileFunctions) then
|
||
PLUGIN.datafileFunctions:SetVisible(true)
|
||
end
|
||
end
|
||
|
||
local violationsFrame = self:Add("DScrollPanel")
|
||
violationsFrame:SetSize(self:GetWide(), SScaleMin(576 / 3))
|
||
violationsFrame:Dock(TOP)
|
||
violationsFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
|
||
addViolation.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
titleFrame:SetVisible(false)
|
||
violationsFrame:SetVisible(false)
|
||
|
||
local violationsTitleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(violationsTitleFrame, self, "ihlal ekle")
|
||
|
||
PLUGIN.violationsTitleSubframe = violationsTitleFrame:Add("EditablePanel")
|
||
PLUGIN.violationsTitleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
PLUGIN.violationsTitleSubframe:Dock(RIGHT)
|
||
PLUGIN.violationsTitleSubframe.Paint = nil
|
||
|
||
local saveViolation = PLUGIN.violationsTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(saveViolation, PLUGIN.violationsTitleSubframe, 87, "ihlali kaydet", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(PLUGIN.violationsTitleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local violationBack = PLUGIN.violationsTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(violationBack, PLUGIN.violationsTitleSubframe, 68, "geri", RIGHT)
|
||
|
||
local violationsNewFrame = self:Add("DPanel")
|
||
violationsNewFrame:Dock(TOP)
|
||
violationsNewFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
violationsNewFrame:SetSize(self:GetWide(), SScaleMin(576 / 3))
|
||
violationsNewFrame.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
|
||
local verdictCodeText = violationsNewFrame:Add("DLabel")
|
||
verdictCodeText:SetFont("MenuFontNoClamp")
|
||
verdictCodeText:SetTextColor(color)
|
||
verdictCodeText:SetText(string.utf8upper("karar kodu [format: V###]:"))
|
||
verdictCodeText:Dock(TOP)
|
||
verdictCodeText:SetZPos(1)
|
||
verdictCodeText:DockMargin(SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local verdictCode = violationsNewFrame:Add("DTextEntry")
|
||
verdictCode:Dock(TOP)
|
||
verdictCode:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
verdictCode:SetMultiline(false)
|
||
verdictCode:RequestFocus()
|
||
verdictCode:SetFont("MenuFontNoClamp")
|
||
verdictCode:SetEnterAllowed(false)
|
||
verdictCode:SetTall(SScaleMin(20 / 3))
|
||
verdictCode:SetVerticalScrollbarEnabled( false )
|
||
verdictCode:SetTextColor( color )
|
||
verdictCode:SetZPos(2)
|
||
verdictCode:SetCursorColor( color )
|
||
verdictCode.MaxChars = 4
|
||
verdictCode.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
|
||
verdictCode.OnTextChanged = function(this)
|
||
local txt = this:GetValue()
|
||
local amt = string.utf8len(txt)
|
||
if amt > this.MaxChars then
|
||
if this.OldText then
|
||
this:SetText(this.OldText)
|
||
this:SetValue(this.OldText)
|
||
end
|
||
else
|
||
this.OldText = txt
|
||
end
|
||
end
|
||
|
||
local reasonText = violationsNewFrame:Add("DLabel")
|
||
reasonText:SetFont("MenuFontNoClamp")
|
||
reasonText:SetTextColor(color)
|
||
reasonText:SetText(string.utf8upper("sebep:"))
|
||
reasonText:Dock(TOP)
|
||
reasonText:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
reasonText:SetZPos(3)
|
||
|
||
local reason = violationsNewFrame:Add("DTextEntry")
|
||
reason:Dock(TOP)
|
||
reason:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
reason:SetMultiline(false)
|
||
reason:RequestFocus()
|
||
reason:SetEnterAllowed(false)
|
||
reason:SetVerticalScrollbarEnabled( false )
|
||
reason:SetTextColor( color )
|
||
reason:SetFont("MenuFontNoClamp")
|
||
reason:SetTall(SScaleMin(20 / 3))
|
||
reason:SetCursorColor( color )
|
||
reason:SetZPos(4)
|
||
reason.MaxChars = 45
|
||
reason.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
|
||
reason.OnTextChanged = function(this)
|
||
local txt = this:GetValue()
|
||
local amt = string.utf8len(txt)
|
||
if amt > this.MaxChars then
|
||
if this.OldText then
|
||
this:SetText(this.OldText)
|
||
this:SetValue(this.OldText)
|
||
end
|
||
else
|
||
this.OldText = txt
|
||
end
|
||
end
|
||
|
||
local punishmentText = violationsNewFrame:Add("DLabel")
|
||
punishmentText:SetFont("MenuFontNoClamp")
|
||
punishmentText:SetTextColor(color)
|
||
punishmentText:SetText(string.utf8upper("cezalandırma:"))
|
||
punishmentText:Dock(TOP)
|
||
punishmentText:SetZPos(5)
|
||
punishmentText:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local punishmentBox = violationsNewFrame:Add("DComboBox")
|
||
punishmentBox:SetZPos(6)
|
||
punishmentBox:SetFont("MenuFontNoClamp")
|
||
punishmentBox:SetTextColor(color)
|
||
punishmentBox:Dock(TOP)
|
||
punishmentBox:SetTall(SScaleMin(20 / 3))
|
||
punishmentBox:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
punishmentBox:SetValue( string.utf8upper("seçenekler") )
|
||
punishmentBox:AddChoice( string.utf8upper("ampütasyon") )
|
||
punishmentBox:AddChoice( string.utf8upper("yeniden eğitim") )
|
||
punishmentBox:AddChoice( string.utf8upper("sözlü uyarı") )
|
||
punishmentBox:AddChoice( string.utf8upper("diğer") )
|
||
punishmentBox.Paint = function(panel, width, height)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, width, height)
|
||
end
|
||
|
||
saveViolation.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
netstream.Start("AddViolation", PLUGIN.file.datafileviolations, PLUGIN.file.genericdata, LocalPlayer():Name(), "["..verdictCode:GetText().."] :: ["..reason:GetText().."] :: ["..punishmentBox:GetText().."]", LocalPlayer():GetCharacter():GetID())
|
||
end
|
||
|
||
violationBack.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
violationsTitleFrame:SetVisible(false)
|
||
violationsNewFrame:SetVisible(false)
|
||
titleFrame:SetVisible(true)
|
||
violationsFrame:SetVisible(true)
|
||
end
|
||
end
|
||
|
||
for k, v in SortedPairs(PLUGIN.file.datafileviolations, true) do
|
||
local frame = violationsFrame:Add("DPanel")
|
||
frame:SetTall(SScaleMin(48 / 3))
|
||
frame:Dock(TOP)
|
||
frame.Paint = function(this, w, h)
|
||
if (k % 2 == 0) then
|
||
surface.SetDrawColor(0, 0, 0, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
else
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
end
|
||
|
||
local top = frame:Add("EditablePanel")
|
||
top:SetSize(frame:GetWide(), frame:GetTall() * 0.5)
|
||
top:Dock(TOP)
|
||
top.Paint = nil
|
||
|
||
local topPoster = top:Add("DLabel")
|
||
topPoster:SetTextColor(Color(154, 169, 175, 255))
|
||
topPoster:SetFont("MenuFontNoClamp")
|
||
topPoster:SetText(string.utf8upper(v.poster))
|
||
topPoster:Dock(LEFT)
|
||
topPoster:DockMargin(SScaleMin(20 / 3), SScaleMin(5 / 3), 0, 0)
|
||
topPoster:SizeToContents()
|
||
|
||
local topDate = top:Add("DLabel")
|
||
topDate:SetTextColor(Color(154, 169, 175, 255))
|
||
topDate:SetFont("MenuFontNoClamp")
|
||
topDate:SetText(string.utf8upper("yayınlanma: ")..v.date)
|
||
topDate:Dock(RIGHT)
|
||
topDate:DockMargin(0, SScaleMin(5 / 3), SScaleMin(20 / 3), 0)
|
||
topDate:SizeToContents()
|
||
|
||
local bottom = frame:Add("EditablePanel")
|
||
bottom:SetSize(frame:GetWide(), frame:GetTall() * 0.4)
|
||
bottom:Dock(TOP)
|
||
bottom.Paint = nil
|
||
bottom:SetName( "bottom" )
|
||
|
||
local bottomText = bottom:Add("DLabel")
|
||
bottomText:SetTextColor(color)
|
||
bottomText:SetFont("MenuFontNoClamp")
|
||
bottomText:SetText(v.text)
|
||
bottomText:Dock(LEFT)
|
||
bottomText:DockMargin(SScaleMin(20 / 3), 0, 0, 0)
|
||
bottomText:SizeToContents()
|
||
|
||
local removeLog = bottom:Add("DButton")
|
||
removeLog:Dock(RIGHT)
|
||
removeLog:DockMargin(0, 0, SScaleMin(18 / 3), 0)
|
||
removeLog:SetFont("MenuFontNoClamp")
|
||
removeLog:SetTextColor(color)
|
||
removeLog:SetText(string.utf8upper("kaldır"))
|
||
removeLog:SizeToContents()
|
||
removeLog.Paint = nil
|
||
removeLog.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
local posterID = PLUGIN.file.datafileviolations[k].posterID or false
|
||
if (posterID and posterID == LocalPlayer():GetCharacter():GetID()) or (PLUGIN.file.datafileviolations[k].poster == LocalPlayer():GetName()) or (LocalPlayer():IsCombineRankAbove("RL")) then
|
||
frame:Remove()
|
||
PLUGIN.file.datafileviolations[k] = nil
|
||
|
||
netstream.Start("UpdateDatafileViolations", PLUGIN.file.genericdata.id, PLUGIN.file.datafileviolations, PLUGIN.file.genericdata.name)
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, "REMOVED VIOLATION.")
|
||
else
|
||
LocalPlayer():NotifyLocalized("Erişime izin verilmiyor. RL veya CpT değilsiniz, Combine zırhı giymiyorsunuz veya bu ihlali siz eklemediniz.")
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
vgui.Register("ixDatafileTitleViolations", PANEL, "EditablePanel")
|
||
|
||
PANEL = {}
|
||
|
||
function PANEL:Init()
|
||
self:SetSize(self:GetParent():GetWide(), self:GetParent():GetTall())
|
||
self:Dock(TOP)
|
||
self:DockMargin(0, 0, 0, SScaleMin(15 / 3))
|
||
self.Paint = nil
|
||
self.contentSubframe = PLUGIN.contentSubframe
|
||
|
||
PLUGIN.viewDatafileMedicalLogs = self
|
||
|
||
local titleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(titleFrame, self, "tıbbi kayıtlar")
|
||
|
||
local titleSubframe = titleFrame:Add("EditablePanel")
|
||
titleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
titleSubframe:Dock(RIGHT)
|
||
titleSubframe.Paint = nil
|
||
|
||
local addRecord = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(addRecord, titleSubframe, 87, "kayıt ekle", RIGHT)
|
||
|
||
self.topDivider = PLUGIN:DrawDividerLine(titleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
self.back = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(self.back, titleSubframe, 68, "geri", RIGHT)
|
||
|
||
self.back.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
self:SetVisible(false)
|
||
if IsValid(PLUGIN.datafileInfo) then
|
||
PLUGIN.datafileInfo:SetVisible(true)
|
||
end
|
||
|
||
if IsValid(PLUGIN.datafileFunctions) then
|
||
PLUGIN.datafileFunctions:SetVisible(true)
|
||
end
|
||
end
|
||
|
||
self.recordsFrame = self:Add("DScrollPanel")
|
||
self.recordsFrame:SetSize(self:GetWide(), SScaleMin(576 / 3))
|
||
self.recordsFrame:Dock(TOP)
|
||
self.recordsFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
|
||
addRecord.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
titleFrame:SetVisible(false)
|
||
self.recordsFrame:SetVisible(false)
|
||
|
||
local recordsTitleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(recordsTitleFrame, self, "tıbbi kayıt ekle")
|
||
|
||
local recordsTitleSubframe = recordsTitleFrame:Add("EditablePanel")
|
||
recordsTitleSubframe:SetSize(SScaleMin(300 / 3), 0)
|
||
recordsTitleSubframe:Dock(RIGHT)
|
||
recordsTitleSubframe.Paint = nil
|
||
|
||
local saveRecord = recordsTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(saveRecord, recordsTitleSubframe, 87, "kaydı kaydet", RIGHT)
|
||
|
||
PLUGIN:DrawDividerLine(recordsTitleSubframe, 2, 13, 0, SScaleMin( 4 / 3), RIGHT )
|
||
|
||
local recordBack = recordsTitleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(recordBack, recordsTitleSubframe, 68, "geri", RIGHT)
|
||
|
||
local recordsNewFrame = self:Add("DPanel")
|
||
recordsNewFrame:Dock(TOP)
|
||
recordsNewFrame:DockMargin(0, 0 - SScaleMin(2 / 3), 0, 0)
|
||
recordsNewFrame:SetSize(self:GetWide(), SScaleMin(576 / 3))
|
||
recordsNewFrame.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
|
||
local recordsCodeText = recordsNewFrame:Add("DLabel")
|
||
recordsCodeText:SetFont("MenuFontNoClamp")
|
||
recordsCodeText:SetTextColor(color)
|
||
recordsCodeText:SetText(string.utf8upper("Kayıt içeriği:"))
|
||
recordsCodeText:Dock(TOP)
|
||
recordsCodeText:SetZPos(1)
|
||
recordsCodeText:DockMargin(SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(20 / 3), SScaleMin(10 / 3))
|
||
|
||
local record = recordsNewFrame:Add("DTextEntry")
|
||
record:Dock(FILL)
|
||
record:DockMargin(SScaleMin(20 / 3), 0, SScaleMin(20 / 3), SScaleMin(20 / 3))
|
||
record:SetMultiline(true)
|
||
record:RequestFocus()
|
||
record:SetEnterAllowed(true)
|
||
record:SetVerticalScrollbarEnabled( true )
|
||
record:SetTextColor( color )
|
||
record:SetFont("MenuFontNoClamp")
|
||
record:SetTall(SScaleMin(20 / 3))
|
||
record:SetZPos(2)
|
||
record:SetCursorColor( color )
|
||
record.Paint = function(this, w, h)
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
|
||
this:DrawTextEntryText( this:GetTextColor(), this:GetHighlightColor(), this:GetCursorColor() )
|
||
end
|
||
|
||
saveRecord.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
netstream.Start("AddMedicalRecord", self.medicalRecords, self.genericData, LocalPlayer():Name(), record:GetText(), self.cmuPDA)
|
||
|
||
self:OnSaveRecord()
|
||
end
|
||
|
||
recordBack.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
recordsTitleFrame:SetVisible(false)
|
||
recordsNewFrame:SetVisible(false)
|
||
titleFrame:SetVisible(true)
|
||
self.recordsFrame:SetVisible(true)
|
||
end
|
||
end
|
||
end
|
||
|
||
function PANEL:OnSaveRecord() end
|
||
|
||
function PANEL:Populate(records)
|
||
for k, v in SortedPairs(records, true) do
|
||
local frame = self.recordsFrame:Add("DPanel")
|
||
frame:SetTall(SScaleMin(48 / 3))
|
||
frame:Dock(TOP)
|
||
frame.Paint = function(this, w, h)
|
||
if (k % 2 == 0) then
|
||
surface.SetDrawColor(0, 0, 0, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
else
|
||
surface.SetDrawColor(40, 88, 115, 75)
|
||
surface.DrawRect(0, 0, w, h)
|
||
end
|
||
end
|
||
|
||
local top = frame:Add("EditablePanel")
|
||
top:SetSize(frame:GetWide(), frame:GetTall() * 0.5)
|
||
top:Dock(TOP)
|
||
top.Paint = nil
|
||
|
||
local topPoster = top:Add("DLabel")
|
||
topPoster:SetTextColor(Color(154, 169, 175, 255))
|
||
topPoster:SetFont("MenuFontNoClamp")
|
||
topPoster:SetText(string.utf8upper(v.poster))
|
||
topPoster:Dock(LEFT)
|
||
topPoster:DockMargin(SScaleMin(20 / 3), SScaleMin(5 / 3), 0, 0)
|
||
topPoster:SizeToContents()
|
||
|
||
local topDate = top:Add("DLabel")
|
||
topDate:SetTextColor(Color(154, 169, 175, 255))
|
||
topDate:SetFont("MenuFontNoClamp")
|
||
topDate:SetText(string.utf8upper("yayınlanma: ")..v.date)
|
||
topDate:Dock(RIGHT)
|
||
topDate:DockMargin(0, SScaleMin(5 / 3), SScaleMin(20 / 3), 0)
|
||
topDate:SizeToContents()
|
||
|
||
local bottom = frame:Add("EditablePanel")
|
||
bottom:SetSize(frame:GetWide(), frame:GetTall() * 0.4)
|
||
bottom:Dock(TOP)
|
||
bottom.Paint = nil
|
||
bottom:SetName( "bottom" )
|
||
|
||
local excerpt = string.Left( v.text, 33)
|
||
|
||
if string.len(v.text) > 33 then
|
||
excerpt = excerpt..".."
|
||
end
|
||
|
||
local bottomText = bottom:Add("DLabel")
|
||
bottomText:SetTextColor(color)
|
||
bottomText:SetFont("MenuFontNoClamp")
|
||
bottomText:SetText(excerpt)
|
||
bottomText:Dock(LEFT)
|
||
bottomText:DockMargin(SScaleMin(20 / 3), 0, 0, SScaleMin(5 / 3))
|
||
bottomText:SizeToContents()
|
||
|
||
local viewLog = bottom:Add("DButton")
|
||
viewLog:Dock(RIGHT)
|
||
viewLog:DockMargin(0, 0, SScaleMin(20 / 3), SScaleMin(5 / 3))
|
||
viewLog:SetFont("MenuFontNoClamp")
|
||
viewLog:SetTextColor(color)
|
||
viewLog:SetText(string.utf8upper("incele"))
|
||
viewLog:SizeToContents()
|
||
viewLog.Paint = nil
|
||
viewLog.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
PLUGIN.viewDatafileMedicalLogs:SetVisible(false)
|
||
PLUGIN.viewDatafileLog = vgui.Create("ixDatafileOpenLog", self.contentSubframe)
|
||
PLUGIN.viewDatafileLog.shouldOpenMedical = true
|
||
PLUGIN.viewDatafileLog:Update(v.text)
|
||
end
|
||
|
||
PLUGIN:DrawDividerLine(bottom, 2, 13, 0, SScaleMin( 4 / 3), RIGHT, true )
|
||
|
||
local removeLog = bottom:Add("DButton")
|
||
removeLog:Dock(RIGHT)
|
||
removeLog:DockMargin(0, 0, 0, SScaleMin(5 / 3))
|
||
removeLog:SetFont("MenuFontNoClamp")
|
||
removeLog:SetTextColor(color)
|
||
removeLog:SetText(string.utf8upper("kaldır"))
|
||
removeLog:SizeToContents()
|
||
removeLog.Paint = nil
|
||
removeLog.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
frame:Remove()
|
||
self.medicalRecords[k] = nil
|
||
|
||
netstream.Start("UpdateDatafileMedical", self.genericData.id, self.medicalRecords, self.genericData.name, self.cmuPDA)
|
||
end
|
||
end
|
||
end
|
||
|
||
vgui.Register("ixDatafileMedicalRecords", PANEL, "EditablePanel")
|
||
|
||
PANEL = {}
|
||
|
||
function PANEL:Init()
|
||
self:SetSize(self:GetParent():GetWide(), self:GetParent():GetTall())
|
||
self:Dock(TOP)
|
||
self.Paint = nil
|
||
|
||
local titleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(titleFrame, self, "izinler")
|
||
|
||
local titleSubframe = titleFrame:Add("EditablePanel")
|
||
titleSubframe:SetSize(SScaleMin(159 / 3), 0)
|
||
titleSubframe:Dock(RIGHT)
|
||
titleSubframe.Paint = nil
|
||
|
||
local back = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back, titleSubframe, 87, "geri", RIGHT)
|
||
|
||
back.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
self:SetVisible(false)
|
||
if IsValid(PLUGIN.datafileInfo) then
|
||
PLUGIN.datafileInfo:SetVisible(true)
|
||
end
|
||
|
||
if IsValid(PLUGIN.datafileFunctions) then
|
||
PLUGIN.datafileFunctions:SetVisible(true)
|
||
end
|
||
end
|
||
|
||
local subtitlePanel = self:Add("Panel")
|
||
subtitlePanel:Dock(TOP)
|
||
subtitlePanel:SetTall(SScaleMin(20 / 3))
|
||
|
||
local title = subtitlePanel:Add("DLabel")
|
||
title:SetFont("MenuFontBoldNoClamp")
|
||
title:SetTextColor(color)
|
||
title:SetText(string.utf8upper("ZAMAN / HAFTA"))
|
||
title:SetTextInset(0, 0 - SScaleMin(5 / 3))
|
||
title:SizeToContents()
|
||
title:Dock(RIGHT)
|
||
title:DockMargin(0, 0, SScaleMin(156 / 3), 0)
|
||
|
||
local permitsTable = self:Add("DScrollPanel")
|
||
permitsTable:Dock(FILL)
|
||
|
||
if ix.permits.list and istable(ix.permits.list) then
|
||
for name, _ in SortedPairs(ix.permits.list, false) do
|
||
local permitPanel = permitsTable:Add("Panel")
|
||
permitPanel:Dock(TOP)
|
||
permitPanel:SetTall(SScaleMin(40 / 3))
|
||
permitPanel:DockMargin(0, 0, 0, SScaleMin((0 - 1) / 3))
|
||
|
||
local namePanel = permitPanel:Add("Panel")
|
||
namePanel:Dock(FILL)
|
||
namePanel.Paint = function(this, w, h)
|
||
surface.SetDrawColor(Color(0, 0, 0, 100))
|
||
surface.DrawRect(0, 0, w, h)
|
||
|
||
surface.SetDrawColor(Color(36, 243, 230, 255 / 100 * 30))
|
||
surface.DrawOutlinedRect(0, 0, w, h)
|
||
end
|
||
|
||
local permitName = namePanel:Add("DLabel")
|
||
permitName:Dock(LEFT)
|
||
permitName:DockMargin(SScaleMin(10 / 3), 0, 0, 0)
|
||
permitName:SetTextColor(Color(36, 243, 230, 255))
|
||
permitName:SetText(string.upper(name) or "")
|
||
permitName:SetFont("MenuFontBoldNoClamp")
|
||
permitName:SizeToContents()
|
||
|
||
local disabled = permitPanel:Add("DButton")
|
||
self:CreateButton(disabled, "X")
|
||
|
||
local unlimited = permitPanel:Add("DButton")
|
||
self:CreateButton(unlimited, "∞")
|
||
|
||
local threeWeeks = permitPanel:Add("DButton")
|
||
self:CreateButton(threeWeeks, "3")
|
||
|
||
local twoWeeks = permitPanel:Add("DButton")
|
||
self:CreateButton(twoWeeks, "2")
|
||
|
||
local oneWeek = permitPanel:Add("DButton")
|
||
self:CreateButton(oneWeek, "1")
|
||
|
||
self:SetupButtons(unlimited, threeWeeks, twoWeeks, oneWeek, disabled, name, namePanel)
|
||
end
|
||
end
|
||
|
||
local save = self:Add("DButton")
|
||
createUpdateButton(save)
|
||
save:Dock(BOTTOM)
|
||
save:SetTall(SScaleMin(50 / 3))
|
||
save:SetText("kaydet")
|
||
save:DockMargin(0, 0, 0 ,0)
|
||
save.DoClick = function()
|
||
if self.toSave then
|
||
for key, value in pairs(self.toSave) do
|
||
PLUGIN.file.genericdata.permits[key] = value
|
||
end
|
||
end
|
||
|
||
self:UpdatePermits()
|
||
end
|
||
end
|
||
|
||
function PANEL:AddLog(text)
|
||
local Timestamp = os.time()
|
||
|
||
PLUGIN.file.datafilelogs[#PLUGIN.file.datafilelogs + 1] = {
|
||
text = text,
|
||
date = Timestamp,
|
||
points = 0,
|
||
poster = LocalPlayer():Name()
|
||
}
|
||
|
||
netstream.Start("AddLog", PLUGIN.file.datafilelogs, PLUGIN.file.genericdata, LocalPlayer():Name(), 0, text, true)
|
||
end
|
||
|
||
function PANEL:SetupButtons(unlimited, three, two, one, disabled, name, namePanel)
|
||
local buttons = {unlimited, three, two, one, disabled}
|
||
self:GetTimeSpan(buttons, name, namePanel)
|
||
|
||
self.toSave = {}
|
||
|
||
unlimited.DoClick = function()
|
||
self.toSave[name] = true
|
||
self:RefreshUpdatePanel(buttons, name, namePanel)
|
||
self:AddLog("Enabled "..Schema:FirstToUpper(name).." Bartering Permit | Duration: Unlimited")
|
||
end
|
||
|
||
three.DoClick = function()
|
||
self.toSave[name] = os.time() + 3600 * 24 * 7 * 3
|
||
self:RefreshUpdatePanel(buttons, name, namePanel)
|
||
self:AddLog("Enabled "..Schema:FirstToUpper(name).." Bartering Permit | Duration: Three Weeks")
|
||
end
|
||
|
||
two.DoClick = function()
|
||
self.toSave[name] = os.time() + 3600 * 24 * 7 * 2
|
||
self:RefreshUpdatePanel(buttons, name, namePanel)
|
||
self:AddLog("Enabled "..Schema:FirstToUpper(name).." Bartering Permit | Duration: Two Weeks")
|
||
end
|
||
|
||
one.DoClick = function()
|
||
self.toSave[name] = os.time() + 3600 * 24 * 7 * 1
|
||
self:RefreshUpdatePanel(buttons, name, namePanel)
|
||
self:AddLog("Enabled "..Schema:FirstToUpper(name).." Bartering Permit | Duration: One Week")
|
||
end
|
||
|
||
disabled.DoClick = function()
|
||
PLUGIN.file.genericdata.permits[name] = nil
|
||
self.toSave[name] = nil
|
||
self:RefreshUpdatePanel(buttons, name, namePanel)
|
||
self:AddLog("Disabled "..Schema:FirstToUpper(name).." Bartering Permit")
|
||
end
|
||
end
|
||
|
||
function PANEL:RefreshUpdatePanel(buttons, name, namePanel)
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
self:GetTimeSpan(buttons, name, namePanel)
|
||
end
|
||
|
||
function PANEL:UpdatePermits()
|
||
netstream.Start("SetDatafilePermit", PLUGIN.file.genericdata, PLUGIN.file.genericdata.permits)
|
||
end
|
||
|
||
function PANEL:CreateInfoText(text, namePanel, bDisabled)
|
||
if namePanel:GetChildren()[2] then
|
||
namePanel:GetChildren()[2]:Remove()
|
||
end
|
||
|
||
local infotext = namePanel:Add("DLabel")
|
||
infotext:Dock(RIGHT)
|
||
infotext:DockMargin(0, 0, SScaleMin(10 / 3), 0)
|
||
infotext:SetTextColor(bDisabled and Color(243, 36, 36, 255) or Color(51, 243, 36, 255))
|
||
infotext:SetText(string.utf8upper(text))
|
||
infotext:SetFont("MenuFontBoldNoClamp")
|
||
infotext:SizeToContents()
|
||
end
|
||
|
||
function PANEL:GetTimeSpan(buttons, name, namePanel)
|
||
local permitTableValue = self.toSave and self.toSave[name] or PLUGIN.file.genericdata.permits[name]
|
||
|
||
if !permitTableValue or ( permitTableValue and isnumber(permitTableValue) and (permitTableValue <= os.time()) ) then
|
||
buttons[5].Paint = function(this, w, h)
|
||
surface.SetDrawColor(color_white)
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/licensedisabled2.png"))
|
||
surface.DrawTexturedRect(0, 0, w, h)
|
||
end
|
||
|
||
self:CreateInfoText("disabled", namePanel, true)
|
||
|
||
for k, v in pairs(buttons) do
|
||
if k == 5 then
|
||
break
|
||
end
|
||
|
||
self:PaintDisabled(v)
|
||
end
|
||
|
||
return
|
||
end
|
||
|
||
-- Unlimited
|
||
if isbool(permitTableValue) and permitTableValue == true then
|
||
self:PaintEnabled(buttons[1])
|
||
self:CreateInfoText("unlimited", namePanel)
|
||
end
|
||
|
||
if !isnumber(tonumber(permitTableValue)) then
|
||
for k, v in pairs(buttons) do
|
||
if k != 1 then
|
||
self:PaintDisabled(v)
|
||
end
|
||
end
|
||
|
||
return
|
||
end
|
||
|
||
-- 3 weeks
|
||
if permitTableValue > (os.time() + 3600 * 24 * 7 * 2) then
|
||
for _, v in pairs(buttons) do
|
||
self:PaintDisabled(v)
|
||
end
|
||
|
||
self:CreateInfoText(os.date( "%d/%m/%Y" , permitTableValue ), namePanel)
|
||
return self:PaintEnabled(buttons[2])
|
||
end
|
||
|
||
-- 2 weeks
|
||
if permitTableValue > (os.time() + 3600 * 24 * 7 * 1) then
|
||
for _, v in pairs(buttons) do
|
||
self:PaintDisabled(v)
|
||
end
|
||
|
||
self:CreateInfoText(os.date( "%d/%m/%Y" , permitTableValue ), namePanel)
|
||
|
||
return self:PaintEnabled(buttons[3])
|
||
end
|
||
|
||
-- 1 weeks
|
||
if permitTableValue > os.time() then
|
||
for _, v in pairs(buttons) do
|
||
self:PaintDisabled(v)
|
||
end
|
||
|
||
self:CreateInfoText(os.date( "%d/%m/%Y" , permitTableValue ), namePanel)
|
||
return self:PaintEnabled(buttons[4])
|
||
end
|
||
end
|
||
|
||
function PANEL:CreateButton(parent, text)
|
||
parent:Dock(RIGHT)
|
||
parent:SetWide(SScaleMin(40 / 3))
|
||
parent:DockMargin(SScaleMin(10 / 3), 0, 0, 0)
|
||
parent:SetText(string.utf8upper(text))
|
||
parent:SetFont("MenuFontBoldNoClamp")
|
||
end
|
||
|
||
function PANEL:PaintDisabled(parent)
|
||
parent.Paint = function(this, w, h)
|
||
surface.SetDrawColor(color_white)
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/licensedisabled.png"))
|
||
surface.DrawTexturedRect(0, 0, w, h)
|
||
end
|
||
end
|
||
|
||
function PANEL:PaintEnabled(parent)
|
||
parent.Paint = function(this, w, h)
|
||
surface.SetDrawColor(color_white)
|
||
surface.SetMaterial(ix.util.GetMaterial("willardnetworks/datafile/licenseenabled.png"))
|
||
surface.DrawTexturedRect(0, 0, w, h)
|
||
end
|
||
end
|
||
|
||
vgui.Register("ixDatafilePermits", PANEL, "EditablePanel")
|
||
|
||
PANEL = {}
|
||
|
||
function PANEL:Init()
|
||
ix.gui.datafileHousingInfo = self
|
||
self:SetSize(self:GetParent():GetWide(), self:GetParent():GetTall())
|
||
self:Dock(TOP)
|
||
self.Paint = nil
|
||
|
||
local titleFrame = self:Add("EditablePanel")
|
||
PLUGIN:CreateTitle(titleFrame, self, "ev bilgisi")
|
||
|
||
local titleSubframe = titleFrame:Add("EditablePanel")
|
||
titleSubframe:SetSize(SScaleMin(159 / 3), 0)
|
||
titleSubframe:Dock(RIGHT)
|
||
titleSubframe.Paint = nil
|
||
|
||
local back = titleSubframe:Add("DButton")
|
||
PLUGIN:CreateTitleFrameRightTextButton(back, titleSubframe, 87, "geri", RIGHT)
|
||
|
||
back.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
self:SetVisible(false)
|
||
if IsValid(PLUGIN.datafileInfo) then
|
||
PLUGIN.datafileInfo:SetVisible(true)
|
||
end
|
||
|
||
if IsValid(PLUGIN.datafileFunctions) then
|
||
PLUGIN.datafileFunctions:SetVisible(true)
|
||
end
|
||
end
|
||
|
||
self.shouldNameShop = false
|
||
if PLUGIN.file.genericdata.housing then
|
||
netstream.Start("RequestApartmentNamesDatafile", tonumber(PLUGIN.file.genericdata.housing))
|
||
end
|
||
|
||
if PLUGIN.file.genericdata.shop then
|
||
netstream.Start("RequestApartmentNamesDatafile", tonumber(PLUGIN.file.genericdata.shop))
|
||
end
|
||
|
||
self.apartmentsList = vgui.Create("ixDatapadApartments", PLUGIN.contentSubframe)
|
||
self.apartmentsList:SetVisible(false)
|
||
end
|
||
|
||
function PANEL:CreateHousingRow(tApartments)
|
||
for key, appTable in pairs(tApartments) do
|
||
local apartment = self:Add("EditablePanel")
|
||
PLUGIN:CreateRow(apartment, "last known "..(self.shouldNameShop and "shop" or "housing"), appTable.name, nil, false, false)
|
||
|
||
local view = apartment:GetChildren()[2]:Add("DButton")
|
||
view:SetFont("MenuFontNoClamp")
|
||
view:Dock(RIGHT)
|
||
view:SetTextColor(color)
|
||
view:SetText("İNCELE")
|
||
view:SetContentAlignment(6)
|
||
view:DockMargin(0, 0, SScaleMin(20 / 3), 0)
|
||
view:SizeToContents()
|
||
view.Paint = nil
|
||
|
||
view.DoClick = function()
|
||
self:SetVisible(false)
|
||
self.apartmentsList:SetVisible(true)
|
||
if self.apartmentsList.apartmentButtons then
|
||
if self.apartmentsList.apartmentButtons[tonumber(key)] then
|
||
if self.apartmentsList.apartmentButtons[key].DoClick then
|
||
self.apartmentsList.apartmentButtons[key].DoClick()
|
||
else
|
||
surface.PlaySound("willardnetworks/datapad/navigate.wav")
|
||
end
|
||
|
||
self.apartmentsList.back.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
self:SetVisible(true)
|
||
if IsValid(self.apartmentsList) then
|
||
self.apartmentsList:Remove()
|
||
end
|
||
|
||
self.apartmentsList = vgui.Create("ixDatapadApartments", PLUGIN.contentSubframe)
|
||
self.apartmentsList:SetVisible(false)
|
||
end
|
||
else
|
||
LocalPlayer():NotifyLocalized("Could not find the apartment.")
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
self.shouldNameShop = true
|
||
end
|
||
|
||
vgui.Register("ixDatafileHousingInfo", PANEL, "EditablePanel")
|
||
|
||
netstream.Hook("UpdateDatafileCredits", function(credits)
|
||
if IsValid(ix.gui.citizenDatafile) then
|
||
if (PLUGIN.file.genericdata.collarID) then
|
||
ix.gui.citizenDatafile.cid.bottom.titleText:SetText(string.upper(PLUGIN.file.genericdata.collarID .. " | " .. PLUGIN.file.genericdata.cid.." | "..credits))
|
||
else
|
||
ix.gui.citizenDatafile.cid.bottom.titleText:SetText(string.upper(PLUGIN.file.genericdata.cid.." | "..credits))
|
||
end
|
||
|
||
ix.gui.citizenDatafile.cid.bottom.titleText:SizeToContents()
|
||
end
|
||
end)
|
||
|
||
PANEL = {}
|
||
|
||
function PANEL:Init()
|
||
self:Dock(FILL)
|
||
self:RequestTransactionLogs()
|
||
end
|
||
|
||
function PANEL:RequestTransactionLogs()
|
||
netstream.Start("ixDatafileRequestTransactionLogs", PLUGIN.file.genericdata.cid)
|
||
end
|
||
|
||
function PANEL:UpdateLogs(list)
|
||
if !list then return end
|
||
|
||
for _, tTransaction in pairs(list) do
|
||
local transaction = self:Add("EditablePanel")
|
||
PLUGIN:CreateRow(transaction, "amount | sender | receiver", tTransaction.amount.." | "..tTransaction.sender_cid.." | "..tTransaction.receiver_cid, os.date("%d/%m/%Y", tTransaction.datetime), false, true)
|
||
|
||
local viewLog = transaction.bottom:Add("DButton")
|
||
viewLog:Dock(RIGHT)
|
||
viewLog:DockMargin(0, 0, SScaleMin(20 / 3), SScaleMin(5 / 3))
|
||
viewLog:SetFont("MenuFontNoClamp")
|
||
viewLog:SetTextColor(color)
|
||
viewLog:SetText(string.utf8upper("sebebi incele"))
|
||
viewLog:SizeToContents()
|
||
viewLog.Paint = nil
|
||
viewLog.DoClick = function()
|
||
local parent = self:GetParent()
|
||
surface.PlaySound("willardnetworks/datapad/navigate2.wav")
|
||
parent:SetVisible(false)
|
||
|
||
PLUGIN.viewDatafileLog = vgui.Create("ixDatafileOpenLog", PLUGIN.contentSubframe)
|
||
PLUGIN.viewDatafileLog:Update(tTransaction.reason or "")
|
||
|
||
PLUGIN.viewDatafileLog.back.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
parent:SetVisible(true)
|
||
PLUGIN.viewDatafileLog:SetVisible(false)
|
||
|
||
parent.genericBack.DoClick = function()
|
||
surface.PlaySound("willardnetworks/datapad/back.wav")
|
||
parent.genericTitleFrame:SetVisible(false)
|
||
parent.transactionLogs:SetVisible(true)
|
||
parent.titleFrame:SetVisible(true)
|
||
parent.logsFrame:SetVisible(true)
|
||
PLUGIN.viewTransactionLogs:SetVisible(false)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
vgui.Register("ixDatafileTransactionLogs", PANEL, "DScrollPanel")
|
||
|
||
netstream.Hook("ixDatafileReplyTransactionLogs", function(list)
|
||
if IsValid(PLUGIN.viewTransactionLogs) then
|
||
PLUGIN.viewTransactionLogs:UpdateLogs(list)
|
||
end
|
||
end)
|