Bonjour a tous cher membre de Skript-mc , j'espere que vous pourrais m'aider :
Mon problème est que je n'arrive pas a activer mon skript dans un monde précis je vaux qu'il soit que active dans le monde " Factions " , car je ne connais pas la variable merci de m'aider skript :
options:
logo: &7[&dHandoria&aFactions&7]
logo title: &8- &dHandoria&aFactions &8-
worlds: world
timeautodelete: 14 days
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# VERIF
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
on load:
wait 2 tick
if file "{@worlds}" doesn't exists:
message "&4/!\ ATTENTION &cLe monde renseigne dans les options du skript &e%script%.sk&c ('{@worlds}') n'existe visiblement pas ! Vous devez installer le plugin multiverse et rendre accessible ce monde via ce plugin. &4!!! Des erreurs Skript sont probablement presentes a cause de cette erreur !!!" to console
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# FONCTIONS
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
function FactionPower(faction:text) :: number:
if "%{f.list.factions::*}%" doesn't contain "%{_faction}%":
return 0
else:
set {_p} to 0
loop {f.list.players::*}:
if "%{f.fac.name.%loop-value-1%}%" is "%{_faction}%":
set {_p} to {f.power.%loop-value-1%} + {_p}
return {_p}
function BroadCast(p: player, allfaction: boolean, message: text):
if {_allfaction} is true:
loop all players:
if world of loop-player is {@worlds}:
if {f.fac.name.%loop-player%} is {f.fac.name.%{_p}%}:
message "{@logo} &7%{_message}%" to loop-player
send loop-player title "{@logo title}" with subtitle "&7%{_message}%" for 3 seconds
play "NOTE_PLING" to loop-player at volume 1
else:
message "{@logo} &7%{_message}%" to {_p}
send {_p} title "{@logo title}" with subtitle "&7%{_message}%" for 3 seconds
play "NOTE_PLING" to {_p} at volume 1
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# COMMANDE PRINCIPALE
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
command /faction [<text>] [<text>] [<number>]:
permission: faction.principal
permission message: {@logo} &cVous n'avez pas la permission requise
aliases: /f , /fac
description: Commande principale du jeu
trigger:
if world of player isn't {@worlds}:
message "Unknown command. Type ""/help"" for help."
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# CREATE/REMOVE
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
else if argument 1 is "create":
set {_l} to length of argument 2
if {f.fac.name.%player%} is set:
message "{@logo} &cVous êtes déjà dans une faction !"
else if player doesn't have permission "faction.create":
message "{@logo} &cVous n'avez pas la permission de creer une faction !"
else if arg-2 isn't set:
message "{@logo} &cVous devez précisez un nom après 'create' !"
else if {_l} is greater than 10:
message "{@logo} &cCe nom de faction est trop grand (3 < x < 10) !"
else if {_l} is less than 3:
message "{@logo} &cCe nom de faction est trop petit (3 < x < 10) !"
else if "%{f.list.factions::*}% , SAFE , WARZONE" contains "%arg-2%":
message "{@logo} &cCe nom est déjà pris! Essay '%arg-2%%random integer between 1 and 9%%random integer between 1 and 9%' !"
else:
add arg-2 to {f.list.factions::*}
set {f.fac.name.%player%} to arg-2
set {f.fac.grade.%player%} to 3
set {f.fac.tag.%arg-2%} to ""
set {f.fac.chunksclaims.%arg-2%} to 0
set {f.fac.lastconnection.%arg-2%} to now
set {f.fac.invitation.%arg-2%} to true
loop all players:
if world of loop-player is {@worlds}:
message "{@logo} &7La faction &b%arg-2% &7vient d'être créé par &e%player% &7!" to loop-player
else if argument 1 is "remove" or "disband":
if command sender is a player:
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
stop
else if {f.fac.grade.%player%} isn't 3:
message "{@logo} &cVous n'avez pas le grade requis !"
stop
else:
set {_faction} to "%{f.fac.name.%player%}%"
else:
if arg-2 isn't set:
stop
set {_faction} to "%arg-2%"
if command sender is a player:
BroadCast(player, true, "La Faction a été supprimé !")
loop {f.list.factions::*}:
if "%{_faction}%" is "%loop-value%":
remove loop-value from {f.list.factions::*}
delete {f.fac.desc.%{_faction}%}
delete {f.fac.powerboost.%{_faction}%}
delete {f.fac.tag.%{_faction}%}
delete {f.fac.lastconnection.%{_faction}%}
delete {f.fac.home.%{_faction}%}
delete {f.fac.invitation.%{_faction}%}
delete {f.fac.chunksclaims.%{_faction}%}
clear {f.fac.ennemy.%{_faction}%::*}
loop {f.fac.ally.%{_faction}%::*}:
loop {f.fac.ally.%loop-value-1%::*}:
if "%loop-value-2%" is "%{_faction}%":
remove loop-value-2 from {f.fac.ennemy.%loop-value-1%::*}
clear {f.fac.ally.%{_faction}%::*}
loop {f.chunk::*}:
if "%loop-value-1%" is "%{_faction}%":
remove loop-value-1 from {f.chunk::*}
loop {f.list.players::*}:
if {f.fac.name.%loop-value-1%} is {_faction}:
delete {f.fac.name.%loop-value-1%}
delete {f.fac.grade.%loop-value-1%}
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# ALLIANCE/ENNEMI
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
else if argument 1 is "ally":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if arg-2 isn't set:
message "{@logo} &cVous devez préciser un nom après '%arg-1%' !"
else if arg-2 is {f.fac.name.%player%}:
message "{@logo} &cVous ne pouvez pas rajouter votre propre faction !"
else if "%{f.list.factions::*}%" doesn't contain "%arg-2%":
message "{@logo} &c%arg-2% n'est pas une faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if "%{f.fac.ally.%{f.fac.name.%player%}%::*}%" contains "%arg-2%":
message "{@logo} &cCette Faction est déjà Allié !"
else:
loop {f.fac.ennemy.%{f.fac.name.%player%}%::*}:
if "%loop-value%" is "%arg-2%":
remove loop-value from {f.fac.ennemy.%{f.fac.name.%player%}%::*}
set {_c} to 0
loop all players:
if world of loop-player is {@worlds}:
if "%{f.fac.name.%loop-player%}%" is "%arg-2%":
if {f.fac.grade.%loop-player%} > 1:
add 1 to {_c}
message "{@logo} &b%{f.fac.name.%player%}% &7vous invite à devenir allié !" to loop-player
message "{@logo} &a&lOUI &7: /f accept %{f.fac.name.%player%}%" to loop-player
message "{@logo} &c&lNON &7: /f decline %{f.fac.name.%player%}%" to loop-player
if {_c} is 0:
message "{@logo} &7Demande &cAnnulé&7! Aucun Chef/Sous-Chef n'est connecté !"
else:
message "{@logo} &7Demande envoyé... &e%{_c}% Chef/Sous-Chef&7 ont reçu l'invitation..."
set {f.fac.in-inviting-ally.%{f.fac.name.%player%}%} to arg-2
wait 60 seconds
delete {f.fac.in-inviting-ally.%{f.fac.name.%player%}%}
else if argument 1 is "accept":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if arg-2 isn't set:
message "{@logo} &cVous devez préciser un nom après '%arg-1%' !"
else if "%{f.list.factions::*}%" doesn't contain "%arg-2%":
message "{@logo} &c%arg-2% n'est pas une faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if "%{f.fac.ally.%{f.fac.name.%player%}%::*}%" contains "%arg-2%":
message "{@logo} &cCette Faction est déjà Allié !"
else if "%{f.fac.in-inviting-ally.%arg-2%}%" isn't "%{f.fac.name.%player%}%":
message "{@logo} &cCette faction ne vous as pas demandé en alliance !"
else:
loop {f.fac.ennemy.%{f.fac.name.%player%}%::*}:
if "%loop-value%" is "%arg-2%":
remove loop-value from {f.fac.ennemy.%{f.fac.name.%player%}%::*}
loop {f.fac.ennemy.%arg-2%::*}:
if "%loop-value%" is "%{f.fac.name.%player%}%":
remove loop-value from {f.fac.ennemy.%arg-2%::*}
add arg-2 to {f.fac.ally.%{f.fac.name.%player%}%::*}
add {f.fac.name.%player%} to {f.fac.ally.%arg-2%::*}
BroadCast(player,true,"&b%arg-2% &7devient une faction allié !")
loop all players:
if world of loop-player is {@worlds}:
if "%{f.fac.name.%loop-player%}%" is "%arg-2%":
message "{@logo} &b%{f.fac.name.%player%}% &7devient une faction allié !" to loop-player
delete {f.fac.in-inviting-ally.%arg-2%}
else if argument 1 is "decline":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if arg-2 isn't set:
message "{@logo} &cVous devez préciser un nom après '%arg-1%' !"
else if "%{f.list.factions::*}%" doesn't contain "%arg-2%":
message "{@logo} &c%arg-2% n'est pas une faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if "%{f.fac.ally.%{f.fac.name.%player%}%::*}%" contains "%arg-2%":
message "{@logo} &cCette Faction est déjà Allié !"
else if "%{f.fac.in-inviting-ally.%arg-2%}%" isn't "%{f.fac.name.%player%}%":
message "{@logo} &cCette faction ne vous as pas demandé en alliance !"
else:
delete {f.fac.in-inviting-ally.%arg-2%}
BroadCast(player,false,"&7Invitation refusé !")
loop all players:
if "%{f.fac.name.%loop-player%}%" is "%arg-2%":
message "{@logo} &b%{f.fac.name.%player%}% &7refuse votre invitation d'alliance !" to loop-player
else if argument 1 is "neutral":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if arg-2 isn't set:
message "{@logo} &cVous devez préciser un nom après '%arg-1%' !"
else if arg-2 is {f.fac.name.%player%}:
message "{@logo} &cVous ne pouvez pas rajouter votre propre faction !"
else if "%{f.list.factions::*}%" doesn't contain "%arg-2%":
message "{@logo} &c%arg-2% n'est pas une faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else:
loop {f.fac.ennemy.%{f.fac.name.%player%}%::*}:
if "%loop-value%" is "%arg-2%":
remove loop-value from {f.fac.ennemy.%{f.fac.name.%player%}%::*}
loop {f.fac.ally.%{f.fac.name.%player%}%::*}:
if "%loop-value%" is "%arg-2%":
remove loop-value from {f.fac.ally.%{f.fac.name.%player%}%::*}
BroadCast(player,true,"&e%arg-2% &7devient une faction neutre !")
else if argument 1 is "ennemy":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if arg-2 isn't set:
message "{@logo} &cVous devez préciser un nom après '%arg-1%' !"
else if arg-2 is {f.fac.name.%player%}:
message "{@logo} &cVous ne pouvez pas rajouter votre propre faction !"
else if "%{f.list.factions::*}%" doesn't contain "%arg-2%":
message "{@logo} &c%arg-2% n'est pas une faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if "%{f.fac.ennemy.%{f.fac.name.%player%}%::*}%" contains "%arg-2%":
message "{@logo} &cCette Faction est déjà ennemie !"
else:
loop {f.fac.ally.%{f.fac.name.%player%}%::*}:
if "%loop-value%" is "%arg-2%":
remove loop-value from {f.fac.ally.%{f.fac.name.%player%}%::*}
loop {f.fac.ally.%arg-2%::*}:
if "%loop-value%" is "%{f.fac.name.%player%}%":
remove loop-value from {f.fac.ally.%arg-2%::*}
add arg-2 to {f.fac.ennemy.%{f.fac.name.%player%}%::*}
BroadCast(player,true,"&e%arg-2% &7devient une faction ennemie !")
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# CLAIMS/CHUNK
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
else if argument 1 is "surclaim":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if "%{f.chunk::%chunk at player%}%" is "%{f.fac.name.%player%}%":
message "{@logo} &cCe Chunk vous appartient !"
else if "%{f.chunk::%chunk at player%}%" is "<none>":
message "{@logo} &cCe Chunk n'est pas occupé, dans ce cas la faite: &f/f surclaim %{f.fac.name.%player%}%"
else if FactionPower("%{f.chunk::%chunk at player%}%") >= {f.fac.chunksclaims.%{f.chunk::%chunk at player%}%}:
message "{@logo} &cLa faction a assez de power pour garder ses chunks !"
else if FactionPower("%{f.fac.name.%player%}%") <= {f.fac.chunksclaims.%{f.fac.name.%player%}%}:
message "{@logo} &cIl vous faut %{f.fac.chunksclaims.%{f.fac.name.%player%}%} + 1% powers pour claim un autre chunk !"
else:
add 1 to {f.fac.chunksclaims.%{f.fac.name.%player%}%}
subtract 1 from {f.fac.chunksclaims.%{f.chunk::%chunk at player%}%}
set {f.chunk::%chunk at player%} to {f.fac.name.%player%}
BroadCast(player, true, "&e%player% &7a claim le chunk &9%chunk at player% &7&o(&3&oSurClaim&7&o)")
else if argument 1 is "claim":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if {f.chunk::%chunk at player%} is set:
message "{@logo} &cLe Chunk est déjà pris (%{f.chunk::%chunk at player%}%)!"
else if FactionPower("%{f.fac.name.%player%}%") <= {f.fac.chunksclaims.%{f.fac.name.%player%}%}:
message "{@logo} &cIl vous faut %{f.fac.chunksclaims.%{f.fac.name.%player%}%} + 1% power(s) pour claim un autre chunk !"
else:
add 1 to {f.fac.chunksclaims.%{f.fac.name.%player%}%}
set {f.chunk::%chunk at player%} to {f.fac.name.%player%}
BroadCast(player, true, "&e%player% &7a claim le chunk &9%chunk at player% &7!")
else if argument 1 is "unclaim":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if {f.chunk::%chunk at player%} isn't set:
message "{@logo} &cIl ne s'agit pas d'un de vos chunk !"
else if {f.chunk::%chunk at player%} isn't {f.fac.name.%player%}:
message "{@logo} &cIl ne s'agit pas d'un de vos chunk !"
else:
subtract 1 from {f.fac.chunksclaims.%{f.fac.name.%player%}%}
delete {f.chunk::%chunk at player%}
BroadCast(player, true, "&e%player% &7a unclaim le chunk &9%chunk at player% &7!")
else if argument 1 is "unclaimall":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else:
loop {f.chunk::*}:
if "%loop-value%" is "%{f.fac.name.%player%}%":
remove loop-value from {f.chunk::*}
set {f.fac.chunksclaims.%{f.fac.name.%player%}%} to 0
BroadCast(player, true, "&e%player% &7a unclaim tous les chunks !")
else if argument 1 is "setsafe":
if player doesn't have permission "faction.setclaim":
message "{@logo} &cVous n'avez pas la permission requise !"
else if {f.chunk::%chunk at player%} is set:
message "{@logo} &cCe Chunk est déjà pris !"
else:
message "{@logo} &7Le Chunk est Désormais SAFE !"
set {f.chunk::%chunk at player%} to "SAFE"
else if argument 1 is "remsafe":
if player doesn't have permission "faction.setclaim":
message "{@logo} &cVous n'avez pas la permission requise !"
else if {f.chunk::%chunk at player%} isn't "SAFE":
message "{@logo} &cCe Chunk n'est pas safe !"
else:
message "{@logo} &7Le Chunk est Désormais libre !"
delete {f.chunk::%chunk at player%}
else if argument 1 is "setwarzone":
if player doesn't have permission "faction.setclaim":
message "{@logo} &cVous n'avez pas la permission requise !"
else if {f.chunk::%chunk at player%} is set:
message "{@logo} &cCe Chunk est déjà pris !"
else:
message "{@logo} &7Le Chunk est désormais une zone de Guerre !"
set {f.chunk::%chunk at player%} to "WARZONE"
else if argument 1 is "remwarzone":
if player doesn't have permission "faction.setclaim":
message "{@logo} &cVous n'avez pas la permission requise !"
else if {f.chunk::%chunk at player%} isn't "WARZONE":
message "{@logo} &cCe Chunk n'est pas WarZone !"
else:
message "{@logo} &7Le Chunk est Désormais libre !"
delete {f.chunk::%chunk at player%}
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# HOME/SETHOME
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
else if argument 1 is "sethome":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.grade.%player%} < 1:
message "{@logo} &cVous n'avez pas le grade requis !"
else if {f.chunk::%chunk at player%} isn't set:
message "{@logo} &cVous devez vous positionner sur un ckunk de votre faction !"
else if {f.chunk::%chunk at player%} isn't {f.fac.name.%player%}:
message "{@logo} &cVous devez vous positionner sur un ckunk de votre faction !"
else:
set {f.fac.home.%{f.fac.name.%player%}%} to location of player
BroadCast(player, true, "&e%player% &7a sethome la faction a &e%location of player% &7!")
else if argument 1 is "home":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.home.%{f.fac.name.%player%}%} isn't set:
message "{@logo} &cLa position Home n'est pas encore réglé !"
else:
teleport player to {f.fac.home.%{f.fac.name.%player%}%}
message "{@logo} &7Téléportation..."
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# INVITATION/MEMBRE
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
else if argument 1 is "invitation" or "invitations":
if arg-2 isn't set:
if {f.fac.name.%player%} isn't set:
set {_objet} to "me"
else:
set {_objet} to "faction"
else if arg-2 isn't "me" or "faction":
message "{@logo} &cVous devez spécifiez 'me' ou 'faction' après '%arg-1%' !"
stop
else:
set {_objet} to "%arg-2%"
if {_objet} is "me":
open chest with 6 rows named "&0Invitations Personnels" to player
else:
open chest with 6 rows named "&0Invitations de la Faction" to player
wait 2 tick
set {_case} to 0
if {_objet} is "me":
loop {f.list.factions::*}:
loop {f.fac.invitations.%loop-value-1%::*}:
if "%loop-value-2%" is "%player%":
format slot {_case} of player with 1 of paper named "&fLa Faction %loop-value-1%" with lore " ||&7Invitation en cours...|| ||&7Pour Accepter: &a/f yes %loop-value-1%||&7Pour Décliner: &c/f no %loop-value-1%" to be unstealable
add 1 to {_case}
else:
loop {f.fac.invitations.%{f.fac.name.%player%}%::*}:
format slot {_case} of player with 1 of loop-value's skull named "&f%loop-value%" with lore " ||&7Invitation en cours...|| ||&c&nCliquez pour supprimer l'invitation" to run "faction reminvitation|%loop-value% %player%"
add 1 to {_case}
else if argument 1 contains "reminvitation":
if command sender isn't console:
stop
else:
set {_a} to "%arg-1%"
set {_a::*} to {_a} split at "|"
loop {f.fac.invitations.%{f.fac.name.%arg-2%}%::*}:
if "%loop-value%" is "%{_a::2}%":
remove loop-value from {f.fac.invitations.%{f.fac.name.%arg-2%}%::*}
message "{@logo} &7Suppression de l'invitation de &f%{_a::2}%&7..." to (arg-2 parsed as player)
execute (arg-2 parsed as player) command "/faction invitations"
else if argument 1 is "toggleinvitation" or "toggleinvite":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if {f.fac.invitation.%{f.fac.name.%player%}%} is true:
delete {f.fac.invitation.%{f.fac.name.%player%}%}
clear {f.fac.invitations.%{f.fac.name.%player%}%::*}
message "{@logo} &7Il est désormais plus possible d'inviter des joueurs ! La liste des invitations a été néttoyé !"
else if {f.fac.invitation.%{f.fac.name.%player%}%} isn't set:
set {f.fac.invitation.%{f.fac.name.%player%}%} to true
BroadCast(player, true, "&7Il est désormais possible d'inviter des joueurs &7!")
else if argument 1 is "add" or "invite":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.invitation.%{f.fac.name.%player%}%} isn't set:
message "{@logo} &cIl est impossible d'inviter des joueurs (&f/f toggleinvite&c) !"
else if arg-2 isn't set:
message "{@logo} &cMettez un pseudo après '%arg-1%'"
else if {f.fac.name.%arg-2%} is set:
message "{@logo} &c%arg-2% a déjà une faction !"
else if "%{f.fac.invitations.%{f.fac.name.%player%}%::*}%" contains "%arg-2%":
message "{@logo} &cUne invitation est déjà en cours pour %arg-2% !"
else:
set {_p} to (arg-2 parsed as player)
add {_p} to {f.fac.invitations.%{f.fac.name.%player%}%::*}
message "{@logo} &7Demande envoyé à &e%{_p}%&7..."
message "{@logo} &e%player% &7vous invite à rejoindre sa faction (&b%{f.fac.name.%player%}%&7) !" to {_p}
message "{@logo} &a&lOUI &7: &o/f yes %{f.fac.name.%player%}%" to {_p}
message "{@logo} &c&lNON &7: &o/f no %{f.fac.name.%player%}%" to {_p}
else if argument 1 is "yes":
if {f.fac.name.%player%} is set:
message "{@logo} &cVous êtes déjà dans une faction !"
else if arg-2 isn't set:
message "{@logo} &cVous devez préciser une faction après '%arg-1%' !"
else if "%{f.fac.invitations.%arg-2%::*}%" doesn't contain "%player%":
message "{@logo} &cVous n'avez pas de demande de la part de cette faction !"
else:
set {f.fac.name.%player%} to "%arg-2%"
set {f.fac.grade.%player%} to 1
loop {f.fac.invitations.%arg-2%::*}:
if "%loop-value%" is "%player%":
remove loop-value from {f.fac.invitations.%arg-2%::*}
message "{@logo} &7Vous venez de rejoindre la faction &b%arg-2% &7!"
BroadCast(player, true, "&e%player% &7vient de rejoindre votre faction &7!")
else if argument 1 is "no":
if {f.fac.name.%player%} is set:
message "{@logo} &cVous êtes déjà dans une faction !"
else if arg-2 isn't set:
message "{@logo} &cVous devez préciser une faction après '%arg-1%' !"
else if "%{f.fac.invitations.%arg-2%::*}%" doesn't contain "%player%":
message "{@logo} &cVous n'avez pas de demande de la part de cette faction !"
else:
message "{@logo} &7Vous venez de refuser la demande de faction &b%arg-2% &7!"
loop {f.fac.invitations.%arg-2%::*}:
if "%loop-value%" is "%player%":
remove loop-value from {f.fac.invitations.%arg-2%::*}
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# QUIT/KICK/PROMOTE
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
else if argument 1 is "kick":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if arg-2 isn't set:
message "{@logo} &cMettez un pseudo après '%arg-1%'"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if {f.fac.name.%arg-2%} isn't {f.fac.name.%player%}:
message "{@logo} &c%arg-2% n'est pas dans votre faction!"
else if {f.fac.grade.%arg-2%} isn't 1:
message "{@logo} &cVous devez rabaisser le rang de ce joueur avant de le kick !"
else:
delete {f.fac.name.%arg-2%}
delete {f.fac.grade.%arg-2%}
BroadCast(player, true, "&e%player% &7a éjecté &c%arg-2% &7de la faction !")
else if argument 1 is "promote":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if arg-2 isn't set:
message "{@logo} &cMettez un pseudo après '%arg-1%'"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if {f.fac.grade.%arg-2%} >= 3:
message "{@logo} &cCe Joueur est déjà au grade maximum (Chef)!"
else:
if {f.fac.grade.%arg-2%} is 1:
set {f.fac.grade.%arg-2%} to 2
BroadCast(player, true, "&e%arg-2% &7a été promu au rang de &5Sous-Chef &7!")
else if {f.fac.grade.%arg-2%} is 2:
set {f.fac.grade.%arg-2%} to 3
set {f.fac.grade.%player%} to 2
BroadCast(player, true, "&e%arg-2% &7a été promu au rang de &cChef &7!")
message "{@logo} &e%arg-2%&7&o(Auto) &7vous a déchu au rang de &5Sous-Chef &7!" to player
else if argument 1 is "demote":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if arg-2 isn't set:
message "{@logo} &cMettez un pseudo après '%arg-1%'"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if {f.fac.grade.%arg-2%} is 1 or 3:
message "{@logo} &cCe joueur est déjà au rang minimum ou il est Chef !"
else:
set {f.fac.grade.%arg-2%} to 1
message "{@logo} &e%player% &7vous a déchu au rang de &dMembre &7!" to (arg-2 parsed as player)
BroadCast((arg-2 parsed as player), false, "&e%player% &7vous a déchu au rang de &dMembre &7!")
else if argument 1 is "quit" or "leave":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.grade.%player%} > 2:
message "{@logo} &cPour quitter votre faction, vous devez la supprimer !"
else:
BroadCast(player, true, "&e%player% &7a quitté la Faction !")
delete {f.fac.name.%player%}
delete {f.fac.grade.%player%}
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# DESCRIPTION/TAG/INFO/POWERBOOST
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
else if argument 1 is "desc":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if arg-2 isn't set:
message "{@logo} &cMettez une description après 'desc'"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else:
set {f.fac.desc.%{f.fac.name.%player%}%} to arg-2
BroadCast(player, true, "&7La Description est maintenant &6%arg-2% &7!")
else if argument 1 is "info" or "who" or "show" or "f":
if arg-2 is set:
if player is op:
if {f.fac.chunksclaims.%arg-2%} isn't set:
if {f.fac.name.%arg-2%} isn't set:
message "{@logo} &cLa faction %arg-2% n'existe pas ! Le joueur %arg-2% n'a pas de faction !"
stop
else:
set {_faction} to "%{f.fac.name.%arg-2%}%"
else:
set {_faction} to "%arg-2%"
else:
message "{@logo} &cVous n'avez pas de permission !"
stop
else:
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous devez avoir une faction pour cela !"
stop
else:
set {_faction} to "%{f.fac.name.%player%}%"
if {_faction} isn't set:
message "{@logo} &4ERREUR !"
stop
message "----------------- {@logo} &f-----------------"
# Informations
if {f.fac.invitation.%{_faction}%} is true:
message "&7Nom: &f%{_faction}% &8- &aOuvert aux invitations"
else:
message "&7Nom: &f%{_faction}% &7- &cFermé aux invitations"
set {_dif} to difference between now and {f.fac.lastconnection.%{_faction}%}
if {f.fac.lastconnection.%{_faction}%} is set:
set {_dif_D} to "%difference between {@timeautodelete} and {_dif}%"
replace all " hours" with "&6h&e" in {_dif_D}
replace all " hour" with "&6h&e" in {_dif_D}
replace all " days" with "&6j&e" in {_dif_D}
replace all " day" with "&6j&e" in {_dif_D}
replace all " minutes" with "&6m&e" in {_dif_D}
replace all " minute" with "&6m&e" in {_dif_D}
replace all " seconds" with "&6s&e" in {_dif_D}
replace all " second" with "&6s&e" in {_dif_D}
replace all " and " with " " in {_dif_D}
message "&7Suppression Auto dans: &e%{_dif_D}%"
set {_p} to FactionPower("%{_faction}%")
message "&7Power: &d%{_p}% powers &8- &7Chunks Claims: &6%{f.fac.chunksclaims.%{_faction}%}%"
# connecté et membres
set {_c} to 0
set {_nbchefs} to 0
loop all players:
if "%{f.fac.name.%loop-player%}%" is "%{_faction}%":
add 1 to {_c}
if {f.fac.grade.%loop-player%} is 3:
if {_m} is set:
set {_m} to "%{_m}%&7, &c%loop-player%"
else:
set {_m} to "&c%loop-player%"
add 1 to {_nbchefs}
else if {f.fac.grade.%loop-player%} is 2:
if {_m} is set:
set {_m} to "%{_m}%&7, &5%loop-player%"
else:
set {_m} to "&5%loop-player%"
add 1 to {_nbchefs}
else:
if {_m} is set:
set {_m} to "%{_m}%&7, &d%loop-player%"
else:
set {_m} to "&d%loop-player%"
if {_m} isn't set:
set {_m} to "&fAucun Joueurs connectés"
loop {f.list.players::*}:
if {f.fac.name.%loop-value%} is {_faction}:
if {_mem} is set:
set {_mem} to "%{_mem}%, %loop-value%"
else:
set {_mem} to "%loop-value%"
if {_mem} isn't set:
set {_mem} to "&fFaction Vide !"
message "&7Membres: &f%{_mem}%"
message "&7Joueurs connectés: &a%{_c}% &8- &7Chefs connectés: &c%{_nbchefs}%"
message "&7Liste des connectés: %{_m}%"
# Allié et Ennemis
loop {f.fac.ennemy.%{f.fac.name.%player%}%::*}:
if {_e} is set:
set {_e} to "%{_e}%&7, &c%loop-value%"
else:
set {_e} to "&c%loop-value%"
loop {f.fac.ally.%{f.fac.name.%player%}%::*}:
if {_a} is set:
set {_a} to "%{_a}%&7, &a%loop-value%"
else:
set {_a} to "&a%loop-value%"
if {_e} isn't set:
set {_e} to "&fAucun Ennemis"
if {_a} isn't set:
set {_a} to "&fAucun Alliés"
message "&7Factions alliés: %{_a}%"
message "&7Factions ennemies: %{_e}%"
message "----------------- {@logo} &f-----------------"
else if argument 1 is "tag":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if arg-2 isn't set:
message "{@logo} &cMettez un surnom (=tag) après '%arg-1%'"
else if length of arg-2 > 10:
message "{@logo} &cVotre tag est trop long !"
else:
set {f.fac.tag.%{f.fac.name.%player%}%} to "%arg-2%"
BroadCast(player, true, "&7Tag changé à: &f%{f.fac.tag.%{f.fac.name.%player%}%}% !")
else if argument 1 is "powerboost":
if {f.fac.name.%player%} isn't set:
message "{@logo} &cVous n'avez pas de Faction !"
else if {f.fac.grade.%player%} < 2:
message "{@logo} &cVous n'avez pas le grade requis !"
else if {f.fac.powerboost.%{f.fac.name.%player%}%} is true:
delete {f.fac.powerboost.%{f.fac.name.%player%}%}
message "{@logo} &7Vous venez de désactiver le &5&lPower&d&lBoost &7!"
else:
set {f.fac.powerboost.%{f.fac.name.%player%}%} to true
BroadCast(player, true, "&7Le &5&lPower&d&lBoost &7vient d'être activé !")
else if argument 1 is "setpower":
if player doesn't have permission "faction.setpower":
message "{@logo} &cVous n'avez pas la permission requise !"
else if arg-2 isn't set:
message "{@logo} &cMettez un nom de faction après ""%arg-1%"" !"
else if {f.fac.chunksclaims.%arg-2%} isn't set:
message "{@logo} &cLa faction %arg-2% n'existe pas !"
else:
set {_n} to 0
loop {f.list.players::*}:
if "%{f.fac.name.%loop-value-1%}%" is "%arg-2%":
add 1 to {_n}
set {_part} to arg-3 / {_n}
set {_p} to random integer between {_part} and ({_part} + 1)
loop {f.list.players::*}:
if "%{f.fac.name.%loop-value-1%}%" is "%arg-2%":
set {f.power.%loop-value-1%} to {_p}
message "{@logo} &7Ton Power a été mis a &d%{_p}% &7!" to loop-value-1
else if argument 1 is "access":
if player doesn't have permission "faction.access":
message "{@logo} &cVous n'avez pas la permission requise !"
else if {f.access.%player%} isn't set:
set {f.access.%player%} to true
message "{@logo} &7Tu as acces a TOUS les chunks ! Attention !"
else:
delete {f.access.%player%}
message "{@logo} &7Tu n'as plus accès à tous les chunks !"
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# CHAT/LIST/MAP
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
else if argument 1 is "chat":
if {f.chat.%player%} is "faction":
message "{@logo} Votre chat est passé sur le mode &aAllié &7!"
set {f.chat.%player%} to "ally"
else if {f.chat.%player%} is "ally":
message "{@logo} Votre chat est passé sur le mode &dGlobal &7!"
set {f.chat.%player%} to "global"
else:
message "{@logo} Votre chat est passé sur le mode &bFaction &7!"
set {f.chat.%player%} to "faction"
else if argument 1 is "list":
if size of {f.list.factions::*} is 0:
message "{@logo} &cAucune Factions créé !"
else:
loop {f.list.factions::*}:
set {_c} to 0
set {_nbchefs} to 0
loop all players:
if "%{f.fac.name.%loop-player%}%" is "%loop-value-1%":
add 1 to {_c}
if {f.fac.grade.%loop-player%} >= 2:
add 1 to {_nbchefs}
if {f.fac.invitation.%loop-value%} is true:
message "{@logo} &b%loop-value-1% &8- &7Co: &a%{_c}%&7(&2%{_nbchefs}% &7chefs) &8- &6%{f.fac.chunksclaims.%loop-value-1%}% █ &8- &7Status: &aOuvert"
else:
message "{@logo} &b%loop-value-1% &8- &7Co: &a%{_c}%&7(&2%{_nbchefs}% &7chefs) &8- &6%{f.fac.chunksclaims.%loop-value-1%}% █ &8- &7Status: &cFermé"
else if argument 1 is "map":
if argument 2 is "off":
delete {f.fac.bouclemap::%player%}
loop 150 times:
message " "
message "{@logo} &7La Map n'est plus permanente."
else if argument 2 is "on":
set {f.fac.bouclemap::%player%} to true
message "{@logo} &7La Map est désormais permanente."
else if argument 2 isn't "auto":
message "{@logo} &7Faites &f/f map on|off &7pour la rendre permanente."
else:
set {_mapX} to 11
set {_mapY} to 6
set {_m} to ""
loop 13 times:
loop 23 times:
set {_x} to {_mapX} * 16
set {_y} to {_mapY} * 16
set {_chunk} to chunk at block {_y} blocks north {_x} blocks west of player
if {f.chunk::%{_chunk}%} isn't set:
set {_result} to ""
else:
set {_result} to {f.chunk::%{_chunk}%}
if {_chunk} is chunk at player:
set {_m} to "%{_m}%&2█"
else if {_result} is {f.fac.name.%player%}:
set {_m} to "%{_m}%&a█"
else if {_result} is "SAFE":
set {_m} to "%{_m}%&b█"
else if {_result} is "WARZONE":
set {_m} to "%{_m}%&e█"
else if {_result} is "":
set {_m} to "%{_m}%&7█"
else:
set {_m} to "%{_m}%&c█"
add -1 to {_mapX}
message "%{_m}%" to player
set {_m} to ""
add -1 to {_mapY}
set {_mapX} to 11
if arg-2 isn't "auto":
message " "
message "&a█&7: &aTa Faction &2█&7: &2Ta Position &c█&7: &cEnnemis"
message "&b█&7: &bZone sécurisé &7█: Zone Libre &e█&7: &eWarZone"
else if arg-2 isn't set:
message " "
message "&a█&7: &aTa Faction &2█&7: &2Ta Position &c█&7: &cEnnemis"
message "&b█&7: &bZone sécurisé &7█: Zone Libre &e█&7: &eWarZone"
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
# AIDE
#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
else if argument 1 is "help5" or "5" or "?5" or "help-5" or "?-5":
message "-----------------------------------------------------"
message "/f sethome &9> &7Pour régler la position spawn de la faction"
message "/f home &9> &7Pour se téléporter à la faction"
message "/f setpower &9> &7Pour régler le power d'une faction"
message "/f access &9> &7Pour accèder à tous les chunks"
message "&o/historic &9> &7Pour voir les ajouts de la dernière version"
message "-----------------------------------------------------"
else if argument 1 is "help4" or "4" or "?4" or "help-4" or "?-4":
message "-----------------------------------------------------"
message "/f info &9> &7Pour voir les infos de la faction"
message "/f chat &9> &7Pour modifier le chat (Faction/Global)"
message "/f list &9> &7Pour voir la liste des factions"
message "/f setsafe &9> &7Pour set un claim Safe"
message "/f remsafe &9> &7Pour supprimer un claim Safe"
message "/f setwarzone &9> &7Pour set un claim WarZone"
message "/f remwarzone &9> &7Pour supprimer un claim WarZone"
message "/f invitations me|faction &9> &7Pour voir les invitations"
message "&e&n&lPAGE 5&e&l >>> &f/f 5"
message "-----------------------------------------------------"
else if argument 1 is "help3" or "3" or "?3" or "help-3" or "?-3":
message "-----------------------------------------------------"
message "/f map [on|off] &9> &7Pour voir les chunks aux alentours"
message "/f surclaim &9> &7Pour claim un chunk d'une faction ennemi"
message "/f ally &9> &7Pour ajouter une faction allié"
message "/f ennemy &9> &7Pour ajouter une faction ennemi"
message "/f neutral &9> &7Pour ajouter une faction neutre"
message "/f allies &9> &7Pour voir les factions allié/ennemis"
message "/f accept &9> &7Pour accepter une demande d'alliance"
message "/f decline &9> &7Pour refuser une demande d'alliance"
message "&e&n&lPAGE 4&e&l >>> &f/f 4"
message "-----------------------------------------------------"
else if argument 1 is "help2" or "2" or "?2" or "help-2" or "?-2":
message "-----------------------------------------------------"
message "/f invite &9> &7Pour inviter un joueur dans sa faction"
message "/f toggleinvite &9> &7Pour ouvrir/fermer les invitations"
message "/f yes &9> &7Pour accepter une demande d'invitation"
message "/f no &9> &7Pour refuser une demande d'invitation"
message "/f kick &9> &7Pour kicker un joueur de sa faction"
message "/f promote &9> &7Pour promouvoir un joueur de sa faction"
message "/f demote &9> &7Pour rabaisser le rang d'un joueur de sa faction"
message "/f powerboost &9> &7Pour activer le PowerBoost"
message "&e&n&lPAGE 3&e&l >>> &f/f 3"
message "-----------------------------------------------------"
else:
message "-----------------------------------------------------"
message "/f create &9> &7Pour créer ta faction"
message "/f disband &9> &7Pour supprimer ta faction"
message "/f quit &9> &7Pour quitter sa faction"
message "/f claim &9> &7Pour claim un chunk"
message "/f unclaim &9> &7Pour unclaim un chunk"
message "/f unclaimall &9> &7Pour unclaim tout les chunks"
message "/f desc &9> &7Pour changer la description"
message "/f tag &9> &7Pour changer la tag du chat de la faction"
message "&e&n&lPAGE 2&e&l >>> &f/f 2"
message "-----------------------------------------------------"