Forum pour réunir les administrateurs de serveur L2
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  

Partagez | 
 

 Aides pour Création Quest Teleport avec timer ...

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Aides pour Création Quest Teleport avec timer ...   Dim 31 Aoû 2008, 16:33

Bonjour,

J'ai beau chercher un peu partout sur le forum( via "Rechercher" ou post /post), mais je trouve nul part ou il est question de timer dans un quete custom.

Je m'explique je veux faire un Npc teleporteur vers une zone qui peux teleporter que toutes les 4h. J'ai essayé de chercher en m'appuyant sur le Festival ou le TP pour les olympiades, mais j'ai l'impression qu'ils sont tous géré en java.

Je cherche une solution en passant par le jython avec la fonction startQuestTimer(name, time, npc, player, repeating) mais le timer ne s'appliquera pas a d'autre personne essayant de se TP.

Quelqu'un a une solution?


Dernière édition par WeeD le Jeu 11 Sep 2008, 20:59, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
Divinity



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

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Dim 31 Aoû 2008, 17:27

Tu veux absolument le faire via le Jython ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Dim 31 Aoû 2008, 17:31

Par mesure de faineantise oui Wink
J'ai pas encore commencé à modifier le java, je préfère éviter.

Donc si c'est gérable par le jython je suis preneur, sinon tant pis je sortirais mon Becherel de java Laughing

Mais plus j'y réfléchis plus je pense que c'est incontournable. Mais dans le doute je préfère avoir l'avis d'un peu tout le monde.

PS: Si dans votre réponse vous me mettez une soluce java, ne perdez pas de temps a l'écrire j'ai pas encore ouvert une seul fois le java affraid Donc je reviendrais a ce moment la si vraiment je trouve pas dans le java, mais pour l'heure nous parlons jython lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
kit-and-kat



Nombre de messages : 25
Date d'inscription : 27/08/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Dim 31 Aoû 2008, 17:32

Si je me trompe pas il y a aussi une sollution via 'SQL', c'est simple et sans passé par le Jython.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Dim 31 Aoû 2008, 17:33

Ah !!! Un truc auquel je n'avais pas pensé mais la va falloir expliquer un petit peu.

Ou sinon me dire sur quoi je pourrais me baser Rolling Eyes

Via la table quest global data? (qui stock les variables globales des quetes)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
Divinity



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

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Dim 31 Aoû 2008, 18:46

Je n'ai pas regardé pour le Jython (en ce moment je suis plus sur le PHP), mais bon, tu peux sans doute créer deux fichiers Jython, un pour deux NPC différents.

L'un permettra le TP, l'autre non.
Tu executes chacun des fichiers à tour de rôle toutes les quatres heures grâce à la table global_task de ta base de donnée.

Par exemple sur le premier fichier, tu as une commande pour delete le NPC qui ne TP pas, et qui spawn celui qui TP. Sur l'autre fichier tu as complétement l'inverse.

Après je ne sais pas si c'est possible de spawner et de delete des mobs via Jython (sûrement, je crois que des quêtes le font, mais je suis pas sûr) car je le fais via Java personnellement ^^'.

Après, ça reste du bidouillage, ce n'est pas "propre" comme technique ^^'.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Dim 31 Aoû 2008, 18:57

lol oki je vais voir ce que c'est que cette table ^^

sinon je pensais stocker des variables globales incrémentés jusqu'a 5h soit et verifier cette variable a chaque demande de TP. Le seul soucis c'est d'arriver a incrémenter la variable indépendamment du joueur. C'est peut-être Global task qui va m'aider Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
Grimly



Nombre de messages : 601
Date d'inscription : 30/08/2007

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Dim 31 Aoû 2008, 23:09

Moi j'ai toujours cru que le jython était du java dégénéré ou en plus il n'y a rien qui t'aide pour coder si ce n'est un éditeur de texte qui aime la couleur comme notepad++.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Respawner



Nombre de messages : 1622
Age : 28
Date d'inscription : 20/04/2006

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Dim 31 Aoû 2008, 23:31

Grimly a écrit:
Moi j'ai toujours cru que le jython était du java dégénéré ou en plus il n'y a rien qui t'aide pour coder si ce n'est un éditeur de texte qui aime la couleur comme notepad++.
PyDev sous Eclipse aide un peu. Jython c'est juste du Java sauce Python. Perso j'aime pas les compromis Very Happy Soit on fait du vrai Python soit on fait du vrai Java voilà l'idée. Des développeurs ont l'air de partager mon avis vu que les AI passent en Java pur et dur. A quand les quêtes refaites en Java ? Smile

