2015年4月—2024年4月,论坛已建立9周年,欢迎加入QQ群讨论:419848937

研究脚本__init__.py 的一些基础概念

主要是游戏中一些经典任务、游戏资料的科普.
回复
头像
hagcse
Mr.GL
Mr.GL
帖子: 151
注册时间: 2018-02-25 15:50

研究脚本__init__.py 的一些基础概念

帖子 hagcse » 2018-03-10 15:48

官方有 财富铁匠可以将同等级武器更换同等级武器
或是 替换更高等级的武器

当然 L2J这方面还没实现
没有此功能的朋友们 因该一半以上都有想实现巴

目前主要提到 研究这方法的思路

目前已L2J原本的功能

更换属性武器功能 = 替换同等级武器 [加强过的武器并不会消失]
换取双刀功能 = 替换更高的等级武器 这比较简单

以下先行说明 #替换同等级武器的思路 [加强过武器值并不会消失]

首先
你可以看到 gameserver\data\jscript\blacksmith\1007_enhance
内有一个 __init__.py 使用记事本编辑
现在 大概解释一下内容该如何下手编辑它 你会看到以下

def onEvent (self,event,st) : [这个 大部分不用理它 使用原本设定就好]
htmltext = event
if event == "0":
htmltext = "Trade has been cancelled." [判定]
if event == "1": [判定以下表中 若是玩家没有以下物品 转向60.htm
htmltext = "60.htm"

if event == "1" #[代表第一个] and st.getQuestItemsCount(281)#[代表物品281] == 1:#[代表数量1]
htmltext = "12.htm" #有此物品将会转至12.htm

if event == "2" #[代表第二个] and st.getQuestItemsCount(282)#[代表物品282] == 1:#[代表数量1]
htmltext = "13.htm" #有此物品将会转至13.htm

~

if event == "2": #[对应上方enent的数值]
if st.getQuestItemsCount(281)#[物品281] == 1 and st.getQuestItemsCount(4634) == 1#[玩家必须有此物品4634等于1数量] and st.getQuestItemsCount(2131) >= 250 :#[玩家需要此物品2131 大于或是等于250数量]
EnchantLevel2 = st.getEnchantLevel(281) #[执行判定物品281]
st.takeItems(281,1) #st.takeItems判定物品 [ID,数量]
st.takeItems(4634,1) #st.takeItems判定物品 [ID,数量]
st.takeItems(2131,250) #st.takeItems判定物品 [ID,数量]
st.giveItems(4810,1,EnchantLevel2) #判定给予物品 [ID,数量,执行判定]
htmltext = "Item has been succesfully enhanced!" #系统所回覆组合成功的讯息
else :
htmltext = "You do not have enough materials." #系统回覆没有以上东西的讯息 ~~~~~

if htmltext != event and event != "1":
st.setState(COMPLETED)
st.exitQuest(1) #此需 不需理会 但是必须附上

return htmltext

def onTalk (Self,npc,st):

npcId = npc.getNpcId()
htmltext = "<html><head><body>I have nothing to say to you.</body></html>"
st.set("cond","0")
st.setState(STARTED)
return "1.htm" [判定入此资料夹 会先行转向1.htm]


QUEST.addStartNpc(7300) #[此文件相关NPC 开始]

STARTED.addTalkId(7300) #[此文件相关NPC 结束]
=========我是分格线[省略]===========================


希望以上几点 有帮助到各位
想研究任务系统 也跟这个差不多 晚点再说明 如何研究任务系统

以上可以实现 财富铁匠更换武器的一些文件

任务系统 也差不多这样实现 L2J的功能 有待各位研究发现
毕竟它的任务系统 比官方版的简单许多 一看明僚
官方版我研究到现在 只能看董一些


L2J的功能 让大家来实现
图片

回复