Bonjour Bonsoir,
J'ai télécharger le skript CheatWarn, Mais le problème c'est que j'ai des erreurs
[spoiler=Screen]
Voila Jvous donne aussi le skript :
options:
dossier: plugins/CheatWarn #Dossier principal
dossier-Jesus: Jesus #Dossier du cheat "Jésus"
dossier-AntiKB: AntiKB #Dossier du cheat "AntiKB"
dossier-Reach: Reach #Dossier du cheat "Cheat"
dossier-fastbow: FastBow #Dossier du cheat "FastBow"
dossier-FastEat: FastEat #Dossier du cheat "FastEat"
dossier-AutoSneak: AutoSneak #Dossier du cheat "AutoSneak"
dossier-forcefield: ForceField
dossier-SpeedHack: SpeedHack
fichier-logs: logs.yml #Fichier qui stock les reload
fichier-clear-history: clear-history.yml
fichier-banlist: banlist.yml #BanList
permission: mod.* #Tous les joueurs ayant cette permission recoivent une alerte // permission de la commande
permission-message: &cVous n'avez pas la permission #Si le joueur n'a pas la permission pour faire la commande
message-alert-on: &f&l[&4&lCheatWarn&f&l]&r &aVous avez activé les alertes ! #Message quand on active les alertes
message-alert-off: &f&l[&4&lCheatWarn&f&l]&r &cVous avez désactivé les alertes ! #Message quand on désactive les alertes
message-clear-history: &f&l[&4&lCheatWarn&f&l]&r &aVous avez clear l'historique de %arg-2%
message-test-forcefield: &f&l[&4&lCheatWarn&f&l]&r &cVous allez recevoir le nombre de bots touchés par %arg-2%
message-bot-touche: &f&l[&4&lCheatWarn&f&l]&r &c%arg-2% &aa touché &c%{BOTS}%/6 &abots
Message-alert: &f&l[&4&lCheatWarn&f&l]&r &c%{_JOUEUR}% &a>> &c%{_CHEAT}% &7(%{_PING}%) #alerte
message-joueur-non-connecte: &cLe joueur n'est pas connecté !
variable: CheatWarn #Variable
max-detection-Cheat-avant-ban: 10 #Le joueur sera banni après X alertes
temps-sans-alert: 10 #Temps après le reload sans alertes, (minimum 5 (conseillé) en seconde
commande: CheatWarn
argument-Historique: history
argument-clearhistory: clear
argument-forcefield: forcefield
function Reach(a: player, v: player):
set {_JOUEUR} to {_a}'s name
set {_CHEAT} to "Reach"
set {_PING} to {_a}'s ping
set {_UUID} to {_a}'s uuid
if {{@variable}.noalert} is false:
if damage cause is attack:
if damage cause is not projectile:
set {_diff} to difference between {_v}'s yaw and {a}'s yaw
if distance between {_a} and {_v} > 5.5:
if {_diff} is between 120 and 260:
set {_first} to first character of {_a}'s name
if file "{@dossier}/{@fichier-logs}/%{_first}%/%{_a}%.yml" doesn't exists:
create file "{@dossier}/{@dossier-Reach}/%{_first}%/%{_a}%.yml"
wf "%now%" to "{@dossier}/{@dossier-Reach}/%{_first}%/%{_a}%.yml"
loop all players:
if loop-players has permission "{@permission}":
if {{@variable}.alert.%loop-players's uuid%} is true:
send "{@Message-alert}" to loop-player
delete {_CHEAT}
add 1 to {{@variable}.cheat.%{_UUID}%}
if {{@variable}.cheat.%{_UUID}%} is {@max-detection-Cheat-avant-ban}:
make console execute command "/ban %{_a}% Reach"
wf "%{_a}%" to "{@dossier}/{@fichier-banlist}"
wf "Banni" to "{@dossier}/{@dossier-Reach}/%{_first}%/%{_a}%.yml"
add {_a} to {{@variable}.banlist::*}
add {_a} to {{@variable}.banlist.console::*}
set {{@variable}.ban.reason.%{_UUID}%} to "Reach"
function Jesus(p: player):
set {_JOUEUR} to {_p}'s name
set {_PING} to {_p}'s ping
set {_CHEAT} to "Jésus"
set {_UUID} to {_p}'s uuid
if {{@variable}.noalert} is false:
if {_p}'s gamemode is not creative:
set {_y} to y-location of {_p}
if block under {_p} is water:
wait 1 second
if y-location of {_p} is {_y}:
if {_p} is not riding:
set {_first} to first character of {_p}'s name
loop all players:
if loop-player has permission "{@permission}":
set {_UUIDLOOP} to loop-player's uuid
if {{@variable}.alert.%{_UUIDLOOP}%} is true:
send "{@Message-alert}" to loop-player
delete {_CHEAT}
add 1 to {{@variable}.cheat.%{_UUID}%}
if {{@variable}.cheat.%{_UUID}%} is greater than {@max-detection-Cheat-avant-ban}:
make console execute command "/ban %{_p}% Jesus"
wf "%{_p}%" to "{@dossier}/{@fichier-banlist}"
wf "Banni" to "{@dossier}/{@dossier-Jesus}/%{_first}%/%{_p}%.yml"
add {_p} to {{@variable}.banlist::*}
add {_p} to {{@variable}.banlist.console::*}
set {{@variable}.ban.reason.%{_UUID}%} to "Jesus"
function FastEat(p: player):
set {_JOUEUR} to {_p}'s name
set {_CHEAT} to "FastEat"
set {_PING} to {_p}'s ping
set {_UUID} to {_p}'s uuid
if {{@variable}.noalert} is false:
if {{@variable}.fastEat.items::*} contains {_p}'s tool:
set {_a} to now
set {_b} to amount of {_p}'s tool in {_p}'s inventory
wait 30 ticks
set {_c} to amount of {_p}'s tool in {_p}'s inventory
if {_b} = {_c}:
set {_first} to first character of {_p}'s name
if file "{@dossier}/{@fichier-logs}/%{_first}%/%{_p}%.yml" doesn't exists:
create file "{@dossier}/{@dossier-FastEat}/%{_first}%/%{_p}%.yml"
wf "%now%" to "{@dossier}/{@dossier-FastEat}/%{_first}%/%{_p}%.yml"
loop all players:
if loop-player has permission "{@permission}":
set {_UUIDLOOP} to loop-player's uuid
if {{@variable}.alert.%{_UUIDLOOP}%} is true:
send "{@Message-alert}" to loop-player
delete {_CHEAT}
add 1 to {{@variable}.cheat.%{_UUID}%}
if {{@variable}.cheat.%{_UUID}%} is {@max-detection-Cheat-avant-ban}:
make console execute command "/ban %{_p}% FastEat"
wf "%{_p}%" to "{@dossier}/{@fichier-banlist}"
wf "Banni" to "{@dossier}/{@dossier-FastEat}/%{_first}%/%{_p}%.yml"
add {_p} to {{@variable}.banlist::*}
add {_p} to {{@variable}.banlist.console::*}
set {{@variable}.ban.reason.%{_UUID}%} to "FastEat"
function AutoSneak(p: player):
set {_JOUEUR} to {_p}'s name
set {_CHEAT} to "AutoSneak"
set {_PING} to {_p}'s ping
set {_UUID} to {_p}'s uuid
if {{@variable}.noalert} is false:
if {_p} is sneaking:
if {_PING} < 100:
set {_first} to first character of {_p}'s name
if file "{@dossier}/{@fichier-logs}/%{_first}%/%{_p}%.yml" doesn't exists:
create file "{@dossier}/{@dossier-AutoSneak}/%{_first}%/%{_p}%.yml"
wf "%now%" to "{@dossier}/{@dossier-AutoSneak}/%{_first}%/%{_p}%.yml"
loop all players:
if loop-player has permission "{@permission}":
if {{@variable}.alert.%loop-player's uuid%} is true:
send "{@Message-alert}" to loop-player
delete {_CHEAT}
add 1 to {{@variable}.cheat.%{_UUID}%}
if {{@variable}.cheat.%{_UUID}%} is {@max-detection-Cheat-avant-ban}:
make console execute command "/ban %{_p}% AutoSneak"
wf "%{_p}%" to "{@dossier}/{@fichier-banlist}"
wf "Banni" to "{@dossier}/{@dossier-AutoSneak}/%{_first}%/%{_p}%.yml"
add {_p} to {{@variable}.banlist::*}
add {_p} to {{@variable}.banlist.console::*}
set {{@variable}.ban.reason.%{_UUID}%} to "AutoSneak"
function SpeedHackFly(p: player):
set {_PING} to {_p}'s ping
set {_JOUEUR} to {_p}'s name
set {_PING} to {_p}'s ping
set {_UUID} to {_p}'s uuid
if {{@variable}.noalert} is false:
chance of 10%:
if {_p}'s gamemode is not creative:
if {_p} is not riding:
set {_a} to {_p}'s location
set {_c} to y-location of {_p}
wait 0.5 second
set {_b} to {_p}'s location
if distance between {_a} and {_b} is bigger than 6:
set {_CHEAT} to "SpeedHack"
set {_first} to first character of {_p}'s name
if file "{@dossier}/{@fichier-logs}/%{_first}%/%{_p}%.yml" doesn't exists:
create file "{@dossier}/{@dossier-SpeedHack}/%{_first}%/%{_p}%.yml"
wf "%now%" to "{@dossier}/{@dossier-SpeedHack}/%{_first}%/%{_p}%.yml"
loop all players:
if loop-player has permission "{@permission}":
set {_UUIDLOOP} to loop-player's uuid
if {{@variable}.alert.%{_UUIDLOOP}%} is true:
send "{@Message-alert}" to loop-player
delete {_CHEAT}
add 1 to {{@variable}.cheat.%{_UUID}%}
if {{@variable}.cheat.%{_UUID}%} is {@max-detection-Cheat-avant-ban}:
make console execute command "/ban %{_p}% SpeedHack"
wf "%{_p}%" to "{@dossier}/{@fichier-banlist}"
wf "Banni" to "{@dossier}/{@dossier-SpeedHack}/%{_first}%/%{_p}%.yml"
add {_p} to {{@variable}.banlist::*}
add {_p} to {{@variable}.banlist.console::*}
set {{@variable}.ban.reason.%{_UUID}%} to "SpeedHack"
on load:
add 1 to {AntiCheat.reload}
if folder "{@dossier}" doesn't exists:
create folder "{@dossier}"
if folder "{@dossier}/{@dossier-AntiKB}" doesn't exists:
create folder "{@dossier}/{@dossier-AntiKB}"
if file "{@dossier}/{@fichier-logs}" doesn't exists:
create file "{@dossier}/{@fichier-logs}"
set {AntiCheat.reload} to 0
if {AntiCheat.reload} is equal to 0:
wf "Premier reload : %now%" to "{@dossier}/{@fichier-logs}"
else:
wf "Reload %{AntiCheat.reload}% : %now%" to "{@dossier}/{@fichier-logs}"
if folder "{@dossier}/{@dossier-Jesus}" doesn't exists:
create folder "{@dossier}/{@dossier-Jesus}"
if folder "{@dossier}/{@dossier-Reach}" doesn't exists:
create folder "{@dossier}/{@dossier-Reach}"
if folder "{@dossier}/{@dossier-FastEat}" doesn't exists:
create folder "{@dossier}/{@dossier-FastEat}"
if folder "{@dossier}/{@dossier-speedhack" doesn't exists:
create folder "{@dossier}/{@dossier-SpeedHack}"
if file "{@dossier}/{@fichier-banlist}" doesn't exists:
create file "{@dossier}/{@fichier-banlist}"
#----------------------------------------------------------#
# JESUS #
#----------------------------------------------------------#
on walk on water:
Jesus(player)
#----------------------------------------------------------#
# Anti KB #
#----------------------------------------------------------#
on damage:
set {_JOUEUR} to victim's name
set {_CHEAT} to "AntiKnockback"
set {_PING} to victim's ping
if {{@variable}.noalert} is false:
if victim is a player:
block at victim is not cobweb:
victim is not riding:
damage wasn't caused by lava, fire, burning, fall, poison or wither:
victim doesn't have poison:
victim doesn't have wither:
victim isn't burning:
if victim's ping < 100:
set {location1.%victim%} to victim's location
wait 5 ticks
set {location2.%victim%} to victim's location
if {location1.%victim%} = {location2.%victim%}:
set {_first} to first character of victim's name
if file "plugins/{@dossier}/{@dossier-AntiKB}/%{_first}%/%victim's name%.yml" doesn't exists:
create file "{@dossier}/{@dossier-AntiKB}/%{_first}%/%victim's name%.yml"
wf "%now%" to "plugins/{@dossier}/{@dossier-AntiKB}/%{_first}%/%victim's name%.yml"
loop all players:
if loop-player has permission "{@permission}":
if {{@variable}.alert.%loop-player's uuid%} is true:
send "{@Message-alert}" to loop-player
delete {_CHEAT}
add 1 to {{@variable}.cheat.%victim's uuid%}
if {{@variable}.cheat.%victim's uuid%} is {@max-detection-Cheat-avant-ban}:
make console execute command "/ban %victim% AntiKB"
wf "%victim%" to "{@dossier}/{@fichier-banlist}"
wf "Banni" to "{@dossier}/{@dossier-AntiKB}/%{_first}%/%victim%.yml"
add victim to {{@variable}.banlist::*}
add victim to {{@variable}.banlist.console::*}
set {{@variable}.ban.reason.%victim's uuid%} to "AntiKB"
else:
stop
command /anticheat:
trigger:
send "&aCréateur : Blackmine57" # Laisser au moins ça S.V.P
send "&aAide : sam57730, MrForoche, &bPolymeth&a, "
send "&aServeurs:"
send "Je suis codeur sur : "
send " - MrForoche : play.ratiofight.fr"
#----------------------------------------------------------#
# Reach #
#----------------------------------------------------------#
on damage:
Reach(attacker, victim)
#----------------------------------------------------------#
# FastEat #
#----------------------------------------------------------#
on right click:
FastEat(player)
on load:
add apple to {{@variable}.fastEat.items::*}
add mushroom stew to {{@variable}.fastEat.items::*}
add bread to {{@variable}.fastEat.items::*}
add porkchop_item to {{@variable}.fastEat.items::*}
add cooked_porkchop to {{@variable}.fastEat.items::*}
add notch apple to {{@variable}.fastEat.items::*}
add fish to {{@variable}.fastEat.items::*}
add raw salmon to {{@variable}.fastEat.items::*}
add clownfish to {{@variable}.fastEat.items::*}
add raw pufferfish to {{@variable}.fastEat.items::*}
add cooked fish to {{@variable}.fastEat.items::*}
add baked potato to {{@variable}.fastEat.items::*}
add poisonous potato to {{@variable}.fastEat.items::*}
add pumpkin pie to {{@variable}.fastEat.items::*}
add raw rabbit to {{@variable}.fastEat.items::*}
add cooked rabbit to {{@variable}.fastEat.items::*}
add rabbit stew to {{@variable}.fastEat.items::*}
add raw mutton to {{@variable}.fastEat.items::*}
add cooked mutton to {{@variable}.fastEat.items::*}
add beetroot to {{@variable}.fastEat.items::*}
add beetroot soup to {{@variable}.fastEat.items::*}
#----------------------------------------------------------#
# Auto Sneak #
#----------------------------------------------------------#
on command:
AutoSneak(player)
on chat:
AutoSneak(player)
on command:
AutoSneak(player)
on sign edit:
AutoSneak(player)
on inventory click:
AutoSneak(player)
#----------------------------------------------------------#
# SpeedHack #
#----------------------------------------------------------#
on any move:
SpeedHackFly(player)
#----------------------------------------------------------#
# Alertes #
#----------------------------------------------------------#
on chat:
if player has permission "{@permission}":
if message is "$off":
cancel event
set {{@variable}.alert.%player's uuid%} to false
send "{@message-alert-off}"
if message is "$on":
cancel event
set {{@variable}.alert.%player's uuid%} to true
send "{@message-alert-on}"
command /{@commande} [<text>] [<offline player>]:
permission: {@permission}
permission message: {@permission-message}
trigger:
if arg-1 is set:
if arg-1 is "{@argument-Historique}":
if arg-2 is set:
send "&c/-----------------------------\"
send "&cI &a Historique de %arg-2% &c I"
send "&c\-----------------------------/"
send ""
if {{@variable}.ban.reason.%arg-2's uuid%} is not "<none>":
send "&aBanni : &cOui : %{{@variable}.ban.reason.%arg-2's uuid%}%"
else:
send "&aBanni : &cNon"
if {{@variable}.cheat.%arg-2's uuid%} is smaller than 10:
send "&aNombre d'alerte : %{{@variable}.cheat.%arg-2's uuid%}%"
else:
send "&aNombre d'alerte : &cCe joueur devrait être banni :O ! &7(%{{@variable}.cheat.%arg-2's uuid%}%)"
if arg-1 is "{@argument-clearhistory}":
if arg-2 is set:
delete file "{@dossier}/{@dossier-AutoSneak}/%{_first}%/%arg-2%.yml"
delete file "{@dossier}/{@dossier-Jesus}/%{_first}%/%arg-2%.yml"
delete file "{@dossier}/{@dossier-FastEat}/%{_first}%/%arg-2%.yml"
delete file "{@dossier}/{@dossier-Reach}/%{_first}%/%arg-2%.yml"
delete file "{@dossier}/{@dossier-AntiKB}/%{_first}%/%arg-2%.yml"
set {{@variable}.cheat.%arg-2's uuid%} to 0
delete {{@variable}.ban.reason.%arg-2's uuid%}
remove player from {{@variable}.banlist::*}
send "{@message-clear-history}"
wf "%player% -> %arg-2%" to "{@dossier}/{@fichier-clear-history}"
if arg-1 is "{@argument-forcefield}":
if arg-2 is set:
if arg-2 is online:
send "{@message-test-forcefield}"
spawn a silverfish 3 meters above arg 2
set {{@variable}.forcefield.%arg-2's uuid%} to true
set {{@variable}.%arg-2's uuid%.nb} to 0
set {{@variable}.forcefield.%arg-2's uuid%.silverfish} to last spawned entity
apply resistance 5 to {{@variable}.forcefield.%arg-2's uuid%.silverfish} for 1.5 second
wait 1 second
set {BOTS} to {{@variable}.%arg-2's uuid%.nb}
send "{@message-bot-touche}"
delete {{@variable}.%arg-2's uuid%.nb}
delete {{@variable}.forcefield.%arg-2's uuid%.silverfish}
set {{@variable}.forcefield.%arg-2's uuid%} to false
wait 1.5 second
kill {{@variable}.forcefield.%arg-2's uuid%.silverfish}
kill last spawned entity
if {{@variable}.%arg-2's uuid%.nb} is greater than 8:
make console execute command "ban %arg-2% ForceField"
else:
send "{@message-joueur-non-connecte}"
on damage:
if attacker is {{@variable}.forcefield.%attacker's uuid%.silverfish}:
if {{@variable}.forcefield.%victim's uuid%} is true:
cancel event
on damage:
set {_PING} to attacker's ping
if {{@variable}.forcefield.%attacker's uuid%.silverfish} is victim:
cancel event
if {{@variable}.%attacker's uuid%.nb} is 0:
set {{@variable}.%attacker's uuid%.nb} to 1
teleport victim 2 meters behind attacker
stop
if {{@variable}.%attacker's uuid%.nb} is 1:
teleport victim 2 meters above attacker
set {{@variable}.%attacker's uuid%.nb} to 2
stop
if {{@variable}.%attacker's uuid%.nb} is 2:
teleport victim 2 meters behind attacker
set {{@variable}.%attacker's uuid%.nb} to 3
stop
if {{@variable}.%attacker's uuid%.nb} is 3:
set {{@variable}.%attacker's uuid%.nb} to 4
teleport victim 2 meters above attacker
stop
if {{@variable}.%attacker's uuid%.nb} is 3:
set {{@variable}.%attacker's uuid%.nb} to 4
teleport victim 2 meters behind attacker
stop
if {{@variable}.%attacker's uuid%.nb} is 4:
set {{@variable}.%attacker's uuid%.nb} to 5
teleport victim 2 meters above attacker
stop
if {{@variable}.%attacker's uuid%.nb} is 5:
set {{@variable}.%attacker's uuid%.nb} to 6
teleport victim 2 meters behind attacker
if {{@variable}.%attacker's uuid%.nb} is 6:
kill victim
if {_PING} < 100:
set {_first} to first character of attacker's name
if file "{@dossier}/{@fichier-logs}/%{_first}%/%attacker%.yml" doesn't exists:
create file "{@dossier}/{@dossier-forcefield}/%{_first}%/%attacker%.yml"
wf "Ban" to "{@dossier}/{@dossier-forcefield}/%{_first}%/%attacker%.yml"
make console execute command "/ban %attacker% ForceField"
wf "%attacker%" to "{@dossier}/{@fichier-banlist}"
wf "Banni" to "{@dossier}/{@dossier-forcefield}/%{_first}%/%attacker%.yml"
add attacker to {{@variable}.banlist::*}
add attacker to {{@variable}.banlist.console::*}
set {{@variable}.ban.reason.%attacker's uuid%} to "ForceField"
Je pense qu'il me manque un addons mais lequel ?
Voila, je vous remerci de votre réponse !