l2fater 发布的所有帖子
-
原文地址: https://maxcheaters.com/topic/49948-usefull-sql-scripts/ 0 Weight for items/armors/weapons: 装备武器道具负重为0 UPDATE `etcitem` SET `weight`=0 WHERE (SELECT item_id); UPDATE `armor` SET `weight`=0 WHERE (SELECT item_id); UPDATE `weapon` SET `weight`=0 WHERE (SELECT item_id); Drop Adena 100%: 金币掉率为100% UPDATE `droplist` SET `chance`='1000000' WHERE `itemId`='57'; When you sell, everything will cost 0 adena: 出售道具价格为0 UPDATE `armor` SET price=0 where price > 1; UPDATE `etcitem` SET price=0 where price > 1; UPDATE `weapon` SET price=0 where price > 1; Update all RaidBoss 5000k hp: Boss血量 UPDATE `npc` SET `hp`='5000000' WHERE (SELECT id) AND npc.type='L2Raidboss'; Delete all mobs under 40 lvl: 删除40级以下怪物刷新 DELETE spawnlist, npc FROM spawnlist, npc WHERE spawnlist.npc_templateid=npc.idTemplate AND npc.level<40 AND npc.type='L2Monster'; Delete all materials and recipes from db: 数据库内删除制作材料及制作卷轴 DELETE FROM droplist WHERE itemid IN (SELECT item_id FROM etcitem WHERE item_type= 'material' OR item_type= 'recipe' ); Increase drop rate for recipes: 提升制作卷轴掉率 UPDATE droplist SET chance='1000000' WHERE id IN (SELECT item_id FROM etcitem WHERE type='recipe'); Delete characters and accounts if they do not connect for 3 months: 删除3个月以上不活跃玩家 DELETE FROM characters WHERE lastAccess < 466560000; DELETE FROM accounts WHERE lastactive < 466560000; Add for all monsters in drop: Coins 所有怪物增加指定掉落(如:各类金币) insert into droplist (mobId, itemid, chance, min, max,category) select id, 4037, 1000000, 1, 1, 52 from npc where type='L2Monster'; Increases Guards (p.def, m.def, p.atk, hp) by 50%: 提升 警卫 属性 UPDATE npc SET pdef = pdef * 1.5 WHERE type = 'L2Guard'; UPDATE npc SET hp = hp * 1.5 WHERE type = 'L2Guard'; UPDATE npc SET patk = patk * 1.5 WHERE type = 'L2Guard'; UPDATE npc SET mdef = mdef * 1.5 WHERE type = 'L2Guard'; Decreases Raidboss defense by 40%: 降低/提升 狩猎首领 防御 UPDATE npc SET pdef = pdef * 0.6 WHERE type = 'L2RaidBoss'; UPDATE npc SET hp = hp * 0.6 WHERE type = 'L2RaidBoss'; UPDATE npc SET mdef = mdef * 0.6 WHERE type = 'L2RaidBoss'; All new player chars spawn loc: 数据库内设置 玩家新建角色 出生坐标 UPDATE char_templates SET x=yourXcoordinate; UPDATE char_templates SET y=yourYcoordinate; UPDATE char_templates SET z=yourZcoordinate; Teleports cost 0 adena: 传送金币为0 UPDATE teleport SET price=0;
-
发表于 2015-3-24 09:24:09 | 只看该作者 http://l2fater.cn/static/image/common/arw_r.gif 今天爬文的时候、才发现o大早已发布了这个教程、只是我们没发现而已!!! 看来还是要多多爬文、多多动手、多多学习!!!{:1_103:} 转自:l2jtw 原作者:otfnir 原文地址:http://www.l2jtw.com/l2jtwbbs/viewtopic.php?f=39&t=10240 腳本編寫 腳本應該放在那裡?: 這個有規定的 (其實可以亂放的 但不建意) 在 gameserver\data\scripts\custom 開一個資料夾 名字任你改 以先前寫的轉生腳本為例 (參考 http://www.l2jtw.com/l2jtwbbs/viewtopic.php?f=82&t=10234 ) 檔案都放在 gameserver\data\scripts\custom\Rebirth 資料夾裡 主要腳本檔: 這個也是沒有規定的 你喜歡用那個名也行 不過要注意副檔名 py --- jython 的腳本 (目前大部份腳本使用) java -- java 的腳本 js -- javascript 腳本 (暫時沒發現) bsh -- BeanShell 腳本 (暫時沒發現) 你可以用你喜歡的腳本語言來寫 腳本格式: 以 jpython 為例 <font color="deepskyblue">import sys from com.l2jserver.gameserver.model.quest import State from com.l2jserver.gameserver.model.quest import QuestState from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest </font> 复制代码 參考 L2J 任務說明文件 gameserver\data\scripts\quests\documentation.txt (英文的) 這幾行是一般任務會用到的 作用是把 java 的幾個 class (中文好像稱"類") 引入 要用到那個 class 便引入那個 <font color="deepskyblue">qID = -1 #任務 ID qn = "Rebirth" #任務名 qDesc = "custom" #任務簡介/通常用於搜尋 htm 的資料夾位置 /gameserver/data/script/*****/*.htm </font> 复制代码 然後定義 3 個變數 (其實次序沒關係 不過我習慣把會改動的變數 集中在前面 當是設定檔般修改) 這三個變數 是對應到程式最尾 註冊任務時會用到 <font color="deepskyblue">QUEST = Rebirth(qID, qn, qDesc) </font> 复制代码 qID 是任務的 ID, 在遊戲中 "重新載入任務" 時會用到 qn 是任務的名稱, 跟 NPC 對話時的 HTM 會用到 "重新載入任務" 時也會用到 qDesc 是任務簡介 或用作尋找 HTM 檔時的其中一個路徑 <font color="deepskyblue">NPCID = [65535] #觸發的 NPC ID, 可多個 NPC [65535, 88888, 99999] </font> 复制代码 NPCID 是觸發這個任務的 NPC ID 剛才我們不是自訂了一個 65535 的 NPC.. <font color="deepskyblue">class Rebirth(JQuest): def __init__(self, id, name, descr): JQuest.__init__(self, id, name, descr) </font> 复制代码 定義一個 class 用來 extends (延伸) com.l2jserver.gameserver.model.quest.jython.QuestJython 這個 class 及初始化 <font color="deepskyblue"> def onFirstTalk(self, npc, player): return "onFirstTalk.htm" </font> 复制代码 onFirstTalk 是直接點 NPC 的第一次對話 這裡為了簡單講解 所以只是回傳一個 HTM 檔的內容 或者你可以直接回傳 HTM 的內文 像這樣寫 <font color="deepskyblue"> def onFirstTalk(self, npc, player): return "<html><body>你好</body></html>" </font> 复制代码 ......... <font color="deepskyblue">QUEST = Rebirth(qID, qn, qDesc) for id in NPCID: QUEST.addStartNpc(id) QUEST.addFirstTalkId(id) QUEST.addTalkId(id) </font> 复制代码 addStartNpc 註冊那個 NPC, 點了自動申請任務. 註:每個 NPC 只可註冊一個任務作為自動申請 addFirstTalkId 註冊那個 NPC, 點了會跳到 onFirstTalk addTalkId 註冊那個 NPC, 會回應 onTalk. 另外 onFirstTalk 的 bypass Quest 也需要註冊這個 整個看起來便是這樣 <font color="deepskyblue">import sys from com.l2jserver.gameserver.model.quest import State from com.l2jserver.gameserver.model.quest import QuestState from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest qID = -1 #任務 ID qn = "Rebirth" #任務名 qDesc = "custom" #任務簡介/通常用於搜尋 htm 的資料夾位置 /gameserver/data/script/*****/*.htm NPCID = [65535] #觸發的 NPC template ID, 可多個 NPC [65535, 88888, 99999] class Rebirth(JQuest): def __init__(self, id, name, descr): JQuest.__init__(self, id, name, descr) def onFirstTalk(self, npc, player): return "<html><body>你好</body></html>" QUEST = Rebirth(qID, qn, qDesc) for id in NPCID: QUEST.addStartNpc(id) QUEST.addFirstTalkId(id) QUEST.addTalkId(id) </font> 复制代码 很簡單吧 當然這個腳本 只會說一句 "你好" 沒其他功能 留待以後再慢慢詳細解說 腳本測試及除錯 註冊自訂腳本: 自訂腳本寫好後 要在 gameserver\data\scripts.cfg 裡註冊 所謂註冊 其實只是在檔案裡 加入腳本的路徑檔案 以轉生腳本為例 加入一句便註冊了 <font color="deepskyblue">custom/Rebirth/__init__.py </font> 复制代码 召喚 "自訂 NPC" 及測試: 在遊戲內用管理員指令 輸入 //admin 出現畫面 http://img824.imageshack.us/img824/4864/34855645.jpg 輸入 "自訂 NPC" 的 ID 然後按 召喚 點看看 會說 "你好" 便成功了 除錯: 當出現錯誤時 通常會有錯誤訊息 這裡有個很重要的資訊 它會記錄你錯誤的行號.. http://img51.imageshack.us/img51/6826/74709202.jpg 重新載入腳本: 你可以在遊戲運行中 重載腳本 打腳本的名稱 或 ID 例如要重載轉生腳本 可以打 <font color="deepskyblue">//quest_reload Rebirth</font> 复制代码 可以不停修改腳本 及重載 方便測試 但如果修改腳本後 重載時出現錯誤 你會發現 即使修正了問題 還是不能重載 那麼 可以用另一個指令 //script_load 路徑 例如要載入轉生腳本 便是 <font color="deepskyblue">//script_load custom/Rebirth/__init__.py</font> 复制代码 這個方法也可以在 GS 初始化時 腳本已經出錯的時候用 很方便吧 :)
-
发表于 2015-3-24 15:29:42 | 只看该作者 http://l2fater.cn/static/image/common/arw_r.gif l2jtw脚本的使用方法 放到gameserver\data\scripts\custom文件夹内 然后在gameserver\data\scripts.cfg里面添加相应的链接 比如我要使用这个 【l2jtw】装备兵器譜 (歡迎參考, 抄襲, 修改, 轉發, 除錯, 使用) (出处: 血玫瑰社区) 那么下载下来之后 在gameserver\data\scripts.cfg里添加一行 custom/Rank/Rank.py 即在每次服务端启动的时候、读取了这个Rank脚本 如果不想用的时候、就 #custom/Rank/Rank.py 加个#即可
-
l2fater : 天堂2 命运主宰者... 那些因私服而接触到天堂2单机版、天堂2源码、天堂2技术研究讨论的朋友们的聚集地!! 基于天堂2开源的项目组,进行二次开发.... 历史 2012年11月15日 L2Fater 成立 2013年8月28日,开启 六章 Interlude 的源码编译及部分汉化[已关闭] 2013年11月26日,开启 林德拜尔 初期525-531的源码编译及汉化[已关闭] 2014年3月13日,开启l2fater-HighFive。 基于l2jserver的二次开发,同步更新l2jserver.[已关闭] 2018-10-16 开启L2Fater-HighFive 基于l2jsunrise源码的编译及汉化【Highfive版本】 2019-09-17近期将对L2JMOBIUS的开源版本进行汉化发布 汉化进度参考https://support.qq.com/products/95539? [域名变更历史] 最初由www.dev-rose.tk,空间挂在国外的iguseth上!!! 之后,申请了dev-rose.cc。。。 因提示发送过多邮件?,iguseth的空间被封!!! www.dev-rose.cc域名到期后 转回TK域名 即 www.l2fater.tk 但因tk域名1年期限到期之后,回收了l2fater.tk且无法再申请!!! 索性更换com域名!!!! 因o大的无私帮助,将空间挂在redhat上!!2014年11月19日,更换com域名www.l2fater.com 2015-11-21 com域名到期. 已更换为cf域名 www.l2fater.cf (请大家保存书签访问,感谢o大帮忙)\2015-12-1 cf域名供应商给O大发邮件说要删除这个cf域名,原因 1 他们进不来 (有防火墙的关系吧) 2 不符合他们的政策!! 2016-11-22 www.l2fater.top 未来的几年我们的新域名哦!! 2017-10-10 血玫瑰社区使用的主机redhat版本停用,论坛回档至2017年5月! 图片 附件 插件 失效! 2021-4-19 新增CN域名,大家可使用l2fater.cn访问血玫瑰社区! 2021-9-10 社区在原社区系统基础上使用了新的社区系统,未来将逐步移除旧系统. 始于热爱,天堂II,有你有我 授人鱼不如授人渔! 血玫瑰社区希望每位热爱天堂II的朋友都能在这里学到一些!
-
版本 1.0.0
0次下载
老站归档 L2J篇 首先修改ipconfig.xml【l2jtw/l2jserver/l2jcn等等大同小异!!】 原始大致如下 <?xml version="1.0" encoding="UTF-8"?> <!-- Put old contents of ExternalHostname here, used by default --> <gameserver address="127.0.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ipconfig.xsd"> <!-- Localhost access --> <define subnet="127.0.0.0/8" address="127.0.0.1" /> <!-- LAN's, put old contents of InternalHostname here --> <define subnet="10.0.0.0/8" address="10.0.0.0" /> <define subnet="172.16.0.0/19" address="172.16.0.0" /> <define subnet="192.168.0.0/16" address="192.168.0.0" /> </gameserver> 我们将<gameserver address="127.0.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 这一行的<gameserver address="127.0.0.1"修改为<gameserver address="您的外网IP【花生壳动态域名也是输入在此】" 比如我的外网IP为 xmgtt2012.vicp.cc就修改成 <?xml version="1.0" encoding="UTF-8"?> <!-- Put old contents of ExternalHostname here, used by default --> <gameserver address="xmgtt2012.vicp.cc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ipconfig.xsd"> <!-- Localhost access --> <define subnet="127.0.0.0/8" address="127.0.0.1" /> <!-- LAN's, put old contents of InternalHostname here --> <define subnet="10.0.0.0/8" address="10.0.0.0" /> <define subnet="172.16.0.0/19" address="172.16.0.0" /> <define subnet="192.168.0.0/16" address="192.168.0.0" /> </gameserver> 俄罗斯类服务端 我们习惯将俄语的服务端统称为国外版服务端。因为国内做这个汉化开源的很少....L2JSE yiyi曾经发布过一个源。。。其发布了一个开外网方法这个方法在国外服务端里都实用。。。 开外网方法 服务端方面只需要修改gameserver\config\network\server.ini 内的ExternalHostname = 127.0.0.1 将127.0.0.1改为外网IP(不需要改其他IP) 开局域网方法 修改gameserver\config\network\server.ini 内的InternalHostname = 127.0.0.1 将127.0.0.1改为局域网IP(不需要改其他IP)免费 -
源码功能: 可扩展性强!~ - 98% of high five skills - 98% of high five quests and instances - Fully working world grand bosses - Fully working instanced grand bosses - Fully working high five instances - Fully working Castle dungeon instances - Fully working quests - scripts in java - Fully working high five quests - Fully working territory war - Fully working sieges - Fully working fortresses - Fully working destruction bosses - Fully working prime shop - Fully working npc routes - Fully working antharas lair - Fully working dragon valley - Fully working monsters mage - fighter AIs - Fully working fisherman tournament - Fully working secondary password system - Fully working kamaloka instance Grandbosses: - Fully working freya normal/hard mode - Fully working zaken all modes - Fully working frintezza - Fully working antharas - Fully working baium - Fully working valakas - Fully working orfen - Fully working core Geo engine: - Reworked geo engine, movement Miscellaneous: - Reworked network controller (mmocore) - Reworked monsters behavior for better performance - Custom features: - Community board with top lists, shops, teleports etc - User commands (exp, trade, buff block etc) - Npc - item - voiced buffer - Npc - voiced services npc - Premium service - Backup manager - Leaderboards - Pvp zones - Vote system - Champion mobs - Pvp - pk color system - Fake npcs look like players - In game simple antibot system - Configurable formulas - Auto restart - Alternative payment system - Custom announce system - Advanced configurable enchant scrolls https://www.mediafire.com/file/k9ix4w7628an9js/sunrise_full.rar/file
-
-
这是我10多年前玩过的一个SF,起初只是打打Boss,后来才发现还有个背景故事, 现在读起来略有些僵硬,但那个年代真的是精彩,我一度以为这才是真正的天堂II背景故事,多年过去了,这个背景故事还是翻遍了谷歌历史网站才找到的,分享给大家! 背景神话 一,艾特纳尊的居民 在远离地球十一亿光年的另一个星系,有一颗叫做“EternalDream”行星,“EternalDream”发音为“艾特纳尊”,含意是“永恒的梦想”,星球的表面充满了绿色,洋溢着活泼的生机,无尽的希望。 艾特纳尊星球上长满了各种奇异植物,清澈的河流围绕着绿地蜿蜒,轻拂的微风包含着鸟语花香飘逸,用最恰当的词形容,那里就是“天堂”。 在上古传说中,很久以前,天神格兰肯与殷海萨创造了“精灵,兽人,凡人,矮人,翼人,巨人”六大种族,让他们在大陆上繁衍。 大约2500年前,六个种族间有了纷争,据说最先是巨人和翼人占领了其他种族的领土,驱使别族为奴役,并对天神大不敬,被大家称为凶恶两族。 神派出长有翅膀手持惩罚之剑的天使,来到地面阻止凶恶两族,两族并没有束手就擒,一场恶战不可避免地产生了,最终巨人和翼人从大陆上消失。 天使向世人转达神的告诫:“不可粗暴,不可残害生灵” 其余四族遵守神的告诫,一代代地生存下去,精灵擅长魔法,凡人擅长农业,矮人擅长工艺,兽人擅长狩猎,至于消失的两族,被大家渐渐遗忘。 再后来,精灵们渐渐形成两个流派,一派认为修炼魔法首先应注重自身的修为,另一派认为修炼魔法应该注重实际效果,双方渐起隔阂,隧生仇恨,注重实际效果的一派人数较少,寡不敌众,战败而逃,躲在地下洞穴里逃避追杀,过着暗无天日的生活,两百年后,由于研习魔法的因素,这些精灵皮肤变暗,被称为“黑精灵”,居住在精灵村的精灵皮肤较白,被称为“白精灵”。 就在黑白精灵互相敌对的时候,长期住在北方的兽人族趁虚而入,展开进攻。兽人长年在野外打猎,与怪兽斗争,并擅长使用各种纹咒增强自己力量,精灵和人类都被打败了,本份的矮人选择了投降。 兽人成为大陆的统治者,大约三十年后,黑精灵中有三位优秀的巫师来到了凡人躲藏的说话岛,开始教授凡人使用魔法。凡人们的领悟能力出奇的高,并且将魔法和刀剑配合使用,不久后人类和黑精灵的联合大军把兽人击败,黑精灵和白精灵都以为可以和人类三分天下,共同统治,但凡人力量的崛起速度非常迅速,又十年过去,凡人的势力已经超越了其他几个种族力量的总合,成为艾特纳尊地面上的最强者。 那大约是1500年前,人类向其他种族宣布,他们选举“史奈曼”作为皇帝,所有种族必须听从皇帝的命令和指挥。由于“史奈曼”人格高尚,管理有方,大家都接受了。 最意外的是,神竟然派来使者,为“史奈曼”举行加冕仪式,承认凡人皇帝在地面上的统治权,在“史奈曼”统治的时代,地面文明得到了极大的发展,迎来了短暂的和平。 六十年后,“史奈曼”逝去,全国悲痛。大家没能再选出另一位德高望众的皇帝,各方势力开始裂土拥兵,纷纷自立,世界再次陷入战火之中。 二,疯狂的皇帝巴温 “史奈曼”逝去五百年间,地面世界又暴发多次大大小小的战争,后来渐渐形成三个国家,分别是亚丁,艾尔摩,格勒西亚。 三足鼎立的局面维持了数百年后被打破了,起因是亚丁国王巴温的贪婪和野心。 巴温精通魔法,擅长用兵,决心统一世界。他依靠着魔法和兵力的优势,竟然同时进攻艾尔摩和格勒西亚两个国家!胆识之大,令人惊讶,被称为是疯狂的皇帝。 战争无情,白骨千里,巴温最终取得了成功,一统天下!虽君临天下,但他仍然带有一份不小的失落:“我的名字令人畏惧,我的力量广大无际;但是这一切只能拥有数十年,就算是历史上最受人尊敬的史奈曼皇帝,也仅仅活了一百零三岁!人类的生命与整个世界相比,真是太短暂了!" 岁月苍苍,东逝流水,如同中国的秦始皇一样,巴温也想追求长生不老。众所周知秦始皇长生不老计划失败了,派去东海的三千童男童女没找到仙药不敢返回中土,于是落地生根,生儿育女,世代繁衍,形成了现在的日本。但巴温却取得了成功,掌握了永生的秘决! 相传世上有三本宝书,记载着强大的力量,它们分别是“恶魔禁书”、“永生之册”、“魔兽缔约”。 “恶魔禁书”刻印着恶魔之力的根源,传说由古代巨人族创造,后来流传到亚丁皇室手中。巴温仅研习一部分便得到巨大的魔力。有人问,巴温为什么不全部学透?因为如果学完全部“恶魔禁书”,将永世变成恶魔。 但巴温正因为拥有这份力量,而拥有天下,如今他想长生不老,则依靠“永生之册”。 传说“永生之册”记载着天神力量的秘密,曾经格勒西亚大陆的天空之城与天界相接,传说它是被天神遗落在凡间的宝典,后来被格勒西亚皇室所获,历代珍藏。 巴温从格勒西亚夺得了“永生之册”,闭门研读,发现“永生之册”里讲述了一段不为人知的历史:“在很久以前,天界曾经爆发了一场巨大的战争,天神格兰肯与殷海萨亲自参战,并且身受重伤。最终天神打败了敌人,将其力量封印在地面世界。” 这场战争闻所未闻,巴温翻遍了各种记载,从未有过相关的记录。 巴温根据永生之册里面的线索,找到了书上所说的遗址,“永生之册”说那是和神之封印相关的建筑。 从古建筑铭文上看,有神的使者安娜金的咒印。几乎全人类都知道,一千五百年前,神派遣使者安娜金传达了神的旨意,为“史奈曼”加冕。 一千五百年前后,是“史奈曼”率领大军驱逐兽人,建国定都,统一天下的时期,并没有天神大战的记录。 巴温不愧是疯狂的皇帝,他竟然下令挖掘其中一处遗迹,并在其下层找到了更古老的建筑,根据封印上的石刻推断,大约有三千年历史! 三千年前!这是一个不简单的时间,因为全世界最早的历史,只记载到二千五百年,也就是神派出天使惩罚凶恶两族的那个时代,之前的历史,似乎都被刻意抹去了。 巨大野心怂恿着疯狂的皇帝,他根据“永生之册”的方法修建高入云宵的傲慢之塔,塔身许多砖石上都施有魔法,刻有符咒,巴温利用巨塔慢慢吸取各处封印的神力,试图借助神的力量得到永生。 原本巴温就因修炼恶魔禁书得到了特殊的力量,再加上七封印里的神力,神魔混杂,非常强大。塔顶的永生结界里电闪雷鸣,惊天动地。 格兰肯与殷海萨感到下面的世界有异常,举目一望,好家伙,有人在施展永生结界呢,不好,七封印的力量流失了近一半! 愤怒的天神格兰肯率众天使来到人间,以破坏之锤击碎了傲慢塔顶,嘲笑道:你不是想得到永生吗?我就让你长生不老吧!然后将巴温封印成石象。 神还命令以智天使葛鲁基为首的天使军团看守傲慢之塔,为进一步监视七封印流失力量后的变化,其他天使也相继来到地面世界。 二,美丽的恶魔 巴温被封印后,王子弗林迪萨控制不了局面,王国陷入混乱,各地势力纷纷造反,割据一方,独立为王。 卢云城一直被称为不阴暗之城,传说城底下有不可告人的秘密,有传说卢云城的贵族与邪神有特殊的交易,仿佛在进行一些邪恶的仪式。 巴温时期的卢云城是哈勒特将军所镇守,群雄独立后,他率军攻打高达德,修加特,全部取胜。哈勒特军队聚集的地方,都有腥臭的黑气笼罩,显然是有妖魔的力量。 哈勒特见时机成熟,准备杀死王子,接手巴温的帝业,成为新一代的皇帝,统一天下。哈勒特军力强大且有妖魔相助,各地势力只顾自保,亚丁城的沦陷将是必然。 为了保护王子弗林迪萨和王妃哈里夏,忠心的大臣们对外声称王子夫妇由于巴温的事伤心过度,相继病亡。 叛军没有相信这个善意的谎言,哈特勒发兵攻打帝国陵墓。埋伏在皇陵的帝国亲卫军们拼死抵抗,但叛军数量众多,士兵们死伤无数,王子的处境越来越危险。 王妃哈里夏长得非常漂亮,而且勇敢非常,跟着巴温学习过几年魔法,还参与过一些战斗。她指挥所有的将士退守内室,借助狭小的过道取得了防守上的优势,骑士在前,弓手在后,暂时抵挡住了叛军的攻击。 久攻不下,哈特勒的部下柯尔能使用黑暗魔法攻击过道上的士兵,士兵们的血肉之躯在妖魔的力量下不堪一击,哈里夏与王室的几位将军上前亲自抵挡。 突然一个巨大的红色带翅膀怪物冲了进来,防线完全崩溃,哈里夏负伤退到王子身边,眼看身前这个名叫扎肯隆的家伙高大异常充满戾气,显然是个妖魔。 难道就要这样死去?!悲伤王妃朝天怒吼:“卑鄙的天神啊,你们封印了父皇,还鼓动这些小人来谋害王子!我誓死将与你们对抗到底!!!” 然后她含泪对王子说:“亲爱的弗林迪萨,你可要好好活着,你担负着王国的重任!” 说罢,哈里夏起身站起面向叛军,拿出了亚丁皇室祖传的“恶魔禁书”,翻到最后一页(这意味着她将完全使用恶魔禁书的力量,就连巴温也只使用了三分之一)那声音悲沧而坚决:“无边的力量来自恶魔,恶魔的力量来自仇恨,地狱的大门向世界打开吧!哈里夏用鲜血染红大地召唤你们,忠诚的卫士们,主人为你们流血和流泪!复活吧!”,哈里夏用长剑刺穿自己的心脏,汩汩鲜血流到“恶魔禁书”上面,沾满魔力的仇恨之血越来越多,渐渐染红了整个陵墓内室的地面。从鲜血染红的地面里飘出大量鬼魂,死去的帝国亲卫兵们神奇般地站了起来,复活成为恶魔战士,呼啸着冲向叛军! “无边的力量来自恶魔,恶魔的力量来自仇恨,让我和敌人的鲜血交织,直到染红天空的每一片云彩!!!” 大地震撼,美丽的王妃消失了,出现在眼前的是一个高大的恶魔,手持巨刃,英勇杀敌,势不可挡!美丽王妃因恨而成魔,因爱而守护,可悲可泣! 哈里夏带领复活的亲卫兵们势不可挡,越战越勇。哈勒特只能下令全军撤退,但他仍不甘心,时常派兵入侵,王子只能一直藏在帝国陵墓深处。 为防万一,哈里夏造了四个假墓,并在里面埋伏了重兵,称为四大陵墓。多年来,判军多次攻入帝国陵墓内部,都被四大陵墓的皇家卫士和哈里夏化打败,化作为墓室的泥土。 三,魔法王巴列斯 人类研究魔法有久远的历史,魔法师们从古代留下的各种典籍,以及下巨人的一些石刻里取得灵感,然后加以实践,演化出多种魔法。数百年来,魔法师们开始形成体制,相互弥补,并组建了象牙塔魔法公会,所有魔法师们都遵守魔法公会制订的规定,研习各种魔法。 巴列斯是象牙塔历史上最优秀的魔法师,天质聪明,但他研究的魔法特别邪恶,还经常用活人做试验。 象牙塔高层剥夺了巴列斯的魔法师身份,并且下令追杀他。后来众多魔法师与巴列斯在古鲁丁南部地区进行了一场大战。巴列斯势单力薄,落败而逃,那个地区因为受到魔法的影响,再也长不出草木,形成了现在的荒原。 战败后的巴列斯逃到海外一个岛上,休养生息,专心研究黑暗魔法。黑暗魔法的效果把整个岛屿都变成了寸草不生的地方,巴列斯自己也变成了半人半魔的怪物。 世间有三界,互有相隔,不能自由往来,隔绝人界与神界的是叹息之墙;隔绝神界与魔界的是万难之山;隔绝人界与魔界的是黑暗之门。 人类掌握的魔法不能穿越三界的障碍,但巴列斯知道地面上的确存着恶魔,也存在着天使,这些原本都不是地面世界的东西,是从哪里来的呢?神的力量巨大,送几个天使来到人间可以理解,但地面上一些零散的恶魔,不可能有这样强的本领。 巴列斯认为,虽然三界相隔,但三界的生物之间可能有相似或者相同的基因,肯定都和风,地,水,火,暗,光六属性有一定关系。地面上有些生物有特定的邪恶基因,在特殊的情况下形成了类似恶魔的生物,这些妖魔应该不属于真正的恶魔,但他们之间必须有相同之处。 接下来巴列斯花费大量时间研究了一个召唤术,然后收集了大量邪恶基因,逐一试验,试图找到可以和魔界生物产生共鸣的基因。经过上千次的试验,其中的一个基因和恶魔世界的贵族达里恩发生了共鸣,并且达里恩也愿意配合,就被召唤到了人类世界。巴列斯又在达里恩的头发上取到了更多的恶魔基因,从魔界召唤来了其他几位恶魔,并根据恶魔的基因对人类世界的邪恶生物进行了改造和克隆,创造出一批怪物军团。 为报追杀之仇,巴列斯带领恶魔军团入侵象牙塔公会,大获全胜。并且还抢走了魔法界的至宝:“魔兽缔约”,这缔约是第一代的魔法师们倾心研究而成,书中记载了一种强大的结界魔法,公认是所有魔法中最强大的结界,能过它可以大幅提升缔约者的能力,得到超强的力量。 根据书中记载,首先要集齐光,黑,风,地,水,火六大元素的力量,根据一定的规律运转,便可启动结界,所有与结界签约者的能力都会被增加数倍。巴列斯知道,很多生物都只有其中一到两样很弱的属性,如果能得到所有属性的支援,力量大增是肯定的。巴列斯精通的法术中,风,地,水,火都有,最近还召唤来了魔界的恶魔,魔力也不缺。但他对“光明”这个词一直非常反感,认为那只是欺骗世人的东西。他这样认为,也并不是没有道理的。因为多年来巴列斯研究了大量的生物和非生物,发现里面都没有光这种属性。如果一定要找到光属性,只能从天神的身上打主意。为什么地面上的事物中,没有光这个属性呢?充满迷惑的巴列斯把《魔兽缔约》扔进了宝箱,收藏起来。 四,魔兽缔约启动 在地狱边界游荡的“哈里贝尔”,原本是个黑暗巫术师,与巴列斯保持着一定的交往。偶然间她得知“魔兽缔约”的下落,便引诱巴列斯的巫女瑟菲亚偷盗了“魔兽缔约”。“哈里贝尔”特别善于引诱和拉拢,她四处寻找盟友,说服他们加入到缔约的结界中。 强大的两位首领,拥有光明力量的“安娜金”,拥有黑暗力量的“莉莉斯”,这两位本来是天神和死神的地面使者,上千年来呆在封闭的环境之中,主人一直没有给予关怀照顾,令她们非常伤心失望。再加上“哈里贝尔”的循循善诱,她俩最先加入了缔约,曾经的死对头变成了盟友。 随后,火系的“基耶奇”,水系的“提尔思”,风系的“塔伊普”,地系的“红眼高仑”也相继加入。由于六大元素的力量太强大,“哈里贝尔”的法力不足,难以将六大元素的力量集结在一起按结界要求的规律运行,首次结界启动失败了。“哈里贝尔”想利用恶魔的力量,但她知道的恶魔强将都和巴列斯有些关系,很难下手。想来想去,她来到了帝国陵墓,想得到哈里夏的帮助。 哈里夏听说缔约能增强自身数倍能力后很想结盟,但是她必须保护王子,不能离开,以防叛军趁虚而入。思索很久后,哈里夏想到了永生之册中记载有一个双重分身术,可以创造出一个分身并且拥有本体的力量,并且随时可以把力量传输过去或者收回来。 在哈里夏魔力的驱使下,六大元素的力量很顺利运行起来并且启动了结界,魔法历史上最强大的结界“魔兽缔约”在精灵村附近的废墟中被启动。缔约者们的力量都被提高数倍,缔约者们的联盟被称之为“魔兽世界”。巴列斯听到这消息后非常气愤,但又没有办法,只能派了一个眼怪远远地监视着魔兽世界里的动静。 “哈里夏”原本就是强大的恶魔,再加上“魔兽缔约”的力量,功力大增,化身为恶魔之王。 一切都是那么巧合,全然不知这一切的哈勒特,不久后集结了所有的判军准备再次攻打帝国陵墓。兵力之多,史无前例,决心一战拿下。 通常帝国陵墓守卫者们的战术都是先以不死军团消耗敌人兵力,然后利用四大陵墓埋伏重创对手,最后再由哈里夏亲自上阵。当时守军实力有限,只能使用这个战术层层狙击。这次哈里夏一反常态,孤身一人提刀等在陵墓门前。叛军的先头部队在百米外就看到了不同往常“美丽”王妃,血红的身躯散发着终级恶魔之气,令人不寒而栗。突然她拨刀向前,刀光所向,霹雳无敌,叛军的几名先锋瞬间就被秒杀! 叛军毫无还手之力,只能仓皇逃跑,哈里夏只身从帝国陵墓追杀到参拜走廊,又杀到阿墙,战到高达德。势不可挡,人挡杀人,魔挡灭魔,一地尸体,遍山是血。 最后的三员叛军将帅:哈勒特,柯尔能,扎卡隆夺路狂奔,希望可以逃回卢云城,但才跑到亡者森林就被魔王追上,斩于刀下,化作野鬼,再也不能离开那片土地。 五,黑暗之门打开 普通人如果没有魔力的支持,是不可能直接化身成魔的,只有强大的魔力,深厚的怨恨才能引发强大的力量。哈里夏当初能够化身为魔,主要是和恶魔禁书有关。 恶魔禁书的强大不仅仅是上面记载的魔法,还因为它和魔力之源有直接的关联。恶魔世界的力量之源是一个被称为魔心的装置,那里聚满了怨恨和魔力,就象是一颗心脏一样,生生不息。 有一块魔心的碎片,被当做宝石嵌在书的封底。哈里夏用剑刺穿自己的心脏,鲜血带着仇恨染满了禁书,也染满了魔心碎片,感受到怨恨的魔心和哈里夏产生共鸣,穿越空间传输给哈里夏足够的力量,令她化身为魔。这魔力感染了死去的卫士们,让他们复活成为带有魔性的不死生物。 这和巴列斯的契约方法有些相似,区别在于这次的基因是强大的魔心,引子是哈里夏的生命和怨恨,所以产生的效果是非常显著的。 随着哈里夏不断地战斗,她的鲜血流淌到更多的土地上,就象一滴血滴进了清澈的水池,然后随着波浪扩展得远来越远那样。渐渐地,人类世界更多的仇恨都被魔心感受到了,原来地面世界还有这么多的罪恶,存在这么多的仇恨!!! 这共鸣让魔心发出了千年来最强大的光芒,鼓动着恶魔们集体冲向黑暗之门,想突破这隔绝来到人间,因为有无穷仇恨在吸引着他们! 黑暗之门由四组封印组成,靠近人类世界的是光明封印,以人类的力量是不可能破坏的;靠近恶魔世界的的是黑暗封印,这种封印以恶魔的力量也是不可能破坏的。此外还有两重封印加固隔绝的效果。恶魔们攻击了很久,黑暗封印纹丝不动。 突然,一条巨龙横空飞来,黑暗封印被撞开一条裂缝。众魔一惊,原来是暗龙斯克陆斯。巨龙的力量属于另一种来源,不同于恶魔,黑暗封印对它没有效果。 龙族是最强大的生物,集神力和邪恶为一体,很久以前六条巨龙与天神作战,混战之中光龙被格兰肯用破坏之锤和神之力量灭亡,暗龙大怒,咆哮着使劲全力撞向格兰肯,格兰肯侧身一闪没被撞中,狡诈的殷海萨在背后对暗龙全力一击,借力打力,暗龙被震飞了很远,竟然直接撞穿了万难之山,昏迷在魔界。 这次魔界的骚动惊醒了暗龙,千年难遇的机会来临,暗龙以超强的破坏力向黑暗封印发起撞击,黑暗封印终被破坏,恶魔们峰涌而入,其他的时空封印、禁绝封印、光明封印陆续被打破。恶魔们从黑暗世界来到人间! 风,火,水,地四大魔王对人类世界充满了野心,派出了一些先锋官入侵到人类领土,人界世界充满仇恨的幽魂们也感受到恶魔的召唤,来到被破坏的黑暗之门,自愿成为四大魔王的下属。恶魔们最终的目标就是想用仇恨和魔力感染整人类世界,让人界和魔界都成为黑暗的世界。 天神知道这些后,派出传令天使来到人间,发动人类世界的勇士们冲向黑暗之门,为保护人类而战! 六,巨龙的复仇 自从黑暗之门打开后大量恶魔来到人间,暗龙斯克陆斯为了控制黑暗封印,率领众魔把守住黑暗之门,形成了恶魔在人类世界的第一个军事基地。斯克陆斯派出使者,四处寻找失散千年的兄弟。 另一边,由于拥有魔心的力量,所以魔王哈里夏最先感受到众魔的来临,她认为可以断中取胜,于是抓紧机遇率军冲向了傲慢之塔,众天使战败而逃。古代皇帝巴温从封印中被解脱出来,复活了。面对眼前的变化,巴温认为所有的罪恶都是天神所害,决心要报复。 哈里夏施展魔力,将曾经战死在傲慢之塔的将士们全部复活为不死战士,巴温带领它们驻扎在傲慢之塔,策划着登天而战。死去多年的勇士们再次穿上盔甲,拿上刀剑,这次他们的任务不是侵占别国,而是与天神作战。 但这只能是一个很宏伟愿望,因为人界和天界的距离实在是太远了,大陆最接近天界的地方就是天空之城地区的叹息之墙。 叹息之墙的边上,已经有一个很强的家伙在那守候了多年,他的名字叫做风龙林德拜尔。 正如永生之书中记载的那样,三千年前,天界发生了一场恶战。这是龙与神的战争,最终神取得了胜利,也付出了惨重的代价。 光龙战死,暗龙下落不明。火龙,地龙,水龙,风龙被神用巨大的力量封印到地面世界的深沟之中。最初聪明的下巨人发现了这个秘密,想吸取封印的神力增强自身的实力,结果被天神用“侵犯他族”作为借口消灭了。有几只吸收到封印之力的下巨人产生了异化,天使将它们暂时封印起来。不久后翼人一族又因为同样的原因被天神灭族。 为了掩盖历史,防止有人吸取封印的力量,天神把世界上所有和神龙之战的记录全部清除了,大家都忘记了那段历史,只记得天使向世人转达神的告诫:“不可粗暴,不可残害生灵” 一千五百年前,借为人类皇帝史奈曼加冕,天神派安娜金到地面世界在各封印上修建了更多的建筑物,用来保护封印,并派安娜金守护它们。后来贪婪的巴温从永生之书上得到封印的秘密,使用傲慢之塔吸取了封印的力量,天神降服巴温后,却忘记了向封印补充力量。 不久之后,奇岩发生了一场地阵,有人说发现地底下有巨大的怪兽,当时的奇岩城领主义西卡率军降服,结果全军战死。原来地底下的地龙安塔瑞斯借封印减弱之机,摆脱了束缚。 得知古代巨龙的传说后,民间有传说饮下龙血可以功力大增,龙爪龙鳞都可以制作上好的盔甲,因此引来了不少妖魔,其中最强大的是血之一族。但这简直是飞蛾扑火,血之一族大败,未战死的妖怪们投降并成为地龙的手下,陆续又有龙族后嫡远道而来投奔地龙。 水龙原被封印在鄂鱼岛地底,也苏醒了,但水龙苏醒之后独自去了隐秘的场所。火龙被封印在诸神熔岩之底,传送也有苏醒的迹象。风龙则孤身来到了最接近天界的格勒西亚大陆,为了给光龙报仇,它曾试图孤身撞开叹息之墙,但没有成功,但经常盘旋在天空之城附近。 格勒西亚被巴温灭国之时,残存的国民将士逃到了天空之城,这里原本有一只鸟王,叫做“勒”,经常和天空之城新来的居民们发生冲突,双方一直有冲突。 听说风龙现身后,格勒西亚的飞鹰将士巴德斯顿乞求风龙的保护,称自己和手下将士都自愿意成为风龙的部下。风龙答应了巴德斯顿的请求,并承诺将保护天空之城的人类居民,鸟王勒被风龙林德拜尔赶到了天空的另一边,只能深深的郁闷。 暗龙派出部下四处寻找兄弟,泰勒找到了风龙,传达了暗龙的消息。暗龙与风龙决定在最靠近天界的天空之城组建一个军事基地,由于风龙喜欢自由自在不问政务,由三方代表同管天空之城的军事,这三方分别是代表风龙的巴德斯顿,代表暗龙的泰勒,代表魔族的班席女皇,并修建了一个真龙神殿为作指挥中心,在这块神奇的大陆上,格勒西亚的人类,恶魔界来的恶魔,巨龙一族以及其后嫡神奇地搭建了一个新世界。 暗龙的使者找到地龙安塔瑞斯,此时的地龙早已组建了强大的军队,加上暗龙和魔族的配合,安塔瑞斯的军事基地更为强大。火龙巴拉卡斯随后也被找到,五只巨龙三千后的再聚首,企划着登天一战。 七,世界之战的开始 黑暗之门的打开和巴温的复活令天神感受到巨大的威胁,在如何应对的战略规划上,格兰肯和殷海萨产生了分歧。格兰肯认为应从长计议,不要急于求成,他开始对下界的天使们进行调遣,让所有天使退派到圣者之谷,先求自保。并派出六方将领监视傲慢之塔的情况。 殷海萨却很想亲自来到人间作战,她先向地面世界派出了以大天使为首的先遣队。先遣队探明情况向上禀报后,直接进攻了天空之城的联合军事基地,风龙林德拜尔向大天使和先遣队展开猛烈攻击。附近的水龙得到情况也前来支援,先遣队被消灭一空。 愤怒的殷海萨不听格兰肯的劝阻,带着八只烈火大天使(最高等级的战斗天使)孤身下界与风龙水龙展开战斗,天空之城的军事基地基本被消失一空,剩余少数恶魔逃到了不灭之种。 风龙和水龙则和殷海萨展开大战,龙与神三千年后再次交锋,非常壮观,但殷海萨加上八只烈火大天使的力量略胜一筹,不久后水龙负了伤。暗龙斯克陆斯及时前来支援,三只巨龙不顾一切地向殷海萨发起进攻,不理会烈火大天使的纠缠,殷海萨没有退路向着大海的方向直奔。 等到火龙巴拉卡斯和地龙安塔瑞斯赶到的时候,三龙一神已经不见踪影。烈火大天使也没能追上他们,回天界向格兰肯请求支援。 愤怒的格兰肯大骂殷海萨不顾大局,但转头一想,五只巨龙都被转移了注意力,应趁机发兵。于是其他天使也被派到人间,并解开了曾经封印的下巨人,并以此作为兵器展开战斗。 长期听从天神号令的虫族和奥族也配合众天使加入了战斗,大部分恶魔在班席女皇的带领下向圣者之谷发起进攻,烈火大天使和虫族则向追到原始之岛的地龙火龙实行困兽战术。 原始之岛,圣者之谷,傲慢之塔纷纷打响了战斗,双方互有胜负。但不知道消失得无影无踪的殷海萨和风、水、暗三龙的下落前,战斗永远不会结束。 https://www.bilibili.com/read/cv14178514?spm_id_from=333.999.0.0
-
血玫瑰天堂2 12月更新汇总 卡戴拉装备属性被动技能配合登录器校正完毕 (卡戴拉以上装备均有PVP属性加强) 重甲:PvP时减少受到的伤害,以一定概率减少攻击者的所有速度. 轻甲:PvP时减少受到的伤害,被击时以一定概率解除对方的目标状态 法袍:PvP时减少受到的伤害,被击时以一定概率减少受到致命攻击的概率和致命伤害量 修正玩家等级突破100以上弹窗报错BUG 感谢 珞珞 反馈~ 开放80+【安全】练级区 降低地狱边界 下级元素使 的刷新数量 移除 深蓝Boss狩猎惩罚 修正部分商店数据, 调整可传送地图狩猎首领的掉落拾取方式及掉宝 首领几率掉落 紫玉匣子 打开可随机获得一件耶律齐装备武器神圣强化结晶等高级道具! 调整90+地狱边界地图 猎场掉落 地狱边界·魔法阵地图全地图掉落耶律齐武器! 地狱边界·魔法阵掉落耶律齐装备,武器,祝福武卷,防卷 海市蜃楼绿洲额外掉落下巨人书+熟练篇 伤痛大地额外掉落 元素水晶 地狱边界猎场全地图可回收祝福卷! 实装三龙武器光效,属性整合 特级 武器属性(即特级武器的三种搜魂属性)! 地龙,火龙,风龙三种武器属性相同,可互相交换 (因毁灭以后的章节将职业合并,三龙武器不包含所有职业,而本人又不想用其它武器补丁替换,所以大家在换武器的时候要仔细查看武器名字,以免兑换错了,浪费您的时间!) 攻击类属性同步官方设置 修正部分传送错误, 暂时关闭部分任务! 降低地狱边界猎场怪物狩猎难度,提高下巨人书爆率 提高矮人收集效率【推荐使用矮人收集祝福卷】 加入新武器-冰境武器- 属性整合特级武器属性(额外全属性+2) 为特级武器升级版 可用特级武器升级,后续添加升级方式 武器预览如图 1,提升地狱边界下巨人古书,熟练篇掉率 2,提升地狱边界回收爆率,推荐大家用矮人职业回收祝福卷,很高的哦 3,QY建立装备武器互换升级NPC 【耶律齐----卡戴拉】【特级武器----冰境武器】 【耶律齐互换】【特级武器互换】【冰境武器互换】 修复部分职业限时BUFF时间(部分buff时间为12小时)的BUG 调整打宝传送 降低 海市蜃楼绿洲地区区域伤害 75/hp秒 ----45hp/秒 提升SP倍率10----200 部分终极首领对话中文化! 新增 95+ 猎场 阿尔戈斯墙 主要掉落 三大禁书 ! 血玫瑰天堂II 12月8日更新 提升地狱边界掉落· 降低地狱边界猎场怪物强度· 降低怪物麻痹时间 修改商店兑换 神圣强化结晶兑换规则 1,更新传说lv5纹章染料----魔法阵---掉落 使用等级90,数据同步官方 2,修复客户端部分可叠加道具不显示具体数值的BUG 更新部分副本掉落 更新傲慢之塔猎场的野外boss及掉落 更新一个组队传送NPC 【仅限队员点击传送可队传,队长点击仅队长传送】 更新 三套 衬衫,手镯,腰带 哈里夏系列, 傲慢系列, 巴列斯系列, 配合梦想剧情三大禁书兑换...
-
原作者:Gam3Master 来源:MXC 下载代码:https://pastebin.com/YS5KwNN3 ### Eclipse Workspace Patch 1.0 #P aCis Index: config/Leki.properties =================================================================== --- config/Leki.properties (revision 9) +++ config/Leki.properties (working copy) @@ -141,4 +141,7 @@ # Default: 40,60,50. BackBlow = 70 SideBlow = 60 -FrontBlow = 50 \ No newline at end of file +FrontBlow = 50 + +#List of npcs with red circle aura +NpcWithAura = 50009,50010,50013 \ No newline at end of file Index: java/net/sf/l2j/gameserver/network/serverpackets/AbstractNpcInfo.java =================================================================== --- java/net/sf/l2j/gameserver/network/serverpackets/AbstractNpcInfo.java (revision 10) +++ java/net/sf/l2j/gameserver/network/serverpackets/AbstractNpcInfo.java (working copy) @@ -177,8 +177,12 @@ writeC(_npc.isFlying() ? 2 : 0); if(_npc.isChampion() && Config.CHAMPIONS_AURA) { - writeC(0x01); + writeC(0x01); // auras for champions | blue circle } + else if(Config.LIST_NPC_WITH_AURA.contains(_npc.getNpcId())) + { + writeC(0x02);// auras for npcs | red circle + } Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 10) else writeC(0x00); +++ java/net/sf/l2j/Config.java (working copy) @@ -556,7 +556,8 @@ public static int BACK_BLOW_SUCCESS; public static int SIDE_BLOW_SUCCESS; public static boolean CHAMPIONS_AURA; - + public static String NPC_WITH_AURA; + public static List<Integer> LIST_NPC_WITH_AURA = new ArrayList<>(); // -------------------------------------------------- // Server // -------------------------------------------------- @@ -1573,6 +1574,12 @@ FRONT_BLOW_SUCCESS = Integer.parseInt(Leki.getProperty("FrontBlow", "40")); BACK_BLOW_SUCCESS = Integer.parseInt(Leki.getProperty("BackBlow", "60")); SIDE_BLOW_SUCCESS = Integer.parseInt(Leki.getProperty("SideBlow", "50")); + NPC_WITH_AURA = Leki.getProperty("ListPetRentNpc", "30827"); + LIST_NPC_WITH_AURA = new ArrayList<>(); + for (String listid : NPC_WITH_AURA.split(",")) + { + LIST_NPC_WITH_AURA.add(Integer.parseInt(listid)); + } }
-
https://ghostbin.com/HrVef ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkillInfo.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkillInfo.java (revision 7) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkillInfo.java (working copy) @@ -84,7 +84,9 @@ return; // Send ExEnchantSkillInfo packet. - ExEnchantSkillInfo esi = new ExEnchantSkillInfo(_skillId, _skillLevel, data.getCostSp(), data.getCostExp(), data.getRate(activeChar.getLevel())); + int fElem = 100 + Config.SAFE_ENCHANT; + int sElem = 140 + Config.SAFE_ENCHANT; + ExEnchantSkillInfo esi = new ExEnchantSkillInfo(_skillId, _skillLevel, data.getCostSp(), data.getCostExp(), (activeChar.isNoble() && ((_skillLevel > 130 && _skillLevel <= sElem) || (_skillLevel <= fElem))) ? 100 : data.getRate(activeChar.getLevel())); if (Config.ES_SP_BOOK_NEEDED) if (data.getItemId() != 0 && data.getItemCount() != 0) esi.addRequirement(4, data.getItemId(), data.getItemCount(), 0); Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 7) +++ java/net/sf/l2j/Config.java (working copy) @@ -52,6 +52,7 @@ public static final String SIEGE_FILE = "./config/siege.properties"; public static final String PARTY_EVENT_FILE = "./config/PartyEvent.properties"; public static final String VOTE_MANAGER_FILE = "./config/VoteManager.properties"; + public static final String ENCHANT_SKILL_FILE = "./config/CustomEnchantSkills.properties"; /** VoteManager Settings */ @@ -107,6 +108,10 @@ public static boolean ALT_MEMBERS_CAN_WITHDRAW_FROM_CLANWH; public static boolean REMOVE_CASTLE_CIRCLETS; + /** Enchant Skills */ + public static int SAFE_ENCHANT; + public static boolean REDUCE_BY_ONE; + /** Manor */ public static int ALT_MANOR_REFRESH_TIME; public static int ALT_MANOR_REFRESH_MIN; @@ -1056,6 +1061,12 @@ RED_RAID_MSG = ptEvent.getProperty("RedRaidMessage","And remember!! Your enemies are noobs! Go Go Go!"); } + private static final void loadEnchantSkills() + { + final ExProperties eSkills = initProperties(ENCHANT_SKILL_FILE); + SAFE_ENCHANT = eSkills.getProperty("SkillSafeEnchantMax", 15); + REDUCE_BY_ONE = eSkills.getProperty("ReduceEnchant", false); + } /** * Loads NPC settings.<br> * Such as champion monsters, NPC buffer, class master, wyvern, raid bosses and grand bosses, AI. @@ -1512,6 +1523,9 @@ // server settings loadServer(); + + // Enchant Skills + loadEnchantSkills(); } public static final void loadLoginServer() Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java (revision 7) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestExEnchantSkill.java (working copy) @@ -121,7 +121,9 @@ activeChar.removeExpAndSp(data.getCostExp(), data.getCostSp()); // Try to enchant skill. - if (Rnd.get(100) <= data.getRate(activeChar.getLevel())) + int fElem = 100 + Config.SAFE_ENCHANT; + int sElem = 140 + Config.SAFE_ENCHANT; + if ((activeChar.isNoble() && ((_skillLevel > 130 && _skillLevel <= sElem) || (_skillLevel <= fElem))) ? true : Rnd.get(100) <= data.getRate(activeChar.getLevel())) { activeChar.addSkill(skill, true); activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SUCCEEDED_IN_ENCHANTING_THE_SKILL_S1).addSkillName(_skillId, _skillLevel)); @@ -131,7 +133,13 @@ activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_FAILED_TO_ENCHANT_THE_SKILL_S1).addSkillName(_skillId, _skillLevel)); if (_skillLevel > 100) { - _skillLevel = baseLvl; + if (Config.REDUCE_BY_ONE && activeChar.isNoble()) + { + if (_skillLevel > 140 || _skillLevel < 130) + _skillLevel-=2; + } + else + _skillLevel = baseLvl; activeChar.addSkill(SkillTable.getInstance().getInfo(_skillId, _skillLevel), true); } } CustomEnchantSkills.properties # ================================================================ # Enchant Skills setting # ================================================================ #If the char meet the conditions will enchant with 100% success rate #Till the this value #default 15 SkillSafeEnchantMax = 10 #If this is true and the enchant will fail , the skill enchantment will lost 1 enchant ReduceEnchant = true
-
H5 https://bpa.st/5JMA ### Eclipse Workspace Patch 1.0 #P L2J_Server Index: /game/config/Character.properties =================================================================== --- /game/config/Character.properties (revision 0) +++/game/config/Character.properties (working copy) +# Visual Enchant for weapons on character selection +# Disable : 0 +VisualEnchant = 16 # Allow character deletion after days set below. To disallow character deletion, set this equal to 0. # Default: 7 DeleteCharAfterDays = 1 ### Eclipse Workspace Patch 1.0 #P L2J_Server Index: src/main/java/com.l2jserver/config.java =================================================================== --- src/main/java/com.l2jserver/config.java (revision 0) +++src/main/java/com.l2jserver/config.java (working cop public static boolean SERVER_GMONLY; /** clients related */ + public static int VISUAL_ENCHANT; public static int DELETE_DAYS; public static int MAXIMUM_ONLINE_USERS; @@ -1210,6 +1211,7 @@ SERVER_LIST_TESTSERVER = server.getProperty("TestServer", false); SERVER_LIST_PVPSERVER = server.getProperty("PvpServer", true); ALT_GAME_FREE_TELEPORT = character.getBoolean("AltFreeTeleporting", false); + VISUAL_ENCHANT = character.getInt("VisualEnchant", 0); DELETE_DAYS = character.getInt("DeleteCharAfterDays", 7); ALT_GAME_EXPONENT_XP = character.getFloat("AltGameExponentXp", 0); ALT_GAME_EXPONENT_SP = character.getFloat("AltGameExponentSp", 0); ### Eclipse Workspace Patch 1.0 #P L2J_Server Index: src/main/java/com.l2jserver/gameserver/network/serverpackets/CharSelectInfo.java =================================================================== --- src/main/java/com.l2jserver/gameserver/network/serverpackets/CharSelectInfo.java (revision 0) +++src/main/java/com.l2jserver/gameserver/network/serverpackets/CharSelectInfo.java (working cop writeD(charInfoPackage.getDeleteTimer() > 0 ? (int) ((charInfoPackage.getDeleteTimer() - System.currentTimeMillis()) / 1000) : 0); // days left before // delete .. if != 0 // then char is inactive writeD(charInfoPackage.getClassId()); writeD(i == _activeId ? 0x01 : 0x00); // c3 auto-select char + writeC(Config.VISUAL_ENCHANT > 0 ? Config.VISUAL_ENCHANT : Math.min(127, charInfoPackage.getEnchantEffect())); writeD(charInfoPackage.getAugmentationId());
-
Visual Enchant Effect on CharacterSelection 玩家选择角色窗口,武器显示强化效果 脚本 原作者:StinkyMadness 来源:MXC Index: config/server.properties =================================================================== --- config/server.properties (revision 9) +++ config/server.properties (working copy) @@ -59,6 +59,10 @@ # Clients related options # ================================================================ +# Visual Enchant for weapons on character selection +# Disable : 0 +VisualEnchant = 16 + # Allow delete chars after D days, 0 = feature disabled. DeleteCharAfterDays = 7 Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 9) +++ java/net/sf/l2j/Config.java (working copy) @@ -497,6 +497,7 @@ public static boolean SERVER_GMONLY; /** clients related */ + public static int VISUAL_ENCHANT; public static int DELETE_DAYS; public static int MAXIMUM_ONLINE_USERS; @@ -1210,6 +1211,7 @@ SERVER_LIST_TESTSERVER = server.getProperty("TestServer", false); SERVER_LIST_PVPSERVER = server.getProperty("PvpServer", true); + VISUAL_ENCHANT = server.getProperty("VisualEnchant", 0); DELETE_DAYS = server.getProperty("DeleteCharAfterDays", 7); MAXIMUM_ONLINE_USERS = server.getProperty("MaximumOnlineUsers", 100); Index: java/net/sf/l2j/gameserver/network/serverpackets/CharSelectInfo.java =================================================================== --- java/net/sf/l2j/gameserver/network/serverpackets/CharSelectInfo.java (revision 9) +++ java/net/sf/l2j/gameserver/network/serverpackets/CharSelectInfo.java (working copy) @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.List; +import net.sf.l2j.Config; import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.gameserver.data.sql.ClanTable; import net.sf.l2j.gameserver.model.CharSelectSlot; @@ -149,7 +150,7 @@ writeD((slot.getAccessLevel() > -1) ? ((slot.getDeleteTimer() > 0) ? (int) ((slot.getDeleteTimer() - System.currentTimeMillis()) / 1000) : 0) : -1); writeD(slot.getClassId()); writeD((i == _activeId) ? 0x01 : 0x00); - writeC(Math.min(127, slot.getEnchantEffect())); + writeC(Config.VISUAL_ENCHANT > 0 ? Config.VISUAL_ENCHANT : Math.min(127, slot.getEnchantEffect())); writeD(slot.getAugmentationId()); } getClient().setCharSelectSlot(_slots);
-
-
-
[L2JSunrise] Congfig关闭精炼发光 现在大部分武器补丁光效都是那种绑定武器的特效,如果精炼了一般会被覆盖特效 如果想像我一样想关闭精炼特效,就像我这么设置即可【HF测试有效】 修改game\config\main 中的 Character.ini 搜索AugmentationNGGlowChance 修改为0 AugmentationNGGlowChance = 0 AugmentationMidGlowChance = 0 AugmentationHighGlowChance = 0 AugmentationTopGlowChance = 0 适用 普通精炼 不适用定向精炼