Jump to content
×
×
  • Create New...

Liaison Client ---> Quête (+ debug)


Calypso
 Share

Recommended Posts

  • Retraité

Bonjour tout le monde,

 

Aujourd'hui je vous fais un petit tutoriel qui concerne la liaison Client / Quête.

Je ne ferai pas la partie sur le cmdchat, car je ne me suis pas penché dessus, donc si quelqu'un veut s'occuper de cette partie, je pourrais m'occuper l'ajouter au tutoriel.

 

Explication sur la liaison

 

Pour éclaircir un peu le but de la liaison, je vais vous donner un exemple. Vous avez ajouter un bouton sur l'interface, qui permet de bloquer son exp.

 

Bon, le mieux c'est faire ça via une quête. Si le joueur clique sur oui, ça bloque l'exp, et quand il débloque l'exp, et bien ça la débloque.

Vous pouvez faire ça avec pas mal de quête, comme le biologiste qui peut être mise en gui

 

Etape 1 ---> Coté client

Bon bah rien de compliqué sur le côté client :

Révélation

Où vous en avez besoin :

def OnBlockExp(self, nb):
    import event
    constInfo.BLOCKEXP = int(nb)
    event.QuestButtonClick(5)
    self.OnCloseBlock()
    return TRUE
 

Voici un exemple. Le premier correspond à : si je clique sur oui lorsque l'exp est débloqué, alors je fais ceci. Et ce qui est en dessous, le contraire.

C'est cette ligne qui nous intéresse ( C'est la même chose pour tout le reste)

event.QuestButtonClick(5)
 

Lorsque qu'on clique sur le bouton, j’exécute la quête avec l'ID 5.

 

Gestion du cmdchat : (pour récupérer la valeur après une fermeture du client)

game.py :

def SendBlockEXP(self, nb):
    constInfo.BLOCKEXP = int(nb)
 

On peut passer au côté quête maintenant.

 

Etape 2 ---> Côté quête

Là aussi, dans ce cas là c'est pas bien compliqué. La quête doit se composer de :

Révélation

when button begin

 

Lorsque que l'on clique sur le bouton tout simplement, et c'est là que ça fait la liaison avec le client.

 

event.QuestButtonClick(5) ---> Entre parenthèse se trouve la ligne où se trouve votre quête dans locale_list. Attention ! On ne compte pas la ligne 0 !

 

Voici un petit exemple de quête :

quest gestion_exp_gui begin
    state start begin
        when button begin
            if pc.getqf("lock_exp")==0 then
                pc.setqf("lock_exp", 1)
                chat("Votre expérience est bloquée")
            else
                pc.setqf("lock_exp", 0)
                chat("Votre experience est débloquée.")
            end
        end
        
        when login begin
            cmdchat("Blockexp "..pc.getqf("lock_exp"))
        end
    end
end

 

 

À vous de l'améliorer mais c'est un peu le principe.

 

Tutoriel terminé mais comme j'ai dit, si vous souhaitez l'améliorer, n'hésitez pas.

Edited by GuiguiOfMetin
  • J'adore 2
Link to comment
Share on other sites

  • Retraité

Le problème vient de ta quête.

"Problème" est un bien grand mot d'ailleurs, ce n'est que quelques bouts de code à ajouter.

 

Sinon c'est sympa de ta part mais tu devrais appuyer davantage sur les multiples possibilités qu'offre ce type de codage. Commence également par le commencement.

 

Bye.

You can't be immortal,
But you can make people remember
you for thousands of years...

Link to comment
Share on other sites

Bonjour,

 

Le problème de ce genre de tutoriel est que cela te permet seulement de voir des morceaux de code, de modifier ce que l'on souhaite mais pas de créer nos propres code, la en clair on applique sans rien comprendre (comme pour les maths :D).

 

En clair il faudrait que l'on est des infos sur les différents code présent, à quoi ils servent, leur fonction, leur utilité etc...

Link to comment
Share on other sites

 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.