Перейти к содержанию
Авторизация  
Astons

Как Менять Импорты

Рекомендуемые сообщения

вот хочу поменять ети импорты

 

import sys

 

from com.l2jfrozen.gameserver.datatables import SkillTable

 

from com.l2jfrozen.gameserver.model.quest import State

 

from com.l2jfrozen.gameserver.model.quest import QuestState

 

from com.l2jfrozen.gameserver.model import L2Augmentation

 

from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest

 

from com.l2jfrozen.util.random import Rnd

 

from com.l2jfrozen.util.database import L2DatabaseFactory

 

from com.l2jfrozen.gameserver.templates import L2EtcItemType

 

from com.l2jfrozen.gameserver.templates import L2WeaponType

 

from com.l2jfrozen.gameserver.templates import L2Item

 

from com.l2jfrozen.gameserver.network.serverpackets import InventoryUpdate

 

from java.lang import System

 

 

 

 

 

#

 

#@author KFan

 

#ICQ: 604883692

 

#Skype: Kotyara20141

 

#

 

 

 

NPC_ID = 60007

 

ITEM_ID = 57

 

#ITEM_COUNT = 0

 

#Do not need a subject

 

ITEM_COUNT = 1

 

 

 

#A player can learn just one skill? 1 = true 0 = false

 

ONLY_ONE = 0

 

 

 

 

 

qn = "9994_skill_trader"

 

print "9994_skill_trader Loading Started"

 

 

 

class Quest (JQuest) :

 

 

 

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

 

 

 

def onTalk (self,npc,player):

 

st = player.getQuestState(qn)

 

htmltext = "I have nothing to say you"

 

npcId = npc.getNpcId()

 

if not st : return

 

cond = st.getInt("cond")

 

onlyone = st.getInt("onlyone")

 

if ONLY_ONE :

 

if onlyone > 0 :

 

return "fail.htm"

 

if cond >= 0 :

 

st.set("cond", "1")

 

st.setState(STARTED)

 

htmltext = "start.htm"

 

return htmltext

 

 

 

 

 

 

 

def onEvent (self,event,st) :

 

htmltext = event

 

cond = st.getInt("cond")

 

if event == "buy" :

 

htmltext = "buy.htm"

 

elif event.startswith('buy_') :

 

if st.getQuestItemsCount(ITEM_ID) <= ITEM_COUNT :

 

return "n-money.htm"

 

buy_skill = str(event.replace("buy_", ""))

 

buy_skill_splite = buy_skill.split('_')

 

st.takeItems(ITEM_ID, ITEM_COUNT)

 

st.getPlayer().addSkill(SkillTable.getInstance().getInfo(int(buy_skill_splite[0]), int(buy_skill_splite[1])))

 

if ONLY_ONE :

 

st.set("onlyone", "1")

 

st.set("cond", "0")

 

st.setState(COMPLETED)

 

htmltext = "buy.htm"

 

return htmltext

 

 

 

 

 

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

 

 

 

CREATED = State('Start', QUEST)

 

STARTED = State('Started', QUEST)

 

COMPLETED = State('Completed', QUEST)

 

 

 

QUEST.setInitialState(CREATED)

 

QUEST.addStartNpc(NPC_ID)

 

QUEST.addTalkId(NPC_ID)

 

 

 

 

 

Под сборку Pw но нерозберусь

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

from com.l2jfrozen.gameserver.datatables import SkillTable

 

from com.l2jfrozen.gameserver.model.quest import State

 

from com.l2jfrozen.gameserver.model.quest import QuestState

 

from com.l2jfrozen.gameserver.model import L2Augmentation

 

from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest

 

from com.l2jfrozen.util.random import Rnd

 

from com.l2jfrozen.util.database import L2DatabaseFactory

 

from com.l2jfrozen.gameserver.templates import L2EtcItemType

 

from com.l2jfrozen.gameserver.templates import L2WeaponType

 

from com.l2jfrozen.gameserver.templates import L2Item

 

from com.l2jfrozen.gameserver.network.serverpackets import InventoryUpdate

 

from java.lang import System

Кажется у пв такие импорты:

 

import sys

from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance

from java.util import Iterator

from net.sf.l2j.gameserver.datatables import SkillTable

from net.sf.l2j import L2DatabaseFactory

from net.sf.l2j.gameserver.model.quest import State

from net.sf.l2j.gameserver.model.quest import QuestState

from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest

 

меняешь com.l2jfrozen. на net.sf.l2j.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нужно указать путь

 

Например

from com.l2jfrozen.gameserver.templates import L2Item

Меняем на вот такое чудо

from net.sf.l2j.gameserver.templates import L2Item

 

Все импорты можно посмотреть в других квестах(Поиск - самый быстрый вариант, вбиваем например Rnd и оно вам это находит)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кажется у пв такие импорты:

 

import sys

from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance

from java.util import Iterator

from net.sf.l2j.gameserver.datatables import SkillTable

from net.sf.l2j import L2DatabaseFactory

from net.sf.l2j.gameserver.model.quest import State

from net.sf.l2j.gameserver.model.quest import QuestState

from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest

 

меняешь com.l2jfrozen. на net.sf.l2j.

шас попробуем

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чото не пашет вот Failed executing script: /root/server/gameserver/data/scripts/quests/9994_skill_trader/__init__.py. See __init__.py.error.log for details.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

See __init__.py.error.log for details. открой и посмотри тут экстрасенсов нету

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

See __init__.py.error.log for details. открой и посмотри тут экстрасенсов нету

Error on: /root/server/gameserver/data/scripts/quests/9994_skill_trader/__init__.py.error.log

Line: -1 - Column: -1

 

No engine registered for extension (py)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разница есть ?

а почему в quests а не в custom

А разница есть ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что мешает проверить, добавьте в custom, и естественно в script.cfg смените место расположения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Серовно не пашеи мб импорт неправельный?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавил уже проверял таже сама фигня (

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы переписываете что-то с фрозенов на питоне под другую сборку, то обьязательно нужно изменить часть кода, потому что оно так не будет работать.

Если вы импорты сменили то это уже плюс, но надо сменить и концовку(В некоторых случаях это обязательно) Я сам не силён в питоне, но помоч попробую

Скиньте мне любой квест со сборки пв, я попробую сделать под вашу сборку то что вы описали выше.

 

 

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

 

 

CREATED = State('Start', QUEST)

 

STARTED = State('Started', QUEST)

 

COMPLETED = State('Completed', QUEST)

 

 

 

QUEST.setInitialState(CREATED)

 

QUEST.addStartNpc(NPC_ID)

 

QUEST.addTalkId(NPC_ID)

 

 

 

Изменено пользователем Westernous

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Узнал я причину он питон наверно непотдержует, кто может сделать под java

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что за бред?работает там питон, ты что-то не так делаешь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что за бред?работает там питон, ты что-то не так делаешь

Я те базарю все так

Мож скинуть любую фигню какуюто на питоне под пв рабочую 100 % для проверки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мб гдето чтото в конфигах урубить

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

import sys

from java.util import Iterator

from net.sf.l2j.util import Rnd

from net.sf.l2j.gameserver.network.serverpackets import SystemMessage

from net.sf.l2j.gameserver.model.quest import State

from net.sf.l2j.gameserver.model.quest import QuestState

from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest

from java.lang import System

 

qn = "q8016_HeroWeapons"

 

NPC = 31688

ITEM = 4355

COST = 1

INAME = "Blue Eva"

HERO_ITEMS = {

6611:["weapon_the_sword_of_hero_i00","Infinity Blade","During a critical attack, decreases one's P. Def and increases de-buff casting ability, damage shield effect, Max HP, Max MP, Max CP, and shield defense power. Also enhances damage to target during PvP.","297/137","Sword"],

6612:["weapon_the_two_handed_sword_of_hero_i00","Infinity Cleaver","Increases Max HP, Max CP, critical power and critical chance. Inflicts extra damage when a critical attack occurs and has possibility of reflecting the skill back on the player. Also enhances damage to target during PvP.","361/137","Double Handed Sword"],

6613:["weapon_the_axe_of_hero_i00","Infinity Axe","During a critical attack, it bestows one the ability to cause internal conflict to one's opponent. Damage shield function, Max HP, Max MP, Max CP as well as one's shield defense rate are increased. It also enhances damage to one's opponent during PvP.","297/137","Blunt"],

6614:["weapon_the_mace_of_hero_i00","Infinity Rod","When good magic is casted upon a target, increases MaxMP, MaxCP, Casting Spd, and MP regeneration rate. Also recovers HP 100% and enhances damage to target during PvP.","238/182","Blunt"],

6615:["weapon_the_hammer_of_hero_i00","Infinity Crusher","Increases MaxHP, MaxCP, and Atk. Spd. Stuns a target when a critical attack occurs and has possibility of reflecting the skill back on the player. Also enhances damage to target during PvP.","361/137","Blunt"],

6616:["weapon_the_staff_of_hero_i00","Infinity Scepter","When casting good magic, it can recover HP by 100% at a certain rate, increases MAX MP, MaxCP, M. Atk., lower MP Consumption, increases the Magic Critical rate, and reduce the Magic Cancel. Enhances damage to target during PvP.","290/182","Blunt"],

6617:["weapon_the_dagger_of_hero_i00","Infinity Stinger","Increases MaxMP, MaxCP, Atk. Spd., MP regen rate, and the success rate of Mortal and Deadly Blow from the back of the target. Silences the target when a critical attack occurs and has Vampiric Rage effect. Also enhances damage to target during PvP.","260/137","Dagger"],

6618:["weapon_the_fist_of_hero_i00","Infinity Fang","Increases MaxHP, MaxMP, MaxCP and evasion. Stuns a target when a critical attack occurs and has possibility of reflecting the skill back on the player at a certain probability rate. Also enhances damage to target during PvP.","361/137","Dual Fist"],

6619:["weapon_the_bow_of_hero_i00","Infinity Bow","Increases MaxMP/MaxCP and decreases re-use delay of a bow. Slows target when a critical attack occurs and has Cheap Shot effect. Also enhances damage to target during PvP.","614/137","Bow"],

6620:["weapon_the_dualsword_of_hero_i00","Infinity Wing","When a critical attack occurs, increases MaxHP, MaxMP, MaxCP and critical chance. Silences the target and has possibility of reflecting the skill back on the target. Also enhances damage to target during PvP.","361/137","Dual Sword"],

6621:["weapon_the_pole_of_hero_i00","Infinity Spear","During a critical attack, increases MaxHP, Max CP, Atk. Spd. and Accuracy. Casts dispel on a target and has possibility of reflecting the skill back on the target. Also enhances damage to target during PvP.","297/137","Pole"],

}

 

 

class Quest (JQuest) :

 

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

 

def onAdvEvent (self,event,npc,player):

st = player.getQuestState(qn)

if event == "spisok":

if st.getQuestItemsCount(ITEM) < COST:

htmltext = "<html><body>Обмен пушек стоит <font color=74bff5>"+str(COST)+" "+INAME+"</font></body></html>"

return htmltext

elif not player.isHero():

htmltext = "<html><body>Вы не герой..)</font></body></html>"

return htmltext

htmltext = "<html><body><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>"

htmltext += "<table width=260><tr><td><font color=LEVEL>Обмен хиро-пушек</font></td></tr></table><br>"

count = 0

for i in HERO_ITEMS.keys():

if st.getQuestItemsCount(i) == 1:

count=1

myweapon = i

st.set("my",str(myweapon))

if count == 1:

htmltext += "<table width=260><tr><td></td><td>Ваша пушка</td></tr>"

htmltext += "<tr><td><img src=icon."+HERO_ITEMS[0]+" width=32 height=32></td><td><font color=7fff00>"+HERO_ITEMS[1]+"</font></td></tr>"

else:

htmltext = "<html><body>Нечего менять</font></body></html>"

return htmltext

htmltext += "<tr><td></td><td>На</td></tr>"

for k in HERO_ITEMS.keys():

if k != myweapon:

htmltext += "<tr><td><img src=icon."+HERO_ITEMS[k][0]+" width=32 height=32></td><td><a action=\"bypass -h Quest q8016_HeroWeapons step2_"+str(k)+"\">"+HERO_ITEMS[k][1]+"</a></td></tr>"

htmltext += "</table><br><br>"

htmltext += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></body></html>"

elif event.startswith("step2_"):

weapon2 = int(event.replace("step2_", ""))

st.set("want",str(weapon2))

htmltext = "<html><body>Обмен хиро-пушек:<br>Берем эту?<br><br><table width=300>"

htmltext += "<tr><td><img src=\"Icon."+HERO_ITEMS[weapon2][0]+"\" width=32 height=32></td><td>"+HERO_ITEMS[weapon2][1]+"</td></tr></table><br>"

htmltext += "P.atk/M.atk: "+HERO_ITEMS[weapon2][3]+"<br>"

htmltext += "Описание:<br1>"

htmltext += ""+HERO_ITEMS[weapon2][2]+"<br><br>"

htmltext += "<a action=\"bypass -h Quest q8016_HeroWeapons step3\">Обменять.</a><br><br>"

htmltext += "<a action=\"bypass -h Quest q8016_HeroWeapons spisok\">Вернуться.</a></body></html>"

elif event.startswith("step3"):

weapon1 = st.getInt("my")

weapon2 = st.getInt("want")

st.takeItems(ITEM,COST)

st.takeItems(weapon1,1)

st.giveItems(weapon2,1)

htmltext = "<html><body>Обмен хиро-пушек:<br>Готово.<br></body></html>"

else:

htmltext = "<html><body>Обмен хиро-пушек:<br>Oops!</body></html>"

return htmltext

 

def onTalk (self,npc,player):

st = player.getQuestState(qn)

npcId = npc.getNpcId()

if npcId == NPC:

self.startQuestTimer("spisok",100,None,player)

return

 

QUEST = Quest(8016,qn,"custom")

CREATED = State('Start', QUEST)

 

QUEST.setInitialState(CREATED)

 

QUEST.addStartNpc(NPC)

QUEST.addTalkId(NPC)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я ответил уже что нужно сделать

 

P.S не видел что написал taste, вот проверь то что он выложил

Изменено пользователем Westernous

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неработает везде пишет вот ету херню

Error on: /root/server/gameserver/data/scripts/custom/9994_skill_trader/__init__.py.error.log

Line: -1 - Column: -1

 

No engine registered for extension (py)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня все квесты на питоне которые я переносил с фрозена на пв работают

вот как пример

http://l2maxi.ru/java/addons/1794-donat-shop-dlya-servera-interlude.html

все скрипты с этого шопа у меня работают на пв

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может здесь путь вказивать не в scripts.cfg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скинь мне любой квест со сборки пв я посмотрю в чём проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...