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

Partagez | 
 

 [Résolue](merci de votre aide)juste une question bete

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Spanky



Nombre de messages : 392
Age : 34
Localisation : Osaka, Japon
Date d'inscription : 01/12/2007

MessageSujet: [Résolue](merci de votre aide)juste une question bete   Mar 21 Oct 2008, 17:15

je cherche a faire spawn un npc unique a des endroit different toute les 4h
mais via du jython .
ma question en utilisant le se code
Code:
self.spawnnpc = self.addSpawn(NPC,MBX1,MBY1,MBZ1,0,False,0)
est ce que cela fonctionnera?

exemple de code (non finie)
Code:
 
import math
import sys
from net.sf.l2j.gameserver              import Announcements
from net.sf.l2j.util                    import Rnd
from java.lang                      import System
from net.sf.l2j.gameserver.model.quest          import State
from net.sf.l2j.gameserver.model.quest          import QuestState
from net.sf.l2j.gameserver.model.quest.jython      import QuestJython as JQuest
from net.sf.l2j.gameserver.model.actor.instance    import L2PcInstance
from net.sf.l2j.gameserver.model.actor.instance    import L2NpcInstance
 
NPC = (ici le npc)
#Npc loc
MNPCX  = 144291
MNPCY  = 157446
MNPCZ  = -466
eventInterval = 14400000  # 4 hours after the first event there is the second one and the others after are 4 hours too, change according to your needs
FirstStart = 3000  #45 minutes after each restart there is the first event


Dernière édition par Spanky le Jeu 06 Nov 2008, 15:42, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lonelyheavens.com
Grimly



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Mar 21 Oct 2008, 18:59

Sad Sad Sad Crying or Very sad Crying or Very sad Crying or Very sad

Lachez ce jython non de dieu !

Java N'EST PAS plus compliqué, bien au contraire.
Eclipse/NetBeans vous donnent leur support en plus de ça (auto-complétion).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Skatershi



Nombre de messages : 1305
Age : 28
Date d'inscription : 09/11/2006

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Mar 21 Oct 2008, 19:11

Grimly a écrit:
Sad Sad Sad Crying or Very sad Crying or Very sad Crying or Very sad

Lachez ce jython non de dieu !

Java N'EST PAS plus compliqué, bien au contraire.
Eclipse/NetBeans vous donnent leur support en plus de ça (auto-complétion).

+ 1 et avec les AI codé en Java, vous avez pas mal d'exemples Smile

Jython ça deviens de plus en plus useless pour ce genre de choses...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Spanky



Nombre de messages : 392
Age : 34
Localisation : Osaka, Japon
Date d'inscription : 01/12/2007

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Mar 21 Oct 2008, 19:30

c pas la réponse a ma question bande de javamaniacs Razz

j'ai essayer me suis cassez la tête et me suis résolue java c pas pour moi
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lonelyheavens.com
Respawner



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Mar 21 Oct 2008, 19:35

Evitons tout troll du genre "Jython ça pue, Java c'est bien" (même si il y a une part de vérité Very Happy).

Regarde si la méthode addSpawn(....) existe tout simplement. Si oui, go 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/
Divinity



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Mar 21 Oct 2008, 22:47

Tu as la possibilité de le faire sous SQL, via la table random_spawn, il me semble.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Grimly



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Mar 21 Oct 2008, 23:56

heh...

Ce sont de vieux souvenirs mais ...

addspawn() n'est pas pour un spawn permanent ?

Je veux dire par là que tu met en place une position de départ, ton mob apparait là où tu lui dit d'être, mais si qqn le tue, il va réapparaitre tôt ou tard au même endroit.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Psychokiller1888



Nombre de messages : 114
Age : 32
Localisation : Suisse
Date d'inscription : 24/02/2008

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Mer 22 Oct 2008, 17:56

Non pas si un despawn delay est specifié:

addSpawn(int npcId, L2Character cha, int despawnDelay)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Spanky



Nombre de messages : 392
Age : 34
Localisation : Osaka, Japon
Date d'inscription : 01/12/2007

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Jeu 23 Oct 2008, 15:27

on aller jai encore un petit bug dessus snif
Code:
#Smash The Pigs event
#by TheOne, edit by spanky&seva

import math
import sys
from net.sf.l2j.gameserver              import Announcements
from net.sf.l2j.util                    import Rnd
from java.lang                      import System
from net.sf.l2j.gameserver.model.quest          import State
from net.sf.l2j.gameserver.model.quest          import QuestState
from net.sf.l2j.gameserver.model.quest.jython      import QuestJython as JQuest
from net.sf.l2j.gameserver.model.actor.instance    import L2PcInstance
from net.sf.l2j.gameserver.model.actor.instance    import L2NpcInstance
from net.sf.l2j.gameserver.network.serverpackets    import PlaySound
 
#Put the Id of the reward of your choice here
Reward = 57
#Put the amount to give of this reward depending on the player level like this: [ level35amount,level65amount,level80amount ]
Amount = [  300000,1000000 ,5000000  ] #change the reward! :)
 
 
MANAGER = 50026  #choose the NPC that you want (100500)
ManagerLocX = [ 147453,82698,82753,16105,111257,-14403,147714,87354,-81085,116498,17471,43594,45854,11523,-83980,115170,-44534,-116065 ]
ManagerLocY = [ 26917,148638,53578,143272,219998,123388,-56380,-142315,150613,76137,169987,-48161,49768,16835,242577,-179018,-112910,46172 ]
ManagerLocZ = [ -2205,-3468,-1496,-2771,-3671,-3117,-2781,-1341,-3044,-2730,-3502,-797,-3060,-4662,-3730,-911,-240,504 ]
 
 
#NPC coords in Giran
MBX1    = 82698
MBY1    = 148638
MBZ1    = -3468

#addon added by sevas
PigMaxPlayers = 30  # (max number of players, NOT TESTED YET)
repeat = 3600000 # event repeat (Default 1 hour)
unspawntime = 10000 # This remove pigs again 10 sec later when players are teleported (no change)
teleportback = 605000 # Teleport player back to giran (5 sec more than duracion)
duracion = 600000 # length of the event (Default 10min)
finishtime = 600000 # Announcement in game when event finish
FirstStart = 20000 # when server start/restart the event 'll load after this time
 
Pigs = [ 100307,100308,100309,100310,100311,100312,100313,100314,100315 ] # 3 levels, 3 of each level in order - 35,65,80
SpawnXLowTown = [ 46264,12940,-84766,116618,-44567,-115572 ]
SpawnYLowTown = [ 49679,16484,242338,-182496,-112683,46779 ]
SpawnZLowTown = [ -3068,-4585,-3730,-1526,-240,501 ]
SpawnXMidTown = [ -14403,-82335,116682,45375 ]
SpawnYMidTown = [ 123631,150831,76407,-47863 ]
SpawnZMidTown = [ -3117,-3129,-2730,-797 ]
SpawnXHighTown = [ 148051,81348,82435,18809,111921,148416,88144 ]
SpawnYHighTown = [ 28045,148238,53681,145310,219691,-55977,-142741 ]
SpawnZHighTown = [ -2269,-3469,-1496,-3131,-3761,-2781,-1341 ]
 
class pigsSmash (JQuest):
 
    def __init__(self,id,name,descr):
        JQuest.__init__(self,id,name,descr)
        self.startQuestTimer("PigsSpawn", FirstStart, None, None)
        self.EventManager1 = []
        self.Registration = []
        self.Pigs = []
 
 
    def onTalk (self,npc,player) :
        npcId = npc.getNpcId()
        if not player.getQuestState("pigsSmash") : return
        if npcId == MANAGER :
          if not player in self.Registration:
                if len(self.Registration) < PigMaxPlayers:
                    self.Registration.append(player)
                    Reg = list(self.Registration)
                    Id = []
                    for player in self.Registration:
                        rr = player.getClient()
                        if rr == None:
                            for i in range(len(self.Registration)):
                                if player == self.Registration[i]:
                                    Id.append[i]
                            if len(Id) > 1:
                                for i in range(len(Id)):
                                    self.Registration.pop(Id[i])
          player.sendPacket(PlaySound("ItemSound.quest_accept"))
                    return "<html><body>You are now participating in the event! Go and kill some Pigs!!</body></html>"
                else:
                    self.Full = True
                    return "<html><body>Event is full, try again next time ;)</body></html>"
          else:
                return "<html><body>You are already registered.</body></html>"
 
 
 
    def onAdvEvent (self,event,npc,player):
        if event == "PigsSpawn":
            StartAnnounce = "Some special pigs have been spawned in all towns and villages.  Their levels should reflect the Town that they are in."
            StartAnnounce2 = "When killed, there is a chance that they will drop an event box."
            StartAnnounce3 = "If you are 10 or more levels higher than the Pig that you kill, you will not get any reward."
            StartAnnounce4 = "You need to register with the Event Manager in a town to participate!"
            Announcements.getInstance().announceToAll(StartAnnounce)
            Announcements.getInstance().announceToAll(StartAnnounce2)
            Announcements.getInstance().announceToAll(StartAnnounce3)
            Announcements.getInstance().announceToAll(StartAnnounce4)
            self.Registration = []
            self.startQuestTimer("PigDespawn", duracion, None, None) #StartTimer de la Duracion
            self.startQuestTimer("finish", finishtime, None, None) #StartTimer del anuncio finish
            self.startQuestTimer("teleportback", teleportback, None, None) #StartTimer del teleportback               
            for i in range(len(ManagerLocX)):
                manager1 = self.addSpawn(MANAGER,ManagerLocX[i],ManagerLocY[i],ManagerLocZ[i],0,False,0)
                self.EventManager1.append(manager1)
            for i in range(15):
                for i in range(len(SpawnXLowTown)):
                    rr = Rnd.get(500)
                    rr2 = Rnd.get(500)
                    xx = SpawnXLowTown[i] + (rr - 250)
                    yy = SpawnYLowTown[i] + (rr2 - 250)
                    zz = SpawnZLowTown[i]
                    luck = Rnd.get(3)
                    pig = self.addSpawn(Pigs[luck],xx,yy,zz,0,False,0)
                    self.Pigs.append(pig)
                for i in range(len(SpawnXMidTown)):
                    rr = Rnd.get(500)
                    rr2 = Rnd.get(500)
                    xx = SpawnXMidTown[i] + (rr - 250)
                    yy = SpawnYMidTown[i] + (rr2 - 250)
                    zz = SpawnZMidTown[i]
                    luck = Rnd.get(3)
                    luck = luck + 3
                    pig = self.addSpawn(Pigs[luck],xx,yy,zz,0,False,0)
                    self.Pigs.append(pig)
                for i in range(len(SpawnXHighTown)):
                    rr = Rnd.get(500)
                    rr2 = Rnd.get(500)
                    xx = SpawnXHighTown[i] + (rr - 250)
                    yy = SpawnYHighTown[i] + (rr2 - 250)
                    zz = SpawnZHighTown[i]
                    luck = Rnd.get(3)
                    luck = luck + 6
                    pig = self.addSpawn(Pigs[luck],xx,yy,zz,0,False,0)
                    self.Pigs.append(pig)
   
   if event == "finish":
            StartAnnounce5 = "Smash The Pigs Event Finished"
            StartAnnounce6 = "The next event is on X hour"
            Announcements.getInstance().announceToAll(StartAnnounce5)                         
            Announcements.getInstance().announceToAll(StartAnnounce6)
 
        if event == "PigDespawn": #First unspawn of npcs
           print "[Event] Smash The Pig Event Finished"
               for npc in self.Pigs:
                   npc.deleteMe()
               for npc in self.EventManager1:
                   npc.deleteMe()
               self.startQuestTimer("unspawntime", unspawntime, None, None) #StartTimer of second unspawn
 
        if event == "teleportback": #Teleport players back to giran
                print "[Event] Teleporting Players"
                for player in self.Registration:
                   player.teleToLocation(82823,148605,-3469)
 
        if event == "unspawntime": #Second unspawn
           print "[Event] Removing Pigs"
               for npc in self.Pigs:
                   npc.deleteMe()
           print "[Event] Pigs Removed"
               self.startQuestTimer("PigsSpawn", repeat, None, None) #StartTimer (old eventInterval)
           print "[Event] Next event is in X hour"
 
    def onKill(self,npc,player,isPet):
        npcId = npc.getNpcId()
        npcObjId = npc.getObjectId()
        if npc in self.Pigs:
            level = npc.getLevel()
            xx = npc.getX()
            yy = npc.getY()
            zz = npc.getZ()
            luck = Rnd.get(3)
            if level == 35:
                prize_amount = Amount[0]
            if level == 65:
                luck = luck + 3
                prize_amount = Amount[1]
            if level == 80:
                luck = luck + 6
                prize_amount = Amount[2]
            for i in range(len(self.Pigs)):
                if npcObjId == self.Pigs[i].getObjectId():
                    Id = i
            self.Pigs.pop(Id)
            pig = self.addSpawn(Pigs[luck],xx,yy,zz,0,False,0)
            self.Pigs.append(pig)
            if not player.getQuestState("pigsSmash"): return
            if player.getLevel() > (level + 9):
          player.teleToLocation(82823,148605,-3469)
          return
            if player in self.Registration: #If the player registered than he has the quest, no need to check
              if Rnd.get(101) <= 5: #5% chance that it will drop a reward, change if you need to
                player.getQuestState("pigsSmash").giveItems(Reward,prize_amount )
      player.sendPacket(PlaySound("ItemSound.quest_itemget"))
            else:
          player.teleToLocation(82823,148605,-3469)
                    return "<html><body>You are not allowed to hunt pigs! Go back and Register with the NPC Bonny and you will be allowed to participate in the event.</body></html>"               
 
QUEST      = pigsSmash(-1, "pigsSmash", "ai")
 
for i in Pigs:
    QUEST.addKillId(i)
 
QUEST.addStartNpc(MANAGER)
QUEST.addTalkId(MANAGER)
 
print "Smash the pigs event loaded!!!"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lonelyheavens.com
Spanky



Nombre de messages : 392
Age : 34
Localisation : Osaka, Japon
Date d'inscription : 01/12/2007

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Jeu 23 Oct 2008, 15:55

dsl pour le double poste Razz
l'erreur: http://img353.imageshack.us/my.php?image=lebugcm1.jpg
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lonelyheavens.com
Respawner



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Jeu 23 Oct 2008, 15:58

T'essaie d'appliquer la méthode sur une variable sans valeur. Equivalent d'un NullPointerException en Java quoi ... (si mes souvenirs de Python sont encore corrects).

_________________
~$ 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/
Spanky



Nombre de messages : 392
Age : 34
Localisation : Osaka, Japon
Date d'inscription : 01/12/2007

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Jeu 23 Oct 2008, 16:02

Razz regarde
Code:
if event == "PigDespawn": #First unspawn of npcs
           print "[Event] Smash The Pig Event Finished"
               for npc in self.Pigs:
                   npc.deleteMe()
               for npc in self.EventManager1:
                   npc.deleteMe()
               self.startQuestTimer("unspawntime", unspawntime, None, None) #StartTimer of second unspawn
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lonelyheavens.com
Respawner



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Jeu 23 Oct 2008, 16:20

Ce n'est qu'une liste d'ID de NPC ce n'est pas une liste de NPC "réels" c'est là qu'il est le problème à mon avis. Y'a pas de méthode deleteMe() pour un integer à ma connaissance.

_________________
~$ 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/
Spanky



Nombre de messages : 392
Age : 34
Localisation : Osaka, Japon
Date d'inscription : 01/12/2007

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Jeu 23 Oct 2008, 18:03

donc maintenant que doije faire
need help Sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lonelyheavens.com
Respawner



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Jeu 23 Oct 2008, 19:00

Choper le NPC correspondant grâce à son ID et lui appliquer le deleteMe().

_________________
~$ 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/
Spanky



Nombre de messages : 392
Age : 34
Localisation : Osaka, Japon
Date d'inscription : 01/12/2007

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Jeu 23 Oct 2008, 20:36

ok je pense avoir compris vais faire des testes et je te dit sa
arigato
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lonelyheavens.com
Grimly



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Ven 24 Oct 2008, 02:00

Spanky a écrit:
je pense avoir compris

J'ai toujours peur de cette expression.


Bon, pour enlever ce "pense", un petit cours de java (ou plutôt de POO) !
Hein quoi ça parle de jython ? et alors ! C'est du java dégénéré !

En java, tout est objet ! Ça n'a l'air de rien, et pourtant c'est presque exclusivement sur ça que repose le java.

Qu'est-ce que ça veux dire ...
Et bien, un entier est un Entier, un homme est un Homme, un chat est un Chat, un chien est un Chien, une voiture est une Voiture ....

Jusque là, on a l'impression de pas avancer, mais au contraire !
On as les instances "un homme ..." et les classes "... est un Homme"

La classe, c'est comme un mode d'emploi ! Tu peux faire quelque choses avec ton objet (instance) mais pas d'autres. Ces choses sont les méthodes.

Ensuite, un peu d'héritage ...
Un Chat est un Animal, un Chien est un Animal ...
Tous les Animaux vivent, meurent, mangent, dorment.
L'Animal vas donc faire office de "super mode d'emploi" qui marche avec n'importe quel objet du type générique. En POO, on appelle ça les super-classes (c'est ça que le mot "super" veux dire dans les codes java) ou classes mères.


Bon, l'héritage, on s'en fou limite un peu ici, mais j'étais lancé.
Ici, le problème c'est que tu utilise le mode d'emploi d'un NPC sur un Entier ... Essaie donc de faire fonctionner un moteur avec le mode d'emploi de montage d'un meuble IKEA Smile

Si tu regarde dans les sources, tu verra que les SpawnTable peuvent donner un Spawn à partir d'une id (Entier) qui lui même peux donner un NPC. Et comme le NPC sais s'auto-détruire sur commande, commande !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Grimly



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Ven 24 Oct 2008, 02:02

Grimly a écrit:
Spanky a écrit:
je pense avoir compris

J'ai toujours peur de cette expression.


Bon, pour enlever ce "pense", un petit cours de java (ou plutôt de POO) !
Hein quoi ça parle de jython ? et alors ! C'est du java dégénéré !

En java, tout est objet ! Ça n'a l'air de rien, et pourtant c'est presque exclusivement sur ça que repose le java.

Qu'est-ce que ça veux dire ...
Et bien, un entier est un Entier, un homme est un Homme, un chat est un Chat, un chien est un Chien, une voiture est une Voiture ....

Jusque là, on a l'impression de pas avancer, mais au contraire !
On as les instances "un homme ..." et les classes "... est un Homme"

La classe, c'est comme un mode d'emploi ! Tu peux faire quelque choses avec ton objet (instance) mais pas d'autres. Ces choses sont les méthodes.

Ensuite, un peu d'héritage ...
Un Chat est un Animal, un Chien est un Animal ...
Tous les Animaux vivent, meurent, mangent, dorment.
L'Animal vas donc faire office de "super mode d'emploi" qui marche avec n'importe quel objet du type générique. En POO, on appelle ça les super-classes (c'est ça que le mot "super" veux dire dans les codes java) ou classes mères.


Bon, l'héritage, on s'en fou limite un peu ici, mais j'étais lancé.
Ici, le problème c'est que tu utilise le mode d'emploi d'un NPC sur un Entier ... Essaie donc de faire fonctionner un moteur avec le mode d'emploi de montage d'un meuble IKEA Smile

Si tu regarde dans les sources, tu verra que les SpawnTable peuvent donner un Spawn à partir d'une id (Entier) qui lui même peux donner un NPC. Et comme le NPC sais s'auto-détruire sur commande, commande !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
promethium



Nombre de messages : 141
Age : 34
Localisation : Compiegne
Date d'inscription : 06/09/2007

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Ven 24 Oct 2008, 04:21

Grimly a écrit:
En java, tout est objet ! Ça n'a l'air de rien, et pourtant c'est presque exclusivement sur ça que repose le java.
Cette remarque serait plutôt vrai pour le Smalltalk mais en java on peux déclarer a la fois des variables de type primitif et des variables de type objet (et pourtant ce dernier est plus vieux de 23 ans).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://valmemoria.com
Respawner



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Ven 24 Oct 2008, 04:47

L'idée d'avoir un équivalent objet de chaque variable primitive est de permettre (entre autre) des méthodes de conversions faciles. Dans le genre Integer.parseInt(String machin); pour palier au problème du int truc = (int) machin; qui ne marchera pas si machin est un objet ... (tout le monde sait que les chaînes de caractères sont des objets hein). C'est quand même vachement plus pratique...

