Skip to content
La2Base
Home
DownloadsWikiForumFAQ
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Квесты/Как дать геройство на сутки?
Search

Как дать геройство на сутки?

9 replies302 viewsCurrently viewing: 1
Z
Zettog

User

Участник

Posts: 27

На форуме с: 03/15/2009

Рейтинг: 0

· 12/28/2009, 11:28 AM

Привет всем.
Вот переделываю эвент, хотел в кач-ве приза выдавать статус героя на сутки.
Эвент масовый пвп, побеждает только один либо никто...

Вот кусок кода отвечающий за выдачу приза,
как сделать выдачу статуса героя на одни сутки или до первого релога?
----------------------------------------------------------------
if event == "win" :
if len(Players) > 0 and len(Players + Deadplayers) >= Min_participate_count:
winner=L2World.getInstance().getPlayer(Players[0])
Deadplayers.append(Players[0])
if winner.isDead():
Announcements.getInstance().announceToAll("Event "+str(Event_name)+" has ended. All players is dead. Nobody Win")
else :
Announcements.getInstance().announceToAll("Event "+str(Event_name)+" has ended.")
Announcements.getInstance().announceToAll("Event: "+str(Players[0])+" win!")
for nm in Deadplayers :
i=L2World.getInstance().getPlayer(nm)
if i<>None and i.isOnline():
if i.isDead():
i.doRevive()
i.setCurrentCp(i.getMaxCp())
i.setCurrentHp(i.getMaxHp())
i.setCurrentMp(i.getMaxMp())
i.stopAllEffects()
i.broadcastStatusUpdate()
i.broadcastUserInfo()
if len(Deadplayers)>0:
n = 0
for nm in lastPlayers :
i=L2World.getInstance().getPlayer(nm)
i.teleToLocation(lastX[n],lastY[n],lastZ[n])
n = n + 1
if winner<>None:
if winner.isOnline() :
for id, count, chance in Rewards :
winner.getQuestState(qn).giveItems(id,count)
---------------------------------------------------------------------------------
Заранее спасибо!

Да и ещё,

как запустить эвент в опеределённое время?

скажем раз в неделю в 15.00 мск?

0
Z
Zettog

User

Участник

Posts: 27

На форуме с: 03/15/2009

Рейтинг: 0

· 12/28/2009, 01:06 PM

и как запретить юзать банки?

0
King708
King708

User

Бывалый

Posts: 178

На форуме с: 05/18/2009

Репутация: +181

Рейтинг: 0

· 12/28/2009, 01:10 PM

на счет кода незнаю, а если от гма то //sethero ник кол-во дней (//sethero King708 1)

0
Z
Zettog

User

Участник

Posts: 27

На форуме с: 03/15/2009

Рейтинг: 0

· 12/28/2009, 02:26 PM

Мне нужно кодом в питоне запретить юзать банки на эвенте, и в кач-ве приза выдавать статус героя на сутки)

0
Z
Zettog

User

Участник

Posts: 27

На форуме с: 03/15/2009

Рейтинг: 0

· 12/28/2009, 03:44 PM

Такс с призом решил проблемму с помощью:
L2World.getInstance().getPlayer(Players[0]).setHero(True)
получает хиро до первого релогина.

Надо запретить юзать банки на эвенте и запускать эвент раз в неделю в опеределённое время...

Подскажите как...

0
Хам
Хам

User

Бывалый

Posts: 179

На форуме с: 03/16/2008

Репутация: +45

Рейтинг: 0

· 01/07/2010, 06:12 PM

ну запускать эвент я думаю можно сделать через xml (эвенты) а вот с банками хз

0
Хам
Хам

User

Бывалый

Posts: 179

На форуме с: 03/16/2008

Репутация: +45

Рейтинг: 0

· 01/07/2010, 07:27 PM

по запуску эвента, случно наткнулся в сдре на:

Код
    public void startQuestTimer(String name, long time, L2NpcInstance npc, L2PcInstance player)
    {
        startQuestTimer(name, time, npc, player, false);
    }

в Quest.class

0
H
HeroFunk
· 01/08/2010, 08:17 AM

команда выдачи геройства на сутки //heroget la2base 1
место la2base ставишь ник персонажа а 1 это сутки
на счёт кода хз

0
A
Akumu
· 01/08/2010, 01:51 PM

Из исходников базы:





Дал код как реализовать, разбирайся

0
Войдите или зарегистрируйтесь чтобы ответить