Перейти к содержанию
Авторизация  
Nice

Не Открывается Дверь К Закену!

Рекомендуемые сообщения

Здравствуй. Помогите пожалуйста решить проблему с дверью к Закену. Она не открывается в полночь.

Вот что написано в файле door.csv

 

#name;static_object_id;posx;posy;posz;hp;physical_defence;magic_defence;unlockable

 

# Devils Isle

pirate_isle_001;21240001;42001;208378;-3666;41864;208287;-3785;42006;208383;-3540;187500;100000;10000;True

pirate_isle_002;21240002;43745;212594;-3623;43741;212433;-3742;43749;212600;-3497;187500;100000;10000;True

pirate_isle_003;21240003;42167;213285;-3643;42085;213285;-3760;42247;213286;-3515;187500;476;383;True

pirate_isle_004;21240004;51111;206106;-3912;51105;206102;-4031;51270;206110;-3786;187500;476;383;True

pirate_isle_005;21240005;52910;206720;-3692;52910;206637;-3808;52910;206801;-3563;187500;476;383;True

pirate_isle_006;21240006;52423;219103;-3209;52423;219032;-3312;52423;219174;-3067;187500;1000000;383;True

 

Выделенная строка, это дверь для прохода к закену. Значение "unlockable" установлено в "True". Почему не открывается, понятия не имею.

 

Помогите пожалуйста решить данную проблему! С меня ++

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

прост)00

 

 

// Вроде это реализовано в AI, а не в двери :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

прост)00

 

 

// Вроде это реализовано в AI, а не в двери :)

 

Плохо я в этом разбираюсь :)

Вот что в Zaken.py

 

import sys
from java.lang import System
from net.sf.l2j.gameserver.instancemanager import GrandBossManager
from net.sf.l2j.gameserver.lib import Rnd
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest

# Boss: Zaken
ZAKEN = 12374

#Zaken Status Tracking :
DEAD = 1
ALIVE = 0

class Zaken(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)
info = GrandBossManager.getInstance().getStatsSet(ZAKEN)
status = GrandBossManager.getInstance().getBossStatus(ZAKEN)
if status == DEAD :
# load the respawn date and time for zaken from DB
temp = long(info.getLong("respawn_time")) - System.currentTimeMillis()
if temp > 0 :
self.startQuestTimer("zaken_respawn", temp, None, None)
else :
# the time has already expired while the server was offline. Immediately spawn zaken in his ship.
zaken = self.addSpawn(ZAKEN,55312,219168,-3223,0,False,0)
GrandBossManager.getInstance().setBossStatus(ZAKEN,ALIVE)
GrandBossManager.getInstance().addBoss(zaken)
else :
loc_x = info.getInteger("loc_x")
loc_y = info.getInteger("loc_y")
loc_z = info.getInteger("loc_z")
heading = info.getInteger("heading")
hp = info.getInteger("currentHP")
mp = info.getInteger("currentMP")
zaken = self.addSpawn(ZAKEN,loc_x,loc_y,loc_z,heading,False,0)
GrandBossManager.getInstance().addBoss(zaken)
zaken.setCurrentHpMp(hp,mp)

def onAdvEvent (self,event,npc,player):
if event == "zaken_respawn" :
zaken = self.addSpawn(ZAKEN,55312,219168,-3223,0,False,0)
GrandBossManager.getInstance().setBossStatus(ZAKEN,ALIVE)
GrandBossManager.getInstance().addBoss(zaken)
return

def onKill(self,npc,player,isPet):
GrandBossManager.getInstance().setBossStatus(ZAKEN,DEAD)
respawnTime = long((19 + Rnd.get(35)) * 3600000)
self.startQuestTimer("zaken_respawn", respawnTime, None, None)
# also save the respawn time so that the info is maintained past reboots
info = GrandBossManager.getInstance().getStatsSet(ZAKEN)
info.set("respawn_time",(long(System.currentTimeMillis()) + respawnTime))
GrandBossManager.getInstance().setStatsSet(ZAKEN,info)
return

# now call the constructor (starts up the ai)
QUEST = Zaken(-1,"zaken","ai")

QUEST.addKillId(ZAKEN)

Изменено пользователем Nice

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуй. Помогите пожалуйста решить проблему с дверью к Закену. Она не открывается в полночь.

Вот что написано в файле door.csv

 

#name;static_object_id;posx;posy;posz;hp;physical_defence;magic_defence;unlockable

 

# Devils Isle

pirate_isle_001;21240001;42001;208378;-3666;41864;208287;-3785;42006;208383;-3540;187500;100000;10000;True

pirate_isle_002;21240002;43745;212594;-3623;43741;212433;-3742;43749;212600;-3497;187500;100000;10000;True

pirate_isle_003;21240003;42167;213285;-3643;42085;213285;-3760;42247;213286;-3515;187500;476;383;True

pirate_isle_004;21240004;51111;206106;-3912;51105;206102;-4031;51270;206110;-3786;187500;476;383;True

pirate_isle_005;21240005;52910;206720;-3692;52910;206637;-3808;52910;206801;-3563;187500;476;383;True

pirate_isle_006;21240006;52423;219103;-3209;52423;219032;-3312;52423;219174;-3067;187500;1000000;383;True

 

Выделенная строка, это дверь для прохода к закену. Значение "unlockable" установлено в "True". Почему не открывается, понятия не имею.

 

Помогите пожалуйста решить данную проблему! С меня ++

Возможно где то повторяется дверь, пересмотрите, а возможно уже где то идет открытие этих дверей.

Ищите по всей цепочке открытия дверей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно где то повторяется дверь, пересмотрите, а возможно уже где то идет открытие этих дверей.

Ищите по всей цепочке открытия дверей.

 

Проверил door.csv от и до, дверь не повторяется. Кроме door.csv и zaken.py - я понятия не имею где искать :) Подскажите будьте так добры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверил door.csv от и до, дверь не повторяется. Кроме door.csv и zaken.py - я понятия не имею где искать :) Подскажите будьте так добры.

Если исходники есть тогда ищите ответ в классе DoorTable.

Изменено пользователем Mr.Smith
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если исходники есть тогда ищите ответ в классе DoorTable.

 

Спасибо, поищу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если исходники есть тогда ищите ответ в классе DoorTable.

 

Собственно вот, нашел.

 

http://pastebin.com/14VjnF8Y

 

И примерно понимаю, что дверь к Закену должна прописываться тут :

 

/**
* Performs a check and sets up a scheduled task for
* those doors that require auto opening/closing.
*/
public void checkAutoOpen()
{
for (L2DoorInstance doorInst : getDoors())
{
// Garden of Eva (every 7 minutes)
if (doorInst.getDoorName().startsWith("goe"))
doorInst.setAutoActionDelay(420000);

// Tower of Insolence (every 5 minutes)
else if (doorInst.getDoorName().startsWith("aden_tower"))
doorInst.setAutoActionDelay(300000);
}
}

 

Но как прописать, понятия не имею :)

Изменено пользователем Nice

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собственно вот, нашел.

 

http://pastebin.com/14VjnF8Y

 

И примерно понимаю, что дверь к Закену должна прописываться тут :

 

/**
* Performs a check and sets up a scheduled task for
* those doors that require auto opening/closing.
*/
public void checkAutoOpen()
{
for (L2DoorInstance doorInst : getDoors())
{
// Garden of Eva (every 7 minutes)
if (doorInst.getDoorName().startsWith("goe"))
doorInst.setAutoActionDelay(420000);

// Tower of Insolence (every 5 minutes)
else if (doorInst.getDoorName().startsWith("aden_tower"))
doorInst.setAutoActionDelay(300000);
}
}

 

Но как прописать, понятия не имею :)

 

А по образцу не?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А по образцу не?

 

Ну вот к примеру..

 

Блин, сейчас перепишу :)

 

 else if (doorInst.getDoorName().startsWith("pirate_isle_006"))
doorInst.setAutoActionDelay(14400000);

 

Но в этом случае, дверь будет открываться 1 раз в 4 часа, в неизвестное время. Скорей всего время будет отсчитываться от запуска сервера. А мне нужно, чтоб дверь открывалась в полночь по игровому времени.

Как это сделать я не знаю..

Изменено пользователем Nice

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

всё выше открывает дверь с интервалом а у закена она открываеться в определенный момент

по уму надо делать исключение в процедуре отвечаюшей за время и оттуда уже открывать дверь на определенное время

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

всё выше открывает дверь с интервалом а у закена она открываеться в определенный момент

по уму надо делать исключение в процедуре отвечаюшей за время и оттуда уже открывать дверь на определенное время

 

По подробней если не затруднит, в какую сторону копать, какой файл? А то я совсем дуб в java :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну можно было прыгать от Calendar или Date, но они вроде как помечены депрекацией.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...