Advertisement
Scriptis

[E2] VaultCore

Jun 21st, 2014
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.96 KB | None | 0 0
  1. @name Bank Vault DoorCore
  2. @persist Doors:table
  3. @inputs DoorOverride
  4. Bank=gTable("sBank")
  5.  
  6. #gtable sBank
  7. #array Safelist
  8. #table GlobalData
  9. #table Vaults
  10. #table VaultObject
  11. # 1 - number Owned
  12. # 2 - array Owners
  13. # string Owner
  14. # 3 - entity Door
  15. #string SteamID32 - table UserObject
  16. #number Timeleft
  17. #array Owned
  18.  
  19. runOnChat(1)
  20. interval(1000)
  21.  
  22. if (chatClk(owner()) & owner():lastSaid():sub(1,1)=="-") {
  23. hideChat(1)
  24. local Command=owner():lastSaid():sub(2):explode(" ")
  25. switch(Command[1,string]) {
  26. case "reset*",
  27. Bank:clear()
  28. Bank["Safelist",array]=array()
  29. Bank["GlobalData",table]=table()
  30. Bank["GlobalData",table]["Vaults",table]=table()
  31. Bank["Userlist",array]=array()
  32. Bank["Username",table]=table()
  33. printColor(vec(255,255,0),"[sBank] ",vec(255,0,0),"All bank data wiped.")
  34. break
  35.  
  36. case "addsafe",
  37. print("Adding safe")
  38. #if (owner():aimEntity():wirelink():hasInput("Fade")) {
  39. Command:removeString(1)
  40. Safename=Command:concat(" ")
  41. local OK=1
  42. for (I=1, Bank["Safelist",array]:count()) {
  43. local ID=Bank["Safelist",array][I,string]
  44. local V=Bank["GlobalData",table]["Vaults",table][ID,table]
  45. #print(ID)
  46. #print(V[1,number],V[2,array],V[3,entity])
  47. if (V[3,entity]==owner():aimEntity()) {
  48. OK=0
  49. }
  50. }
  51. if (OK) {
  52. printColor(vec(255,255,0),"[sBank] ",vec(255),"Safe ",vec(0,255,0),Safename,vec(255)," has been added.")
  53. Bank["GlobalData",table]["Vaults",table][Safename,table]=table(0,array(owner():steamID()),owner():aimEntity())
  54. Bank["Safelist",array]:pushString(Safename)
  55. } else {
  56. printColor(vec(255,255,0),"[sBank] ",vec(255),"This door is already a safe.")
  57. }
  58. #}
  59. break
  60. }
  61. }
  62.  
  63. if (clk()) {
  64. foreach(I,V:string=Bank["Safelist",array]) {
  65. local ID=V
  66. local Safe=Bank["GlobalData",table]["Vaults",table][ID,table]
  67. local Owned=Safe[1,number]
  68. local Owners=Safe[2,array]
  69. local Entity=Safe[3,entity]
  70. findByClass("player")
  71. local Closest=findClosest(Entity:pos())
  72. local Open=0
  73. if (Closest:pos():distance(Entity:pos())<80 & Closest:aimEntity()==Entity & Closest:keyUse()) {
  74. foreach(I,V:string=Owners) {
  75. #print(Closest:steamID(),V)
  76. if (Closest:steamID()==V) {
  77. Open=1
  78. }
  79. }
  80. }
  81. local WL=Entity:wirelink()
  82. WL["Fade",number]=Open | DoorOverride
  83. }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement