Envoyer commande en jeu en cliquant sur un bouton
-
oui, en fait, ce que je veux, c’est les commandes que le joueur peut entrer (en fait, c’est pour mon serveur ^^)
-
trouvé !
mc.thePlayer.sendChatMessage((new StringBuilder()).append(“/gm”).toString());

-
oui mais assure toi que les joueur on la permission
-
Alors justement, en parlant de ça,
Est-ce qu’il est possible de récupérer des informations sur le joueur, comme par exemple le fait qu’il soit op ou non ?
-
Personne ne peut éclairer ma lanterne ?
-
Si personne ne ta répondu c’est que personne ne sais
-
Ça peut aussi être parce que le sujet n’a pas eu de réponse depuis 2 jours, d’où le fait de reposter un message ! Ça s’appelle aussi un “Up” !!
-
Il est possible de récupérer le fait qu’un joueur soit Op ou non. C’est se que l’on fait pour NHG. Mais je n’ai pas le code sous les yeux pour le moment.
Envoyé de mon AN7DG3-LZ en utilisant Tapatalk
-
Ok, c’est plutôt cool ça, je commençait à me dire que ce n’était pas possible ^^
-
dit merci a kevin:
if(MinecraftServer.getServer().getConfigurationManager().func_152596_g(player.getGameProfile())) -
Je viens de coller cette ligne de code dans ma classe et importé ce qu’il fallait importer mais j’ai une erreur à “player.getGameProfile()”…
-
quelle erreur?
-
Tu code en quel version ? Ça serait bien de le préciser dans le titre à l’aide des balises prévus pour non ?
-
Je suis en 1.7.2
et l’erreur est “player cannot be resolved”
j’ai remarqué aussi que dans la classe ServerConfigurationManager il n 'y a pas de méthode appelée func_152596_g… -
faut voir ca avec kevin
-
Car 1.7.2 il n’y a pas encore le système de game profile, la méthode s’appelle surement autrement.
-
d’accord, je viens de voir que cette méthode était pour la 1.7.10 !
du coup, j’ai trouvé une autre ligne qui fait la meme chose mais avec une autre méthode :if ( MinecraftServer.getServer().getConfigurationManager().isPlayerOpped(player.getDisplayName()) )mais le problème est le même au niveau du “player” !
-
Tu sais envoyer la classe dans la qu’elle tu met cela s’il te plait je pense savoir

-
C’est une classe modifiée et qui n’est pas finie mais voici la partie intéressante :
package fr.used2craft.launcher.proxy; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiMainMenu; import net.minecraft.client.gui.GuiOptions; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiShareToLan; import net.minecraft.client.gui.achievement.GuiAchievements; import net.minecraft.client.gui.achievement.GuiStats; import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.client.resources.I18n; import net.minecraft.server.MinecraftServer; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class GuiCustomInGameMenu extends GuiScreen { private int field_146445_a; private int field_146444_f; private static final String __OBFID = "CL_00000703"; private int niveau = 0 /** * Adds the buttons (and other controls) to the screen in question. */ public void initGui() { this.buttonList.clear(); if (niveau == 0) { this.field_146445_a = 0; byte b0 = -16; boolean flag = true; this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 120 + b0, I18n.format("menu.returnToMenu", new Object[0]))); if (!this.mc.isIntegratedServerRunning()) { ((GuiButton)this.buttonList.get(0)).displayString = I18n.format("menu.disconnect", new Object[0]); } this.buttonList.add(new GuiButton(4, this.width / 2 - 100, this.height / 4 + 24 + b0, I18n.format("menu.returnToGame", new Object[0]))); this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 96 + b0, 98, 20, I18n.format("menu.options", new Object[0]))); //this.buttonList.add(new GuiButton(12, this.width / 2 + 2, this.height / 4 + 96 + b0, 98, 20, "Mod Options…")); GuiButton guibutton; this.buttonList.add(guibutton = new GuiButton(7, this.width / 2 - 100, this.height / 4 + 72 + b0, 200, 20, I18n.format("menu.shareToLan", new Object[0]))); this.buttonList.add(new GuiButton(5, this.width / 2 - 100, this.height / 4 + 48 + b0, 98, 20, I18n.format("gui.achievements", new Object[0]))); this.buttonList.add(new GuiButton(6, this.width / 2 + 2, this.height / 4 + 48 + b0, 98, 20, I18n.format("gui.stats", new Object[0]))); guibutton.enabled = this.mc.isSingleplayer() && !this.mc.getIntegratedServer().getPublic(); } this.newMenu(); } public void newMenu() { if ( MinecraftServer.getServer().getConfigurationManager().isPlayerOpped(player.getDisplayName()) ) { //Ici le code a exécuter si le joueur est op } } protected void actionPerformed(GuiButton p_146284_1_) { switch (p_146284_1_.id) { case 0: this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings)); break; case 1: p_146284_1_.enabled = false; this.mc.theWorld.sendQuittingDisconnectingPacket(); this.mc.loadWorld((WorldClient)null); this.mc.displayGuiScreen(new GuiMainMenu()); case 2: case 3: default: break; case 4: this.mc.displayGuiScreen((GuiScreen)null); this.mc.setIngameFocus(); break; case 5: if (this.mc.thePlayer != null) this.mc.displayGuiScreen(new GuiAchievements(this, this.mc.thePlayer.getStatFileWriter())); break; case 6: if (this.mc.thePlayer != null) this.mc.displayGuiScreen(new GuiStats(this, this.mc.thePlayer.getStatFileWriter())); break; case 7: this.mc.displayGuiScreen(new GuiShareToLan(this)); break; //case 12: //FMLClientHandler.instance().showInGameModOptions(this); //break; case 8: mc.thePlayer.sendChatMessage((new StringBuilder()).append("/gm 1").toString()); //Envoie une commande dans le chat qui est /gm mc.thePlayer.closeScreen(); //Ferme le gui break; } } /** * Called from the main game loop to update the screen. */ public void updateScreen() { super.updateScreen(); ++this.field_146444_f; } /** * Draws the screen and all the components in it. */ public void drawScreen(int par1, int par2, float par3) { String test = String.valueOf(niveau); this.drawDefaultBackground(); if (niveau == 0) this.drawCenteredString(this.fontRendererObj, "Game menu", this.width / 2, 40, 16777215); super.drawScreen(par1, par2, par3); } }Je pense qu’il faut mettre le nom du joueur en string dans la variable player mais je cherche le code pour le récupérer…
-
Je ne suis pas un pro pro , donc j’essaye d’aider mais je ne garantie rien , si tu change cette ligne :
public void newMenu()par
public void newMenu(Player player)et import le Player est-ce que tout est résolu niveau erreurs ?
Je ne garantis rien
J’essaye de moi même trouver les erreurs et j’essaye de corriger… 

