форма в квесте
можно ли как нибудь реализовать в квесте окно формы. т.е. по принципу заточки через админку либо как то по другому, что бы данные введеные в форму отправлялись в квест и ими можно было бы манипулировать?
пример:
заточка
на htm странице имеется форма ввода, вводим значение 10, оно отправляется в код квеста, в котором используем это число как enchlvl
в админке это реализованно так:
<edit var="menu_command" width=120 height=15> (сама форма)
bypass -h admin_setun $menu_command (обработчик (кнопка))
но админка работает напрямую через ядро, а как перенести в квест хз
Ты сам ответил на свой вопрос...
Первую строчку оставляем... а вторуюменяем на "bypass -h Quest $menu_command"
А дальше уже значение в "menu_command" будет являтся "эвентом" в квесте...
Сори что в асе сразу не ответил, просто не разбирался особо...
спасибо канечно, но мне нужно немного другое
bypass -h admin_setun 1 $menu_command
где 1 это как раз таки значение эвента, а $menu_command значение нужно присвоить какой либо переменной котору можно было бы использовать в event = "1"
если смотреть на примере бафера от ринча, то:
You MUST seprerate new words with a dot (.)<br><br>Scheme name: <edit var=\"name\" width=100> (сама форма)
action=\"bypass -h Quest "+QUEST_LOADING_INFO+" create $name no_name x x\" width=200 height=25 (сама кнопка)
con=L2DatabaseFactory.getInstance().getConnection()
param = eventParam1.replace("."," ")
if param == "no_name" :
return showText("Info","Please, enter the scheme name!","True","Return","main")
else :
выполнение кода при нажатии на кнопку
насколько я понимаю,пишем имя в форму, нажимаем кнопку и данные передаются на выполнение кода согласно create
no_name посредством точки определяет вписанно ли что либо в форму
если что то в форме вписанно то оно отправляется на else
собственно: в самой точке и выполнении элзе у мну и заморочка
так, насколько понял, работаэ то так:
если никакое значение не введено, но $name = пустоте и в силу вступает no_name (непонятно для чего нужны эти иксики)
параметр param (хз каким образом) получает нашь параметр, и если он равен no_name но возвращаем челу ошибку об отсутствии имени
в противном случае показываем:
ins = con.prepareStatement("INSERT INTO buffer_scheme_list (player_id,scheme_name) VALUES (?,?)")
ins.setString(1, str(player.getObjectId()))
ins.setString(2, param)
try :
ins.executeUpdate()
ins.close()
con.close()
except :
pass
return rebuildMainHtml(st)
это неизвестная для меня часть кода:
event = eventSplit[0]
eventParam1 = eventSplit[1]
eventParam2 = eventSplit[2]
eventParam3 = eventSplit[3]
вопросы:
1. что за иксики в html и нужни ли они?
2. каким образом мы все таки получаем параметр?
3. как все таки работает точка
Начну с конца...
event = eventSplit[0]
eventParam1 = eventSplit[1]
eventParam2 = eventSplit[2]
eventParam3 = eventSplit[3]
Эвент получаемый из хетемельки имеет некоторые слова, которые разделяются пробелом, в первой строчке "компьютеру" объясняется что идёт разделение.
К примеру эвент изначально было тако - "create 57 1000".
"Сплит" так сказать разделяет строчку на части... вернее получается что "eventSplit" становится равным такому виду "["create","57","1000"]"
То есть некий массив.
После этого банально меняютс и присваиваются значения...
Хз как ещё объяснить этот сплит...
Теперь что такое "replace"...
"replace" это так сказать на что начинается или на что заканчивается эвент (на счёт "заканчивается" я не уверен).
Пример такой:
Эвент из кнопки у нас опять же будет "create 57 1000".
Следовательно:
Означает что идёт првоерка на то что эвент начинается именно с этих сочетаний букв...
Обращаю внимание что тут надо быть осторожным...
ибо такая проверка будет верна как с эвентом равным "create 57 1000", так и если эвент будет такого вида "create_item 57 1000".
А если поставить в репласе после слова "create" пробел (то есть вот так сделать првоерку "if event.replace("create ", ""):", тогда уже проверка эвента "create_item 57 1000" окажется неверной... так как после слова креате идёт не пробел а нижний подчерк...
А что касается запросов и нонейм хз... чёт не пойму я этого кусочка кода...
Небольшое дополнение, чтобы было более понятно...
> list = ["5","8","text","1"]
>
> list[0] будет равен 5
> list[1] будет равен 8
> list[2] будет равен text
> list[3] будет равен 1
Huk99: Gradesk,
Если не трудно, можешь маленький квест сделать с примером ?
в каком плане?
на эту тему? или как?
да и я почти этим уже не занимаюсь, только под заказ...
А пример квестов - открой папку с квестами и капайся


