Engineer000 2 Опубликовано 4 июня, 2021 Доброго времени суток.Подскажите ,не могу разобраться: У бафера есть SQL,HTML,Script файлы. Вот я заливаю в базу SQL файл : INSERT INTO `custom_npc` VALUES ('50000', '30175', 'BUFFER', '1', 'GM Shop', '1', 'Monster2.apostle_warrior', '8.00', '25.00', '70', 'female', 'L2Merchant', '40', '3862', '1493', 13.43, 3.09, 40, 43, 30, 21, 20, 10, 0, 0, 2242, 534, 994, 433, 200, 0, 333, 80, 0, 0, 55, 198, 'guard_of_secrets_clan', 300, 0, 0, 'LAST_HIT'); Потом файл htm кидаю по адресу: data\html\default\50000.htm В этом файле написано вот что : html><body><center><title>BUFFER</title> <br> List of buffs: <br> <table width=280> <tr> <td align="center"><img src=icon.skill1036 width=32 height=32></td> <td align="center"><img src=icon.skill0364 width=32 height=32></td> <td align="center"><img src=icon.skill0311 width=32 height=32></td> </tr> <tr><td></td></tr> <tr> <td><button value="Buff" action="bypass -h Quest 2001_Buffer 2.htm" width=94 height=21 back="L2UI_ch3.bigbutton_over" fore="L2UI_ch3.bigbutton"></td> <td><button value="Song" action="bypass -h Quest 2001_Buffer 3.htm" width=94 height=21 back="L2UI_ch3.bigbutton_over" fore="L2UI_ch3.bigbutton"></td> <td><button value="Dance" action="bypass -h Quest 2001_Buffer 4.htm" width=94 height=21 back="L2UI_ch3.bigbutton_over" fore="L2UI_ch3.bigbutton"></td> </tr> </table> ... <\body><\html> Дальше идет Script: __init__$py.class __init__.py 1,2,3,4,5,6,7.htm А а файле __init__.py прописано это: import sys from com.l2jfrozen.gameserver.model.actor.instance import L2PcInstance from java.util import Iterator from com.l2jfrozen.gameserver.datatables import SkillTable from com.l2jfrozen.util.database import L2DatabaseFactory from com.l2jfrozen.gameserver.model.quest import State from com.l2jfrozen.gameserver.model.quest import QuestState from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest qn = "2001_Buffer" NPC=[50000] ADENA_ID=57 QuestId = 2001 QuestName = "Buffer" QuestDesc = "custom" InitialHtml = "50000.htm" print " " print "=========================== [ Start Custom NPC's by Smallz ] ============================" print " " print " * Buffer [ Ok ]" class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onEvent(self,event,st): htmltext = event count=st.getQuestItemsCount(ADENA_ID) if count < 0 or st.getPlayer().getLevel() < 1 : htmltext = "<html><head><body>Voce nao tem Adena,<br> Ou esta com level muito baixo. Tem que ter level 40 ou mais.</body></html> else: st.takeItems(ADENA_ID,0) st.getPlayer().setTarget(st.getPlayer()) if event == "1": st.takeItems(ADENA_ID,0) st.getPlayer().stopAllEffects() SkillTable.getInstance().getInfo(1035,4).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1036,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1389,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1243,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1045,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1068,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1086,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1077,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1242,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1240,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1268,4).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1363,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(271,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(275,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(274,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(272,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(264,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(267,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(269,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(268,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(304,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(349,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1323,1).getEffects(st.getPlayer(),st.getPlayer()) return "1.htm" st.setState(COMPLETED) И вот в чем проблема что при нажатии кнопок ничего не происходит,что не так делаю? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 5 июня, 2021 В вашем баффере питон завелся 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Avenger 15 Опубликовано 5 июня, 2021 Сборка сервера какая? Куда устанавливаете? В гейме ошибку выдаёт при запуске сервера? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Engineer000 2 Опубликовано 5 июня, 2021 2 часа назад, Avenger сказал: Сборка сервера какая? Куда устанавливаете? В гейме ошибку выдаёт при запуске сервера? Revision 1132 ,ошибку нигде не выдает .Просто штмл по скрипту не работают.Когда кликаешь по кнопке в бафере - то не бафает и не переходит на другую страницу html Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Engineer000 2 Опубликовано 5 июня, 2021 2 часа назад, Rogue сказал: В вашем баффере питон завелся информативно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 5 июня, 2021 (изменено) 48 минут назад, Engineer000 сказал: Revision 1132 ,ошибку нигде не выдает .Просто штмл по скрипту не работают.Когда кликаешь по кнопке в бафере - то не бафает и не переходит на другую страницу html Скрипт вообще загружен? Прописан в предыдущей папке? Пишет это? "print "=========================== [ Start Custom NPC's by Smallz ] ============================"" Изменено 5 июня, 2021 пользователем Circalover Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Engineer000 2 Опубликовано 5 июня, 2021 (изменено) 17 часов назад, Engineer000 сказал: qn = "2001_Buffer" NPC=[50000] ADENA_ID=57 QuestId = 2001 QuestName = "Buffer" QuestDesc = "custom" InitialHtml = "50000.htm" ну вот в скрипте init.py прописано и в init eror : Error on: gameserver\data\scripts\custom\2001_Buffer\__init__.py.error.log Line: -1 - Column: -1 Traceback (innermost last): (no code object) at line 0 SyntaxError: ('Lexical error at line 20, column 87. Encountered: "\\r" (13), after : ""', ('__init__.py', 20, 87, 'print " Изменено 5 июня, 2021 пользователем Engineer000 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 5 июня, 2021 Ты не правильно залил его в скрипт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Engineer000 2 Опубликовано 8 июня, 2021 В 06.06.2021 в 02:24, Circalover сказал: Ты не правильно залил его в скрипт А как правильно залить скрипт? Это в инитру что то менять Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 9 июня, 2021 15 часов назад, Engineer000 сказал: А как правильно залить скрипт? Это в инитру что то менять Помимо инитру в самом скрипте, нужно добавить загрузку скрипта в предыдущей папке со скрипатми в тотинитру, путь до вашего скрипта. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Engineer000 2 Опубликовано 9 июня, 2021 2 минуты назад, Circalover сказал: Помимо инитру в самом скрипте, нужно добавить загрузку скрипта в предыдущей папке со скрипатми в тотинитру, путь до вашего скрипта. Там есть script.cfg и есть в папке custom пустой инит.ру и там я прописал gameserver\data > scripts.cfg > # custom custom/2001_buffer/__init__.py custom/3995_echo/__init__.py custom/4000_ShadowWeapons/__init__.py custom/5000_MissQueen/__init__.py custom/5001_NewbieCoupons/__init__.py custom/8003_MeetBaium/__init__.py gameserver\data > scripts.txt > custom/2001_Buffer/__init__.py gameserver\data\scripts\custom > __init__.py > '2001_Buffer' gameserver\data\scripts\custom\2001_Buffer > __init__.py.error.log > Line: -1 - Column: -1 Traceback (innermost last): File "__init__.py", line 762, in ? File "__init__.py", line 21, in __init__ TypeError: org.python.proxies.main$Quest$452(): 1st arg can't be coerced to int gameserver\data\scripts\custom\2001_Buffer > __init__.py > 21строка def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) 24строка def onEvent(self,event,st): 25строка htmltext = event 26строка count=st.getQuestItemsCount(ADENA_ID) 27строка if count < 0 or st.getPlayer().getLevel() < 1 : 28строка htmltext = "<html><head><body>Voce nao tem Adena,<br> Ou esta com level muito baixo. Tem que ter level 40 ou mais.</html></head></body>" else: st.takeItems(ADENA_ID,0) st.getPlayer().setTarget(st.getPlayer()) if event == "1": st.takeItems(ADENA_ID,0) st.getPlayer().stopAllEffects() SkillTable.getInstance().getInfo(1035,4).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1036,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1389,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1243,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1045,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1068,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1086,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1077,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1242,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1240,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1268,4).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1363,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(271,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(275,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(274,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(272,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(264,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(267,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(269,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(268,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(304,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(349,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1323,1).getEffects(st.getPlayer(),st.getPlayer()) return "1.htm" st.setState(COMPLETED) 762строка QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc) 763строка CREATED=State('Start',QUEST) 764строка STARTED=State('Started',QUEST) 765строка COMPLETED=State('Completed',QUEST) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 9 июня, 2021 Так у тебя скрипт питоновский, а ты его в яву суёшь 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Engineer000 2 Опубликовано 9 июня, 2021 Понятно,не подскажешь где найти бафера под яву с профилями? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 9 июня, 2021 37 минут назад, Engineer000 сказал: Понятно,не подскажешь где найти бафера под яву с профилями? А стоп, так фрозен вроде только питон и использует. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Engineer000 2 Опубликовано 9 июня, 2021 поставил другого бафера ,возможно вы правы что половина кода питона была.Тут скрипт другой Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Engineer000 2 Опубликовано 9 июня, 2021 Не подскажет кто то ,как сделать профили запоминающиеся в бафере так что бы можно было имя профиля свое дать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Engineer000 2 Опубликовано 9 июня, 2021 Люди как в бафере сделать рестор HP MP CP? в скрипте прописано : elif event == "reload" : st.getPlayer().restoreCP() st.getPlayer().restoreHP() st.getPlayer().restoreMP() htmltext = "1.htm" в Html я дописал строку но не пашет ,что не так? <td align=center><button value="CP/HP/MP" action="bypass -h Quest Buffer_by_Sydhe reload" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normalOn"></td> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты