[Risolto] [Java] Sostituire /Poke con @

  • Pagine (2):
  • 1
  • 2
  • »
Salve a tutti, vorrei modificare lo /Poke <NomeUtente> <Messaggio> in @<NomeUtente> <Messaggio>

So che è possibile ma il come crearlo è a mio livello impossibile, non so manco da dove iniziare a sostituire il comando D:

Chiedo aiuto per questo e spero non mi linciate in qualche cosa di banale Tongue

@MCinemaGamer @Filoghost @xPeppe @stokdam Grazie a chi mi aiuterà Big Grin
14/11/2014, 00:48LordSpyder ha scritto: Salve a tutti, vorrei modificare lo /Poke <NomeUtente> <Messaggio> in @<NomeUtente> <Messaggio>

So che è possibile ma il come crearlo è a mio livello impossibile, non so manco da dove iniziare a sostituire il comando D:

Chiedo aiuto per questo e spero non mi linciate in qualche cosa di banale Tongue

@MCinemaGamer @Filoghost @xPeppe @stokdam Grazie a chi mi aiuterà Big Grin

Per adesso mi viene in mente solamente startWith. Ho già fatto questa cosa se non mi sbaglio, ma non ricordo come. Di sicuro se apro Eclipse(Cosa che adesso non posso) mi verrebbe in mente un metodo migliore.

Messaggio inviato col telefono! (Modificato 14/11/2014, 01:45 da EduProArd.)
_____________________________________________________________________________________________________________
GitHub: https://github.com/EduProArd/
Come contattarmi: Skype("EduProArd") oppure per MP("Messaggio privato sul forum")
Hosting: https://www.easyware-hosting.ch/
EasyWay: https://www.minecraft-italia.it/forum/t-easyway-servizi-di-sviluppo-plugin-ed-amministrazione-di-sistema
_____________________________________________________________________________________________________________
1 utente apprezza questo post
14/11/2014, 00:48LordSpyder ha scritto: Salve a tutti, vorrei modificare lo /Poke <NomeUtente> <Messaggio> in @<NomeUtente> <Messaggio>

So che è possibile ma il come crearlo è a mio livello impossibile, non so manco da dove iniziare a sostituire il comando D:

Chiedo aiuto per questo e spero non mi linciate in qualche cosa di banale Tongue

@MCinemaGamer @Filoghost @xPeppe @stokdam Grazie a chi mi aiuterà Big Grin

Perchè non mi hai taggato? Sad

Comunque alle 13-14:00 ti aiuto io su skype e ti spiego come fare
[Immagine: just_cause_3_sfondo_1.jpg]
È semplicissimo. Devi usare l'AsyncPlayerChatEvent. Usi il metodo getMessage(). Verifichi se il messaggio inizia con "@ " (miraccomando lo spazio dopo la @). Se sì cancelli l'evento e devi ricavarti dal messaggio il nick del giocatore e tutto il resto, poi è come con il comando.

Come arrivo a casa te lo spiego su ts. (Modificato 14/11/2014, 13:36 da stokdam.)
http://wwwinfo.deis.unical.it/~talia/aa0...ne11x6.pdf
Ingegniati un po' Wink
My Config:
    MotherBoard: GigaByte 990 FX A-UD3 Ultra Durable
    CPU: AMD FX-8350 (8 core, 4.00GHz)
    Dissipatore: ThermalRight Macho HR-02 Rev.a
    RAM: Corsair Vengeance 8GB 4GBx2
    GPU: nVidia GTX 780 Asus OC
    PSU: Corsair CX 750M
    Case: Cooler Master 690 III Midi
    SSD 256GB
    HHD 1TB
    Masterizzatore
14/11/2014, 13:05gamerover98 ha scritto:
14/11/2014, 00:48LordSpyder ha scritto: Salve a tutti, vorrei modificare lo /Poke <NomeUtente> <Messaggio> in @<NomeUtente> <Messaggio>

