Aller au contenu
Wenuts

résolu ✔ Complexe Changement de Team + Timer

Messages recommandés

Version de Minecraft : 1.16
Version de Skript : 2.1.2

Type du skript : Deux commandes qui en exécutent plusieurs en arrière plan, avec une vérification de si le joueur est déjà présent dans une team et qu'il veut re re joindre cette dernière il ne peux pas puisqu'il fait déjà parti de ce groupe. Plus un timer connecté entre les deux commandes ( le même pour les deux ) qui se réinitialise pour les deux team quand on rejoins soit l'un ou soit l'autre.

Description du script :

Bonjour, j'ai déjà la base du skript qui en fait sont deux fichiers. Un " teamchangeheros " et " temchangevilain ".
Tout deux exécute les commandes que vous pouvez voir sur les captures.
Le problème avec mes skripts c'est que déjà il ne vérifient pas si le joueur fait partie des du groupe vilain ou heros.
Et deuxième point, le timer que j'ai mis en place est TRES  problématique et au final INUTILE. ( Faut-il regrouper les deux actions dans un même fichier avec le timer  ? )

Je me dit que si les commandes ont toutes les deux leur propre fichier séparés, ils auront beau avoir une vérification qui vérifie dans quelle région est le joueur, certes ça annule la possibilité de rejoindre la même team, mais ca n'annule pas le gros problème qu'est le timer des 12 heures entre chaque changement de team. 
Admettons que je suis un héros, et que je veux devenir un vilain. Je deviens donc un vilain, sauf que le timer des héros lui ( que j'ai utilisé il y a 12 heures de cela ) n'a  pas été réinitialisé au moment ou je viens de changer de team, mais il y a justement 12 heures de ca, ce qui fait que je peux rechanger de team encore une fois, et ca passera parce que la vérification verra que je suis dans l'autre team.

Donc en gros, la vérification fait son taff, mais le problème c'est que sans un timer connectés entre les deux commandes, le joueur pourra changer de team autant de fois qu'il le souhaite

C'est donc a partir de ca, en reprenant mes commandes sur mes captures que je souhaiterais qu'on puisse m'aider a régler ce problème de vérification mais SURTOUT de timer.
Merci !

TeamHeros.PNG

TeamVilain.PNG

Modifié par Wenuts

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut à toi, tu as juste à mettre la condition de variable identique sur les deux commandes.
Tu sembles connaître les bases de skript, je fais donc te faire une commande rapide que tu puisses prendre exemple.

 

Contenu masqué

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

Au plaisir 😉

Modifié par tiradorus
Ajout de la condition même équipe

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 18 heures, tiradorus a dit :

Salut à toi, tu as juste à mettre la condition de variable identique sur les deux commandes.
Tu sembles connaître les bases de skript, je fais donc te faire une commande rapide que tu puisses prendre exemple.

 

Contenu masqué

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

Au plaisir 😉


Salut, merci beaucoup de ton aide !
J'ai juste une erreur au niveau de ligne 4 ou tu set la team du joueur à 0
C'est une condition que le serveur ne comprends pas.
Est ce que de base le serveur ne compterai pas le joueur dans aucune team ?

Je pense que du coup ca affecte le reste du skript puisque aucune commande n'est executé qu'on soit dans une team ou dans l'autre. Il y a juste le message " vous êtes déjà un héros/vilain " et cela même si je ne fais pas partie de la nouvelle team que je souhaite rejoindre.

Modifié par Wenuts

Partager ce message


Lien à poster
Partager sur d’autres sites

Yop, oui non désolé j'avais pas retesté avec le set.
Vire les ":" de:
set {team.%player%} to 0:

En gros fais:
set {team.%player%} to 0


Juste après, bon c'est qu'un avis personnel hein, mais une seule commande qui agit en fonction de l'équipe du joueur ne serait pas mieux?

Genre /changeteam et si t'es vilain ça te met héros, et vice-versa?
Nan parce-que ça je peux le faire aussi

Modifié par tiradorus

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 12 heures, tiradorus a dit :

Yop, oui non désolé j'avais pas retesté avec le set.
Vire les ":" de:
set {team.%player%} to 0:

En gros fais:
set {team.%player%} to 0


Juste après, bon c'est qu'un avis personnel hein, mais une seule commande qui agit en fonction de l'équipe du joueur ne serait pas mieux?

Genre /changeteam et si t'es vilain ça te met héros, et vice-versa?
Nan parce-que ça je peux le faire aussi


Salut, oui pourquoi pas ! J'ai juste un problème et il faut croire que ca ne venait pas du " : "
Paracerque après reload du skript, aucune erreur mais toujours le message du else " tu es déjà un héros/vilain " et cela même si je ne le suis pas.

J'ai essayé de comprendre mais je n'y arrive pas. C'est peut-être le groupe dans lequel se trouve le joueur ( team ) dans le skipt qu'il faut vérifier ? 
Du style  :

on join:
   set {_d} to player's prefix
   if {_d} contains "Admin": #Et bien contains pas is !
       set {grade.%player%} to "Administrateur"


Je te donne le code avec mes commandes et le force team pour reset le timer pour que tu puisse directement éditer dessus. Merciii !
 

Contenu masqué

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

 

Modifié par Wenuts

Partager ce message


Lien à poster
Partager sur d’autres sites

Non pas d'erreur, c'est normal.
La condition " if {team.%player%} is 0 or 1: " ne se valide qu'en cas de "on first join"
Donc si tu as essayé alors que ce n'est pas ton first join, la variable "{team.%player%}" ne se met pas sur 0

Ce problème ne s'applique qu'à toi, et ne s'appliquera pas à tout les joueurs se connectant pour la première fois au serveur, pour te débloquer, tu peux créer une commande temporaire simple du style:

command /tempo:
    trigger:
        set {team.%player%} to 0
Modifié par tiradorus

Partager ce message


Lien à poster
Partager sur d’autres sites

Après, si ton serveur est déjà lancé, je peux te changer l'évènement de condition qui permette de choisir son équipe. (Si le serveur est déjà actif avec des joueurs etc etc)
Mais le script plus haut fonctionne sans soucis, sauf pour les joueurs ayant déjà join AVANT l'implantation de ce skript.

Puis je vois des erreurs de script dans tes commandes ...
Bon je te remet ça droit tu choisira la forme que tu veux

Modifié par tiradorus
Vu quelques erreurs

Partager ce message


Lien à poster
Partager sur d’autres sites

Contenu masqué

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

Voilà
Bon, j'ai fais quelques tests, je t'ai changé les commandes aussi.

Désormais tu as un debug automatique qui check si le joueur n'a pas la variable principale de changement.
Tu as une commande /infoteam <player> qui te permet de savoir dans quelle team est le joueur, si il est buggé en plus, ça le debug automatiquement en le remettant sur les rails
Puis tu as une commande /changeteam qui te change de team selon la team dans laquelle tu te trouve, sans pour autant enlever les autres.
Les /teamvilans et /teamheros sont compatible avec le /changeteam, et s'adaptent selon la team dans laquelle tu te trouve, le tout sur un seul cooldown de 12heures.
Oh, et ton /forcechangeteam est désormais compatible avec tout ça aussi

Modifié par tiradorus

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a une heure, tiradorus a dit :

Contenu masqué

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

Voilà
Bon, j'ai fais quelques tests, je t'ai changé les commandes aussi.

Désormais tu as un debug automatique qui check si le joueur n'a pas la variable principale de changement.
Tu as une commande /infoteam <player> qui te permet de savoir dans quelle team est le joueur, si il est buggé en plus, ça le debug automatiquement en le remettant sur les rails
Puis tu as une commande /changeteam qui te change de team selon la team dans laquelle tu te trouve, sans pour autant enlever les autres.
Les /teamvilans et /teamheros sont compatible avec le /changeteam, et s'adaptent selon la team dans laquelle tu te trouve, le tout sur un seul cooldown de 12heures.
Oh, et ton /forcechangeteam est désormais compatible avec tout ça aussi


Merci Infiniment pour ton temps et ta précieuse aide !
Heureusement que je t'ai croisé ! 
J'ai vu ta demande d'aide su ton skript pas mal complexe, malheureusement je pourrai pas t'aider :') Mais je te souhaite bonne chance et bonne continuation !

Salut !

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a une heure, Wenuts a dit :


Merci Infiniment pour ton temps et ta précieuse aide !
Heureusement que je t'ai croisé ! 
J'ai vu ta demande d'aide su ton skript pas mal complexe, malheureusement je pourrai pas t'aider :') Mais je te souhaite bonne chance et bonne continuation !

Salut !

Pas de soucis, oui je suis passé juste pour demander l'aide sur le script de ratio pis j'ai vu ton post au passage, comme c'était assez simple j'ai dévié un peu de mon temps pour résoudre ça 😛
Et nous de notre côté on a finis par réussir, après 16h de travail continu acharné sur la commande on a enfin réussi à débloquer la situation eheh.

Laisse le post ouvert 24h et fais les tests de ton côté avec ce que je t'ai envoyé, pas besoin de revenir ici si tout fonctionne, mais si t'as un problème je garderai le forum en coup d'oeil pour la journée de dimanche, après quoi je retournerai bosser et n'ouvrirai plus cette page avant un bon moment xD
Donc si t'as des tests à faire et que y'a un soucis quelque part, profites du fait que je sois là Dimanche pour report les problèmes (voir même demande) que tu pourrai faire.

Au plaisir 😃
Bon week-end

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
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.