MisterBasic

Untitled

Nov 1st, 2017
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.91 KB | None | 0 0
  1. options:
  2. enabled: true
  3. # __________________________ #
  4. # #
  5. # Created by: MisterBasic #
  6. # Version: EARLY_TESTING 1.0 #
  7. # __________________________ #
  8. # #
  9. # Permissions #
  10. # __________________________ #
  11. #
  12. # goldeneyes.use - Main GoldenEyes command
  13. # goldeneyes.notfiy - Get GoldenEyes notifications
  14. # goldeneyes.bypass - Bypass all or specific checks
  15. # goldeneyes.staffchat - Allows /staffchat, talk to all staff members online
  16. # goldeneyes.staffchat.view - view staff chat (Requrires goldeneyes.staffchat)
  17. # goldeneyes.displayname
  18. # goldeneyes.isonline - Allows /isonline, check if a player is online
  19. # goldeneyes.vanish - Allows /vanish, Vanish from plain sight!
  20. # goldeneyes.ping
  21.  
  22. # Please have the following:
  23. # - Skript
  24. # - SkQuery
  25.  
  26.  
  27.  
  28. # ___________________________________________ #
  29. # #
  30. # Configuration File #
  31. # ___________________________________________ #
  32. prefix: &6[&eGoldenEyes&6] &r
  33. punish: kick # Can be kick, ban, and later it will have tempban
  34. banMessage: disabled # Option Disabled
  35. noPermission: &cYou do not have permission!
  36. goldeneyesAll: &eThis server's anticheat is run by &6GoldenEyesAntiCheat&e!
  37. # Staff Chat #
  38. staffchat-prefix: &4StaffChat»
  39. staffchat-message-colorcode: c
  40.  
  41. # Checks: #
  42. autoclicker: true
  43. speed: treu
  44. sneak: true
  45. fastplace: true
  46.  
  47.  
  48. # More Stuff: #
  49. servername: &9Example Server&r
  50. noReasonMute: Instant Mute
  51. noReasonBan: Instand Ban
  52. # Disable Cmds#
  53. DisplayNameCmdDisabled: true
  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. # DO NOT GO FURTHER THAN HERE! THERE IS NO NEED #
  85. # UNLESS YOU KNOW WHAT YOU'RE DOING!! #
  86. # __________________________________________________________________________________ #
  87. variables:
  88. # __________________________________________________________________________________ #
  89. # #
  90. # Variables #
  91. #|__________________________________________________________________________________ #
  92. {goldeneyes::clickercheck.%player%} = 0
  93. {goldeneyes::places.block.%player%} = 0
  94. {goldeneyes::player.fastplace.%player%}
  95. {goldeneyes::violations.%player%.fastplace} = 0
  96. {goldeneyes::violations.%player%.clicker} = 0
  97. {goldeneyes::violations.%player%.speed} = 0
  98. {goldeneyes::isonline.%player%} = false
  99. {goldeneyes::speed.%player%} = 0
  100. # On Load
  101. on load:
  102. loop all players:
  103. if loop-player is flying:
  104. set {isFlying} to true
  105. else:
  106. set {isFlying} to false
  107. if loop-player is 1 block above water:
  108. wait 1 second
  109. if {isFlying} is true:
  110. stop
  111. # _____________________________ #
  112. # #
  113. # GoldenEyesAnticheat #
  114. # _____________________________ #
  115. # When the player joins, it will reset there scores and tell the server they are online
  116. on join:
  117. set {goldeneyes::clickercheck.%player%} to 0
  118. set {goldeneyes::isonline.%player%} to true
  119. # When a player leaves, it will reset their scores and tell the server they are offline
  120. on quit:
  121. set {goldeneyes::clickercheck.%player%} to 0
  122. set {goldeneyes::isonline.%player%} to false
  123. # ---
  124. # +-+ AutoClicker detection +-+
  125. # ---
  126. on leftclick:
  127. if {@autoclicker} is true:
  128. add 1 to {goldeneyes::clickercheck.%player%}
  129. on block damage:
  130. remove 1 from {goldeneyes::clickercheck.%player%}
  131. every 1 seconds:
  132. loop all players:
  133. wait 1 seconds
  134. if {cps.%player%} >= 16:
  135. player doesn't have permission "goldeneyes.bypass.autoclicker" or "goldeneyes.bypass"
  136. send "%{@prefix}%&6 %loop-player% may be cheating! Detected AutoClicker / Macro: CPS %{cps.%player%}% (VL {violations.%player%.clicker}) [Ping: %loop-player's ping%]" to console
  137. add 1 to {clicker.%player%.offence}
  138. set {cps.%player%} to 0
  139. stop trigger
  140. # ---
  141. # +-+ Speed Detection +-+
  142. # ---
  143. on any movement:
  144. add 0.1 to {speed}
  145. every 1 seconds:
  146. if {@speed} is true
  147. if {goldeneyes::speed.%player%} is 4.6:
  148. loop all players:
  149. if {goldeneyes::speed} is 4.6:
  150. if {isFlying} is false:
  151. set {goldeneyes::speed.%player%} to player
  152. send "{@prefix}%{goldeneyes.speed.%player%}% may be cheating, Detected Speed: Speed: {speed}"
  153. set {goldeneyes::violations.speed.} to 1
  154. else:
  155. cancel event
  156. # ---
  157. # +-+ Plugin Stuff +-+
  158. # ---
  159. on enable:
  160. set {noperm} to {@prefix}{noPermission}
  161. if {@enabled} is not set:
  162. send "Error: ""enable"" is nor enable|disable, shutting down plugin"
  163. cancel event
  164. if {@enabled} is false:
  165. send "Stopping GoldenEyes.sk."
  166. cancel event
  167. if {@enabled} is true:
  168. send "&8&m-----------------------"
  169. send " Goldeneyes enabled"
  170. send "&8&m-----------------------"
  171. on disable:
  172. send "&8&m-----------------------"
  173. send " Goldeneyes disabled"
  174. send "&8&m-----------------------"
  175. # --------------------------------------------------------------
  176. # +-+ Sneak Detection has 1 event so far, adding another one +-+
  177. # --------------------------------------------------------------
  178. on chat:
  179. if player has permission "goldeneyes.bypass.sneak" or "goldeneyes.bypass"
  180. if player is sneaking:
  181. cancel event
  182. {@punish} the player due to "{@prefix}You have done a impossible action! You have since been kicked from the server."
  183. # ---------------------------------------------
  184. # +-+ FastPlace detection, value may change +-+
  185. # ---------------------------------------------
  186. on place:
  187. if {@fastplace} is true:
  188. add 1 to {place.block.%player%}
  189. if {place.block.%player%} >= 10:
  190. set {playerIsCheating.%player%} to player
  191. loop all players:
  192. player has permission "goldeneyes.notify"
  193. send "{@prefix}%{playerIsCheating.%player%}% may be cheating, Detected FastPlace (VL {violations.%player%.fastplace}) [Ping: %loop-player's ping%]"
  194. delete {playerIsCheating.%player%}
  195. # ------------------------
  196. # +-+ Player is banned +-+
  197. # ------------------------
  198. on connect:
  199. loop all players:
  200. if {goldeneyes::banned.%player%} is true:
  201. set {loop-player} to %loop-player%
  202. kick loop-player due to "{@prefix}%nl%&cYou are permanently suspended from joining this server:%nl% %nl% {goldeneyes::banned.%player%.reason} Contact: %{contact-info}%"
  203. loop all players:
  204. player has permission "goldeneyes.noify.banmessages"
  205. send "{@prefix}&c%{loop-player}% &rtried to join by is &cPermanently banned&r!"
  206. delete {loop-player}
  207. send "Player is not banned, check bypassed" to console
  208. # --------------------------------------------------------
  209. # +-+ I like to put all my commands in one section ^-^ +-+
  210. # --------------------------------------------------------
  211. command /ban <player> [text]:
  212. description: Ban a player from GoldenEyesAnticheat
  213. permission: goldeneyes.ban
  214. permission message: {noperm}
  215. usage: /ban <player> [REASON]
  216. aliases: /goldeneyesban, /goldeneyes:ban, /anticheatban
  217. trigger:
  218. set {goldeneyes::banned.%player%.reason} to args 2
  219. if arg 2 is not set:
  220. set {goldeneyes::banned.%player%.reason} to "{@noReasonBan}"
  221. set {goldeneyes::banned.%player%} to true:
  222. kick the player due to "{@prefix}You have been permanently suspended from joining this server: %nl%%{goldeneyes::banned.%player%.reason%"
  223. command /staffchat <message>:
  224. description: talk in staff chat
  225. permission: goldeneyes.staffchat
  226. permission message: {noperm}
  227. usage: /staffchat <message>
  228. aliases: /sc
  229. trigger:
  230. loop all players:
  231. loop-player has permission "goldeneyes.staffchat.view"
  232. message "{@staffchat-prefix} &%{@staffchat-color}%arg 1%" to loop-player
  233. stop trigger
  234. command /ping [<player>]:
  235. description: Get the players ping
  236. permission: goldeneyes.ping
  237. permission message: {noperm}
  238. aliases: /pong
  239. trigger:
  240. if arg 1 is not set:
  241. send "&2Ping &e» &a%player's ping%"
  242. else:
  243. send "&2Ping &e» &a%player-arg's ping%"
  244. command /vanish [<text>]:
  245. description: Go invisible
  246. permission: goldeneyes.vanish
  247. permission message: {noperm}
  248. aliases: /v, /gev
  249. trigger:
  250. if arg 1 is not set:
  251. apply invisibility 2 to the player for 999 days
  252. set {vanish.%player%}
  253. send "{@prefix}&aYou have vanished!"
  254. else:
  255. if arg 1 is set:
  256. if arg 1 is "on":
  257. apply invisibility 2 to the player for 999 days
  258. set {vanish.%player%}
  259. send "{@prefix}&aYou have vanished!"
  260. if arg 1 is "off":
  261. remove invisibility from the player
  262. send "{@prefix}&aYou have unvanished!"
  263. command /goldeneyes [<text>] [<text>]:
  264. description: Main GoldenEyes Command
  265. usage: /goldeneyes <action> <action's action>
  266. aliases: /ge, /geac
  267. trigger:
  268. if arg 1 is not set:
  269. send "&8&m---------------&eGoldenEyes&8&m------------------"
  270. send "/goldeneyes: Main GoldenEyes command."
  271. send "/goldeneyes admins: List all admins"
  272. send "/goldeneyes console [Command]: Make console execute a command."
  273. send "/goldeneyes unban <player>"
  274. send "&8&m---------------&eGoldenEyes&8&m------------------"
  275. if player has permission "goldeneyes.use":
  276. if arg 1 is "admins":
  277. loop all players:
  278. if loop-player has permission "goldeneyes.admin"
  279. send "{@prefix}Admins: %loop-player%"
  280. else:
  281. send "{@prefix}&cThere are no admins."
  282. else:
  283. if arg 1 is "console":
  284. if player has permission "goldeneyes.use.console":
  285. make console execute "%arg 2%"
  286. send "{@prefix} Successfully made console execute %arg-2%"
  287. else:
  288. send "%{noperms}%"
  289. else:
  290. if arg 1 is "unban":
  291. reset {goldeneyes::banned.%player%}
  292. else:
  293. if arg 1 is "ban":
  294. set {goldeneyes::banned.%arg-2%} to true
  295. else:
  296. send "&8&m---------------&eGoldenEyes&8&m------------------"
  297. send "/goldeneyes: Main GoldenEyes command."
  298. send "/goldeneyes admins: List all admins"
  299. send "/goldeneyes console [Command]: Make console execute a command."
  300. send "/goldeneyes ban <player>"
  301. send "/goldeneyes unban <player>"
  302. send "&8&m---------------&eGoldenEyes&8&m------------------"
  303. else:
  304. player does not have permission "goldeneyes.use"
  305. send "{@prefix} %{goldeneyes-to-all}%"
  306. command /isonline:
  307. description: Check if a player is online
  308. permission: goldeneyes.isonline
  309. permission message: {noperm}
  310. trigger:
  311. if player is online:
  312. send "{@prefix}&a%player arg% is online."
  313. if player is not online:
  314. send "{@prefix}&a%player arg% is offline"
  315. else:
  316. send "{@prefix}&cThat player has never joined %{servername}%&c!"
  317. on command "/goldeneyes config":
  318. if player has permission "goldeneyes.admin"
  319. send "{@prefix}&eTo edit the config, go into plguins\Skript\scripts\GoldenEyes.sk"
  320. else:
  321. send "{@prefix}&cNo Access"
  322. # /DisplayName Could be buggy, I recommend disabling it
  323. command /displayname [Name]:
  324. description: Change or view your display name
  325. trigger:
  326. if {@DisplayNameCmdDisabled} is true:
  327. cancel event
  328. send "{@prefix}&cYou may not use this commands as it is disabled."
  329. else:
  330. if player has permission "goldeneyes.displayname"
  331. if arg 1 is set:
  332. set player's display name to arg 1
  333. send "{@prefix}&aSuccessfully set display name to %arg 1%"
  334. else:
  335. send "{@prefix}&eYour display name is %executor's display name%"
  336. else:
  337. send "%{noperm}%"
  338. command /mute <player> <time> <unit> [Reason]:
  339. description: Mute a player
  340. trigger:
  341. if player has permission "goldeneyes.mute":
  342. if arg 1 is not set:
  343. send "[@prefix}&cMissing Required argument: <player>"
  344. stop
  345. else:
  346. if arg 2 is not set:
  347. send "{@prefix}&cMissing Required argument: <time>"
  348. stop
  349. else:
  350. if arg 3 is not set:
  351. send "{@prefix}&cMissing Required Argument: <timeUnit> e.g. days, hours, minutes"
  352. else:
  353. if arg 4 is not set
  354. set {_muted.reason.%player-arg%} to "{@noReasonMute}"
  355. else:
  356. set {_muted.%player-arg%} to true
  357. set {_muted.unit.%player%} to arg 3
  358. set {_muted.time.%player%} to arg 2
  359. set {_muted.reason.%player%} to arg 4
  360. wait {_muted.time.%player%}
  361. delete {_muted.%player-arg%}
  362. delete {_muted.time.%player%}
  363. delete {_muted.reason.%player%}
  364. delete {_muted.unit.%player%}
  365. send "{@prefix}Successfully muted %player arg% for %arg 2% %arg 3%: %arg 4%"
  366. else:
  367. send "%{noperm}%"
  368. # -----------------------------------------------
  369. # +-+ Stops you from reconnecting too quickly +-+
  370. # -----------------------------------------------
  371. on quit
  372. set {lastjoin.%player%} to 2
  373. on join:
  374. if {lastjoin.%player%} is >= 1:
  375. kick the player due "{@prefix}&cYou joined too quickly! Please wait a full 2 seconds before joining again!"
  376. every 1 seconds:
  377. loop all players:
  378. remove 1 from {lastjoin.%loop-player%}
  379. if {goldeneyes::sincelastchat.%loop-player%} <= 1:
  380. remove 1 from {goldeneyes::sincelastchat.%loop-player%}
  381. else:
  382. stop
  383. set {goldeneyes::sincelastchat.%loop-player%} to 0
  384. every 10 seconds:
  385. loop all players
  386. if {chatoffense.%loop-player%} = 3:
  387. kick the player due to "{@prefix}You have been kicked for:%nl%Spam %nl% %nl% Please wait 2 seconds before joining again."
  388. delete {chatoffence.%loop-player%}
  389. on chat:
  390. if {goldeneyes::sincelastchat.%player%} >= 1:
  391. send "Please wait before chatting again. You may be kicked for spam"
  392. add 1 to {chatoffence.%player%}
  393. else:
  394. set {goldeneyes::sincelastchat.%player%} to 5
  395. send "%player%&r:%message%"
  396. loop all players:
  397. if {_muted.%loop-player%} is true:
  398. cancel event
  399. send "{@prefix}&aYou are muted for %{_muted.time.%player%}% %{_muted.unit.%player%}%: %{_muted.reason.%player%}%"
  400. # _______________________________________________________________
  401. #
  402. # THE BIG KILLAURA + TRIGGERBOT CHECK
  403. # _______________________________________________________________
  404. every 20 seconds:
  405. reset {goldeneyes::accuracy.*}
  406. every 1 seconds:
  407. if {@killaura} is true:
  408. loop all players:
  409. if {goldeneyes::accuracy.%loop-player%} <= 1:
  410. cancel event
  411. else:
  412. remove 1 from {goldeneyes::accuracy.%loop-player%}
  413. if {violations.%loop-player%.killaura} >= 20:
  414. set {violatios.%loop-player%.killaura} to 0
  415. kick loop-player due to "{@prefix}You were kicked from the server for having too many violations. %nl% You're current violations have been reset and you may %nl% join again. Thank you! %n% "
  416. else:
  417. cancel event
  418. on attack:
  419. if {@killaura} is true:
  420. loop all players:
  421. if {goldeneyes::accuracy.%loop-player%} is 50:
  422. add 1 to {violations.%player%.killaura}
  423. send "{@prefix}%loop-player% may be cheating! Detected KillAura / Triggerbot, High Accuracy (VL {violations.%player%.killaura}) [Ping: %loop-player's ping%]"
  424. add 1 to {goldeneyes::accuracy.%loop-player%}
  425. # -------------------
  426. # +-+ End of file +-+
  427. # -------------------
Advertisement
Add Comment
Please, Sign In to add comment