Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Как вызвать скрипт на питоне в комьюните ?
#1
Сборка l2open

Как вызвать скрипт на питоне в комьюните ?

Цитата:<tr>
<edit var="name" width=111 length=16>
<button value="Сменить имя" action="bypass -h _bbsscripts;2;[Тут разобрался Smile ]:[ЧТО тут писать?]" width=120 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">
</tr>

[ЧТО тут писать?]- к примеру вот начало onAdvEvent() метода:

Цитата: def onAdvEvent (self,event,npc, player) :
htmltext = event
if event == "9000-03.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-03-no.htm"
elif event == "9000-04.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-04-no.htm"
elif event == "9000-05.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-05-no.htm"
elif event == "9000-07.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-06a.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-12a.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-13a.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-13b.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-14a.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-15.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
return htmltext

Добавлено через 41 минуту
При таком раскладе появляется пустое окошечко ... и дальше ничего (ни каких ошибок тд и тп)
Цитата: <button value="123" action="bypass _bbsscripts;5;9000_clan:load" width=120 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">
Ответ
#2
Не знаю в чем проблема, но думаю что лучше переписать вот так:

Код:
def onAdvEvent (self,event,npc, player) :
htmltext = event
if player.getClan() == None or not player.isClanLeader():
      if event == "9000-03.htm" :
      return "9000-03-no.htm"

      if event == "9000-04.htm" :
      return "9000-04-no.htm"

      if event == "9000-05.htm" :
      return "9000-05-no.htm"

      if event == "9000-07.htm" :
      return "9000-07-no.htm"

      if event == "9000-06a.htm" :
      return "9000-07-no.htm"

      if event == "9000-12a.htm" :
      return "9000-07-no.htm"

      if event == "9000-13a.htm" :
      return "9000-07-no.htm"

      if event == "9000-13b.htm" :
      return "9000-07-no.htm"

      if event == "9000-14a.htm" :
      return "9000-07-no.htm"

      if event == "9000-15.htm" :
      return "9000-07-no.htm"      
return htmltext

Ну так проще, а то зачем одно и то же столько раз проверять. Smile
И у тебя с 9000-07 по 9000-15 всегда return "9000-07-no.htm" - так надо?
Ответ
#3
Да этот квест работает Smile не работает вызов его в комьюните
Цитата:<button value="123" action="bypass -h _bbsscripts;5;9000_clan:load" width=120 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">
Вот такая ссылка, но она вызывает просто пустое окно !
Проблема в том что я не знаю точно как состовлять вот это "bypass -h _bbsscripts;[знаю];[знаю]:[вот не пойму что тут писать]"

А вообще это вот от сюда village_master/9000_clan/__init__.py, хотя это даже не квест ... Я просто чисто ради теста его взял

Цитата:import sys

from ru.l2open.gameserver.model.quest import State
from ru.l2open.gameserver.model.quest import QuestState
from ru.l2open.gameserver.model.quest.jython import QuestJython as JQuest

qn = "9000_clan"
NPC=[30026,30031,30037,30066,30070,30109,30115,30120,30154,30174,30175,30176,30187, \
30191,30195,30288,30289,30290,30297,30358,30373,30462,30474,30498,30499,30500, \
30503,30504,30505,30508,30511,30512,30513,30520,30525,30565,30594,30595,30676, \
30677,30681,30685,30687,30689,30694,30699,30704,30845,30847,30849,30854,30857, \
30862,30865,30894,30897,30900,30905,30910,30913,31269,31272,31276,31279,31285, \
31288,31314,31317,31321,31324,31326,31328,31331,31334,31755,31958,31961,31965, \
31968,31974,31977,31996,32092,32093,32094,32095,32096,32097,32098,32145,32146, \
32147,32150,32153,32154,32157,32158,32160,32171,32193,32199,32202,32213,32214, \
32221,32222,32229,32230,32233,32234]

class Quest (JQuest) :

def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

def onAdvEvent (self,event,npc, player) :
htmltext = event
if event == "9000-03.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-03-no.htm"
elif event == "9000-04.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-04-no.htm"
elif event == "9000-05.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-05-no.htm"
elif event == "9000-07.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-06a.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-12a.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-13a.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-13b.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-14a.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
elif event == "9000-15.htm" :
if player.getClan() == None or not player.isClanLeader():
return "9000-07-no.htm"
return htmltext

def onTalk (Self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if npcId in NPC:
st.set("cond","0")
st.setState(State.STARTED)
return "9000-01.htm"

QUEST = Quest(-1,qn,"village_master")

for item in NPC:
### Quest NPC starter initialization
QUEST.addStartNpc(item)
### Quest NPC initialization
QUEST.addTalkId(item)
Ответ
#4
Вот вроде что-то похожее - почитай
Ответ
#5
Я читал уже это Smile
На примере другово НПС - смена ника
Вот ссылка (получилась для комьюните):
Цитата:<edit var="name" width=111 length=16>
<button value="Сменить имя" action="bypass -h _bbsscripts;5;777_Services:change $name no_name" width=120 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">
А вот с обычного НПС:
Цитата:<edit var="name" width=111 length=16><br>
<button value="Сменить имя" action="bypass -h Quest 777_Services change $name no_name" width=120 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">

Причем в 1 случае (для community) она открывает пустое окно ... без какого либо текста и ошибки в логах
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Скрипт(Дизайн) Анонса под Юкоз lvipl 0 1,026 04-15-2020, 03:24 PM
Последний пост: lvipl
  Скрипт Jm0t 0 1,121 03-21-2019, 04:16 PM
Последний пост: Jm0t
  Продам скрипт анонса серверов. l2starts 0 1,373 12-24-2018, 06:40 PM
Последний пост: l2starts
  Продам скрипт nextpay для lucera с автоматическим логированием setforstyle 4 1,632 04-09-2016, 02:29 PM
Последний пост: Shed
  Нужен Скрипт Чтобы Работала Статистика L2Jdev Hf vladislav041 0 956 05-20-2014, 05:16 PM
Последний пост: vladislav041
  Скрипт Запуска/Остановки сервера на Linux Place 10 4,571 11-18-2013, 11:57 PM
Последний пост: quizcont
  Скрипт на заточку 3-профных скиллов DeLone 18 5,604 07-18-2013, 08:24 PM
Последний пост: gorodetskiy
  Ищу скрипт базы знаний Freya TosyBosy 2 1,685 07-04-2013, 08:37 PM
Последний пост: TosyBosy
  Проблема всех бафферов на питоне)) halaymoon 15 3,061 10-23-2012, 05:49 PM
Последний пост: thepiratebay
  Bash скрипт резервного копирования slimline 11 4,463 08-16-2012, 07:55 PM
Последний пост: slimline

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)