View difference between Paste ID: WCk3ipwd and pkZ0zcXA
SHOW: | | - or go back to the newest paste.
1
-- autorun/server/sv_stuffed_printers.lua
2-
net.Receive( 'sp_purchaseFromNpc', function( size, person ) 
2+
'sp_purchaseFromNpc', function( size, person )
3
	local npc = net.ReadEntity()
4
	local cart = net.ReadTable()
5
	local spawnPos, spawnAng = LocalToWorld( Vector( 25, 0, 25 ), Angle( 0, 0, 0 ), npc:GetPos(), npc:GetAngles() )
6
	local totalCost = 0
7
	local contains = {}
8
9
	for item, cost in pairs( cart ) do
10
		for _, shopItem in pairs ( sp.config.shopItems ) do
11
			if shopItem.class == item then
12
				if cost ~= shopItem.cost then
13
					person:Ban( 360, true )
14
					person:Kick( "Kicked for attempting to exploit Stuffed Printers" )
15
					return
16
				end
17
			end
18
		end
19
	end
20
21
	for item, cost in pairs ( cart ) do
22
		totalCost = totalCost + cost
23
		contains[ #contains + 1 ] = item
24
	end
25
26
	if totalCost == 0 then
27
		return
28
	end
29
30
	if totalCost <= person.DarkRPVars.money then
31
		person:addMoney( -totalCost )
32
		DarkRP.notify( person, 0, 4, "You have spent $" .. totalCost .. " on shopping!")
33
		local p = ents.Create( "sp_shopping_pack" )
34
		p:SetPos( spawnPos )
35
		p:SetAngles( spawnAng )
36
		p:Spawn()
37
		p.contains = contains
38
		p.dt.itemAmount = #p.contains
39
		p.dt.owning_ent = person
40
	else
41
		person:SendLua( 'chat.AddText( "Nice try!' )
42
	end
43
end)