SwatchNow Posté(e) le 27 juin 2018 Posté(e) le 27 juin 2018 (modifié) Hello all , donc comme l’indique le titre j'aimerais mettre en place un mini jeu type pvp swap , explication : Résumé rapide : La partie commence a 2 joueurs minimum et 4 maximum , tous les joueurs sont téléporter dans une piece en cube avec des ressources (même piece ) . Vous avez 5 min pour crée votre équipement pour etre ensuite téléporter en arene en 2vs2 aléatoire. Requis : Lobby de fin Lobby d'attente ingame 4 pos de tp pour la piece avec les ressources 4 pos de tp en arene Menu de choix de kit ( gratuit) dans le lobby d'attente in game Item pour quitter la partie dans le lobby d'attente Commande pour rejoindre les parties scoreboard (attente , en jeu , fin ) etc.. ( j'ai peut etre oublié des choses ) si possible j'aimerais parler de la suite via discord pour mieux expliquer le mini jeu ! Thx Modifié le 27 juin 2018 par SwatchNow
Joriis Posté(e) le 27 juin 2018 Posté(e) le 27 juin 2018 (modifié) Salut, Je sais qu'un Skript PvPSwap avait été fait sur la V1, je te donne ici le code, peut-être que cela peut t'aider. Lien original : https://v1.skript-mc.fr/threads/pvpswap-mc-version-1-8-zaym_.5684/#post-52674 #Skrip de Zaym_. #En cas d'utilisation de ce skript, veuillez ne rien modifier où sinon me citer si des parties de mon skript ont été utilisés. #Le Skript PvPSwap est en Bêta. Veuillez signlez les bug sur youtube. https://www.youtube.com/c/ZaymDev #Des mises à jours seront faites régulièrement. #Merci de ne rien modifier ;) options: logo: &9[&6PvpSwap&9]&r maxjoueurs: 2 #<-- Veuillez mettre le nombre de joueurs (max 24). #------------------------------------------------------------------------------------------------------------------------------# # Commandes ! PvpSwap + kit # #------------------------------------------------------------------------------------------------------------------------------# command /pvpswap [<text>] [<text>]: aliases: ps permission: admin.server permission message: &cErreur, vous n'avez pas la permission. trigger: if arg 1 is not set: send "{@logo} &7&l» &6&lHelp" to player send "/pvpswap setlobby - Définir le lobby." to player send "/pvpswap setile <1/2/3...> - Définir les différentes îles." to player send "/pvpswap setdeathmatch <1/2/3/4> - Définir les points du deathmatch." to player send "{@logo} &7&l» &6&lHelp" to player stop if arg 1 is "setlobby": if {lobby.pvpswap} is set: send "{@logo} &cVous avez bien redéfinis le lobby." to player set {lobby.pvpswap} to location of player stop else: set {lobby.pvpswap} to location of player send "{@logo} &aVous avez bien définis le lobby." to player stop if arg 1 is "setile": if arg 2 is set: if arg 2 is "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8" or "9" or "10" or "11" or "12" or "13" or "14" or "15" or "16" or "17" or "18" or "19" or "20" or "21" or "22" or "23" or "24": if {ile.%arg-2%} is set: send "{@logo} &cErreur, vous avez déjà définis cette île." to player stop else: set {ile.%arg-2%} to location of player send "{@logo} &aVous avez bien définis l'île n°%arg-2%" to player stop else: send "{@logo} &cErreur, vous ne pouvez définir seulement 24 spawns." to player stop else: send "{@logo} &cLa commande est /setpvp 1/2/3..." to player stop if arg 1 is "setdeathmatch": if arg 2 is set: if arg 2 is "1" or "2" or "3" or "4": if {deathmatch.%arg-2%} is set: send "{@logo} &cErreur, vous avez déjà définis cette point du deathmatch." to player stop else: set {deathmatch.%arg-2%} to location of player send "{@logo} &aVous avez bien définis le point n°%arg-2% du deathmatch." to player stop else: send "{@logo} &cErreur, vous ne pouvez définir seulement 4 spawns." to player stop else: send "{@logo} &cLa commande est /pvpswap setdeathmatch 1/2/3/4" to player stop command /kit [<text>]: trigger: if {gamestatut} is true: send "{@logo} &cVous ne pouvez choisir de kit seulement dans le lobby." to player stop else: if arg 1 is not set: wait 3 tick open chest with 1 row named "&9Choisis un kit :" to player format slot 0 of player with a experience bottle named "&eEnchanteur" with lore "&aVous recevrez : || &a-16 bouteilles d'enchantements. || &a-Une pioche." to close then run [make player execute command "/kit enchanteur"] format slot 1 of player with a stone sword named "&9Guerrier" with lore "&aVous recevrez : || &a-Une épée en pierre|| &a-Une pomme d'or." to close then run [make player execute command "/kit guerrier"] format slot 8 of player with a gold ingot named "&3Plugin by Zaym_" with lore "&6Plugin développer par Zaym_." to be unstealable else: if arg 1 is "enchanteur": send "{@logo} &aVous avez bien séléctionner le kit : %arg-1%" to player set {kit.enchanteur.%player%} to true set {kit.guerrier.%player%} to false stop if arg 1 is "guerrier": send "{@logo} &aVous avez bien séléctionner le kit : %arg-1%" to player set {kit.guerrier.%player%} to true set {kit.enchanteur.%player%} to false stop #------------------------------------------------------------------------------------------------------------------------------# # Evenements Join / Broadcast manque de joueurs ! # #------------------------------------------------------------------------------------------------------------------------------# on join: if {gamestatut} is true: bungeecord connect player to "hub" stop else: add 1 to {joueurtotal} add name of player to {joueurtotalname} send "{@logo} &eVous avez bien rejoint le pvpswap !" to player set join message to "" broadcast "{@logo} &a%player% &ea rejoint le pvpswap ! &b(&3%{joueurtotal}%/{@maxjoueurs}&b)" clear inventories of player heal the player teleport player to {lobby.pvpswap} set level of player to 0 set slot 0 of player to a name tag named "&6Kit &7(Clique droit)" with lore "&9Clique droit pour voir les kits !" set slot 8 of player to a bed named "&fQuitter le PvpSwap ! &7(Clique Droit)" with lore "&7Clique droit sur le lit pour quitter le jeu !" if {joueurtotal} = {@maxjoueurs}: set {gamestatut} to true broadcast "{@logo} &fLancement du pvpswap dans &e10 &fsecondes !" wait 1 second broadcast "{@logo} &fLancement du pvpswap dans &e9 &fsecondes !" wait 1 second broadcast "{@logo} &fLancement du pvpswap dans &e8 &fsecondes !" wait 1 second broadcast "{@logo} &fLancement du pvpswap dans &e7 &fsecondes !" wait 1 second broadcast "{@logo} &fLancement du pvpswap dans &e6 &fsecondes !" wait 1 second broadcast "{@logo} &fLancement du pvpswap dans &e5 &fsecondes !" wait 1 second broadcast "{@logo} &fLancement du pvpswap dans &e4 &fsecondes !" wait 1 second broadcast "{@logo} &fLancement du pvpswap dans &e3 &fsecondes !" wait 1 second broadcast "{@logo} &fLancement du pvpswap dans &e2 &fsecondes !" wait 1 second broadcast "{@logo} &fLancement du pvpswap dans &e1 &fseconde !" wait 1 second loop all players: set {totalkills.%uuid of loop-player%} to 0 add 1 to {_ile} teleport loop-player to {ile.%{_ile}%} clear inventories of loop-player set {nomove.%loop-player%} to true execute console command "/effect %loop-player% saturation 99 250" if {kit.enchanteur.%loop-player%} is true: give 16 experience bottle to loop-player give 1 stone pickaxe to loop-player if {kit.guerrier.%loop-player%} is true: give 1 stone sword to loop-player give 1 322 to loop-player if {kit.enchanteur.%loop-player%} is false: if {kit.guerrier.%loop-player%} is false: chance of 50%: set {kit.guerrier.%loop-player%} to true give 1 stone sword to loop-player give 1 322 to loop-player stop chance of 50%: set {kit.enchanteur.%loop-player%} to true give 16 experience bottle to loop-player give 1 stone pickaxe to loop-player stop if {kit.enchanteur.%loop-player%} is not set: if {kit.guerrier.%loop-player%} is not set: chance of 50%: set {kit.guerrier.%loop-player%} to true give 1 stone sword to loop-player give 1 322 to loop-player stop chance of 50%: set {kit.enchanteur.%loop-player%} to true give 16 experience bottle to loop-player give 1 stone pickaxe to loop-player stop wait 3 seconds set {firstswap} to true loop all players: set {nomove.%loop-player%} to false set {timepvpswap} to true broadcast "{@logo} &eLancement de la partie !" broadcast "{@logo} &cLe pvp s'activera au prochain SWAP !" set {nodamage} to true wait 1 minutes loop all players: add 1 to {_ile} teleport loop-player to {ile.%{_ile}%} set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 broadcast "{@logo} &a&klll &eSWAP ! &a&klll" set {firstswap} to false set {nodamage} to false else: broadcast "{@logo} &eIl manque %{@maxjoueurs}-{joueurtotal}% joueurs." every 30 seconds: if {joueurtotal} < {@maxjoueurs}: broadcast "{@logo} &eIl manque %{@maxjoueurs}-{joueurtotal}% joueurs." #------------------------------------------------------------------------------------------------------------------------------# # Swap ! # #------------------------------------------------------------------------------------------------------------------------------# every 1 minutes in "world": if {gamestatut} is true: if {firstswap} is false: if {notp} is false: chance of 50%: wait 20 seconds if {joueurtotal} > 4: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {ile.%{_ile}%} broadcast "{@logo} &a&klll &eSWAP ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 stop if {joueurtotal} = 2: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop if {joueurtotal} = 3: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop if {joueurtotal} = 4: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop chance of 30%: wait 30 seconds if {joueurtotal} > 4: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {ile.%{_ile}%} broadcast "{@logo} &a&klll &eSWAP ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 stop if {joueurtotal} = 2: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop if {joueurtotal} = 3: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop if {joueurtotal} = 4: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop chance of 20%: wait 40 seconds if {joueurtotal} > 4: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {ile.%{_ile}%} broadcast "{@logo} &a&klll &eSWAP ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 stop if {joueurtotal} = 2: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop if {joueurtotal} = 3: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop if {joueurtotal} = 4: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop chance of 10%: wait 1 minute if {joueurtotal} > 4: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {ile.%{_ile}%} broadcast "{@logo} &a&klll &eSWAP ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 stop if {joueurtotal} = 2: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop if {joueurtotal} = 3: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop if {joueurtotal} = 4: loop all players: clear {_ile} add 1 to {_ile} teleport loop-player to {deathmatch.%{_ile}%} broadcast "{@logo} &a&klll &4DEATHMATCH ! &a&klll" set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 set {notp} to true stop #------------------------------------------------------------------------------------------------------------------------------# # ScoreBoard ! # #------------------------------------------------------------------------------------------------------------------------------# every 1 second: if {timepvpswap} is true: add 1 to {seconds.pvpswap} if {seconds.pvpswap} = 60: set {seconds.pvpswap} to 0 add 1 to {minutes.pvpswap} loop all players: wipe loop-player's sidebar set name of sidebar of loop-player to "&6&lPvp&e&lSwap" set score "&8----------&8----------&8----------&e" in sidebar of loop-player to 6 set score "&3Joueur : %loop-player%" in sidebar of loop-player to 5 set score "&9Nombre de Joueurs : &c%{joueurtotal}%" in sidebar of loop-player to 4 set score "&eKills : &a%{totalkills.%uuid of loop-player%}%" in sidebar of loop-player to 3 set score "&8----------&8----------&8----------&7&9" in sidebar of loop-player to 2 set score "&bTemps écoulés : &a%{minutes.pvpswap}%:%{seconds.pvpswap}%" in sidebar of loop-player to 1 set score "&8----------&8----------&8----------&7&2" in sidebar of loop-player to 0 wait 0.5 seconds wipe loop-player's sidebar set name of sidebar of loop-player to "&e&lPvp&6&lSwap" set score "&8----------&8----------&8----------&e" in sidebar of loop-player to 6 set score "&3Joueur : %loop-player%" in sidebar of loop-player to 5 set score "&9Nombre de Joueurs : &c%{joueurtotal}%" in sidebar of loop-player to 4 set score "&eKills : &a%{totalkills.%uuid of loop-player%}%" in sidebar of loop-player to 3 set score "&8----------&8----------&8----------&7&9" in sidebar of loop-player to 2 set score "&bTemps écoulés : &a%{minutes.pvpswap}%:%{seconds.pvpswap}%" in sidebar of loop-player to 1 set score "&8----------&8----------&8----------&7&2" in sidebar of loop-player to 0 else: loop all players: wipe loop-player's sidebar set name of sidebar of loop-player to "&6&lPvp&e&lSwap" set score "&8----------&8----------&8----------&e" in sidebar of loop-player to 6 set score "&3Joueur : %loop-player%" in sidebar of loop-player to 5 set score "&9Nombre de Joueurs : &c%{joueurtotal}%" in sidebar of loop-player to 4 set score "&ePlugin by Zaym_ !" in sidebar of loop-player to 3 set score "&8----------&8----------&8----------&7&9" in sidebar of loop-player to 2 wait 0.3 seconds wipe loop-player's sidebar set name of sidebar of loop-player to "&e&lPvp&6&lSwap" set score "&8----------&8----------&8----------&e" in sidebar of loop-player to 6 set score "&3Joueur : %loop-player%" in sidebar of loop-player to 5 set score "&9Nombre de Joueurs : &c%{joueurtotal}%" in sidebar of loop-player to 4 set score "&ePlugin by Zaym_ !" in sidebar of loop-player to 3 set score "&8----------&8----------&8----------&7&9" in sidebar of loop-player to 2 #------------------------------------------------------------------------------------------------------------------------------# # Déconnexion ! # #------------------------------------------------------------------------------------------------------------------------------# on quit: if {gamestatut} is true: if {spec.%player%} is true: set {spec.%player%} to false set {totalkills.%uuid of player%} to 0 stop else: remove name of player from {joueurtotalname} remove 1 from {joueurtotal} set quit message to "" if {joueurtotal} = 1: broadcast "{@logo} &9%player% &3a quitté le pvpswap !" set {timepvpswap} to false broadcast "{@logo} &9&klll &aFélicitation &e%{joueurtotalname}% &9&klll" broadcast "{@logo} &fTéléportation au hub dans 10 secondes !" wait 5 seconds broadcast "{@logo} &fTéléportation au hub dans 5 secondes !" wait 1 second broadcast "{@logo} &fTéléportation au hub dans 4 secondes !" wait 1 second broadcast "{@logo} &fTéléportation au hub dans 3 secondes !" wait 1 second broadcast "{@logo} &fTéléportation au hub dans 2 secondes !" wait 1 second broadcast "{@logo} &fTéléportation au hub dans 1 seconde !" wait 1 second loop all players: bungeecord connect loop-player to "hub" make console execute command "/resetmap" wait 2 seconds execute console command "/restart" else: broadcast "{@logo} &9%player% &3a quitté le pvpswap ! Joueurs restants : &a%{@maxjoueurs}-{joueurtotal}% &3joueurs." else: if {joueurtotal} = 1: remove name of player from {joueurtotalname} remove 1 from {joueurtotal} set quit message to "" broadcast "{@logo} &a%player% &3a quitté le PvpSwap. Joueurs restants : &a%{@maxjoueurs}-{joueurtotal}% &3joueurs." else: if {joueurtotal} > 1: remove name of player from {joueurtotalname} remove 1 from {joueurtotal} set quit message to "" broadcast "{@logo} &a%player% &3a quitté le PvpSwap. Joueurs restants : &a%{@maxjoueurs}-{joueurtotal}% &3joueurs." #------------------------------------------------------------------------------------------------------------------------------# # MORTS ! # #------------------------------------------------------------------------------------------------------------------------------# on death: if {gamestatut} is true: if victim is a player: remove name of victim from {joueurtotalname} remove 1 from {joueurtotal} set death message to "" execute console command "/gamemode 3 %victim%" set {spec.%victim%} to true send "{@logo} &aTu es maintenant spectateur !" to victim send "{@logo} &bBien joué ! Vous avez tué %victim% !" to attacker add 1 to {totalkills.%uuid of attacker%} teleport victim to {lobby.pvpswap} if {joueurtotal} = 1: broadcast "{@logo} &9%attacker% &aa tué &3%victim% &a!" set {timepvpswap} to false broadcast "{@logo} &9&klll &aFélicitation &e%attacker% &9&klll" broadcast "{@logo} &fTéléportation au hub dans 10 secondes !" wait 5 seconds broadcast "{@logo} &fTéléportation au hub dans 5 secondes !" wait 1 second broadcast "{@logo} &fTéléportation au hub dans 4 secondes !" wait 1 second broadcast "{@logo} &fTéléportation au hub dans 3 secondes !" wait 1 second broadcast "{@logo} &fTéléportation au hub dans 2 secondes !" wait 1 second broadcast "{@logo} &fTéléportation au hub dans 1 seconde !" wait 1 second loop all players: bungeecord connect loop-player to "hub" make console execute command "/resetmap" wait 2 seconds execute console command "/restart" else: broadcast "{@logo} &9%attacker% &aa tué &3%victim% &a! Joueurs restants : &a%{@maxjoueurs}-{joueurtotal}% &3joueurs." #------------------------------------------------------------------------------------------------------------------------------# # Evenements simples ! # #------------------------------------------------------------------------------------------------------------------------------# on script load: set {gamestatut} to false set {joueurtotal} to 0 clear {joueurtotalname} broadcast "{@logo} &aPlugin Lancé ! Plugin by Zaym_." set {notp} to false set {firstswap} to false set {minutes.pvpswap} to 0 set {secondes.pvpswap} to 0 on damage: if {nodamage} is true: cancel event if {gamestatut} is false: cancel event on any move: if {nomove.%player%} is true: set {_lastloc.%player%} to location of player teleport player to {_lastloc.%player%} on hunger meter change: if {gamestatut} is false: cancel event on rightclick: player is holding a bed named "&fQuitter le PvpSwap ! &7(Clique Droit)" with lore "&7Clique droit sur le lit pour quitter le jeu !": send "{@logo} &aVous avez bien quitté le PvpSwap !" bungeecord connect player to "hub" stop player is holding a name tag named "&6Kit &7(Clique droit)" with lore "&9Clique droit pour voir les kits !": make player execute command "/kit" on weather change: set weather to sunny on respawn: teleport player to {lobby.pvpswap} #------------------------------------------------------------------------------------------------------------------------------# # Reset du PvPSwap ! # #------------------------------------------------------------------------------------------------------------------------------# # Prochaine version ;) Edit: Sachant que c'est vraiment très long à développer, je n'ai pas le temps pour te le faire. Cordialement, Modifié le 27 juin 2018 par Rush2Fer
SwatchNow Posté(e) le 27 juin 2018 Auteur Posté(e) le 27 juin 2018 suffit de voir "every 1 second" pour me faire fuir . Non plus sérieusement j'ai pas envie de toucher au code et j'aimerais vraiment un truc propre . Mais merci de ton message ?
Joriis Posté(e) le 27 juin 2018 Posté(e) le 27 juin 2018 à l’instant, SwatchNow a dit : suffit de voir "every 1 second" pour me faire fuir . Non plus sérieusement j'ai pas envie de toucher au code et j'aimerais vraiment un truc propre . Mais merci de ton message ? Je n'ai pas dit non plus que le code était propre, mais cela te fait un bon début ou si des gens ici ont du temps de pouvoir le reprendre. Ps: Après, le every 1 second cela dépend combien de joueurs va accueillir ton serveur, si c'est pour 50 joueurs, le every 1 second n'aura aucun impact sur ton serveur, pour 200 ce n'est pas la même chose.
SwatchNow Posté(e) le 30 juin 2018 Auteur Posté(e) le 30 juin 2018 Uiytt n'a pas commencé et ne veut pas . Donc actualisé :x
SwatchNow Posté(e) le 14 juillet 2018 Auteur Posté(e) le 14 juillet 2018 sujet encore a relance , arrête de dire : Je prend pour au final dire : je n'ai pas le temps !
LeCraftDeOuf Posté(e) le 15 juillet 2018 Posté(e) le 15 juillet 2018 Bon, de 1. Je t'es dit que je favoriser les skripts qui m'ont étais monétiser. De 2. Je t'avais prévenue que j'aurai peu de temps pour t'aider. De 3. Prochaine fois je me ferai plus chier le *** a me reveiller là nuit pour bosser sur le tienne ! Cordialement LeCraftDeOuf Ci quelqu'un veut dejà le début : #Système d'attente a faire, tp des joueurs dans les différents boxe. Mini_jeu.sk
Messages recommandés