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  
Le Deal du moment : -20%
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, ...
Voir le deal
399 €

 

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

Aller en bas 
+3
kit-and-kat
Divinity
WeeD
7 participants
AuteurMessage
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty31/08/08, 03:33 pm

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 11/09/08, 07:59 pm, édité 2 fois
Revenir en haut Aller en bas
http://servehybrid.servegame.com
Divinity

Divinity


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty31/08/08, 04:27 pm

Tu veux absolument le faire via le Jython ?
Revenir en haut Aller en bas
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty31/08/08, 04:31 pm

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
http://servehybrid.servegame.com
kit-and-kat

kit-and-kat


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty31/08/08, 04:32 pm

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
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty31/08/08, 04:33 pm

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
http://servehybrid.servegame.com
Divinity

Divinity


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty31/08/08, 05:46 pm

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
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty31/08/08, 05:57 pm

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
http://servehybrid.servegame.com
Grimly

Grimly


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty31/08/08, 10:09 pm

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
Respawner

Respawner


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty31/08/08, 10:31 pm

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
Revenir en haut Aller en bas
http://www.respawner.fr/
Grimly

Grimly


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty01/09/08, 02:58 am

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
darksimonus

darksimonus


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty01/09/08, 10:36 am

Revenir en haut Aller en bas
http://www.l2sacrifice.fr/
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty01/09/08, 10:55 am

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
http://servehybrid.servegame.com
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty01/09/08, 07:58 pm

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
http://servehybrid.servegame.com
Divinity

Divinity


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty01/09/08, 09:23 pm

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
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty11/09/08, 07:59 pm

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
http://servehybrid.servegame.com
thuvvik




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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty11/09/08, 09:12 pm

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
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty11/09/08, 09:14 pm

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
http://servehybrid.servegame.com
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty11/09/08, 10:40 pm

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 Aides pour Création Quest Teleport avec timer ... ..
Revenir en haut Aller en bas
http://servehybrid.servegame.com
thuvvik




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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty11/09/08, 11:15 pm

Toujours la meme erreur aux memes lignes ?
Revenir en haut Aller en bas
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty11/09/08, 11:16 pm

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
http://servehybrid.servegame.com
thuvvik




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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty12/09/08, 01:00 am

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
Respawner

Respawner


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty12/09/08, 01:15 am

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.
Revenir en haut Aller en bas
http://www.respawner.fr/
WeeD

WeeD


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

Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty12/09/08, 08:25 am

Merci a vous pour la resolution du bug code.

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

Aides pour Création Quest Teleport avec timer ... Instance2pj1.th
Revenir en haut Aller en bas
http://servehybrid.servegame.com
Contenu sponsorisé





Aides pour Création Quest Teleport avec timer ... Empty
MessageSujet: Re: Aides pour Création Quest Teleport avec timer ...   Aides pour Création Quest Teleport avec timer ... Empty

Revenir en haut Aller en bas
 
Aides pour Création Quest Teleport avec timer ...
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Quest + Recompence
» Creation compte L2J
» creation de quete
» [bug[ creation summon

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