L2J-FR
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Forum pour réunir les administrateurs de serveur L2
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

 

 [RÉSOLU]» Empêcher un joueur de se déplacer

Aller en bas 
5 participants
AuteurMessage
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty20/09/08, 12:55 pm

Coucou,

J'ai un petit problème pour une petite modification que je fais.
En effet, j'aimerais désactiver le déplacement via le clique de la souris, de la même façon qu'on le faisait avec le déplacement avec le clavier auparavant.

J'ai d'ailleurs cherché cette option, malheureusement elle n'existe plus, j'ai une ancienne version de L2Emu où celle-ci existe, malheureusement j'ai dû la décompiler car je n'avais pas les sources, et je ne peux pas regarder dans tous les fichiers en même temps, je ne sais pas donc dans quel fichier rechercher...

Brèf, si vous aviez une piste pour réaliser cette opération, j'aimerais bien la connaitre svp Razz

Merci d'avance,

A bientôt !


Dernière édition par Divinity le 24/09/08, 11:07 am, édité 1 fois
Revenir en haut Aller en bas
Jules

Jules


Nombre de messages : 384
Localisation : Rome
Date d'inscription : 11/04/2008

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty20/09/08, 04:03 pm

Une piste : y'a une fonction setHeading() qui est appelée pour définir la direction vers laquelle les personnage doit regarder pour se déplacer. Une p'tite recherche sur l'ensemble des fichiers avec Eclipse devrait pouvoir te filer celui qui correspond au calcul des coordonées après un clic de souris.
Revenir en haut Aller en bas
https://l2jfr.jeun.fr/search.forum
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty20/09/08, 06:41 pm

Malheureusement je n'ai pas trouvé, du moins j'ai trouvé plusieurs thread, surtout dans le L2Character, mais je les avais trouvé avant, et malheureusement il ne règle pas ma demande Sad.

Une autre piste ?
Revenir en haut Aller en bas
Jules

Jules


Nombre de messages : 384
Localisation : Rome
Date d'inscription : 11/04/2008

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty20/09/08, 07:03 pm

Resp, le fichier que t'avais modifié pour gérer le heading pour la gestion de l'alcool, c'est lequel ?
Revenir en haut Aller en bas
https://l2jfr.jeun.fr/search.forum
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty22/09/08, 08:01 pm

Pas de nouvelles ?
Revenir en haut Aller en bas
Jules

Jules


Nombre de messages : 384
Localisation : Rome
Date d'inscription : 11/04/2008

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty22/09/08, 09:23 pm

Respawner n'est pas Jules, et Jules ne connait pas le fichier que Respawner avait modifié sur ce projet...
Revenir en haut Aller en bas
https://l2jfr.jeun.fr/search.forum
promethium

promethium


Nombre de messages : 140
Age : 41
Localisation : Compiegne
Date d'inscription : 06/09/2007

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 01:51 am

Pour L2J :

Dans /gs/java/net/sf/l2j/gameserver/network/clientpackets/MoveBackwardToLocation.java

essaie de rajouter :
Code:
_moveMovement=1;
a la première ligne de readImpl;

Code:
if (_moveMovement != 0)
 return;
