From 9adcb3c73a8d0e7ecfe66b30da630c6c2e67f03a Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sat, 27 Aug 2016 17:08:46 -0400 Subject: Moved prayers to their own system --- gamemode/shared/prayersystem/prayers/notdarkrp.lua | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 gamemode/shared/prayersystem/prayers/notdarkrp.lua (limited to 'gamemode/shared/prayersystem/prayers/notdarkrp.lua') diff --git a/gamemode/shared/prayersystem/prayers/notdarkrp.lua b/gamemode/shared/prayersystem/prayers/notdarkrp.lua new file mode 100644 index 0000000..e62064c --- /dev/null +++ b/gamemode/shared/prayersystem/prayers/notdarkrp.lua @@ -0,0 +1,77 @@ +--[[ + A default prayer given to new players who try to press f4 +]] +local prayer = {} + +--Required, a name, all prayer names must be unique +prayer.Name = "Noob Help" + +--Optional, a tooltip to display when hovered over +prayer.Tooltip = "Hello, and welcome to Artery, Enjoy your stay" + +--Optional, when the player clicks this item, a menu will show up, if the menu item is clicked, the function is ran. This is all run client side, so if you want it to do something server side, you'll need to use the net library. Remember that items are in the shared domain, so you can define what it does in the same file! + +if CLIENT then + local lastpray = CurTime() + + function prayer.Pray(self) + if CurTime() > lastpray + 5 then + local helppanel = vgui.Create("DFrame") + helppanel:SetSize(ScrW()/3,ScrH()) + helppanel:Center() + helppanel:MakePopup() + helppanel:SetText("Help") + + lastpray = CurTime() + end + end +end + +if SERVER then + util.AddNetworkString( "art_prayer_darkrphelp" ) + + net.Receive( "art_prayer_darkrphelp", function(ln,ply) + print("Prayer received") + if ply:HasPrayer("Noob Help") then + ply:RemovePrayer("Noob Help") + ply:SetCredits(ply:GetCredits() + 100) + else + print("You don't have that prayer!") + end + end) +end + +function prayer.DisplayHelp(panel) + print("Help displayed") + local dll = vgui.Create( "DListLayout", panel) + dll:Dock(FILL) + local helptxt = vgui.Create("DLabel") + helptxt:SetWrap(true) + helptxt:SetText("Welcome to Artery! Since you don't really need this help anymore, you can click below to redeem it for 100 credits!") + helptxt:SetSize(ScrW()/4,ScrH()/8) + helptxt:SetDark(true) + dll:Add(helptxt) + local redeembutton = vgui.Create("DButton") + dll:Add(redeembutton) + redeembutton:Dock(BOTTOM) + --helptxt:Dock(TOP) + redeembutton:SetText("Redeem") + redeembutton.DoClick = function(self) + print("You clicked redeem!") + net.Start("art_prayer_darkrphelp") + net.SendToServer() + end +end + +--Optional. Something run once when this item is drawn in a backpack +function prayer.DoOnPanel(dimagebutton) + dimagebutton:SetImage( "weapons/rustyaxe/rustyaxe.png") +end + +--Optional. Called continuously, use if you need the item to display different stuff at different tiems +function prayer.Paint(self,width,height) + draw.RoundedBox(4, 0,0,width,height,Color(0,100,0)) +end + +print("Hello from prayersystem/prayers/lesserevasion.lua") +ART.RegisterPrayer(prayer) -- cgit v1.2.3-70-g09d2