Advertisement
Scriptis

[E2] DoorCoreU

May 18th, 2014
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. @name DoorCore Ultimate
  2. @persist Doors:table Players:table
  3. @trigger all
  4.  
  5. #[
  6. Scriptis' DoorCore v2
  7. -add [player / aim door]
  8. -remove [player / aim door]
  9.  
  10. Based on the fancy-ass code made by Crypto
  11. ]#
  12.  
  13. runOnChat(1)
  14. interval(100)
  15.  
  16. if (first()) {
  17. function number isDoor(E:entity) {
  18. for (I=1, Doors:count()) {
  19. if (Doors[I,entity]==E) {return I}
  20. }
  21. return 0
  22. }
  23. }
  24.  
  25. if (chatClk(owner())) {
  26. if (owner():lastSaid():sub(1,1)=="-") {
  27. local Chat=owner():lastSaid():sub(2):explode(" ")
  28. switch(Chat[1,string]) {
  29. case "add",
  30. if (Chat[2,string]) {
  31. local Player=findPlayerByName(Chat[2,string])
  32. printColor(vec(0,255,255),"[DoorCoreU] ",vec(0,255,0),Player:name(),vec(255)," has been added to the door list.")
  33. Players[Player:steamID(),string]=Player:steamID()
  34. } elseif (owner():aimEntity():wirelink():hasInput("Fade")) {
  35. local Door=owner():aimEntity()
  36. if (!isDoor(Door)) {
  37. printColor(vec(0,255,255),"[DoorCoreU] ",vec(0,255,0),"Door",vec(255)," has been added.")
  38. Doors[Doors:count()+1,entity]=Door
  39. } else {
  40. printColor(vec(0,255,255),"[DoorCoreU] ",vec(255,0,0),"This is already a door.")
  41. }
  42. } else {
  43. printColor(vec(0,255,255),"[DoorCoreU] ",vec(255,0,0),"This is not a valid door.")
  44. }
  45. break
  46.  
  47. case "remove",
  48. if (Chat[2,string]) {
  49. local Player=findPlayerByName(Chat[2,string])
  50. printColor(vec(0,255,255),"[DoorCoreU] ",vec(255,0,0),Players:exists(Player:steamID()) ? Player:name() : "Nobody",vec(255)," has been removed from the door list.")
  51. Players:remove(Player:steamID())
  52. } elseif (isDoor(owner():aimEntity())) {
  53. printColor(vec(0,255,255),"[DoorCoreU] ",vec(0,255,0),"Door",vec(255)," has been removed from the door list.")
  54. Doors:removeEntity(isDoor(owner():aimEntity()))
  55. } else {
  56. printColor(vec(0,255,255),"[DoorCoreU] ",vec(255,0,0),"This is not a door.")
  57. }
  58. break
  59.  
  60. case "list",
  61. printColor(vec(0,255,255),"[DoorCoreU] ",vec(255),"The following people are on the door list:")
  62. foreach(I,V:entity=players()) {
  63. if (Players:exists(V:steamID())) {
  64. printColor(vec(0,255,0),V:name())
  65. }
  66. }
  67. break
  68.  
  69. }
  70. }
  71. }
  72.  
  73. for (I=1, Doors:count()) {
  74. findByClass("player")
  75. local Wirelink=Doors[I,entity]:wirelink()
  76. local Player=findClosest(Doors[I,entity]:pos())
  77. if (Players:exists(Player:steamID()) & Player:keyUse() & Player:aimEntity()==Doors[I,entity]) {
  78. Wirelink["Fade",number]=1
  79. } else {
  80. Wirelink["Fade",number]=0
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement