Jump to content

Recommended Posts

Posted

Hello, I organized a quest for the interlude server. However, I want to add a timer to this quest so that it will be reset every 24 hours or at a certain time of the day. I could not do this because my Java knowledge is not very sufficient. If anyone can help me with this, I would be very happy.

 

# Made by Mr. - Version 0.3 by DrLecter
import sys
from l2jorion.game.model.quest import State
from l2jorion.game.model.quest import QuestState
from l2jorion.game.model.quest.jython import QuestJython as JQuest

qn = "263_KillAllSylphs1"

ORB_OF_WATER = 9998
ORB_OF_FIRE = 9999
ORB_OF_WIND = 10000
ORB_OF_EARTH = 10001
STONE_OF_VALOR = 10002

DROPLIST={
57000:[ORB_OF_WIND,100],
57001:[ORB_OF_EARTH,100],
57002:[ORB_OF_FIRE,100],
57003:[ORB_OF_WATER,100],
}

class Quest (JQuest) :

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

 def onEvent (self,event,st) :
    htmltext = event
    if event == "70737-03.htm" :
      st.set("cond","1")
      st.setState(STARTED)
      st.playSound("ItemSound.quest_accept")
    elif event == "70737-06.htm" :
      st.exitQuest(1)
      st.playSound("ItemSound.quest_finish")
    return htmltext

 def onTalk (self,npc,player):
   htmltext = "<html><body>You are either not carrying out your quest or don't meet the criteria.</body></html>

   st = player.getQuestState(qn)
   if not st : return htmltext

   npcId = npc.getNpcId()
   id = st.getState()

   if id == CREATED :
     st.set("cond","0")
   if st.getInt("cond")==0 :
     if player.getLevel()<76 :
       htmltext = "70737-01.htm"
       st.exitQuest(1)
     else :
       htmltext = "70737-02.htm"
   else :
     water = st.getQuestItemsCount(ORB_OF_WATER)
     fire = st.getQuestItemsCount(ORB_OF_FIRE)
     wind = st.getQuestItemsCount(ORB_OF_WIND)
     earth = st.getQuestItemsCount(ORB_OF_EARTH)
     if water == fire == wind == earth == 0 :
       htmltext = "70737-04.htm"
     if npcId == 70737 and st.getQuestItemsCount(ORB_OF_WATER) and st.getQuestItemsCount(ORB_OF_FIRE) and st.getQuestItemsCount(ORB_OF_WIND) and st.getQuestItemsCount(ORB_OF_EARTH) :
       htmltext = "70737-05.htm"
       st.giveItems(STONE_OF_VALOR,1)
       st.takeItems(ORB_OF_WATER,-1)
       st.takeItems(ORB_OF_FIRE,-1)
       st.takeItems(ORB_OF_WIND,-1)
       st.takeItems(ORB_OF_EARTH,-1)
   return htmltext

 def onKill(self,npc,player,isPet):
   st = player.getQuestState(qn)
   if not st : return 
   if st.getState() != STARTED : return 
   
   item,chance=DROPLIST[npc.getNpcId()]
   if st.getRandom(100)>1 :
     st.giveItems(item,1)
     st.playSound("ItemSound.quest_itemget")
   return

QUEST       = Quest(263,qn,"Kill All Sylphs1")
CREATED     = State('Start', QUEST)
STARTING    = State('Starting', QUEST)
STARTED     = State('Started', QUEST)
COMPLETED   = State('Completed', QUEST)


QUEST.setInitialState(CREATED)
QUEST.addStartNpc(70737)

QUEST.addTalkId(70737)

QUEST.addKillId(57000)
QUEST.addKillId(57001)
QUEST.addKillId(57002)
QUEST.addKillId(57003)

STARTED.addQuestDrop(57002,ORB_OF_FIRE,1)
STARTED.addQuestDrop(57003,ORB_OF_WATER,1)
STARTED.addQuestDrop(57000,ORB_OF_WIND,1)
STARTED.addQuestDrop(57001,ORB_OF_EARTH,1)

  • 4 weeks later...
Posted
20 minutes ago, Banshee Garnet said:

https://pastebin.com/qSHmSSGK

try this and let me know 🙂

Thanks for reply.

i try it copy paste.i get this error.

 

Error on: C:\Users\Talha\Desktop\Server_enson\game\data\scripts\quests\263_KillAllSylphs1\__init__.py.error.log
Line: -1 - Column: -1

Traceback (innermost last):
  (no code object) at line 0
SyntaxError: ('invalid syntax', ('quests/263_KillAllSylphs1/__init__.py', 95, 29, '                htmltext = f"<html><body>You can repeat this quest after {remaining_time} passed!</body></html>

 

and i use quest on npc, npc says '' you either not on a quest .....

Posted (edited)

remove this

 

# Check if the quest can be repeated
        if not self.can_repeat(st):
            remaining_time = self.get_time_remaining(st)
            if remaining_time:
                htmltext = f"<html><body>You can repeat this quest after {remaining_time} passed!</body></html>

 

Edited by Banshee Garnet
Posted
16 minutes ago, Banshee Garnet said:

remove this

 

# Check if the quest can be repeated
        if not self.can_repeat(st):
            remaining_time = self.get_time_remaining(st)
            if remaining_time:
                htmltext = f"<html><body>You can repeat this quest after {remaining_time} passed!</body></html>

 

i get that.
 

Error on: C:\Users\Talha\Desktop\Server_enson\game\data\scripts\quests\263_KillAllSylphs1\__init__.py.error.log
Line: -1 - Column: -1

Traceback (innermost last):
  File "quests/263_KillAllSylphs1/__init__.py", line 104, in ?
NameError: QUEST

if u available i want to send teamviewer or anydesk

 

Posted
43 minutes ago, usedy07 said:

i get that.
 

Error on: C:\Users\Talha\Desktop\Server_enson\game\data\scripts\quests\263_KillAllSylphs1\__init__.py.error.log
Line: -1 - Column: -1

Traceback (innermost last):
  File "quests/263_KillAllSylphs1/__init__.py", line 104, in ?
NameError: QUEST

if u available i want to send teamviewer or anydesk

 

of course , add me on discord banshee1019

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • WTB GRACIA FINAL INTERFACE
    • Dear partners! At the moment we are in great need of the following positions: — Snapchat old and new accounts | With snapscores | Geo: Europe/USA | Full access via email/phone number — Reddit old (brute or hacked origin, self-registered) accounts with post and comment karma from 100 to 100,000+ | Full email access included — LinkedIn old accounts with real connections | Geo: Europe/USA | Full email access + active 2FA password — Instagram old accounts (2010–2023) | Full email access (possibly with active 2FA password) — Facebook old accounts (2010–2023) | Full email access (possibly with active 2FA password) | With friends or without friends | Geo: Europe/USA/Asia — Threads accounts | Full email access (possibly with active 2FA password) — TikTok/Facebook/Google ADS Agency advertising accounts — Email accounts: mail.ru, yahoo.com, gazeta.pl, gmx.ch / gmx.de / gmx.net (BUT NOT gmx.com) — Google ADS Manual Farm accounts (verified via email and phone number) | GEO: USA/Europe, mostly USA. — WhatsApp OLD Accounts — Twitter accounts with followers and posts (old accounts) Contact us via the details below. We will be glad to cooperate! We are also ready to consider other partnership and collaboration options. Active links to our projects: Digital goods store (Website): Go to Store Telegram bot: Go to – convenient access to the store via the Telegram messenger. Virtual numbers service: Go to Telegram bot for purchasing Telegram Stars: Go to – fast and profitable purchase of Stars in Telegram. SMM Panel: Go to – promotion of your social media accounts. Contacts and support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
    • Dear partners! At the moment we are in great need of the following positions: — Snapchat old and new accounts | With snapscores | Geo: Europe/USA | Full access via email/phone number — Reddit old (brute or hacked origin, self-registered) accounts with post and comment karma from 100 to 100,000+ | Full email access included — LinkedIn old accounts with real connections | Geo: Europe/USA | Full email access + active 2FA password — Instagram old accounts (2010–2023) | Full email access (possibly with active 2FA password) — Facebook old accounts (2010–2023) | Full email access (possibly with active 2FA password) | With friends or without friends | Geo: Europe/USA/Asia — Threads accounts | Full email access (possibly with active 2FA password) — TikTok/Facebook/Google ADS Agency advertising accounts — Email accounts: mail.ru, yahoo.com, gazeta.pl, gmx.ch / gmx.de / gmx.net (BUT NOT gmx.com) — Google ADS Manual Farm accounts (verified via email and phone number) | GEO: USA/Europe, mostly USA. — WhatsApp OLD Accounts — Twitter accounts with followers and posts (old accounts) Contact us via the details below. We will be glad to cooperate! We are also ready to consider other partnership and collaboration options. Active links to our projects: Digital goods store (Website): Go to Store Telegram bot: Go to – convenient access to the store via the Telegram messenger. Virtual numbers service: Go to Telegram bot for purchasing Telegram Stars: Go to – fast and profitable purchase of Stars in Telegram. SMM Panel: Go to – promotion of your social media accounts. Contacts and support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
    • 冬天是享受优惠、省钱的好时机。 首次下单时使用促销码 SOCNET 即可获得 15% 折扣 ,适用于全场商品! 前往商店(网站) 前往商店(Telegram 机器人)
    • Winter is the time to save with benefits. Activate the promo code SOCNET on your first order and get a 15% discount on the entire assortment! Go to the store (website) Go to the store (Telegram bot)
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock