1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
local dir = "sys/lua/saves/"
PLAYERS = {}
function addmoney(id, amount)
if PLAYERS[id].money + amount >= 0 then
parse(string.format("setmoney %i 0", id))
PLAYERS[id].money = PLAYERS[id].money + amount
parse(string.format("hudtxt2 %i 49 \"©255100100Money : %i\" 0 100", id, PLAYERS[id].money))
return true
end
return false
end
function getmoney(id)
return PLAYERS[id].money
end
addhook("join", "RPjoin")
function RPjoin(id)
local playerfile = io.open(dir..player(id,"usgn")..".txt","r")
if playerfile then
PLAYERS[id] = {}
for v in playerfile:lines() do
local find = v:find"="
key = v:sub(1,find-1)
key = tonumber(key) or key
val = v:sub(find+1)
val = tonumber(val) or val
PLAYERS[id][key] = val
end
playerfile:close()
else
PLAYERS[id] = {
money = 0,
}
end
end
addhook("second", "RPsecond")
function RPsecond()
for _, id in ipairs(player(0, "table")) do
parse(string.format("setmoney %i 0", id))
if PLAYERS[id] then
parse(string.format("hudtxt2 %i 49 \"Money : %i\" 0 0", id, PLAYERS[id].money))
end
end
end
addhook("leave", "RPleave")
function RPleave(id)
if PLAYERS[id] and player(id,"usgn") ~= 0 then
local playerfile = io.open(dir .. player(id,"usgn") .. ".txt","w+") or io.tmpfile()
local text = ""
for i, v in pairs(PLAYERS[id]) do
text = text .. i .. "=" .. tostring(v) .. "\n"
end
text = text:sub(1,-2)
playerfile:write(text)
playerfile:close()
end
PLAYERS[id] = nil
end
addhook("collect", "RPcollect")
function RPcollect(id,iid,type,ain,a,mode)
if type == 66 then
addmoney(id, 100)
elseif type == 67 then
addmoney(id, 1000)
elseif type == 68 then
addmoney(id, 10000)
end
end
addhook("menu", "RPmenu")
function RPmenu(id, title, button)
if title == "Drop Money" then
if button == 0 then
return
end
menu(id, "Drop Money,10,500,1000,5000,10000,50000,100000")
if button == 1 then
if addmoney(id, -100) then
parse(string.format("spawnitem 66 %i %i", player(id, "tilex"), player(id, "tiley")))
end
elseif button == 2 then
if addmoney(id, -500) then
local spawn = string.format("spawnitem 66 %i %i", player(id, "tilex"), player(id, "tiley"))
for i = 1, 5 do
parse(spawn)
end
end
elseif button == 3 then
if addmoney(id, -1000) then
parse(string.format("spawnitem 67 %i %i", player(id, "tilex"), player(id, "tiley")))
end
elseif button == 4 then
if addmoney(id, -5000) then
local spawn = string.format("spawnitem 67 %i %i", player(id, "tilex"), player(id, "tiley"))
for i = 1, 5 do
parse(spawn)
end
end
elseif button == 5 then
if addmoney(id, -10000) then
parse(string.format("spawnitem 68 %i %i", player(id, "tilex"), player(id, "tiley")))
end
elseif button == 6 then
if addmoney(id, -50000) then
local spawn = string.format("spawnitem 68 %i %i", player(id, "tilex"), player(id, "tiley"))
for i = 1, 5 do
parse(spawn)
end
end
elseif button == 7 then
if addmoney(id, -100000) then
local spawn = string.format("spawnitem 68 %i %i", player(id, "tilex"), player(id, "tiley"))
for i = 1, 10 do
parse(spawn)
end
end
end
end
end
addhook("serveraction", "RPserveraction")
function RPserveraction(id,action)
if action == 2 then
menu(id, "Drop Money,10,500,1000,5000,10000,50000,100000")
end
end
addhook("movetile", "RPmovetile")
function RPmovetile(id,x,y)
if PLAYERS[id].x and PLAYERS[id].y and entity(x, y, "typename") ~= "Info_T" and entity(x, y, "typename") ~= "Info_CT" then
PLAYERS[id].x, PLAYERS[id].y = x, y
end
end
addhook("spawn", "RPspawn")
function RPspawn(id)
if PLAYERS[id].x and PLAYERS[id].y then
parse(string.format("setpos %i %i %i", id, PLAYERS[id].x*32+16, PLAYERS[id].y*32+16))
end
return ""
end
addhook("die", "RPdie")
function RPdie(victim,killer,weapon,x,y)
PLAYERS[victim].x, PLAYERS[victim].y = nil, nil
end