_________________
~$ cat new_server > /dev/null

Tout n'est qu'une question de point de vue.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.respawner.fr/
Grimly



Nombre de messages : 601
Date d'inscription : 30/08/2007

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Lun 01 Sep 2008, 03:58

Respawner a écrit:
A quand les quêtes refaites en Java ? Smile

+1 !! Ça fera déjà un paquet en moins à télécharger pour des dépendances maven Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
darksimonus



Nombre de messages : 732
Date d'inscription : 12/09/2007

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Lun 01 Sep 2008, 11:36

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.l2sacrifice.fr/
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Lun 01 Sep 2008, 11:55

Merci pour le lien Dark.

Cependant mon problème est tout autre.
Faire un teleporter - ca va
Faire un teleporteur avec un lvl mini - ca va
Faire un teleporteur avec un lvl mini et une party full - ca va
Gerer un timer global - la ca coince Mad

Je vais tenter ce soir un compteur qui incrémente une variable dans Quest_Global_Data (incrémenté via Quest_timer par la première personne à se TP) et je vérifierais cette valeur pour les autres qui voudront se TP.
La où je ne sais pas comment ca va réagir, c'est si quelqu'un se deco, que devient le timer...

Qu'en pensez vous?

Suspect Suspect Suspect
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Lun 01 Sep 2008, 20:58

Bon je crois que j'ai trouvé(on me l'a soufflé^^) une version plus simplifiée de la chose lol!


Un bon Random Spawn et le tour est joué.
Je fais spawn mon NPC pendant 10min et respawn toutes les 4h bounce
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
Divinity



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

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Lun 01 Sep 2008, 22:23

Citation :
Des développeurs ont l'air de partager mon avis vu que les AI passent en Java pur et dur. A quand les quêtes refaites en Java ?

+1 !!
En plus je pense qu'on pourrait certainement faire plus de choses.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Jeu 11 Sep 2008, 20:59

Bonjour a tous je reviens avec un bug cette fois Smile

Code:
import sys
from com.l2jfree.gameserver.model.quest import State
from com.l2jfree.gameserver.model.quest import QuestState
from com.l2jfree.gameserver.model.quest.jython import QuestJython as JQuest

qn = "10000_instance_sacrifice"


class Quest (JQuest) :

 def __init__(self,id,name,descr):
    JQuest.__init__(self,id,name,descr)

def onAdvEvent (self,event,npc,player) :
    timer = st.getQuestTimer("instance_timer")   
    if timer == None :
        player.teleToLocation(84285,148213,-3402)   
        st.exitQuest(1)   
        return
    else :
        return
       
 def onTalk (Self,npc,player):
    st = player.getQuestState(qn)
    level = player.getLevel()
    if level >= 20 :
        if level <= 39 :
            player.teleToLocation(-41560,210076,-5087)
            st.startQuestTimer("instance_timer",60000)
            return
        else :
            st.exitQuest(1)
            return "Tu n'as pas le bon level !"
    else :
        st.exitQuest(1)
        return "Tu n'as pas le bon level !"

QUEST      = Quest(10000,qn,"Teleport_sacrifice")

QUEST.addStartNpc(100020)

QUEST.addTalkId(100020)

Avec comme joli message d'erreur:
Code:
Line: -1 - Column: -1

Traceback (innermost last):
  (no code object) at line 0
SyntaxError: ('inconsistent dedent', ('__init__.py', 21, 2, ' def onTalk (Self,npc,player):'))

Je cherche a faire retéléporter un joueur au bout de X temps.
J'ai cru comprendre que pour gerer le timer il fallait passer par onAdvEvent.

Quelqu'un voit d'où ca peut venir??

J'ai mis en gras la source potentiel de mon incompétence Razz
if timer == None :
player.teleToLocation(84285,148213,-3402)
st.exitQuest(1)
return
else :
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
thuvvik



Nombre de messages : 12
Date d'inscription : 01/01/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Jeu 11 Sep 2008, 22:12

Le fait d'obtenir 'inconsistant dedent' risque fortement de notifier une erreur d'indentation

http://www.python.org/doc/2.3.5/ref/indentation.html

Je dirais qu'il manque un "espace" devant le "def onAdvEvent" qui devrait y être.

