mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 21:53:46 +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)
|