Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
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

Проверка на лвл.

8 replies186 viewsCurrently viewing: 1
U
Uphill
· 12/03/2009, 09:30 AM

Хочу у бафера сделать проверку на лвл.

что нужно дописать? вот исходник

Цитата
def onTalk (self,npc,player):
st = player.getQuestState(qn)
htmltext = "<html><head><body>Thx</body></html>"
st.setState(State.STARTED)
return InitialHtml


пробовал вот так, не получается, гс пишет ошибку...

Цитата
def onTalk (self,npc,player):
st = player.getQuestState(qn)
if player.getLevel() >= 63 :
htmltext = "7.htm"
else:
htmltext = "<html><head><body>Thx</body></html>"
st.setState(State.STARTED)
return InitialHtml


7.htm в этом файле написано что для чаров старше 62 лвл бафаться нельзя.

0
tsa
tsa

Author

Ветеран

Posts: 566

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

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

Рейтинг: 0

· 12/03/2009, 09:55 AM

вместо

Код
if player.getLevel() >= 63 :

попробуй
Цитата
if st.getPlayer().getLevel() >= 63 :

0
U
Uphill
· 12/03/2009, 11:11 AM

ошибка в логе

Цитата
org.python.parser.ParseException: 'return' outside function

0
BAS
BAS

User

Бывалый

Posts: 281

На форуме с: 10/14/2007

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

Рейтинг: 0

· 12/03/2009, 01:53 PM

Вот попробуй будет баффать людей с 40 лэвла не ниже и при наличии 150к адэны:

def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 150000 or st.getPlayer().getLevel() < 40 :

Лучший игровой сервер - Земля: карта всего одна,но на 6 миллиардов игроков,читеров нет,админ терпеливый,но если уж забанит...

— Уважаемый

0
U
Uphill
· 12/03/2009, 02:47 PM

Цитата
def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 0 or st.getPlayer().getLevel() > 62 :
htmltext = "<html><head><body>Vi slishkom bolshoy!<br></body></html>"
else:
st.takeItems(ADENA_ID,0)
st.getPlayer().setTarget(st.getPlayer())


спасибо. поправил под себя. помогло.
ПС. сначало не заметил эту строчку с аденой и лвл, а ведь она была))

Если есть еще у кого способы на проверку ЛВЛа, то прошу - выкладывайте!

0
Никита
Никита

User

Ветеран

Posts: 580

На форуме с: 05/30/2008

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

Рейтинг: 0

· 12/03/2009, 03:27 PM

Код
if (player.getLevel() < MinLevel) or (player.getLevel() > MaxLevel) : return "charlevel.htm"

Потом выносишь на вверх:
Код
MinLevel = 1
MaxLevel = 80


Тамже, где скрипт, создашь charlevel.htm и туда можешь что хочешь написать, когда ЛВЛ не соответсвует, который ты укажишь.

0
U
Uphill
· 12/03/2009, 04:31 PM

эту строку вписывать в def onTalk ?

0
G
Gradesk
· 12/03/2009, 05:48 PM

Дочитал тему и понял что мб уже не актуально но для общего развития:

Uphill: эту строку вписывать в def onTalk ?

Куда хчоеш но если в он евент (или он адвевент) то надо будет player сменить на st.getPlayer()
А так - смотря где ты хочеш чтобы это обрабатывалось:
Если в онталк:
Тогда обрабатыватся будет сразу же после нажатия кнопки котоаря перекидывает в квест (как правило тыкаеш на НПСа открывается окно с одной как раз такой кнопкой и после её нажатия обрабатывается и првоеряется всё из он талка и уже выводитсся окно с нужным текстом) и проверяется всего 1 раз но как правило больше и не надо...

А если в он Евент:
Тогда это будет проверятся каждый раз как только чар будет тыкать на кнопку бафатся... это по сути некчему, ибо нагружает сервер (малость но всё же).


Uphill: Хочу у бафера сделать проверку на лвл.

что нужно дописать? вот исходник



пробовал вот так, не получается, гс пишет ошибку...



7.htm в этом файле написано что для чаров старше 62 лвл бафаться нельзя.


А по поводу первого поста:
Там прсото ты создаёш переменную htmltext а в return пытаешся открыть переменную initialhtml ...

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