environ la 3eme ligne dans runImpl (sur ma version il y a un nullcheck sur l'activeChar juste avant)



Méthodologie :
C'est simple a trouver, si tu as oublié que c'est MoveBackwardToLocation pour les déplacements (même s'il fait parti des 20 super courant à connaitre par cœur), tu peux simplement bidouiller un peu le fichier L2GameClientPacket pour créer un mini sniffeur L2 sous réserve de Config.DEBUG ou autres mécanismes.

Après tu tombe sur l'explication directe :
// is 0 if cursor keys are used 1 if mouse is used
Revenir en haut Aller en bas
http://valmemoria.com
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 06:17 pm

Malheureusement ça ne fonctionne pas.
Le joueur peut toujours se déplacer avec la souris.
Revenir en haut Aller en bas
decarvk




Nombre de messages : 241
Age : 34
Localisation : en france
Date d'inscription : 06/07/2008

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 06:25 pm

si je peut me permettre de mettre mon grain de sel a l'aide (il est certainement pas complet)

ya une comande (//para) qui aralise le joueur tu devrai peut etre l'etudier
Revenir en haut Aller en bas
http://nemerian.apdvm.asso.fr
Respawner

Respawner


Nombre de messages : 1620
Age : 35
Date d'inscription : 20/04/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 06:39 pm

decarvk a écrit:
si je peut me permettre de mettre mon grain de sel a l'aide (il est certainement pas complet)

ya une comande (//para) qui aralise le joueur tu devrai peut etre l'etudier
Ouai ça va faire un truc du genre
Code:
player.setIsParalized(true)
Regarde donc du côté de la méthode qui paralyse quelqu'un.
Pour ce que j'avais fait c'était directement plus complexe car le but était de faire zigzagué le joueur, mais de façon aléatoire. J'avais utilisé une méthode dans le L2PcInstance pour les réaliser les effets que je souhaitais.
Revenir en haut Aller en bas
http://www.respawner.fr/
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 06:53 pm

J'ai testé avec le joueur paralisé, j'ai aussi regardé la commande. Mais ensuite la commande //walk ne fonctionne plus, or j'aimerais que celle-ci fonctionne.

En fait je voudrais juste que lorsque le joueur clique, ou appuie sur le pad du clavier, il ne se passe rien du tout, mais qu'il puisse bouger via le Java (avec des commandes en gros).
Revenir en haut Aller en bas
Respawner

Respawner


Nombre de messages : 1620
Age : 35
Date d'inscription : 20/04/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 07:01 pm

Divinity a écrit:
J'ai testé avec le joueur paralisé, j'ai aussi regardé la commande. Mais ensuite la commande //walk ne fonctionne plus, or j'aimerais que celle-ci fonctionne.

En fait je voudrais juste que lorsque le joueur clique, ou appuie sur le pad du clavier, il ne se passe rien du tout, mais qu'il puisse bouger via le Java (avec des commandes en gros).
T'as tenté de "jeter" le packet qui arrive lorsque tu cliques et que tu te déplaces ?
Revenir en haut Aller en bas
http://www.respawner.fr/
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 07:35 pm

Désolé mais je n'y connais rien en packet, c'est pour cela que j'ai posté ici, car je me doutais qu'il fallait "jouer" avec un packet qui permet cela.

Je ne sais pas du tout où il se trouve, et comment on le "jette"...
Revenir en haut Aller en bas
Respawner

Respawner


Nombre de messages : 1620
Age : 35
Date d'inscription : 20/04/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 07:43 pm

Dans le package network tu trouveras ce que tu cherches Wink
Et puis dans le bon bout de code, tu nous fais un truc genre.
Code:
if (player.isTrucMachin()) return;


-------


Test avec ça.
Classe com.l2jfree.gameserver.network.clientpackets.MoveBackwardToLocation
Cherche :
Code:
   L2PcInstance activeChar = getClient().getActiveChar();
   if (activeChar == null)
      return;

Ajoute après :
Code:
      if (activeChar.cantMove())
      {
         _targetX  = activeChar.getX();
         _targetY  = activeChar.getY();
         _targetZ  = activeChar.getZ();
         return;
      }

Pas testé, purement théorique, fait en 3 minutes chrono juste pour t'aider :-P

PS : je suppose ici que la méthode cantMove() est une méthode que tu as fait pour savoir si le joueur doit être bloqué ou non. Elle doit retourner true si oui false sinon.


Dernière édition par Respawner le 23/09/08, 08:35 pm, édité 3 fois (Raison : Petite astuce si ça peut aider.)
Revenir en haut Aller en bas
http://www.respawner.fr/
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 08:44 pm

J'ai déjà essayé.

J'ai même carrement supprimé tout ce que contient le readImpl et le runImpl pour voir vraiment si ça venait de là.

Malheureusement ça fonctionne encore... Magie ? Shocked
Revenir en haut Aller en bas
Respawner

Respawner


Nombre de messages : 1620
Age : 35
Date d'inscription : 20/04/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 09:18 pm

Je sais plus quel packet est responsable de ça.
Fait comme promethium a dit. Fais un petit debugger de packets en gros ça affiche en log le packet reçu et celui envoyé après tu devrais pouvoir voir comment un déplacement se passe exactement.
Revenir en haut Aller en bas
http://www.respawner.fr/
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty23/09/08, 09:33 pm

Je vais voir cela, merci ^^.
Revenir en haut Aller en bas
promethium

promethium


Nombre de messages : 140
Age : 41
Localisation : Compiegne
Date d'inscription : 06/09/2007

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty24/09/08, 01:07 am

Divinity a écrit:
J'ai déjà essayé.

J'ai même carrement supprimé tout ce que contient le readImpl et le runImpl pour voir vraiment si ça venait de là.

Malheureusement ça fonctionne encore... Magie ? Shocked
Au fait... Ca marche mieux si tu recompile et que tu lance la bonne version tongue

(Bon mais si c'est moi qui me plante je m'en voudrais de t'avoir charrié pour rien Smile )
Revenir en haut Aller en bas
http://valmemoria.com
Respawner

Respawner


Nombre de messages : 1620
Age : 35
Date d'inscription : 20/04/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty24/09/08, 01:16 am

promethium a écrit:
Au fait... Ca marche mieux si tu recompile et que tu lance la bonne version tongue
Et bien faire un clean avant de recompiler c'est mieux Very Happy
Revenir en haut Aller en bas
http://www.respawner.fr/
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty24/09/08, 11:06 am

Arf c'est de ma faute.

promethium a raison, j'ai un script qui copie/colle le l2jfree-core.jar dans le gameserver après la compilation, mais malheureusement la version a changé dernièrement (ça fait longtemps que je n'ai pas mis à jour, pour des raisons personnelles) donc je ne remplaçais pas le bon jar...

Désolé pour ces posts inutiles ^^'.

Le problème est résolu, c'est bien ce packet qui gère le déplacement, merci pour vos réponses !
Revenir en haut Aller en bas
Respawner

Respawner


Nombre de messages : 1620
Age : 35
Date d'inscription : 20/04/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty24/09/08, 12:15 pm

Parfois les chosess les plus simples sont les plus problématiques. Y'a un paradoxe là ^^
Revenir en haut Aller en bas
http://www.respawner.fr/
Divinity

Divinity


Nombre de messages : 1282
Age : 35
Localisation : Yvelines
Date d'inscription : 24/05/2006

[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty24/09/08, 02:01 pm

C'est vrai, et ce n'est pas la première fois que ça m'arrive en plus.
Et c'est toujours la dernière chose que je vérifie... Laughing
Revenir en haut Aller en bas
Contenu sponsorisé





[RÉSOLU]» Empêcher un joueur de se déplacer Empty
MessageSujet: Re: [RÉSOLU]» Empêcher un joueur de se déplacer   [RÉSOLU]» Empêcher un joueur de se déplacer Empty

Revenir en haut Aller en bas
 
[RÉSOLU]» Empêcher un joueur de se déplacer
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un joueur au hasard
» Faire une liste de joueur dynamique

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
L2J-FR :: Général :: Aides et Conseils-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser