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

挂机稻草人加强版 V2.0

回复
头像
天堂之手
Mr.GL
Mr.GL
帖子: 263
注册时间: 2018-02-24 21:37

挂机稻草人加强版 V2.0

帖子 天堂之手 » 2018-03-24 20:25

# 版权声明,此脚本来源于网络,并非L2Jcn原作,转载请保留以下信息
# 脚本作者 未知
# 脚本改编 Jacky(L2Jcn)
# 欢迎大家访问L2Jcn, www.l2jcn.com


L2JCN扩充内容
1.攻击稻草人可以获取到金币
2.增加的获取经验与获取金币的分散值
3.攻击稻草人可能也会获取到活力值


使用方法:
请放置在Custom文件夹中,并修改脚本读取目录文件scripts.cfg
TW版请修改脚本开头引用的Java包路径
CN版可直接使用


代码: 全选

# 版权声明,此脚本来源于网络,并非L2Jcn原作,转载请保留以下信息
# 脚本作者 未知
# 脚本改编 Jacky(L2Jcn)
# 欢迎大家访问L2Jcn, www.l2jcn.com

import sys
from cn.l2jcn.gameserver.model.quest.jython import QuestJython as JQuest 
from cn.l2jcn.gameserver.model.actor.instance import L2PcInstance
from cn.l2jcn.gameserver.model.actor.instance import L2GuardInstance 
from cn.l2jcn.gameserver.ai import CtrlIntention 
from cn.l2jcn.gameserver.idfactory import IdFactory 
from cn.l2jcn.gameserver.datatables import NpcTable 
from cn.l2jcn.gameserver.network.serverpackets import SystemMessage
from cn.l2jcn.util import Rnd

QuestName = "scarecrow"

QuestId = 37503

QuestDesc = "custom"

#经验倍率(获得的经验 = 倍率 X 角色当前等级)
Exp_Rate = 400
#Sp倍率 (获得的Sp = 倍率 X 角色当前等级)
Sp_Rate = 80
#等级限制 (超过设定值就无法获取经验和道具了)
End_Level =81
#稻草人ID(数据库中此Npc请设定成怪物Type[L2M**ter])
Npc_Id = 37503

#文字提示
End_Level_Text = "仅可以在"+str(End_Level)+"级以前进行训练"
Pet_Text = "宠物的攻击不会出现任何效果"

#----------------L2JCN扩展 By Jacky----------------------
#获得的金币倍率 (获得的金币 = 倍率 X 角色当前等级)
G_Rate = 10
#是否会有机会获得活力点数
Get_Vitality = True
#每次攻击获得活力点数的概率
Chance = 5
#每次获取到活力点数的数值(活力满为20000)
V_Points = 1
#-------------------------------------------------------



class Quest (JQuest) :

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

def onAttack(self,npc,player,damage,isPet,null) :
if npc.getNpcId() == Npc_Id :
if isPet != True :
if player.getLevel() < End_Level :
npc.setIsInvul(False)
Exp_Sp_Rnd = Rnd.get(70,130)#获得经验值/Sp的分散值(默认70%~130%)
GetExp = int(Exp_Rate * player.getLevel() * Exp_Sp_Rnd / 100)
GetSp = int(Sp_Rate * player.getLevel() * Exp_Sp_Rnd / 100)
G_Rnd = Rnd.get(50,150)#获得金币的分散值(默认50%~150%)
GetGold = int(G_Rate * player.getLevel() * G_Rnd / 100)
player.addExpAndSp( GetExp , GetSp )
player.getInventory().addItem("物品", 57 , GetGold , player,None)
player.sendPacket(SystemMessage.sendString("获得金币【"+str(GetGold)+"】枚"))
if(Get_Vitality and player.getVitalityPoints()<= 20000 and Rnd.get(1,100)<= Chance):
player.setVitalityPoints(player.getVitalityPoints()+ V_Points,True)
player.sendPacket(SystemMessage.sendString("恭喜你获得了活力点数"))
else :
npc.setIsInvul(True)
player.sendPacket(SystemMessage.sendString(End_Level_Text))
else:
npc.setIsInvul(True)
player.sendPacket(SystemMessage.sendString(Pet_Text))
return

QUEST = Quest(QuestId,"scarecrow","custom")
print "自定义脚本-成功读取稻草人加强版V2.0(www.L2jcn.com)"
图片

回复