這腳本修改於安定強化師
可以利用某道具 每次執行提升1點強化值 沒有爆的機率 每次都是100%
不喜這功能腳本的人 或許可以把強化道具條件設難一點! 因為是 100%的ˇˇ
測試過可執行啦!
和安定值強化師不同的地方是 我這腳本可以點超過安定值!
安定強化師是點一下直接到安定值! 我是執行一次武器就多+1!
其強化條件是 1個可樂 + 10張祝武! S80為20張祝武! S84為30張祝武!
破滅國境所有新裝 都可以強化!
s84! 包含雙必首! 符印都可以強化! ^^
特別注意事項! 這腳本無視於CONFIG裡的強化上限! 也無視你CONFIG所設的安定值! 也無視你CONFIG所設的白武祝武機率!
判斷完全是依照這腳本上的數值 最多(上限)就是強化到 65535 ! (我是設65535)
強化成功率就是固定100% ! 強化之後 +20變+21 +21變+22 依此類推!
強化所需要條件: (我自已預設的)
D武 D防 : 一個可樂+10張D祝武或祝防
C武 C防 : 一個可樂+10張C祝武或祝防
B武 B防 : 一個可樂+10張B祝武或祝防
A武 A防 : 一個可樂+10張A祝武或祝防
S武 S防 : 一個可樂+10張S祝武或祝防
S80武 S80防 : 一個可樂+20張S祝武或祝防
S84武 S84防 : 一個可樂+30張S祝武或祝防
如果需要設定上限的話! 請將下面腳本! 所有看到65535的地方修改到您要強化的上限值即可!
或是自已宣告個MAX = xxxx <==您要強化的上限值
再將MAX 對應到 65535的地方 會比較方便你們修改
import sys
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 net.sf.l2j.gameserver.model.base import Experience
qn = "5201314_Emily"
SmithNpc = 520006 #這裡可以修改你要進行完美強化的NPC編號 我NPC是自訂的 L2裡沒有 520006 這個NPC 請自已修改或自訂
QuestId = 5201314
QuestDesc = "custom"
COLA = 3434 #完美強化時所需要的道具 可以自行在這修改要強化所需的道具編號ID 預設為可樂
COLANUMBER = 1 #完美強化時所需要的道具數量 可以自行在這修改要強化所需道具的數量 預設可樂的數量1個
MAX = 65535 #提供給玩家的完美強化上限值 可以自行在這修改提供給玩家的強化上限 預設為65535
acceptableArmorTypes = ['Light','Heavy','Magic','Shield','Sigil']
acceptableWeaponTypes = ['Sword','Blunt','Dagger','Bow','Pole','Etc','Fist','Dual Sword','Dual Fist','Big Sword','Big Blunt','Ancient','Crossbow','Rapier','Dual Dagger']
acceptableJewelTypes = ['None']
HTMLSTART = "00.htm"
HTMLGRATZ = "11.htm"
HTMLCHEAT = "22.htm"
HTMLNOSOP = "33.htm"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
if event == "YES" :
st.playSound("ItemSound.quest_finish")
st.giveItems(57,1000)
return "YES.htm"
if event == "NO" :
st.playSound("ItemSound.quest_finish")
st.takeItems(57,1000000)
st.getPlayer().getStat().removeExpAndSp(0,100000)
return "NO.htm"
if event == "choose_item_enchant" :
st.playSound("ItemSound.quest_accept")
htmltext = ""
price = ""
for Item in st.getPlayer().getInventory().getItems() :
itemType = Item.getItem().getItemType().toString()
itemGrade = Item.getItem().getCrystalType()
itemEnchant = Item.getEnchantLevel()
if (itemGrade > 0 and not Item.isEquipped()) :
if (itemType in acceptableWeaponTypes and itemEnchant < MAX) or (itemType in acceptableArmorTypes and itemEnchant < MAX) or (itemType in acceptableJewelTypes and itemEnchant < MAX) :
if itemType in acceptableArmorTypes or itemType in acceptableJewelTypes :
if itemGrade == 1 : #D 防具
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 2 : #C 防具
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 3 : #B 防具
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 4 : #A 防具
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 5 : #S 防具
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 6 : #S80 防具
price = 10 * 2 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 7 : #S84 防具
price = 10 * 3 #安全強化+1 祝福武防所需要的數量
elif itemType in acceptableWeaponTypes :
if itemGrade == 1 : #D 武器
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 2 : #C 武器
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 3 : #B 武器
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 4 : #A 武器
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 5 : #S 武器
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 6 : #S80 武器
price = 10 * 2 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 7 : #S84 武器
price = 10 * 3 #安全強化+1 祝福武防所需要的數量
htmltext += "<a action=\"bypass -h Quest 5201314_Emily enchantItem_" + str(Item.getObjectId()) +"\">" + "我要將 +" + str(Item.getEnchantLevel()) + " " + Item.getItem().getName() + " 100% 完美強化<br1> ( 請給我 " + str(COLANUMBER) + " 個<font color=\"FFFF00\">可口可樂</font>及 "+ str(price) + " 張同等的<font color=\"FFFF00\">祝福武防</font>卷 )</a><br1>"
if htmltext == "" :
htmltext = "<html><title>綜合管理員</title><body><br><br><br>謎之聲:<br>您的身上道具欄內已經沒有可以強化的物品了</body></html>"
htmltext = "<html><title>綜合管理員</title><body><br><br><img src=\"L2UI.SquareBlank\" width=293 height=0><br>請您在下列挑選一件想強化的物品唷!<br><br><br><br>" + htmltext + "</body></html>"
elif event.startswith("enchantItem_") :
amount = ""
objId = int(event.replace("enchantItem_", ""))
Item = st.getPlayer().getInventory().getItemByObjectId(objId)
if Item and not Item.isEquipped() :
itemType = Item.getItem().getItemType().toString()
itemGrade = Item.getItem().getCrystalType()
itemEnchant = Item.getEnchantLevel()
if itemGrade > 0 :
if (itemType in acceptableWeaponTypes and itemEnchant < MAX) or (itemType in acceptableArmorTypes and itemEnchant < MAX) or (itemType in acceptableJewelTypes and itemEnchant < MAX) :
if itemType in acceptableArmorTypes or itemType in acceptableJewelTypes :
if itemGrade == 1 : #D 防具
Scroll = 6576 #祝福的防具強化卷軸-D級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 2 : #C 防具
Scroll = 6574 #祝福的防具強化卷軸-C級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 3 : #B 防具
Scroll = 6572 #祝福的防具強化卷軸-B級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 4 : #A 防具
Scroll = 6570 #祝福的防具強化卷軸-A級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 5 : #S 防具
Scroll = 6578 #祝福的防具強化卷軸-S級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 6 : #S80 防具
Scroll = 6578 #祝福的防具強化卷軸-S級
price = 10 * 2 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 7 : #S84 防具
Scroll = 6578 #祝福的防具強化卷軸-S級
price = 10 * 3 #安全強化+1 祝福武防所需要的數量
elif itemType in acceptableWeaponTypes :
if itemGrade == 1 : #D 武器
Scroll = 6575 #祝福的武器強化卷軸-D級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 2 : #C 武器
Scroll = 6573 #祝福的武器強化卷軸-C級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 3 : #B 武器
Scroll = 6571 #祝福的武器強化卷軸-B級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 4 : #A 武器
Scroll = 6569 #祝福的武器強化卷軸-A級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 5 : #S 武器
Scroll = 6577 #祝福的武器強化卷軸-S級
price = 10 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 6 : #S80 武器
Scroll = 6577 #祝福的武器強化卷軸-S級
price = 10 * 2 #安全強化+1 祝福武防所需要的數量
elif itemGrade == 7 : #S84 武器
Scroll = 6577 #祝福的武器強化卷軸-S級
price = 10 * 3 #安全強化+1 祝福武防所需要的數量
if st.getQuestItemsCount(Scroll) >= price and st.getQuestItemsCount(COLA) >= COLANUMBER :
Item.setEnchantLevel(itemEnchant + 1)
st.takeItems(Scroll,price)
st.playSound("ItemSound.quest_finish")
st.takeItems(COLA,COLANUMBER)
htmltext = HTMLGRATZ
else :
htmltext = HTMLNOSOP
else :
htmltext = HTMLCHEAT
else :
htmltext = HTMLCHEAT
else :
htmltext = HTMLCHEAT
return htmltext
def onTalk (self,npc,player) :
htmltext = "<html><title>綜合管理員</title><body><br><br><br>謎之聲:<br>您找錯人了唷!</body></html>"
st = player.getQuestState(qn)
if not st : return htmltext
npcId = npc.getNpcId()
if npcId == SmithNpc :
htmltext = HTMLSTART
return htmltext
QUEST = Quest(QuestId,qn,QuestDesc)
QUEST.addStartNpc(SmithNpc)
QUEST.addTalkId(SmithNpc)
-----------------------------------------------------------------------------------------------------------------------------------
itemEnchant 指的是 取得玩家裝備已經+到多少的資料
Item.setEnchantLevel(itemEnchant + 1) 整句的意思就是取得玩家的強化數值之後 再+1
-----------------------------------------------------------------------------------------------------------------------------------
if event == "YES" :
st.playSound("ItemSound.quest_finish")
st.giveItems(57,1000)
return "YES.htm"
if event == "NO" :
st.playSound("ItemSound.quest_finish")
st.takeItems(57,1000000)
st.getPlayer().getStat().removeExpAndSp(0,100000)
return "NO.htm"
這一段的htm是可以不寫的
我寫的 yes (繼續強化)會回饋給玩家 1000金幣! no (結束強化)會倒扣金幣與sp...所以用不到的人...可以刪掉...
我想自己寫htm應該沒問題吧0.0
這腳本改至安定強化師爆爆王
不會寫的可以參考安定強化師的htm來寫