Mouaip Jython l'est taquin, mais comme il n'existe pas de délimiteur de fin d'instruction (comme le ";" en java ou C#), il ne peut se baser que sur l'indentation pour déterminer quel élément joue quel role.
En l'occurence "class" est au rang 0, niveau "espaces" et les "def" sont au rang 1 sauf celui de "onAdvEvent" qui se retrouve au rang0 (rang de classe ? )

Voila, d'abord corriger l'indentation et après voir s'il subsiste des anomalies.

A noter aussi "une tabulation" et "un (ou plusieurs) espaces" ne sont pas considérés de la même façon.
Dans le doute, NotePad++ et "afficher tout les caractères"

Courage
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Jeu 11 Sep 2008, 22:14

Ok merci je vais cheker j'ai bien du verifier tous les espaces mais pas celui la xD

Je n'utilise pas affichier tous les caractères sous notepad. Je crois que c'est indispensable avec cette *#$^@ de jython
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Jeu 11 Sep 2008, 23:40

Toujours pas et pourtant Sad

http://img385.imageshack.us/my.php?image=instancemz2.jpg

Dsl j'arrive pas a afficher l'image....marche pas la balise
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
thuvvik



Nombre de messages : 12
Date d'inscription : 01/01/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Ven 12 Sep 2008, 00:15

Toujours la meme erreur aux memes lignes ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Ven 12 Sep 2008, 00:16

toujours ...

Traceback (innermost last):
(no code object) at line 0
SyntaxError: ('inconsistent dedent', ('__init__.py', 21, 2, ' def onTalk (Self,npc,player):'))
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
thuvvik



Nombre de messages : 12
Date d'inscription : 01/01/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Ven 12 Sep 2008, 02:00

Supposition :

Il n'aime peut être pas les blocs sans instructions (le else).
Code:

if timer == None :
        player.teleToLocation(84285,148213,-3402)   
        st.exitQuest(1)   
        return
    else :
        return

deviendrait
Code:

if timer == None :
        player.teleToLocation(84285,148213,-3402)   
        st.exitQuest(1)   
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Respawner



Nombre de messages : 1622
Age : 28
Date d'inscription : 20/04/2006

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Ven 12 Sep 2008, 02:15

Essaies avec ça
Code:
import sys
from com.l2jfree.gameserver.model.quest import State
from com.l2jfree.gameserver.model.quest import QuestState
from com.l2jfree.gameserver.model.quest.jython import QuestJython as JQuest

qn = "10000_instance_sacrifice"

class Quest (JQuest) :

    def __init__(self,id,name,descr) :
        JQuest.__init__(self,id,name,descr)

    def onAdvEvent(self,event,npc,player) :
        timer = st.getQuestTimer("instance_timer")
        if timer == None :
            player.teleToLocation(84285,148213,-3402)
            st.exitQuest(1)
     
    def onTalk(Self,npc,player) :
        st = player.getQuestState(qn)
        level = player.getLevel()
        if level >= 20 :
            if level <= 39 :
                player.teleToLocation(-41560,210076,-5087)
                st.startQuestTimer("instance_timer",60000)
            else :
                st.exitQuest(1)
                return "Tu n'as pas le bon level !"
        else :
            st.exitQuest(1)
            return "Tu n'as pas le bon level !"

QUEST = Quest(10000,qn,"Teleport_sacrifice")

QUEST.addStartNpc(100020)
QUEST.addTalkId(100020)
T'avais quelques trucs en trop dans le code.

_________________
~$ cat new_server > /dev/null

Tout n'est qu'une question de point de vue.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.respawner.fr/
WeeD



Nombre de messages : 65
Age : 34
Localisation : Yvelines
Date d'inscription : 15/06/2008

MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Ven 12 Sep 2008, 09:25

Merci a vous pour la resolution du bug code.

Maintenant je me fais jeter IG au bout de 1 min, j'obtiens ca :

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://servehybrid.servegame.com
Contenu sponsorisé




MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aujourd'hui à 09:52

Revenir en haut Aller en bas
 
Aides pour Création Quest Teleport avec timer ...
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Créer un autre forum d'entr'aides pour forumactif
» probleme avec CSS pour une barre de navigation avec boutons reactifs
» (1282) Problème pour une insertion d'image avec smartphone
» Besoin d'aide pour description avec Html et css (j'espere que je me suis bien exprimé...)
» bonjour probleme pour créer une description avec ceci " systeme de dons

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: