Aller au contenu

Messages recommandés

Posté(e)

Version de Minecraft : 1.18.1
Version de Skript : 2.6.1

Type du skript : Skript de faction simple avec seulement 2-3 fonctionnalités seulement

Description du script :

Bonjour, serait-il possible d'obtenir de l'aide sur un skript de faction ; nous aimerions ces fonctionnalités :

- Claim (Avec limite en fonction du nombre de joueurs…)

-Invitation / Exclusion / Création de faction…

-Banque commune à la faction compatible avec un autre skript ou plugin d'économie

-... Et c'est tout 

Merci d'avance pour vos réponses, et bonne soirée

Posté(e)
Le 23/02/2022 à 19:47, Bulgui_553 a dit :

Version de Minecraft : 1.18.1
Version de Skript : 2.6.1

Type du skript : Skript de faction simple avec seulement 2-3 fonctionnalités seulement

Description du script :

Bonjour, serait-il possible d'obtenir de l'aide sur un skript de faction ; nous aimerions ces fonctionnalités :


- Claim (Avec limite en fonction du nombre de joueurs…)

-Invitation / Exclusion / Création de faction…

-Banque commune à la faction compatible avec un autre skript ou plugin d'économie

-... Et c'est tout 

Merci d'avance pour vos réponses, et bonne soirée

Salut, le claim c'est pour créer la faction ?

Posté(e)
Il y a 8 heures, LOUDO a dit :

Oui mais claim quoi exactement?

Bonsoir,

Oui, désolé ! Et bien, il pourrait, en claimant, empêcher les autres joueurs (N'étants pas dans leur faction) de casser et poser des blocks, d'ouvrir les coffres (J'utilise actuellement BlockLocker pour les coffres en individuels - En gros, dans un claim, seulement les joueurs de la faction pourraient ouvrir les coffres, et en plus, il pourraient lock les coffres que pour eux) ), d'allumer des tnt... Option pour activer / désactiver utilisation de leviers, plaques de pressions… si possible.
Bonne soirée,

Posté(e)
Il y a 13 heures, Bulgui_553 a dit :

Bonsoir,

Oui, désolé ! Et bien, il pourrait, en claimant, empêcher les autres joueurs (N'étants pas dans leur faction) de casser et poser des blocks, d'ouvrir les coffres (J'utilise actuellement BlockLocker pour les coffres en individuels - En gros, dans un claim, seulement les joueurs de la faction pourraient ouvrir les coffres, et en plus, il pourraient lock les coffres que pour eux) ), d'allumer des tnt... Option pour activer / désactiver utilisation de leviers, plaques de pressions… si possible.
Bonne soirée,

Ok c'est bon je pense avoir compris le concept, je te fais ça

  • J'aime 1
Posté(e) (modifié)
Le 27/02/2022 à 12:02, Bulgui_553 a dit :

Merci !

Salut, voilà

Dépendance requise: Json.sk

 

Citation

options:
	prefix: &c&lFaction &8»
	limit_default: 20
	create_faction: &7Vous devez déjà créer une faction pour réaliser cette commande. Pour en créer un, il suffit simplement de faire ||&ccette commande||ttp:&7Clique pour le mettre dans le chat||sgt:/faction create [nom]
	temps_expire_invite: 60 # secondes
	cooldown_claim: 600 # secondes



function convert_time(s: number) :: text:
	set {_h} to {_s}/3600
	set {_h} to rounded down {_h}
	set {_m} to ({_s}-{_h}*3600)/60
	set {_m} to rounded down {_m}
	set {_s} to ({_s} - {_h} * 3600) - {_m} * 60
	set {_s} to rounded down {_s}
	if {_h} = 0:
		set {_h} to ""
	else:
		set {_h} to "%{_h}% heures et " 
	if {_m} = 0:
		set {_m} to ""
	else:
		set {_m} to "%{_m}% minutes et "
	set {_s} to "%{_s}% secondes"
	return "%{_h}%%{_m}%%{_s}%"


on skript stop:
	loop all offline players:
		if {faction::%loop-value's uuid%::cooldown} is set:
			clear {faction::%loop-value's uuid%::cooldown}


command /faction [<text=help>] [<text>]:
	trigger:
		if arg 1 is "help":
			send "&7&m---------------------------------------------"
			send "&c/faction &7&ocreate [nom] &r&7- Créer votre faction"
			send "&c/faction &7&olimit [nombre] &r&7- Mettre un nombre limité de joueurs dans votre faction"
			send "&c/faction &7&odisband &r&7- Supprimer votre faction"
			send "&c/faction &7&oinvite &r&7- Inviter un joueur dans votre faction"
			send "&c/faction &7&opromote &r&7- Promote un joueur de votre faction en tant que chef"
			send "&c/faction &7&oleave &r&7- Quittez une faction"
			send "&c/faction &7&ochat [message] &r&7- Parler à sa faction"
			send "&c/faction &7&okick [player] &r&7- Exclure un joueur de votre faction"
			send "&c/faction &7&oclaim &r&7- Claim votre base de faction (Attention, cela supprime le dernier claim)"
			send "&7&m---------------------------------------------"
		if arg 1 is "create":
			if arg 2 is set:
				if {faction::%player%::faction::*} is not set:
					if size of {faction::global::*} = 0:
						set {_} to "no"
					else:
						loop {faction::global::*}:
							if loop-value = arg 2:
								set {_} to "yes"
							else:
								set {_} to "no"
					if {_} is "no":
						set {faction::%player%::faction::name} to arg 2
						set {faction::%{faction::%player%::faction::name}%::faction::chef} to player
						set {faction::%{faction::%player%::faction::name}%::faction::limit} to {@limit_default}
						add player to {faction::%{faction::%player%::faction::name}%::faction::players::*}
						add arg 2 to {faction::global::*}
						send "{@prefix} &7Vous venez de créer votre faction &c%arg 2% &7!"
						send "{@prefix} &7La limite max de joueurs à été défini par défaut sur &c{@limit_default}&7. Vous pouvez changez ceci à tout moment." to player
					else:
						send "{@prefix} &7Ce nom est déjà utilisé malheureusement :("
				else:
					send "{@prefix} &7Vous avez déjà créée ou rejoint une faction !"
			else:
				send "{@prefix} &7Veuillez mettre un nom"
		if arg 1 is "limit":
			if {faction::%player%::faction::*} is set:
				if {faction::%{faction::%player%::faction::name}%::faction::chef} = player:
					set {_number} to arg 2 parsed as number
					if {_number} is not a number:
						send "{@prefix} &7Vous devez mettre un nombre !"
					else if {_number} < 0:
						send "{@prefix} &7Votre limite de joueurs ne doit pas être négatif !"
					else:
						set {faction::%{faction::%player%::faction::name}%::faction::limit} to {_number}
						send "{@prefix} &7Votre limite de joueurs à été limité à &c%{_number}% &7avec succès !"
				else:
					send "{@prefix} &7Vous n'êtes pas le chef de la faction &c%{faction::%player%::faction::name}%"
			else:
				json("%player%", "{@prefix} {@create_faction}")

		if arg 1 is "disband":
			if {faction::%player%::faction::*} is set:
				if {faction::%{faction::%player%::faction::name}%::faction::chef} = player:
					send "{@prefix} &7Vous venez de dissoudre la faction &c%{faction::%player%::faction::name}% &7avec succès !"
					loop blocks within {faction::claim::%{faction::%player%::faction::name}%}:
						clear {faction::claim::%location of loop-block%}
						if {faction::claim::%chunk at loop-block%} is set:
							clear {faction::claim::%chunk at loop-block%}
					remove {faction::%player%::faction::name} from {faction::global::*}
					clear {faction::%{faction::%player%::faction::name}%::faction::*}
					clear {faction::%player%::faction::*}
				else:
					send "{@prefix} &7Vous n'êtes pas le chef de la faction &c%{faction::%player%::faction::name}%"
			else:
				json("%player%", "{@prefix} {@create_faction}")

		if arg 1 is "invite":
			if arg 2 is set:
				if {faction::%player%::faction::*} is set:
					set {_receivied} to arg 2 parsed as player
					if {faction::%{_receivied}%::faction::name} != {faction::%player%::faction::name}:
						if {_receivied} is offline:
							send "{@prefix} &7Ce joueur est hors ligne."
						else:
							if (size of {faction::%player%::faction::players::*}) < {faction::%{faction::%player%::faction::name}%::faction::limit}:
								if {faction.invite::%{_receivied}%::timer} is not set:
									set {faction.invite::%{_receivied}%::timer} to {@temps_expire_invite}
									set {faction.invite::%{_receivied}%::name} to {faction::%player%::faction::name}
									set {faction.invite::%{_receivied}%::sender} to player
									send "{@prefix} &7Vous avez invité à rejoindre votre faction à &c%{_receivied}%. &7La demande expire dans &c&l%{faction.invite::%{_receivied}%::timer}% secondes" to player
									send "{@prefix} &c%player% &7vous a invité à rejoindre sa faction &c%{faction::%player%::faction::name}%" to {_receivied}
									json("%{_receivied}%", "&aAcceptez||ttp:&aCliquez pour accepter||cmd:/faction accept|| &7ou|| &cRefusez &7?||ttp:&cCliquez pour refuser||cmd:/faction refuse|| &7La demande expire dans &c&l{@temps_expire_invite} secondes")
									while {faction.invite::%{_receivied}%::timer} > 0:
										remove 1 from {faction.invite::%{_receivied}%::timer}
										if {faction.invite::%{_receivied}%::timer} = 0:
											send "{@prefix} &7Votre invitation à &c%arg 2% &7vient d'expirer !" to player
											send "{@prefix} &7L'invitation de &c%{faction.invite::%{_receivied}%::sender}% &7vient d'expirer !" to {_receivied}
											clear {faction.invite::%{_receivied}%::*}
										wait 1 second
								else:
									send "{@prefix} &7Vous avez déjà invité &c%{_receivied}% &7à rejoindre votre faction. La demande expire dans &c&l%{faction.invite::%{_receivied}%::timer}% secondes"
							else:
								send "{@prefix} &7Il n'y a plus de places !"
					else:
						send "{@prefix} &c%{_receivied}% &7est déjà dans votre faction."
				else:
					json("%player%", "{@prefix} {@create_faction}")

			else:
				send "{@prefix} &7Veuillez mettre un joueur en ligne"
		
		if arg 1 is "accept":
			if {faction::%player%::faction::name} is not set:
				if {faction.invite::%player%::*} is set:
					if {faction::%player%::faction::*} is set:
						make player execute command "/faction leave"
					set {faction::%player%::faction::name} to {faction::%{faction.invite::%player%::sender}%::faction::name}
					send "{@prefix} &7Vous venez de rejoindre la faction &c%{faction.invite::%player%::name}%" to player
					send "{@prefix} &c%player% &7a accepté votre demande demande d'invitation de faction." to {faction.invite::%player%::sender}
					send "{@prefix} &c%player% &7a rejoint la faction ! &c%size of {faction::%{faction::%player%::faction::name}%::faction::players::*}%&7/&c%{faction::%{faction::%player%::faction::name}%::faction::limit}%" to {faction::%{faction::%player%::faction::name}%::faction::players::*}
					add player to {faction::%{faction.invite::%player%::name}%::faction::players::*}
					clear {faction.invite::%player%::*}
				else:
					send "{@prefix} &7Vous n'avez pas reçu d'invitation"
			else:
				send "{@prefix} &7Vous avez déjà rejoint une faction."
		
		if arg 1 is "refuse":
			if {faction::%player%::faction::name} is not set:
				if {faction.invite::%player%::*} is set:
					send "{@prefix} &7Vous avez refusé l'invitation de &c%{faction.invite::%player%::sender}% &7pour rejoindre la faction &c%{faction.invite::%player%::name}%" to player
					send "{@prefix} &c%player% &7a refusé votre demande demande d'invitation de faction." to {faction.invite::%player%::sender}
					clear {faction.invite::%player%::*}
				else:
					send "{@prefix} &7Vous n'avez pas reçu d'invitation"
			else:
				send "{@prefix} &7Vous avez déjà rejoint une faction."
			
		if arg 1 is "promote":
			if arg 2 is set:
				if {faction::%player%::faction::*} is set:
					if {faction::%{faction::%player%::faction::name}%::faction::chef} is player:
						set {_arg2} to arg 2 parsed as offline player
						set {faction::%{faction::%player%::faction::name}%::faction::chef} to {_arg2}
						send "{@prefix} &7Vous avez promu &c%{_arg2}% &7comme chef de la faction" to player
						send "{@prefix} &7Vous avez été promu par &c%player% &7comme chef de la faction" to {_arg2}
				else:
					json("%player%", "{@prefix} {@create_faction}")
			else:
				send "{@prefix} &7Veuillez mettre un joueur"

		if arg 1 is "kick":
			if arg 2 is set:
				if {faction::%player%::faction::*} is set:
					set {_arg2} to arg 2 parsed as offline player
					if "%{faction::%{faction::%player%::faction::name}%::faction::players::*}%" contains "%{_arg2}%":
						remove {_arg2} from {faction::%{faction::%player%::faction::name}%::faction::players::*}
						clear {faction.invite::%{_arg2}%::sender}
						clear {faction::%{_arg2}%::faction::*}
						send "{@prefix} &7Vous venez d'exclure &c%{_arg2}% &7de votre faction"
						send "{@prefix} &c%{_arg2}% &7a été exlclu de la faction ! &c%size of {faction::%{faction::%player%::faction::name}%::faction::players::*}%&7/&c%{faction::%{faction::%player%::faction::name}%::faction::limit}%" to {faction::%{faction::%player%::faction::name}%::faction::players::*}
						if {_arg2} is online:
							send "{@prefix} &c%player% &7vient de vous exclure de sa faction." to {_arg2}
					else:
						send "{@prefix} &c%arg 2% &7n'est pas dans votre faction"

				else:
					json("%player%", "{@prefix} {@create_faction}")
			else:
				send "{@prefix} &7Veuillez mettre un joueur"
		
		if arg 1 is "leave":
			if {faction::%player%::faction::*} is set:
				send "{@prefix} &7Vous venez de quitter la faction &c%{faction::%player%::faction::name}%"
				remove player from {faction::%{faction::%player%::faction::name}%::faction::players::*}
				send "{@prefix} &c%player% &7a quitté la faction ! &c%size of {faction::%{faction::%player%::faction::name}%::faction::players::*}%&7/&c%{faction::%{faction::%player%::faction::name}%::faction::limit}%" to {faction::%{faction::%player%::faction::name}%::faction::players::*}
				if size of {faction::%{faction::%player%::faction::name}%::faction::players::*} <= 0:
					make player execute command "/faction disband"
				if {faction::%{faction::%player%::faction::name}%::faction::chef} is player:
					set {_player} to random element of {faction::%{faction::%player%::faction::name}%::faction::players::*}
					set {faction::%{faction::%player%::faction::name}%::faction::chef} to {_player}
					set {_player} to "%{_player}%" parsed as player
					send "{@prefix} &7Vous avez été promu par &c%player% &7comme chef de la faction" to {_player}
				clear {faction::%player%::faction::*}
			else:
				json("%player%", "{@prefix} {@create_faction}")


		if arg 1 is "claim":
			if {faction::%player%::faction::*} is set:
				if {faction::%{faction::%player%::faction::name}%::faction::chef} = player:
					if {faction::%player's uuid%::cooldown} is not set:
						if {faction::claim::%chunk at player%} is not set:
							set {_} to "yes"
						else:
							send "{@prefix} &7Cette endroit a déjà été claim par la faction &c%{faction::claim::%chunk at player%}%"
							stop
						if {_} = "yes":
							send "{@prefix} &7Procédure en cours..."
							if {faction::claim::%{faction::%player%::faction::name}%} is set:
								loop blocks within {faction::claim::%{faction::%player%::faction::name}%}:
									clear {faction::claim::%location of loop-block%}
								clear {faction::claim::%{faction::claim::%{faction::%player%::faction::name}%}%}
							loop blocks within chunk at player:
								if loop-value = air:
									add 1 to {_count}
									if {_count} > 4500:
										stop loop
								else:
									if {_count} > 0:
										remove 1 from {_count}
								set {faction::claim::%location of loop-block%} to {faction::%player%::faction::name}
							set {faction::claim::%{faction::%player%::faction::name}%} to chunk at player
							set {faction::claim::%chunk at player%} to {faction::%player%::faction::name}
							set {faction::%player's uuid%::cooldown} to {@cooldown_claim}
							send "{@prefix} &7Vous venez de claim votre base !"
							while {faction::%player's uuid%::cooldown} > 0:
								wait 1 second
								remove 1 from {faction::%player's uuid%::cooldown}
								if {faction::%player's uuid%::cooldown} = 0:
									clear {faction::%player's uuid%::cooldown}
									stop loop
						else:
							send "{@prefix} &7Cette endroit a déjà été claim par la faction &c%{_faction}%"
					else:
						set {_cooldown} to convert_time({faction::%player's uuid%::cooldown})
						send "{@prefix} &7Vous ne pouvez pas claim une base avant &c%{_cooldown}%&7."
				else:
					send "{@prefix} &7Vous n'êtes pas le chef de la faction &c%{faction::%player%::faction::name}%"
			else:
				json("%player%", "{@prefix} {@create_faction}")

		if arg 1 is "chat":
			if arg 2 is set:
				if {faction::%player%::faction::*} is set:
					send "&6[&cFaction&6] &c%player% &8» &7%arg 2%" to {faction::%{faction::%player%::faction::name}%::faction::players::*}
				else:
					json("%player%", "{@prefix} {@create_faction}")
			else:
				send "{@prefix} &7Veuillez mettre un message"
		
		if arg 1 is "list":
			if {faction::%player%::faction::*} is set:
				send "&7Liste des joueurs dans votre faction &c%size of {faction::%{faction::%player%::faction::name}%::faction::players::*}%&7/&c%{faction::%{faction::%player%::faction::name}%::faction::limit}%"
				loop {faction::%{faction::%player%::faction::name}%::faction::players::*}:
					if {faction::%{faction::%player%::faction::name}%::faction::chef} is loop-value:
						set {_cr} to "&7(Chef)"
					else:
						set {_cr} to ""
					send "&c- &7%loop-value% %{_cr}%"
					
			else:
				json("%player%", "{@prefix} {@create_faction}")

	

on break:
	if {faction::claim::%location of event-block%} is set:
		if {faction::claim::%location of event-block%} != {faction::%player%::faction::name}:
			cancel event
			send "{@prefix} &7Cette zone à été claim par la faction &c%{faction::claim::%location of event-block%}%" to player


on place:
	if {faction::claim::%location of event-block%} is set:
		if {faction::claim::%location of event-block%} != {faction::%player%::faction::name}:
			cancel event
			send "{@prefix} &7Cette zone à été claim par la faction &c%{faction::claim::%location of event-block%}%" to player

on rightclick on chest:
	if {faction::claim::%location of event-block%} is set:
		if {faction::claim::%location of event-block%} != {faction::%player%::faction::name}:
			cancel event
			send "{@prefix} &7Cette zone à été claim par la faction &c%{faction::claim::%location of event-block%}%" to player

on explode:
	loop exploded blocks:
		if {faction::claim::%location of loop-block%} is set:
			cancel event

 

 

Si il y a un problème, dit moi

Modifié par LOUDO
  • J'aime 1
Posté(e)
Le 27/02/2022 à 16:13, LOUDO a dit :

Salut, voilà

Dépendance requise: Json.sk et TusKe

 

 

Si il y a un problème, dit moi

Salut ! Merci ! Mais la commande

/faction

ne fonctionne pas…. J'arrive pourtant bien à reload le skript, sans erreur… Une idée ? bonne soirée,

Posté(e)
Il y a 2 heures, Bulgui_553 a dit :

Salut ! Merci ! Mais la commande


/faction

ne fonctionne pas…. J'arrive pourtant bien à reload le skript, sans erreur… Une idée ? bonne soirée,

Passe discord si tu veux bien LOUDO#6125

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.