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

Квест 344_1000YearsEndofLamentation

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

В чём проблема ребята!?

-------------------------------------------------

 

Вот "__init__.py.error

В нём так

Error on: D:\l2\serv\game\data\scripts\quests\344_1000YearsEndofLamentation\__init__.py.error.log
Line: -1 - Column: -1

Traceback (innermost last):
  File "__init__.py", line 18, in ?
ZeroDivisionError: float division

Вот собственно сам "__init__.py"

# Made by KilKenny & DrLecter
import sys
from ru.catssoftware import Config
from ru.catssoftware.gameserver.model.quest import State
from ru.catssoftware.gameserver.model.quest import QuestState
from ru.catssoftware.gameserver.model.quest.jython import QuestJython as JQuest

qn = "344_1000YearsEndofLamentation"

#Rewards
ADENA = 57

#Quest Items
ARTICLES_DEAD_HEROES,OLD_KEY,OLD_HILT,OLD_TOTEM,CRUCIFIX = range(4269,4274)

#Chances
CHANCE = 36
SPECIAL = int(1+(1000/Config.RATE_QUESTS_REWARD_ITEMS))

#NPCs
GILMORE = 30754
RODEMAI = 30756
ORVEN = 30857
KAIEN = 30623
GARVARENTZ = 30704

default = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"

def rewards(st,npcId):
    state=False
    chance=st.getRandom(100)
    if npcId == ORVEN and st.getQuestItemsCount(CRUCIFIX) :
       st.set("mission","1")
       st.takeItems(CRUCIFIX,-1)
       state=True
       if chance < 50 :
          st.giveItems(1875,19)
       elif chance < 70 :
          st.giveItems(952,5)
       else :
          st.giveItems(2437,1)
    elif npcId == GARVARENTZ and st.getQuestItemsCount(OLD_TOTEM) :
       st.set("mission","2")
       st.takeItems(OLD_TOTEM,-1)
       state=True
       if chance < 45 :
          st.giveItems(1882,70)
       elif chance < 95 :
          st.giveItems(1881,50)
       else :
          st.giveItems(191,1)
    elif npcId == KAIEN and st.getQuestItemsCount(OLD_HILT) :
       st.set("mission","3")
       st.takeItems(OLD_HILT,-1)
       state=True
       if chance < 50 :
          st.giveItems(1874,25)
       elif chance < 75 :
          st.giveItems(1887,10)
       elif chance < 99 :
          st.giveItems(951,1)
       else :
          st.giveItems(133,1)
    elif npcId == RODEMAI and st.getQuestItemsCount(OLD_KEY) :
       st.set("mission","4")
       st.takeItems(OLD_KEY,-1)
       state=True
       if chance < 40 :
          st.giveItems(1879,55)
       elif chance < 90 :
          st.giveItems(951,1)
       else :
          st.giveItems(885,1)
    return state

