Aesir

 tutoriel / partage [JAVA] Modification de fonction "TpWithMap"

Recommended Posts

Bonjour,

 

Je vous présente une petite modification de la fonction "TpWithMap" faite par Nicky31.

( Que je remercie car sans son code, il aurai pas eu d'amélioration faite )

 

Description:

Double clic sur la map permet aux:

- GM supérieur au rang 1 de ce Téléporter

- Joueurs (non GM) d'envoyer dans le Tchat la position ciblé.

 

Code:

 

GameThread
public void ActionMap(String packet)
{
	if(_compte.get_gmLvl() >= 1) // Si le perso est GM => TP
	{
		String datas = packet.substring(3);
		if(datas.isEmpty())
			return;

		int MapX = Integer.parseInt(datas.split(",")[0]);
		int MapY = Integer.parseInt(datas.split(",")[1]);
		int CellId = 311;
		int ContId = 0;

		Carte map = World.getCarteByPosAndCont(MapX,MapY,ContId);
		if(map == null)
			return;	
		if(map.getCase(CellId) == null)
			return;
		if(_perso.get_fight() != null)
			return;

		_perso.teleport(map.get_id(), CellId);
	}
	else
	{
	String datas = packet.substring(3); 		// Si il ne l'es pas => Envois la Position en Tchat
	if(datas.isEmpty())
		return;
	String Deb = "[";
	String Fin = "]";
	String msg = Deb + datas + Fin;
	int MapX = Integer.parseInt(datas.split(",")[0]);
	int MapY = Integer.parseInt(datas.split(",")[1]);
	int cond = 0;

	Carte map = World.getCarteByPosAndCont(MapX,MapY, cond);
	if(map == null)
		return;	

	SocketManager.GAME_SEND_cMK_PACKET_TO_MAP(_perso.get_curCarte(), "", _perso.get_GUID(), _perso.get_name(), msg);

	}

 

[Edit]: Je sais que c'est pas le bonne endroit pour demander sa,

mais serai t-il possible d'envois les coordonné dans la barre de Tchat du client ?

Car j'ai pas trouvé et serai plus pratique que l’envoi directe au serveur...

 

Edited by Nicosti
Correction spoilers

Share this post


Link to post
Share on other sites

Désoler, je reformule plus détaillé.

 

( On laisse de coter toutes la parti téléportation du code )

Donc avec la modification apporter, lorsqu'un joueur double clic sur la Map, l'émulateur envois directement les coordonné [x,y] de la Map dans le canal par défaut.

 

Ce que je cherche a faire, c'est entré les coordonné dans la barre de Tchat (Zone ou l'on écrit).

Ainsi il peu ajouter un commentaire.

 

Enfin bref, ce n'est pas important et avec du temps je trouverai comment faire.

Share this post


Link to post
Share on other sites

A moins de modifier le client à l'aide d'un module (cf. ModuleLoader de mathias52) je ne pense pas que cela soit possible (sans modification client donc).

Mais je ne comprends pas pourquoi tu veux que le joueur puisse ajouter un commentaire, & je ne comprend pas non plus pourquoi tu veux indiquer la position demandée en cas de non gm.

Share this post


Link to post
Share on other sites

[...] Mais je ne comprends pas pourquoi [...]

Pourquoi laissé ajouter un commentaire aux joueurs ?

Exemple: Un joueurs demande ou devenir Paysans.

Pour lui répondre, il suffit a un autre joueur d'écrire:" Vas labas" -> [double clic sur la Map]. et envoyer le message.

(méthode de fainéant ... ) Enfin bref ...


Mon but étant d'apprendre le langage "Java".

Faire des modifications aux émulateurs existant est un bon exercice pratique pour débuté (enfin, il a sûrement mieux pour apprendre).

 

Donc petit a petit j'essaye d'amélioré ces émulateur.

Sinon merci pour la réponse, j'apprécis.

Share this post


Link to post
Share on other sites

 

Désolé, je commence et je ne sais toujours pas grand chose. Pourriez-vous me dire dans quelle partie des souces se trouve le code? est que je l'ai placé et que cela n'a pas fonctionné pour moi. Merci d'avance

Share this post


Link to post
Share on other sites