Aller au contenu
Voserv

[Avancé]Créer un Minigame | Mort et commande pour quitter

Messages recommandés

Bonjour,

 

Nous allons entrer dans mon premier tutoriel pour les Skripteurs avancés. Si vous êtes débutants, veuillez d'abord apprendre les bases, et regarder des tutoriels.

Je vous invite à aller voir mes tutoriels pour débutants ici:

Créer des menus > http://skript-mc.fr/forum/index.php?threads/d%C3%A9butant-cr%C3%A9er-un-inventaire.74/

Les loops > http://skript-mc.fr/forum/index.php?threads/d%C3%A9butant-les-loops.57/

Les variables > http://skript-mc.fr/forum/index.php?threads/d%C3%A9butant-les-variables.52/

Les commandes > http://skript-mc.fr/forum/index.php?threads/d%C3%A9butant-les-commandes.53/#post-355

La première partie se trouve ici:

http://skript-mc.fr/forum/index.php?threads/avanc%C3%A9-cr%C3%A9er-un-minigame-commande-pour-rejoindre.104/

 

III/Une commande pour quitter:

C'est la même chose, mais en sens inverse. Nous allons repartir du même principe:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Pour commençer, nous débutons par cela. Si la variable {game.%player%.join} est en false, il considère que le joueur n'est pas en jeu. Donc grâce à cette condition, on peux détecter si le joueur n'est pas en jeu. Si non, le message d'erreur lui est communiqué.

Ensuite, il ne reste plus qu'a faire que cela retire un slot et que le joueur soit considéré comme n'étant plus en jeu:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Là, nous avons fait que le joueur soit téléporté au spawn et que cela retire "1" dans la variable {game.slots}, pour indiquer qu'un joueur est parti. Il est aussi important de mettre "set {game.%player%.join} to false" pour indiquer que le joueur n'est plus en jeu.

Mais on ne s'arrête pas là, car imaginez qu'il reste deux joueurs en partie et que l'un des deux quitte, le jeu reseterait bloqué. Il faut donc faire que si un joueur quitte et qu'il ne reste plus qu'un joueur, ce soit le dernier joueur qui gagne. Pour cela nous allons devoir utiliser les loop, avec "loop all players" et détecter si "{game.%loop-player%.join}" est activé ou non:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Grâce à cette partie:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Il est important de désactiver {game.start} pour dire que la partie est terminée !

Nous pouvons détecter si il ne reste plus qu'un joueur. Grâce au "loop all players", nous sélectionnons tout les joueurs. Ensuite on fait un tri, entre ceux qui ont {game.%loop-player%.join} activé et ceux qu'il ne l'ont pas. Soyons logiques, si un joueur quitte, cela retire un slot, si il ne reste plus qu'un joueur, ce dernier joueur doit avoir sa variable encore activée. Donc grâce au "loop all players" et à sa condition nous pouvons détecter le dernier joueur qui est encore là.

 

III/Lors de la mort d'un joueur

Comme quand on quitte, il faut faire que si le joueur meurt, qu'il ne soit plus considéré comme étant en jeu et il faut faire que si il ne reste plus qu'un dernier joueur en vie, que ce soit lui le gagnant. Nous allons donc utiliser l'event "on death of player":

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Il est important d'utiliser victim et attacker car c'est un event de mort (on death), cela fonctionne aussi pour "on damage".

Comme quand on quitte, cela fait que sa variable soit désactivée et que cela enlève "1" de la variable {game.slots}.

Après, nous allons devoir faire comme la commande "/game leave", faire que si il reste un dernier joueur, que ce soit lui le gagnant, pour cela nous allons faire:

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Là, si il ne reste plus qu'un slot, le dernier joueur (celui qui a tué) gagnera la partie. Il est important de noter que dans cet event, il n'y a pas besoin d'utiliser "loop all players" car c'est le dernier joueur qui tue l'autre qui gagne.

  • J'aime 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Il faudrait ajouter le /fstart (forcer la partie a se lancer) et /vote (le fait de voter permet de demarrer la partie plus rapidement il faut que la majorité des joueurs votent pour lancer)

 

Je vais essayer tout à l'heure car là j'ai pas le temps :/

 

 

Sinon il faudrait faire un système de teams. (En attendant le debut du jeu, permettre de choisir sa team) et être tp entre teams ! Comme un UHC par exemple !

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×
×
  • 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.