So che è possibile ma il come crearlo è a mio livello impossibile, non so manco da dove iniziare a sostituire il comando D:

Chiedo aiuto per questo e spero non mi linciate in qualche cosa di banale Tongue

Grazie a chi mi aiuterà Big Grin

Perchè non mi hai taggato? Sad

Comunque alle 13-14:00 ti aiuto io su skype e ti spiego come fare

@gamerover98 magari non si fida di te o non ti valuta competente asd

@LordSpyder come ti ha detto @stokdam devi utilizzare il metodo AsyncPlayerChatEvent a questo punto devi controllare se il messaggio inizia con una '@' e puoi farlo con event.getMessage().startsWith('@');

Hai quindi il metodo event.getMessage() che ti returna quello che il player ha scritto in chat, fai
String[] args = event.getMessage().split(' '); per dividere tutte le parole in un array di String chiamato args e avrai nell' array le parole che nel messaggio erano separate da uno spazio, quindi args[0] sarà '@xPeppe' mentre args[1] sarà la prima parola di "messaggio".

Per trovare il player usa args[0] facendo args[0].substring(int startIndex, int endIndex) che ti permette di prenderne una sola parte quindi parti dal carattere 1 (in questo caso al X) e non specificare una fine in modo che prenda tutto l'argomento 1 ma senza la @, per poi usare Bukkit.getPlayer(..) e ottenere l'istanza di Player, il modo per prendere il messaggio te lo metto nello spoiler così puoi prenderlo come sfida Tongue

[Immagine: MdDbKyN.png]
2 utenti apprezzano questo post
Quoto xPeppe.
A quello stavo pensando anche io..
_____________________________________________________________________________________________________________
GitHub: https://github.com/EduProArd/
Come contattarmi: Skype("EduProArd") oppure per MP("Messaggio privato sul forum")
Hosting: https://www.easyware-hosting.ch/
EasyWay: https://www.minecraft-italia.it/forum/t-easyway-servizi-di-sviluppo-plugin-ed-amministrazione-di-sistema
_____________________________________________________________________________________________________________
14/11/2014, 15:30xPeppe ha scritto:
14/11/2014, 13:05gamerover98 ha scritto:
14/11/2014, 00:48LordSpyder ha scritto: Salve a tutti, vorrei modificare lo /Poke <NomeUtente> <Messaggio> in @<NomeUtente> <Messaggio>

So che è possibile ma il come crearlo è a mio livello impossibile, non so manco da dove iniziare a sostituire il comando D:

Chiedo aiuto per questo e spero non mi linciate in qualche cosa di banale Tongue

Grazie a chi mi aiuterà Big Grin

Perchè non mi hai taggato? Sad

Comunque alle 13-14:00 ti aiuto io su skype e ti spiego come fare

@gamerover98 magari non si fida di te o non ti valuta competente asd

@LordSpyder come ti ha detto @stokdam devi utilizzare il metodo AsyncPlayerChatEvent a questo punto devi controllare se il messaggio inizia con una '@' e puoi farlo con event.getMessage().startsWith('@');

Hai quindi il metodo event.getMessage() che ti returna quello che il player ha scritto in chat, fai
String[] args = event.getMessage().split(' '); per dividere tutte le parole in un array di String chiamato args e avrai nell' array le parole che nel messaggio erano separate da uno spazio, quindi args[0] sarà '@xPeppe' mentre args[1] sarà la prima parola di "messaggio".

Per trovare il player usa args[0] facendo args[0].substring(int startIndex, int endIndex) che ti permette di prenderne una sola parte quindi parti dal carattere 1 (in questo caso al X) e non specificare una fine in modo che prenda tutto l'argomento 1 ma senza la @, per poi usare Bukkit.getPlayer(..) e ottenere l'istanza di Player, il modo per prendere il messaggio te lo metto nello spoiler così puoi prenderlo come sfida Tongue


Grazie di tutto Peppe, gentile come al solito Smile