class Quest (JQuest) :

 def __init__(self,id,name,descr): 
     JQuest.__init__(self,id,name,descr)
     self.questItemIds = range(4269,4274)

 def onEvent (self,event,st) :
     htmltext = event
     amount = st.getQuestItemsCount(ARTICLES_DEAD_HEROES)
     cond = st.getInt("cond")
     level = st.getPlayer().getLevel()
     if event == "30754-04.htm" :
        if level>=48 and cond == 0 :
          st.setState(State.STARTED)
          st.set("cond","1")
          st.playSound("ItemSound.quest_accept")
        else :
          htmltext = default
          st.exitQuest(1)
     elif event == "30754-08.htm" :     
         st.exitQuest(1)
         st.playSound("ItemSound.quest_finish")
     elif event == "30754-06.htm" and cond == 1 :
       if not amount :
          htmltext = "30754-06a.htm"
       else:
          if st.getRandom(SPECIAL)>=amount :
            st.rewardItems(ADENA,amount*60)
          else :
            htmltext="30754-10.htm"
            st.set("ok","1")
            st.set("amount",str(amount))
          st.takeItems(ARTICLES_DEAD_HEROES,-1)
     elif event == "30754-11.htm" and cond == 1 :
         if st.getInt("ok") != 1:
            htmltext=default
         else :
            random = st.getRandom(100)
            st.set("cond","2")
            st.unset("ok")
            if random < 25 :
               htmltext = "30754-12.htm"
               st.giveItems(OLD_KEY,1)
            elif random < 50 :
               htmltext = "30754-13.htm"
               st.giveItems(OLD_HILT,1)
            elif random < 75 :
               htmltext = "30754-14.htm"
               st.giveItems(OLD_TOTEM,1)
            else :
               st.giveItems(CRUCIFIX,1)
     return htmltext

 def onTalk (self,npc,player):
     htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
     st = player.getQuestState(qn)
     if not st : return htmltext

     npcId = npc.getNpcId()
     id = st.getState()
     if npcId != GILMORE and id != State.STARTED : return htmltext
     
     level = player.getLevel()
     cond = st.getInt("cond")
     amount = st.getQuestItemsCount(ARTICLES_DEAD_HEROES)
     if id == State.CREATED : 
        if level>=48 :
           htmltext = "30754-02.htm"
        else :
           htmltext = "30754-01.htm"
           st.exitQuest(1)
     elif npcId == GILMORE and cond==1 :
        if amount :
           htmltext = "30754-05.htm"
        else :
           htmltext = "30754-09.htm"
     elif cond==2 :
        if npcId == GILMORE :
          htmltext="30754-15.htm"
        elif rewards(st,npcId) :
           htmltext=str(npcId)+"-01.htm"
           st.set("cond","3")
           st.playSound("ItemSound.quest_middle")
     elif cond==3 :
       if npcId==GILMORE:
         amt=st.getInt("amount")
         mission=st.getInt("mission")
         bonus = 0
         if mission == 1 :
            bonus = 1500
         elif mission == 2 :
            st.giveItems(4044,1)
         elif mission == 3 :
            st.giveItems(4043,1)
         elif mission == 4 :
            st.giveItems(4042,1)
         if amt:
            st.unset("amount")
            st.rewardItems(ADENA,amt*50+bonus)
         htmltext="30754-16.htm"
         st.set("cond","1")
         st.unset("mission")
       else :
         htmltext = str(npcId)+"-02.htm"
     return htmltext

 def onKill(self,npc,player,isPet):
     st = player.getQuestState(qn)
     if not st : return 
     if st.getState() != State.STARTED : return 
     
     npcId = npc.getNpcId()
     chance = (CHANCE+(npcId-20234)*2)
     bonus = int(divmod(chance,100)[0])
     if st.getInt("cond") == 1 and st.getRandom(100)<chance :
         st.giveItems(ARTICLES_DEAD_HEROES,1+bonus)
         st.playSound("ItemSound.quest_itemget")
     return

QUEST       = Quest(344,qn,"1000 Years, the End of Lamentation")

QUEST.addStartNpc(GILMORE)

QUEST.addTalkId(GILMORE)
QUEST.addTalkId(RODEMAI)
QUEST.addTalkId(ORVEN)
QUEST.addTalkId(GARVARENTZ)
QUEST.addTalkId(KAIEN)

for mob in range(20236,20241):
    QUEST.addKillId(mob)

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


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

line 18, in ? >  line 18, in ? >  line 18, in ? > line 18, in ? > line 18, in ?

Сильно старался!? :)

 

И всё же я видел это! Но мне это ни о чём не говорит, лудше расскажи подробнее что именно нужно сделать!?

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


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

в самом тексте ошибки же ясно и понятно написано что не так у тебя в этой строке

и для понимания хватит даже самых начальных знаний английского языка.

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

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


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

Сильно старался!? :)

 

И всё же я видел это! Но мне это ни о чём не говорит, лудше расскажи подробнее что именно нужно сделать!?

Не особо. Видели - мало ли, не обратили внимания, откуда мне знать?

Да и сомневаюсь что смотрели, так вот кароч: "АААА АШИПКА, НАДА ЗАЙТИ НА МАКЗИ"

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


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

Не особо. Видели - мало ли, не обратили внимания, откуда мне знать?

Да и сомневаюсь что смотрели, так вот кароч: "АААА АШИПКА, НАДА ЗАЙТИ НА МАКЗИ"

Зачем так уже стебаться с чудака???  :)

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

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


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

Зачем так уже гнать с чудака???  :)

Белка следи за метлой!

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


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

Белка следи за метлой!

кк, удачи в скриптинге )))

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


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

Не особо. Видели - мало ли, не обратили внимания, откуда мне знать?

Да и сомневаюсь что смотрели, так вот кароч: "АААА АШИПКА, НАДА ЗАЙТИ НА МАКЗИ"

Я не разбираюсь просто,я  понял что проблема в 18й строке. Но я не знаю в чём именно так как знаний не Английского не джава не имею! И сервер не собираюсь запускать а просто на хом тачке страдаю фигнёй!

 

Лудше исправь или напиши что сделать! К чёму бред писать всякий!

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


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

Да сижу употребляю остатки с праздника. Надеюсь он не в обиде :)

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

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


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

кк, удачи в скриптинге )))

Спасибо, и тебе не хворать! Только можете замечания делать, если ты знаеш что-то больше чем я то либо промолчи либо помоги а не базарить типо "Ой ничего не знаеш не лезь и в таком духе=

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


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

Да сижу употребляю остатки с праздника. Надеюсь он не в обиде :)

Да не, на больных не обижаются! :db:

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


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

Спасибо, и тебе не хворать! Только можете замечания делать, если ты знаеш что-то больше чем я то либо промолчи либо помоги а не базарить типо "Ой ничего не знаеш не лезь и в таком духе=

Короч не собераюсь больше в теме флудить, но еще 1 сообщение напишу.

 

Где ты увидел что я написал замечание, или что то вроде того (Ой ничего не знаеш не лезь) я задал вопрос человеку ты тут устраиваешь, ну и тд... 

 

Скажу еще 1-но если другие будут за тебя исправлять скрипты (Которые Писал не ты) Ты очень очень долго будешь учиться.

 

Просто не поленись зайди на ex.ua скачай Учебник по Java, подучи API Unreal Engine

 

И будешь все делать сам.

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


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

Короч не собераюсь больше в теме флудить, но еще 1 сообщение напишу.

 

Где ты увидел что я написал замечание, или что то вроде того (Ой ничего не знаеш не лезь) я задал вопрос человеку ты тут устраиваешь, ну и тд... 

 

Скажу еще 1-но если другие будут за тебя исправлять скрипты (Которые Писал не ты) Ты очень очень долго будешь учиться.

 

Просто не поленись зайди на ex.ua скачай Учебник по Java, подучи API Unreal Engine

 

И будешь все делать сам.

Я имел в виду не конкретно тебя а  вообщем, если кто-то что-то не знает сразу срач вместо того чтобы помочь!

Ивсёже как мне решить проблему?

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


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

Я имел в виду не конкретно тебя а  вообщем, если кто-то что-то не знает сразу срач вместо того чтобы помочь!

Ивсёже как мне решить проблему?

division by zero

 

^^^

если тебе и такой прямой намек на причину не поможет, то лучше бросай это дело и забудь вобще про работу с серверами.

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


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

Ищешь рейты квестовых итемов, меняешь 0 на значение >0. 

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


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

Ищешь рейты квестовых итемов, меняешь 0 на значение >0. 

Итак стоит 0

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


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

Итак стоит 0

Мда, facepalm...

Поменяй 0 на 1 (>0 - больше нуля, так, для особо умных). Рейты не могут быть 0, так как это коэффициент и в большинстве кода используется в роли делителя, а как мы давно уже узнали (вот есть некие сомнения на счет тебя, сорян) - делить на ноль НЕЛЬЯ!  :acute:

  • Upvote 1

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


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

Мда, facepalm...

Поменяй 0 на 1 (>0 - больше нуля, так, для особо умных). Рейты не могут быть 0, так как это коэффициент и в большинстве кода используется в роли делителя, а как мы давно уже узнали (вот есть некие сомнения на счет тебя, сорян) - делить на ноль НЕЛЬЯ!  :acute:

ахаха да тупанул, я что-то думал что это меньше нуля хД :fool: 

 

А как мне быть если я хочю чтобы не было рейтов квеста, точнее чтоб они ровнялись 0 ?

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


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

ахаха да тупанул, я что-то думал что это меньше нуля хД :fool: 

 

А как мне быть если я хочю чтобы не было рейтов квеста, точнее чтоб они ровнялись 0 ?

1 поставь - это по оффу.

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


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

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

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

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

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

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

Войти

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

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

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

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

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