Welcome to Bukkit France

Inscrivez-vous maintenant pour profiter d'un accès total à tout le contenu offert par la meilleur communauté Bukkit française ! Une fois inscrit et connecté, vous pourrez contribuez à la communauté en postant vos propres sujets et questions ou en répondant à ceux existants. Vous pourrez aussi customiser votre profil, recevoir des points de réputations, communiquer avec les autres membres via le chat, et plus encore! 

  • Annonces

    • Pskyco

      Bukkit France passe sous Discord !   20/02/2016

      Bukkit France est désormais passé sur Discord, au revoir donc notre vieux Teamspeak ! Téléchargez le client et venez nous rejoindre sur notre salon en suivant les instructions suivantes.
romaindu12

Téléportation de plusieurs joueurs

5 messages dans ce sujet

API: Spigot

Version: 1.8.X

IDE: Eclipse

problème: Bonjour, j'aimerais savoir comment tp plusieurs joueurs à la fois a des locations différentes,

 

ex : Jai 24 joueurs, je voudrais tp le premier joueur à la loc1, joueur 2 à La loc2 [....] joueur 24 à La loc 24

 

je suppose qu'il faut une boucle Avec un int Qui augmente jusqu'àu nombre de joueurs en ligne

 

merci :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis sur portable, je te fais vite fait un code :)

//creation des arrayList contenant tes joueurs et tes locations. 

ArrayList<Player> playerList = new ArrayList<>();

 

ArrayList<Location> locationList = new ArrayList<>();

 

... //tu remplis tes arrayList

 

public static void teleportPlayer(){

/*Pour faire simple je suppose que la taille de playerList == taille playerLocation mais c'est a toi de le vérifier sinon il y aurra une erreur 

*/

for (int i = 0 ; i<locationList.size(); i++){

Player p = listPlayer.get(i); //on recupere le joueur

Location location = listLocation.get(i); //on recupere la location 

p.teleport(location); //on teleporte le joueur a la location

}

 

Voila en gros le code, il peut y avoir des erreurs, je suis sur portable mais tu as l'idée ! 

2 personnes aiment ça

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) (modifié)

oui il faut checker les tailles respectives des deux listea mais dans tous les cas on peut simplement éviter une éventuelle ArrayOutOfBoundException comme suivant:

for (int i = 0; i < listLocation.size() && i < listPlayer.size(); i++)
	listPlayer.get(i).teleport(listLocation.get(i));

c'est quand même plus propre

Modifié par Dermenslof
4 personnes aiment ça

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est plus safe, mais le développeur perdra plus de temps à comprendre pourquoi un joueur ne se téléporte pas à une position si aucune exception n'est levée. 

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

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.