Ps: Non ho taggato gamer perché mi ha già chiesto il codice sorgete per potercelo aggiungere e usarlo lui, quindi voglio farlo di testa mia (Inteso come farlo io per il plugin pubblico)

Grazie a tutti, faccio due test e posto il risultato su Spigot Smile


psII. Non chiudete la discussione !
14/11/2014, 15:54LordSpyder ha scritto:
14/11/2014, 15:30xPeppe ha scritto:
14/11/2014, 13:05gamerover98 ha scritto:
14/11/2014, 00:48LordSpyder ha scritto: Salve a tutti, vorrei modificare lo /Poke <NomeUtente> <Messaggio> in @<NomeUtente> <Messaggio>

So che è possibile ma il come crearlo è a mio livello impossibile, non so manco da dove iniziare a sostituire il comando D:

Chiedo aiuto per questo e spero non mi linciate in qualche cosa di banale Tongue

Grazie a chi mi aiuterà Big Grin

Perchè non mi hai taggato? Sad

Comunque alle 13-14:00 ti aiuto io su skype e ti spiego come fare

@gamerover98 magari non si fida di te o non ti valuta competente asd

@LordSpyder come ti ha detto @stokdam devi utilizzare il metodo AsyncPlayerChatEvent a questo punto devi controllare se il messaggio inizia con una '@' e puoi farlo con event.getMessage().startsWith('@');

Hai quindi il metodo event.getMessage() che ti returna quello che il player ha scritto in chat, fai
String[] args = event.getMessage().split(' '); per dividere tutte le parole in un array di String chiamato args e avrai nell' array le parole che nel messaggio erano separate da uno spazio, quindi args[0] sarà '@xPeppe' mentre args[1] sarà la prima parola di "messaggio".

Per trovare il player usa args[0] facendo args[0].substring(int startIndex, int endIndex) che ti permette di prenderne una sola parte quindi parti dal carattere 1 (in questo caso al X) e non specificare una fine in modo che prenda tutto l'argomento 1 ma senza la @, per poi usare Bukkit.getPlayer(..) e ottenere l'istanza di Player, il modo per prendere il messaggio te lo metto nello spoiler così puoi prenderlo come sfida Tongue


Grazie di tutto Peppe, gentile come al solito Smile


Ps: Non ho taggato gamer perché mi ha già chiesto il codice sorgete per potercelo aggiungere e usarlo lui, quindi voglio farlo di testa mia (Inteso come farlo io per il plugin pubblico)

Grazie a tutti, faccio due test e posto il risultato su Spigot Smile


psII. Non chiudete la discussione !

non volevo il codice sorgente del tuo poke! ti ho solo chiesto se potevo crearlo da zero per il mio server.

(non rispondete a questo messaggio, non andiamo offTopic) (Modificato 14/11/2014, 16:08 da gamerover98.)
[Immagine: just_cause_3_sfondo_1.jpg]
UP

Il codice è completo ma ci sono un po' di incognite:
  • Ora che ho aggiornato il codice non mi funziona più il /poke ma solo il "@"
  • Non so come aggiungere le particelle
  • Non so come aggiungere i permessi
  • E vorrei sapere come togliere tutta la parte prima di codice visto che il comando non funziona/Non vorrei che funzionasse più
@xPeppe @Stokdam @EduProArd @Edo2Dev @gamernotajavadeveloperover98
  • Pagine (2):
  • 1
  • 2
  • »
Discussioni simili
Ultimo: Mirko_192004
30/08/2017, 16:09
 
[Risolto] Imparare Java.
2 180
Ultimo: EmaDavi59
04/06/2017, 09:49
 
[Problema] Errore java
3 179
Ultimo: Maxetto
02/04/2017, 22:48
 
[Problema] Errore java
1 181
Ultimo: Pata_Gamer
25/03/2017, 17:21

Utente(i) che stanno guardando questa discussione: 1 Ospite(i)