Advertisement
Guest User

mgb

a guest
Jul 9th, 2023
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.13 KB | None | 0 0
  1. @name money gang bank
  2. @inputs Main:wirelink [User,Register]:entity
  3. @outputs Door:number
  4. @persist [Side,CashPerPrinter,PayInterval,Payroll,LoginMSG]:number [CurUser,Owner]:entity [Account]:table
  5. @trigger
  6.  
  7. if(first() | duped() | dupefinished()){
  8.  
  9. setName("money gang bank - Bims")
  10. elevateMoneyGive()
  11.  
  12. CashPerPrinter = 1750
  13. PayInterval = 10
  14. CurUser = noentity()
  15. Account = table()
  16. Owner = owner()
  17. Side = 1
  18. Payroll = 1
  19. LoginMSG = 1
  20.  
  21. function number wirelink:egpButton(Index:number,Player:entity){
  22. Pos=This:egpPos(Index)
  23. Size=This:egpSize(Index) / 2
  24. return inrange(This:egpCursor(Player),Pos-Size,Pos+Size)
  25. }
  26.  
  27. function void entity:addAccount(){
  28. Account[This:steamID(),table] = table(
  29. "Player" = This,
  30. "PrinterCount" = 0
  31. )
  32. }
  33.  
  34. function number entity:hasAccount(){
  35. return Account[This:steamID(),table] ? 1 : 0
  36. }
  37.  
  38. function void entity:removeAccount(){
  39. Account:remove(This:steamID())
  40. }
  41.  
  42. Main:egpClear()
  43. Main:egpBox(1,vec2(256,256),vec2(512,512)) Main:egpColor(1,44,62,80,255)
  44. Main:egpText(2,"money gang bank",vec2(256,156)) Main:egpAlign(2,1,1) Main:egpFont(2,"Courier New",50)
  45. Main:egpBox(3,vec2(256,306),vec2(512,126)) Main:egpColor(3,52,73,94,255)
  46. Main:egpText(4,"du modtager "+CashPerPrinter+"kr pr genstand",vec2(256,276)) Main:egpAlign(4,1,1) Main:egpFont(4,"Courier New",25)
  47. Main:egpText(5,"udbetaling hvert "+PayInterval+". minut",vec2(256,306)) Main:egpAlign(5,1,1) Main:egpFont(5,"Courier New",25)
  48. Main:egpText(6,"bankmand "+Owner:name(),vec2(256,336)) Main:egpAlign(6,1,1) Main:egpFont(6,"Courier New",25)
  49. Main:egpBox(7,vec2(0,0),vec2(0,0))
  50.  
  51. for(I = 4,6){ Main:egpParent(I,7)}
  52.  
  53. Main:egpText(8,"Velkommen tilbage!",vec2(256,206)) Main:egpAlign(8,1,1) Main:egpFont(8,"Courier New",30)
  54. Main:egpText(9,"0 ud af 4",vec2(256,306)) Main:egpAlign(9,1,1) Main:egpFont(9,"Courier New",40)
  55. Main:egpText(10,"log ud",vec2(256,426)) Main:egpAlign(10,1,1) Main:egpFont(10,"Courier New",30)
  56. Main:egpBox(11,vec2(256,426),vec2(156,46)) Main:egpColor(11,0,0,0,0)
  57. Main:egpBox(12,vec2(0,0),vec2(0,0))
  58.  
  59. for(I = 8,11){ Main:egpParent(I,12)}
  60.  
  61. Main:egpPos(12,vec2(-512))
  62.  
  63. function void side(N:number){
  64. switch(N){
  65. case 1,
  66. Main:egpPos(7,vec2(0))
  67. Main:egpPos(12,vec2(512))
  68. Side = 1
  69. CurUser = noentity()
  70. break
  71.  
  72. case 2,
  73. Main:egpPos(7,vec2(512))
  74. Main:egpPos(12,vec2(0))
  75. Side = 2
  76. break
  77. }
  78. }
  79.  
  80. function void mainInfoUpdate(){
  81. Main:egpSetText(8,"Velkommen "+CurUser:name())
  82. Main:egpSetText(9,Account[CurUser:steamID(),table]["PrinterCount",number]+" ud af 4")
  83. }
  84.  
  85. timer("Payout",PayInterval*60000)
  86. timer("Distance",3000)
  87. }
  88.  
  89. if(~User & User & ops() < 100){
  90. if(Side == 1){
  91. if(Main:egpButton(1,User)){
  92. if(!User:hasAccount()){
  93. User:addAccount()
  94. }
  95. CurUser = User
  96. side(2)
  97. mainInfoUpdate()
  98. }
  99. }
  100. elseif(Side == 2){
  101. if(Main:egpButton(11,CurUser)){
  102. side(1)
  103. }
  104. }
  105. }
  106.  
  107. if(~Register & Register:isPrinter() & Side == 2 & Account[CurUser:steamID(),table]["PrinterCount",number] < 4){
  108. Account[CurUser:steamID(),table]["PrinterCount",number] = Account[CurUser:steamID(),table]["PrinterCount",number] + 1
  109. mainInfoUpdate()
  110. print(CurUser:name()+" har indsat en genstand!")
  111. concmd("play buttons/bell1.wav")
  112. }
  113.  
  114. if(clk("Payout")){
  115. if(Payroll){
  116. foreach(_,V:table = Account){
  117. if(V["Player",entity]:isPlayer()){
  118. moneyGive(V["Player",entity],V["PrinterCount",number]*CashPerPrinter)
  119. }
  120. else{
  121. print("Fjernede en konto ("+V["Player",entity]:name()+")")
  122. V["Player",entity]:removeAccount()
  123. }
  124. }
  125. print("Laver udbetaling til kunder")
  126. }
  127. else{
  128. print("Udbetaling er slukket")
  129. }
  130. timer("Payout",PayInterval*60000)
  131. }
  132. elseif(clk("Distance")){
  133. if(Side == 2){
  134. if(CurUser:pos():distance(Main:entity():pos()) > 125){
  135. side(1)
  136. print("Loggede ud af E2en pga. distance")
  137. }
  138. }
  139. timer("Distance",3000)
  140. }
  141.  
  142. event chat(Player:entity,Message:string,_:number){
  143. if(Player == Owner & Message:sub(1,1) == "!"){
  144. local Rest = Message:sub(2)
  145. local Args = Rest:explode(" ")
  146.  
  147. switch(Args[1,string]){
  148. case "fl",
  149. side(1)
  150. hideChat(1)
  151. print("Logger ud af E2en")
  152. break
  153.  
  154. case "cpp",
  155. CashPerPrinter = Args[2,string]:toNumber()
  156. hideChat(1)
  157. print(aeL()+"ndrede udkomst per genstand til "+CashPerPrinter+"kr")
  158. Main:egpSetText(4,"du modtager "+CashPerPrinter+"kr pr genstand")
  159. break
  160.  
  161. case "remove",
  162. if(findPlayerByName(Args[2,string]):hasAccount()){
  163. findPlayerByName(Args[2,string]):removeAccount()
  164. hideChat(1)
  165. print("Fjernede "+findPlayerByName(Args[2,string]):name()+" som kunde")
  166. }
  167. else{
  168. print("Fejl")
  169. }
  170. break
  171.  
  172. case "add",
  173. if(!findPlayerByName(Args[2,string]):hasAccount()){
  174. findPlayerByName(Args[2,string]):addAccount()
  175. hideChat(1)
  176. print("Tilf"+oe()+"jede "+findPlayerByName(Args[2,string]):name()+" som kunde")
  177. }
  178. else{
  179. print("Fejl")
  180. }
  181. break
  182.  
  183. case "set",
  184. local X = findPlayerByName(Args[2,string])
  185. local Y = Args[3,string]:toNumber()
  186. if(X:hasAccount()){
  187. Account[X:steamID(),table]["PrinterCount",number] = Y
  188. print("Satte "+X:name()+"s genstande til "+Y)
  189. }
  190. else{
  191. print("Fejl")
  192. }
  193. hideChat(1)
  194. break
  195.  
  196. case "payroll",
  197. if(Payroll){
  198. Payroll = 0
  199. print("Slukkede for udbetalinger")
  200. }
  201. else{
  202. Payroll = 1
  203. print("Aktiverede for udbetalinger")
  204. }
  205. hideChat(1)
  206. break
  207.  
  208. case "msg",
  209. if(LoginMSG){
  210. LoginMSG = 0
  211. print("Slukkede for privat annoncering")
  212. }
  213. else{
  214. LoginMSG = 1
  215. print("Aktiverede for privat annoncering")
  216. }
  217. hideChat(1)
  218. break
  219.  
  220. case "list",
  221. foreach(K,V:table = Account){
  222. print(K+". ",V["Player",entity]:name()+" - indsat: "+V["PrinterCount",number]+"/4")
  223. }
  224. hideChat(1)
  225. break
  226.  
  227. case "help",
  228. hideChat(1)
  229. print("fl - cpp - remove - add - set - payroll - msg - list - help")
  230. break
  231.  
  232. default,
  233. print("Ukendt kommando: "+Args[1,string])
  234. }
  235. }
  236. }
  237.  
  238. event playerDisconnected(Player:entity){
  239. if(Player:hasAccount()){
  240. Player:removeAccount()
  241. print("Fjernede en konto grundet personen er logget ud ("+Player:name()+")")
  242. concmd("play buttons/blip1.wav")
  243. }
  244. }
  245.  
  246. event playerConnected(Player:entity){
  247. if(LoginMSG){
  248. sendMessage(Player,"Velkommen til Stavox! Kom og inds"+ae()+"t dine genstande hos money gang bank<3")
  249. }
  250. }
  251.  
  252. Door = !CurUser:isValid()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement