Jump to content

Question

Posted

Hello,
I've got isseu on CT1.5 - no GrandBoss auto spawn.
All/any boss can be spawned manualy, all npc's are fine, there.
But the GrandBoss, for instance Queen Ant, core, orfen etc. areas are empty. I can't find what, and WHERE who handles them.
I'm trying to read and understand Eclipse part.
Database has the data of all boses, locations etc.
GrandbossManager.java has a comend
" * NOTE: The current version does NOT spawn the Grand Bosses,
* it just stores and retrieves the values on reboot/startup,
* for AI scripts to utilize as needed."

Does the GrandBossManager should saturate the info/ handle the autospawn?

If yes, pleas post the java content, that works, if shouldnt, pleas explain where to look..

13 answers to this question

Recommended Posts

  • 0
Posted (edited)

Scripts handle grandboss spawns. The comment is legit. So if you miss all GBs :

 

- you don't know how they're supposed to spawn (most use gatekeeper TP as event listener).

- you miss the scripts.

- all your scripts got issues and don't compile correctly (not probable, but they are some genius everywhere)

- your scripts.cfg got them all quoted.

 

PS : regular bosses shouldn't be able to be spawned manually if there is already an instance of it.

Edited by Tryskell
  • 0
Posted

What project you use ??

L2j Hellbound ct 1.5 server version: 2340, datapack version: 4995.

At the begining I statrted with ready compiled pack, don't knowing the Eclipse part. I've checked same from Interlude till H5. Then at some point, you just understand that with out knowing tools for core editing, it's not serious. I stucked with HB, as I like the chonicle and its size fits the plans.

Checked lot of different sources, and differences between chronicles. Found and stayed with this source for Eclipse: http://svn.l2jserver.com/branches/L2_GameServer_T1.5/ , http://svn.l2jdp.com/branches/

I kept reading..there was so meny empty holes to fill. Managed to fixe admin panels, potion issues other people write about, quests etc.

Maxcheater was a great source to find needed code blocks missing in source inEclipse.

I have two issues left, couldn't find a good article about Grand boss auto spawn/ or its handler. and HB instance (abouut that I'll post diferent topic to keep this onto tracks.)

  • 0
Posted

Scripts handle grandboss spawns. The comment is legit. So if you miss all GBs :

 

- you don't know how they're supposed to spawn (most use gatekeeper TP as event listener).

- you miss the scripts.

- all your scripts got issues and don't compile correctly (not probable, but they are some genius everywhere)

- your scripts.cfg got them all quoted.

 

PS : regular bosses shouldn't be able to be spawned manually if there is already an instance of it.

Must mention, that I've got Baium sleeping, you can wake him up and fight - after wake status goes from 0 to 1, as it should, so Baium is fine, working. I've got Antharas in its cave. I believe both bosses are working. Missing ones are rest: AQ, Core, Orfen, Zaken, Valakas, Frint....

Checked my scripts.cfg, this is what the AI lines about Bosses looks like:

 

# AI Section

ai/fantasy_isle/mc_show.py

ai/group_template/chests.py

ai/group_template/feedable_beasts.py

ai/group_template/polymorphing_angel.py

ai/individual/antharas.py

ai/individual/baium.py

ai/individual/core.py

ai/individual/drchaos.py

ai/individual/fleeNpc.java

 

Only 3 bosses mentioned, could that be the issue of no-auto spawn? I've got no Core spawn too.

This is what core.py looks like in AI/individual folder:

 

import sys

from net.sf.l2j.util import Rnd

from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest

from net.sf.l2j.gameserver.serverpackets import NpcSay

from net.sf.l2j.gameserver.serverpackets import PlaySound

 

# Boss: Core

class core(JQuest) :

 

    # init function.  Add in here variables that you'd like to be inherited by subclasses (if any)

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

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

        self.Core = 29006

        self.Minions = [29007,29008,29011]

        self.FirstAttacked = False

 

    def onAttack (self,npc,player,damage,isPet):

        objId=npc.getObjectId()

        if self.FirstAttacked:

           if Rnd.get(100) : return

           npc.broadcastPacket(NpcSay(objId,0,npc.getNpcId(),"Removing intruders."))

        else :

           self.FirstAttacked = True

           npc.broadcastPacket(NpcSay(objId,0,npc.getNpcId(),"A non-permitted target has been discovered."))

           npc.broadcastPacket(NpcSay(objId,0,npc.getNpcId(),"Starting intruder removal system."))

        return

 

    def onKill(self,npc,player,isPet):

        npcId = npc.getNpcId()

        if npcId == self.Core:

            objId=npc.getObjectId()

            npc.broadcastPacket(PlaySound(1, "BS02_D", 1, objId, npc.getX(), npc.getY(), npc.getZ()))

            npc.broadcastPacket(NpcSay(objId,0,npcId,"A fatal error has occurred."))

            npc.broadcastPacket(NpcSay(objId,0,npcId,"System is being shut down..."))

            npc.broadcastPacket(NpcSay(objId,0,npcId,"......"))

            self.FirstAttacked = False

            self.addSpawn(31842,16502,110165,-6394,0,False,900000)

            self.addSpawn(31842,18948,110166,-6397,0,False,900000)

        elif self.FirstAttacked :

            self.addSpawn(npcId,17726,108915,-6480,npc.getHeading(),True,0)

        return

 

# now call the constructor (starts up the ai)

QUEST        = core(-1,"core","ai")

 

QUEST.addKillId(QUEST.Core)

QUEST.addAttackId(QUEST.Core)

 

for minion in QUEST.Minions :

    QUEST.addKillId(minion)

 

Tnx for your replys.

  • 0
Posted

Verify/reset timers on grandboss table, if it's put in 2050 you won't find any respawn. If all others scripts are working, there aren't a lot of solutions/problems anyway.

 

Not sure exactly how you state there isn't boss, but they aren't registered as regular spawns (or spawn only when event is triggered). So you normally can't find them with command or even teleporting to the lair. That still doesn't explain Ant Queen, Core && Orfen cases. Except if they're already dead, or you fucked it up with a custom, or Hellbound was maybe fucked up. Who knows.

  • 0
Posted (edited)

Verify/reset timers on grandboss table, if it's put in 2050 you won't find any respawn. If all others scripts are working, there aren't a lot of solutions/problems anyway.

 

Not sure exactly how you state there isn't boss, but they aren't registered as regular spawns (or spawn only when event is triggered). So you normally can't find them with command or even teleporting to the lair. That still doesn't explain Ant Queen, Core && Orfen cases. Except if they're already dead, or you fucked it up with a custom, or Hellbound was maybe fucked up. Who knows.

Exactly my point about AQ, Core etc..

I couldn't find any other decent pack, source for Hellbound, this one was the one shared around. Link after link I found elswere the same pack. A lot of quests were missing, potion/skill/icon issues. I managed to sort all that out, finding and implementing good working code blocks into Eclipse and then ant building core again.

This one about Bosses, I'm trying to understand first what exactly should I look for. I will deal with the script.cfg now, will try to find fully written and AI/individual folder with all Bosses .py's. As I understant I should have .py file for each gboss?

 

"Verify/reset timers on grandboss table, if it's put in 2050 you won't find any respawn. If all others scripts are working, there aren't a lot of solutions/problems anyway. "

-If I understand correctly it's Eclipse sided? If so, could you write s path to the file?

My grandboss_data table was half empty, I found most of missing data and filled the table, I believe i still don't have Beleth. this is how it looks like:

grandboss_data.jpg

 

So I understood they are not regular spawns, all the respawn timer handling..

Could you please state those GBosses, that are being spawned by triggering an event?

tnx for your reply.

 

p.s.

still, If I have Core same as Baium - .py file, in scripts.cfg, why doesn't it spawn..

Edited by zilbe333
  • 0
Posted

Antharas, Frintezza, Valakas, Sailren,... They all are triggered by their own gatekeepers. You should first see if those events are correctly triggered when they are used, then verify if spawn timer is corrcet (normally you have to wait 15 or 30min for some).

 

About leftovers (Orfen, Ant Queen) you maybe have to debug addSpawn (or whatever it's named on Hellbound).

 

Your respawn time is setted to 0, so your db seems fine.

  • 0
Posted (edited)

Antharas, Frintezza, Valakas, Sailren,... They all are triggered by their own gatekeepers. You should first see if those events are correctly triggered when they are used, then verify if spawn timer is corrcet (normally you have to wait 15 or 30min for some).

 

About leftovers (Orfen, Ant Queen) you maybe have to debug addSpawn (or whatever it's named on Hellbound).

 

Your respawn time is setted to 0, so your db seems fine.

I checked other chronicles, all bosses seems to be in .java, I've got only 3 bosses in AI/induvidual folder, .py files -Baium, Antharas, Core.

Core is missing same as the rest.

Only 1 working for sure is Baium, all states, as written in .py stone, awake, dead. Auto spawn, timers auto set, all fine.

I keep on reading, but not sure, what Im looking for, as I dont know whats missing. Ant Queen, Core, Orfen, where should I check addSpawn? Is there any code block I could copy and Implement where needed to correct? Or better source file to use for ant build from ct 1.5 Hellbound?

Edited by zilbe333
  • 0
Posted

Core for instance: I have it listed in database table, I have its .py file, I have it listed in scripts.cfg, but the location is empty!

Baium again all same files, line in scripts.cfg and he is working fine. So how/why Core is missing out?

I keep on reading, and reading, endlessly and can't understand, what is missing, where to look, atleast sort the Core issue, so I would have an exaple to follow with others, little by little finding right code..I just don't know what exactly is missing.. why auto spawn has not been triggered/handled..

  • 0
Posted

Verify the x/y/z of spawn.

checked, they .py file match with database table.

 

Here is my Core .py file

 

import sys

from net.sf.l2j.util import Rnd

from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest

from net.sf.l2j.gameserver.serverpackets import NpcSay

from net.sf.l2j.gameserver.serverpackets import PlaySound

 

# Boss: Core

class core(JQuest) :

 

    # init function.  Add in here variables that you'd like to be inherited by subclasses (if any)

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

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

        self.Core = 29006

        self.Minions = [29007,29008,29011]

        self.FirstAttacked = False

 

    def onAttack (self,npc,player,damage,isPet):

        objId=npc.getObjectId()

        if self.FirstAttacked:

           if Rnd.get(100) : return

           npc.broadcastPacket(NpcSay(objId,0,npc.getNpcId(),"Removing intruders."))

        else :

           self.FirstAttacked = True

           npc.broadcastPacket(NpcSay(objId,0,npc.getNpcId(),"A non-permitted target has been

 

discovered."))

           npc.broadcastPacket(NpcSay(objId,0,npc.getNpcId(),"Starting intruder removal system."))

        return

 

    def onKill(self,npc,player,isPet):

        npcId = npc.getNpcId()

        if npcId == self.Core:

            objId=npc.getObjectId()

            npc.broadcastPacket(PlaySound(1, "BS02_D", 1, objId, npc.getX(), npc.getY(), npc.getZ

 

()))

            npc.broadcastPacket(NpcSay(objId,0,npcId,"A fatal error has occurred."))

            npc.broadcastPacket(NpcSay(objId,0,npcId,"System is being shut down..."))

            npc.broadcastPacket(NpcSay(objId,0,npcId,"......"))

            self.FirstAttacked = False

            self.addSpawn(31842,16502,110165,-6394,0,False,900000)

            self.addSpawn(31842,18948,110166,-6397,0,False,900000)

        elif self.FirstAttacked :

            self.addSpawn(npcId,17726,108915,-6480,npc.getHeading(),True,0)

        return

 

# now call the constructor (starts up the ai)

QUEST        = core(-1,"core","ai")

 

QUEST.addKillId(QUEST.Core)

QUEST.addAttackId(QUEST.Core)

 

for minion in QUEST.Minions :

    QUEST.addKillId(minion)

 

p.s.

Does the other bosses, apart from baium,antharas, core, -needs to be in py or .java? later chronicles are all in .java, some I've seen mixedd content. I managed to find valakas py file on web, but the syntax doesnt match. I also tried to implement gracias/h5 .java files, trying to match import paths but unsucccessfuly.

  • 0
Posted (edited)

Nothing is "needed", you probably can code it in XML (I imagine it in JSON, lol) if you got a lot of patience and time to waste or whatever else langage from the moment you got a bridge with java.

 

I personally moved all scripts to Java because one developement langage is enough, then I moved all scripts to core to avoid external compilation which is terribly slow since Java 8. Python is supposed to easier script writing, personally I don't like it, you have to launch your server to see a compilation error, same with error handling which is beyond useless.

 

I got no idea about your issue, maybe a stupid config or whatever else source addition. I don't know this era of L2J.

Edited by Tryskell

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...