Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

Question sur le binding python


SkreallyBoy

Question

Salut à tous :)

 

Version des files : 2014

Domaine (Base de données, Core, etc.) : Client

Votre niveau (débutant, intermédiaire, avancé) : Débutant

 

Description du problème :

 

Alors ce n'est pas vraiment un problème en soit, cependant c'est un problème a cause du manque de documentation sur les différentes classes qui ont étés créées dans le binding python du client.

Je voudrai faire (sur mon serveur) une fenêtre où un joueur déposerait (en drag'n drop) un item, avec ses switchs et pourrait cliquer sur un bouton "switch" pour pouvoir switch son item.

 

Le soucis est le suivant, je n'ai aucune idée par quoi commencer ? Mais il y a quelques petites choses qui me bloque énormément et que je n'arrive pas à résoudre :

- Comment faire en sorte d'envoyer au serveur les informations concernant le fait qu'on utilise un switch, ou est-ce le client qui se charge de ça ?

- Comment dire à l'interface graphique et même au serveur qu'un switch a été utilisé et que les bonus ont étés changés ?

- Est-ce le client qui se charge des dégâts des items et donc est-ce le client qui envoie les informations au serveur du nombre de dégât qui a été donné (i.e : le client qui gère toute la partie des bonus) ou est-ce le serveur ?

 

Recherches et tests effectué :

Pour essayer de mieux comprendre, je me suis penché sur différents switchbot, mais aucun n'a répondu à mes attentes dans le sens où il y a énormément de fonctions utilisées que je ne connais pas et que je ne comprends même pas.

 

J'ai vu qu'il existait, cependant, un module nommé "item" mais je n'arrive pas à le trouver. Il est ni dans root, ni dans uiscript, ni dans locale, donc je suis un peu perdu ...

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 2
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

2 réponses à cette question

Messages recommandés

  • 0

Il y a une fonction net.SendItemUseToItemPacket qui permet d'utiliser un item (si j'ai bien compris) à un slot précis :

 

net.SendItemUseToItemPacket(slotDepart, slotArrivee)

 

une fois changés, tu n'as rien à faire, les bonus vont s'actualiser d'eux-même graphiquement.

  • Love 1
Lien vers le commentaire
Partager sur d’autres sites

  • 0

Salut antok,

 

Merci beaucoup de ta réponse, cependant j'ai quand-même une autre question, j'ai vu qu'en réalité, le client utilise beaucoup les "slots" et non les id des items, cependant, je ne vois pas très bien comment calculer les slots (j'ai pas encore regardé le script de l'inventaire).

Donc au final, l'algorithme de ce switcheur donnerait ceci:

 

switch = Button
addEvent(switch, switchItem)

function switchItem:
 pos = slotSwitch()
 posItem = slotItem()
 net.SendItemUseToItemPacket(pos, posItem)

 

Cela dit j'ai quand-même d'autres questions du style :

- Si je crée ma propre fenêtre (un inventaire-like) est-ce que les slots se calculent de la même manière que l'inventaire ?

- Est-ce que le système de drag-n-drop utilise la même fonction dont tu m'a parlé (ce qui me paraîtrait assez logique en un sens) ?

 

EDIT: j'ai trouvé qu'on peut récupérer le numéro du slot par le biais de la classe item mais également "player", cependant, je ne sais pas où je peux trouver les modules associés, quelqu'un saurait où ce trouve ces modules ?

 

Merci beaucoup de ta réponse.

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.