天堂2单机论坛

 找回密码
 立即注册
查看: 13055|回复: 18

npc编写——100%强化

[复制链接]
  • TA的每日心情
    郁闷
    2022-5-30 11:17
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    283

    主题

    398

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    76412
    发表于 2020-10-6 17:12:35 | 显示全部楼层 |阅读模式
    這腳本修改於安定強化師
    可以利用某道具 每次執行提升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的地方 會比較方便你們修改
    01.import sys  

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

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

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

    05.from net.sf.l2j.gameserver.model.base                        import Experience  

    06.qn = "5201314_Emily"  

    07.SmithNpc = 520006      #這裡可以修改你要進行完美強化的NPC編號 我NPC是自訂的 L2裡沒有 520006 這個NPC 請自已修改或自訂  

    08.QuestId = 5201314  

    09.QuestDesc = "custom"  

    10.COLA = 3434         #完美強化時所需要的道具  可以自行在這修改要強化所需的道具編號ID  預設為可樂  

    11.COLANUMBER = 1      #完美強化時所需要的道具數量  可以自行在這修改要強化所需道具的數量  預設可樂的數量1個  

    12.MAX = 65535         #提供給玩家的完美強化上限值  可以自行在這修改提供給玩家的強化上限  預設為65535  

    13.acceptableArmorTypes  = ['Light','Heavy','Magic','Shield','Sigil']  

    14.acceptableWeaponTypes = ['Sword','Blunt','Dagger','Bow','Pole','Etc','Fist','Dual Sword','Dual Fist','Big Sword','Big Blunt','Ancient','Crossbow','Rapier','Dual Dagger']  

    15.acceptableJewelTypes  = ['None']  

    16.HTMLSTART = "00.htm"  

    17.HTMLGRATZ = "11.htm"  

    18.HTMLCHEAT = "22.htm"  

    19.HTMLNOSOP = "33.htm"  

    20.class Quest (JQuest) :  

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

    22.  def onEvent (self,event,st) :  

    23.    if event == "YES" :  

    24.                st.playSound("ItemSound.quest_finish")  

    25.      st.giveItems(57,1000)  

    26.      return "YES.htm"  

    27.    if event == "NO" :  

    28.                st.playSound("ItemSound.quest_finish")  

    29.      st.takeItems(57,1000000)  

    30.      st.getPlayer().getStat().removeExpAndSp(0,100000)  

    31.      return "NO.htm"  

    32.    if event == "choose_item_enchant" :  

    33.      st.playSound("ItemSound.quest_accept")  

    34.      htmltext = ""  

    35.      price = ""  

    36.      for Item in st.getPlayer().getInventory().getItems() :  

    37.        itemType = Item.getItem().getItemType().toString()  

    38.        itemGrade = Item.getItem().getCrystalType()  

    39.        itemEnchant = Item.getEnchantLevel()  

    40.        if (itemGrade > 0 and not Item.isEquipped()) :  

    41.          if (itemType in acceptableWeaponTypes and itemEnchant < MAX) or (itemType in acceptableArmorTypes and itemEnchant < MAX) or (itemType in acceptableJewelTypes and itemEnchant < MAX) :  

    42.            if itemType in acceptableArmorTypes or itemType in acceptableJewelTypes :  

    43.              if itemGrade == 1 :                #D 防具  

    44.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    45.              elif itemGrade == 2 :              #C 防具  

    46.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    47.              elif itemGrade == 3 :              #B 防具  

    48.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    49.              elif itemGrade == 4 :              #A 防具  

    50.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    51.              elif itemGrade == 5 :              #S 防具  

    52.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    53.              elif itemGrade == 6 :              #S80 防具  

    54.                price = 10 * 2                   #安全強化+1 祝福武防所需要的數量  

    55.              elif itemGrade == 7 :              #S84 防具  

    56.                price = 10 * 3                   #安全強化+1 祝福武防所需要的數量  

    57.            elif itemType in acceptableWeaponTypes :  

    58.              if itemGrade == 1 :                #D 武器  

    59.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    60.              elif itemGrade == 2 :              #C 武器  

    61.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    62.              elif itemGrade == 3 :              #B 武器  

    63.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    64.              elif itemGrade == 4 :              #A 武器  

    65.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    66.              elif itemGrade == 5 :              #S 武器  

    67.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    68.              elif itemGrade == 6 :              #S80 武器  

    69.                price = 10 * 2                   #安全強化+1 祝福武防所需要的數量  

    70.              elif itemGrade == 7 :              #S84 武器  

    71.                price = 10 * 3                   #安全強化+1 祝福武防所需要的數量  

    72.            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>"  

    73.      if htmltext == "" :  

    74.        htmltext = "<html><title>綜合管理員</title><body><br><br><br>謎之聲:<br>您的身上道具欄內已經沒有可以強化的物品了</body></html>"  

    75.      htmltext = "<html><title>綜合管理員</title><body><br><br><img src=\"L2UI.SquareBlank\" width=293 height=0><br>請您在下列挑選一件想強化的物品唷!<br><br><br><br>" + htmltext + "</body></html>"  

    76.    elif event.startswith("enchantItem_") :  

    77.      amount = ""  

    78.      objId = int(event.replace("enchantItem_", ""))  

    79.      Item = st.getPlayer().getInventory().getItemByObjectId(objId)  

    80.      if Item and not Item.isEquipped() :  

    81.        itemType = Item.getItem().getItemType().toString()  

    82.        itemGrade = Item.getItem().getCrystalType()  

    83.        itemEnchant = Item.getEnchantLevel()  

    84.        if itemGrade > 0 :  

    85.          if (itemType in acceptableWeaponTypes and itemEnchant < MAX) or (itemType in acceptableArmorTypes and itemEnchant < MAX) or (itemType in acceptableJewelTypes and itemEnchant < MAX) :  

    86.            if itemType in acceptableArmorTypes or itemType in acceptableJewelTypes :  

    87.              if itemGrade == 1 :                #D 防具  

    88.                Scroll = 6576                    #祝福的防具強化卷軸-D級  

    89.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    90.              elif itemGrade == 2 :              #C 防具  

    91.                Scroll = 6574                    #祝福的防具強化卷軸-C級  

    92.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    93.              elif itemGrade == 3 :              #B 防具  

    94.                Scroll = 6572                    #祝福的防具強化卷軸-B級  

    95.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    96.              elif itemGrade == 4 :              #A 防具  

    97.                Scroll = 6570                    #祝福的防具強化卷軸-A級  

    98.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    99.              elif itemGrade == 5 :              #S 防具  

    100.                Scroll = 6578                    #祝福的防具強化卷軸-S級  

    101.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    102.              elif itemGrade == 6 :              #S80 防具  

    103.                Scroll = 6578                    #祝福的防具強化卷軸-S級  

    104.                price = 10 * 2                   #安全強化+1 祝福武防所需要的數量  

    105.              elif itemGrade == 7 :              #S84 防具  

    106.                Scroll = 6578                    #祝福的防具強化卷軸-S級  

    107.                price = 10 * 3                   #安全強化+1 祝福武防所需要的數量  

    108.            elif itemType in acceptableWeaponTypes :  

    109.              if itemGrade == 1 :                #D 武器  

    110.                Scroll = 6575                    #祝福的武器強化卷軸-D級  

    111.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    112.              elif itemGrade == 2 :              #C 武器  

    113.                Scroll = 6573                    #祝福的武器強化卷軸-C級  

    114.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    115.              elif itemGrade == 3 :              #B 武器  

    116.                Scroll = 6571                    #祝福的武器強化卷軸-B級  

    117.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    118.              elif itemGrade == 4 :              #A 武器  

    119.                Scroll = 6569                    #祝福的武器強化卷軸-A級  

    120.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    121.              elif itemGrade == 5 :              #S 武器  

    122.                Scroll = 6577                    #祝福的武器強化卷軸-S級  

    123.                price = 10                       #安全強化+1 祝福武防所需要的數量  

    124.              elif itemGrade == 6 :              #S80 武器  

    125.                Scroll = 6577                    #祝福的武器強化卷軸-S級  

    126.                price = 10 * 2                   #安全強化+1 祝福武防所需要的數量  

    127.              elif itemGrade == 7 :              #S84 武器  

    128.                Scroll = 6577                    #祝福的武器強化卷軸-S級  

    129.                price = 10 * 3                   #安全強化+1 祝福武防所需要的數量  

    130.            if st.getQuestItemsCount(Scroll) >= price and st.getQuestItemsCount(COLA) >= COLANUMBER :  

    131.              Item.setEnchantLevel(itemEnchant + 1)  

    132.              st.takeItems(Scroll,price)  

    133.              st.playSound("ItemSound.quest_finish")  

    134.              st.takeItems(COLA,COLANUMBER)  

    135.              htmltext = HTMLGRATZ  

    136.            else :  

    137.              htmltext = HTMLNOSOP  

    138.          else :  

    139.            htmltext = HTMLCHEAT  

    140.        else :  

    141.          htmltext = HTMLCHEAT  

    142.      else :  

    143.        htmltext = HTMLCHEAT  

    144.    return htmltext  

    145.  def onTalk (self,npc,player) :  

    146.    htmltext = "<html><title>綜合管理員</title><body><br><br><br>謎之聲:<br>您找錯人了唷!</body></html>"  

    147.    st = player.getQuestState(qn)  

    148.    if not st : return htmltext  

    149.    npcId = npc.getNpcId()  

    150.    if npcId == SmithNpc :  

    151.       htmltext = HTMLSTART  

    152.    return htmltext  

    153.QUEST = Quest(QuestId,qn,QuestDesc)  

    154.QUEST.addStartNpc(SmithNpc)  

    155.QUEST.addTalkId(SmithNpc)  
    itemEnchant 指的是 取得玩家裝備已經+到多少的資料
    Item.setEnchantLevel(itemEnchant + 1) 整句的意思就是取得玩家的強化數值之後 再+1
    -----------------------------------------------------------------------------------------------------------------------------------
    if event == &quot;YES&quot; :
    st.playSound(&quot;ItemSound.quest_finish&quot;)
    st.giveItems(57,1000)
    return &quot;YES.htm&quot;

    if event == &quot;NO&quot; :
    st.playSound(&quot;ItemSound.quest_finish&quot;)
    st.takeItems(57,1000000)
    st.getPlayer().getStat().removeExpAndSp(0,100000)
    return &quot;NO.htm&quot;

    這一段的htm是可以不寫的
    我寫的 yes (繼續強化)會回饋給玩家 1000金幣! no (結束強化)會倒扣金幣與sp...所以用不到的人...可以刪掉...

    我想自己寫htm應該沒問題吧0.0
    這腳本改至安定強化師爆爆王
    不會寫的可以參考安定強化師的htm來寫


    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-12-12 17:58
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    4

    主题

    94

    帖子

    208

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    208
    发表于 2020-11-7 15:16:07 | 显示全部楼层
    强化上限都是65535啊
    回复

    使用道具 举报

  • TA的每日心情

    2025-4-14 18:18
  • 签到天数: 92 天

    [LV.6]常住居民II

    10

    主题

    251

    帖子

    854

    积分

    高级会员

    Rank: 4

    积分
    854
    发表于 2020-11-8 23:39:27 | 显示全部楼层
    好高深!!!!!!!!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2025-1-19 20:23
  • 签到天数: 164 天

    [LV.7]常住居民III

    2

    主题

    204

    帖子

    960

    积分

    高级会员

    Rank: 4

    积分
    960
    发表于 2020-11-10 23:21:21 | 显示全部楼层
    多谢大佬
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2025-4-26 17:06
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    42

    帖子

    55

    积分

    正式会员

    Rank: 2

    积分
    55
    发表于 2021-2-25 20:08:48 | 显示全部楼层
    感谢分享
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-7 07:27
  • 签到天数: 52 天

    [LV.5]常住居民I

    4

    主题

    145

    帖子

    336

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    336
    发表于 2021-3-24 01:08:07 | 显示全部楼层
    多谢大佬
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-3-24 18:58
  • 签到天数: 89 天

    [LV.6]常住居民II

    4

    主题

    115

    帖子

    212

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    212
    发表于 2021-3-24 03:02:07 | 显示全部楼层

    感谢分享
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 02:34
  • 签到天数: 698 天

    [LV.9]以坛为家II

    5

    主题

    739

    帖子

    3691

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    3691
    发表于 2021-4-18 14:45:16 | 显示全部楼层
    学习了 thankS
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2023-4-2 10:35
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    0

    主题

    22

    帖子

    84

    积分

    正式会员

    Rank: 2

    积分
    84
    发表于 2022-5-27 14:43:12 | 显示全部楼层
    感谢分享!!!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-7-22 11:57
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    4

    主题

    62

    帖子

    87

    积分

    正式会员

    Rank: 2

    积分
    87
    发表于 2022-7-14 14:25:29 | 显示全部楼层
    学到了感谢感谢
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|监狱|天堂2单机论坛 ( 粤ICP备20030366号 )

    GMT+8, 2025-6-16 05:43 , Processed in 0.057667 second(s), 21 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表