Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Квесты/Проверка на лвл.
Поиск

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

8 ответов199 просмотровСейчас просматривают: 1
U
Uphill
· 03.12.2009, 09:30

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

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

Цитата
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

Автор

Ветеран

Постов: 566

На форуме с: 10.05.2009

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

Рейтинг: 0

· 03.12.2009, 09:55

вместо

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

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

0
U
Uphill
· 03.12.2009, 11:11

ошибка в логе

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

0
BAS
BAS

Пользователь

Бывалый

Постов: 281

На форуме с: 14.10.2007

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

Рейтинг: 0

· 03.12.2009, 13:53

Вот попробуй будет баффать людей с 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
· 03.12.2009, 14:47

Цитата
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
Никита
Никита

Пользователь

Ветеран

Постов: 580

На форуме с: 30.05.2008

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

Рейтинг: 0

· 03.12.2009, 15:27

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

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


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

0
U
Uphill
· 03.12.2009, 16:31

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

0
G
Gradesk
· 03.12.2009, 17:48

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

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

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

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


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

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



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



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


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

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