Проверка на лвл.
8 replies186 viewsCurrently viewing: 1
· 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
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
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
· 12/03/2009, 09:55 AM
вместо
Код
if player.getLevel() >= 63 :
попробуй
Цитата
if st.getPlayer().getLevel() >= 63 :
0
· 12/03/2009, 11:11 AM
ошибка в логе
Цитата
org.python.parser.ParseException: 'return' outside function
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
· 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())
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
· 12/03/2009, 03:27 PM
Код
if (player.getLevel() < MinLevel) or (player.getLevel() > MaxLevel) : return "charlevel.htm"
Потом выносишь на вверх:
Код
MinLevel = 1
MaxLevel = 80
MaxLevel = 80
Тамже, где скрипт, создашь charlevel.htm и туда можешь что хочешь написать, когда ЛВЛ не соответсвует, который ты укажишь.
0
· 12/03/2009, 04:31 PM
эту строку вписывать в def onTalk ?
0
· 12/03/2009, 05:48 PM
Дочитал тему и понял что мб уже не актуально но для общего развития:
Uphill: эту строку вписывать в def onTalk ?
Куда хчоеш но если в он евент (или он адвевент) то надо будет player сменить на st.getPlayer()
А так - смотря где ты хочеш чтобы это обрабатывалось:
Если в онталк:
Тогда обрабатыватся будет сразу же после нажатия кнопки котоаря перекидывает в квест (как правило тыкаеш на НПСа открывается окно с одной как раз такой кнопкой и после её нажатия обрабатывается и првоеряется всё из он талка и уже выводитсся окно с нужным текстом) и проверяется всего 1 раз но как правило больше и не надо...
А если в он Евент:
Тогда это будет проверятся каждый раз как только чар будет тыкать на кнопку бафатся... это по сути некчему, ибо нагружает сервер (малость но всё же).
Uphill: Хочу у бафера сделать проверку на лвл.
что нужно дописать? вот исходник
пробовал вот так, не получается, гс пишет ошибку...
7.htm в этом файле написано что для чаров старше 62 лвл бафаться нельзя.
А по поводу первого поста:
Там прсото ты создаёш переменную htmltext а в return пытаешся открыть переменную initialhtml ...
0
Войдите или зарегистрируйтесь чтобы ответить