_________________
~$ 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/
Spanky



Nombre de messages : 392
Age : 34
Localisation : Osaka, Japon
Date d'inscription : 01/12/2007

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Ven 24 Oct 2008, 15:55

Crying or Very sad vous m'embrouiller la Razz
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lonelyheavens.com
Respawner



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Ven 24 Oct 2008, 16:09

Spanky a écrit:
Crying or Very sad vous m'embrouiller la Razz
J'espère que non car le Python c'est du langage objet ... si tu n'as pas de notions de POO ça va être balaise hein Smile

Alors je vais tenter d'expliquer un peu du moins de résumer. Un objet c'est une entité qui peut représenter aussi bien une entité physique réelle (voiture) ou une idée (le marxisme, ouai c'est le truc qui m'est venu à l'esprit, Java/marxisme, lutte des classes toussa xD). Dans ton scrypt Python (enfin Jython), l'objet à utiliser est un spawn de NPC. Ton erreur réside dans une chose, un NPC est différent d'un numéro (ID). Or toi tu as fait une liste d'ID puis tu parcours la liste en appliquant à chaque ID la méthode deleteMe(). Le problème c'est qu'un ID c'est une variable primitive qui n'a pas de méthode car elle n'a pas de classe. Dans une classe, on trouve les méthodes pour manipuler l'objet (représenté par la classe). La classe est la règle permettant de fabriquer l'objet et son mode d'emploi (Grimly a bien expliqué ceci). Un entier n'a pas de méthode deleteMe() donc quand tu veux lui appliquer ça, forcément, le script te jette pour te dire que tu ne peux pas faire ça. Par contre, un ID c'est une des chose qui compose un NPC enfin ici un spawn de NPC. Et il existe dans le Java, une classe ainsi qu'une méthode qui en fonction de l'ID que tu lui donnes va te renvoyer (mot clé return) un objet de type spawn de NPC auquel tu pourras appliquer la méthode deleteMe() car c'est une méthode écrite dans la classe décrivant un spawn de NPC.

Je sais pas si c'est très clair, j'ai essayé de rester clair et cohérent en gardant un minimum de langage technique parce qu'il faut le connaître aussi.

_________________
~$ 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/
Jules



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Ven 24 Oct 2008, 17:38

Respawner a écrit:
Java/marxisme, lutte des classes toussa xD
Il adore !

Respawner a écrit:
Ton erreur réside dans une chose, un NPC est différent d'un numéro (ID). Or toi tu as fait une liste d'ID puis tu parcours la liste en appliquant à chaque ID la méthode deleteMe(). Le problème c'est qu'un ID c'est une variable primitive qui n'a pas de méthode car elle n'a pas de classe.
Il traduirait par :
La traduction a écrit:
Ton erreur réside dans une chose, une voiture est différente d'un numéro (d'immatriculation). Or toi tu as fait une liste d'immatriculations puis tu parcours la liste en appliquant à chaque immatriculation la méthode démarreMoi(). Le problème c'est qu'une immatriculation c'est un numéro de base à la con qui n'a pas de méthode de démarrage car elle n'a pas de moteur.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://l2jfr.jeun.fr/search.forum
Spanky



Nombre de messages : 392
Age : 34
Localisation : Osaka, Japon
Date d'inscription : 01/12/2007

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Ven 24 Oct 2008, 17:44

la j'ai compris Razz
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.lonelyheavens.com
Divinity



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

MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Ven 24 Oct 2008, 19:20

Citation :
c'est un numéro de base à la con

Désolé pour le flood, mais j'ai trouvé ça excellent comme traduction xD !!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [Résolue](merci de votre aide)juste une question bete   Aujourd'hui à 17:32

Revenir en haut Aller en bas
 
[Résolue](merci de votre aide)juste une question bete
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» j'implore votre aide pour un probleme de mouvement.
» Besoin de votre aide pour aligner des horloges
» Page d'avertissement au lieu de la page d'accueil
» quel central pour le logiciel (merci pour votre aide)
» [Résolu] infecté merci de votre aide

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: