Search the Community

Showing results for tags 'NPC'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Lineage II Server Packs [Java]
  • Lineage II Server Packs [PTS]
  • Lineage II Server Scripts
  • Lineage II Client Scripts
  • Lineage II Items & Chars
  • Website Templates

Categories

  • Articles

Forums

  • General Zone
    • Announcements and News
    • Newbies Introduce Urself
    • Maxcheaters Competitions & Events
    • Votes/Polls Area
    • Report Section
    • Downloads Section
  • Lineage II General Section
    • General Discussion [English]
    • Request Support [English]
  • Lineage II Hacks,Cheats and Bots
    • Hacks & Cheats [English]
    • Request Hacks & Cheats [English]
    • Botting [English]
    • Request Botting [English]
  • Lineage II Private Servers
    • Beyond.lt - High Five x3
    • Private Servers
    • iPlay.GG - Lineage 2 High Five x30
    • [Previews] L2 Private Servers
    • Clans and Alliances
  • Lineage II Marketplace
    • Marketplace [Items & Chars]
    • Marketplace [L2Packs & Files]
    • Marketplace [Powerlvl & Support]
  • Lineage II OFF Server Development
    • Server Development Discussion [L2OFF]
    • Request Server Development Help [L2OFF]
    • Server Shares & Files [L2OFF]
  • Lineage II Java Server Development
    • Server Development Discussion [L2J]
    • Request Server Development Help [L2J]
    • Server Shares & Files [L2J]
    • Private Projects [L2J]
  • Lineage II Client Development
    • Client Development Discussion
  • MMO Games
    • League of Legends
    • World Of Warcraft Area
    • Other Multiplayer Games
  • General Section
    • General Marketplace
    • Consoles/Mobiles/PDA Gaming Zone
    • Webmasters Zone
    • Hacking/Coding Zone
  • Graphics/GFX Zone
    • Graphics/GFX General Discussion
    • Graphics/GFX Showcase
    • Graphics/GFX Resources/Tools
  • VIP/SVIP/Donators Zone
    • VIPs/Donators Discussion
    • VIPs Lineage II
    • VIPs [GFX] Zone
    • VIPs Download Area
  • MaxCheaters Corner
    • Tech/World News
    • Off-Topics
    • Spam Topics
  • Gaming Expiriance's Topics

Found 18 results

  1. http://www.mediafire.com/file/vzm02ri5lzzrrom/daji_interlude.rar
  2. Hi to all! You can download for free unique NPC with unique HTML's for your project! It's upgrade NPC, you can replace text of HTML to your items. It's really free for you. :) Client part: NevesOma Data pack: OrmJevil If you have any questions - topic is open for disscussions. On youtube video examples is in russian, but all files is for EN.
  3. http://www.mediafire.com/file/lfngf7lxujvkq9u/TearsNPCS2.rar ID weapons:9890 for the NPC: Naiad9891 for the NPC: Castalia and Pythia9892 for the NPC: Guardian WaterspiritThe weapons are dual, when they create the NPC in the xml (acis) or sql (frozen) they must put the same id in rhand and lhand
  4. [BR] Meus PET como Dragões o lobo não estão usando SS alguém sabe onde eu posso olhar isso na SVN para poder arrumar? [ENG] My PET as Dragons the wolf are not using SS does anyone know where I can look this in SVN to be able to tidy up?
  5. http://www.mediafire.com/file/v80ogmtn3543fgu/kannanpc.rar they can change the logo in the file SGERKannaLOGO.utx
  6. http://www.mediafire.com/file/1qh0lm9wi1zd92h/gkv2.rar it works in c4 you only adapt it.
  7. skill_begin skill_id=23337 skill_level=1 icon={[icon.skill0000];[]} extra_eff=0 animation=[t] desc=[6121] operate_type=0 is_magic=0 mp_consume=0 hp_consume=0 cast_range=-1 cast_style=18 hit_time=2.70 is_enchant=0 enchant_skill=0 unk1=-1 unk2=-1 unk3=0 unk4=5 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=23338 skill_level=1 icon={[icon.skill0000];[]} extra_eff=0 animation=[t] desc=[6121] operate_type=0 is_magic=0 mp_consume=0 hp_consume=0 cast_range=-1 cast_style=18 hit_time=2.70 is_enchant=0 enchant_skill=0 unk1=-1 unk2=-1 unk3=0 unk4=5 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=23339 skill_level=1 icon={[icon.skill0000];[]} extra_eff=0 animation=[t] desc=[6121] operate_type=0 is_magic=0 mp_consume=0 hp_consume=0 cast_range=-1 cast_style=18 hit_time=2.70 is_enchant=0 enchant_skill=0 unk1=-1 unk2=-1 unk3=0 unk4=5 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=23340 skill_level=1 icon={[icon.skill0000];[]} extra_eff=0 animation=[t] desc=[6121] operate_type=0 is_magic=0 mp_consume=0 hp_consume=0 cast_range=-1 cast_style=18 hit_time=2.70 is_enchant=0 enchant_skill=0 unk1=-1 unk2=-1 unk3=0 unk4=5 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24001 skill_level=1 icon={[icon.skill1504];[]} extra_eff=0 animation=[A] desc=[1504] operate_type=1 is_magic=1 mp_consume=28 hp_consume=0 cast_range=400 cast_style=1 hit_time=1.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24002 skill_level=1 icon={[icon.skill1503];[]} extra_eff=0 animation=[A] desc=[1503] operate_type=1 is_magic=1 mp_consume=27 hp_consume=0 cast_range=400 cast_style=1 hit_time=1.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24003 skill_level=1 icon={[icon.skill1519];[]} extra_eff=0 animation=[A] desc=[1519] operate_type=1 is_magic=1 mp_consume=69 hp_consume=0 cast_range=-1 cast_style=1 hit_time=1.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24004 skill_level=1 icon={[icon.skill1499];[]} extra_eff=0 animation=[A] desc=[1517] operate_type=1 is_magic=1 mp_consume=65 hp_consume=0 cast_range=-1 cast_style=1 hit_time=1.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24005 skill_level=1 icon={[icon.skill1501];[]} extra_eff=0 animation=[A] desc=[1538] operate_type=1 is_magic=1 mp_consume=272 hp_consume=0 cast_range=-1 cast_style=1 hit_time=1.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24006 skill_level=1 icon={[icon.skill1062];[]} extra_eff=0 animation=[f] desc=[1062] operate_type=1 is_magic=1 mp_consume=30 hp_consume=0 cast_range=400 cast_style=1 hit_time=4.00 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24007 skill_level=1 icon={[icon.skill1397];[]} extra_eff=0 animation=[f] desc=[1397] operate_type=1 is_magic=1 mp_consume=69 hp_consume=0 cast_range=400 cast_style=1 hit_time=4.00 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24008 skill_level=1 icon={[icon.skill1500];[]} extra_eff=0 animation=[A] desc=[1500] operate_type=1 is_magic=1 mp_consume=28 hp_consume=0 cast_range=400 cast_style=1 hit_time=1.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24009 skill_level=1 icon={[icon.skill1240];[]} extra_eff=0 animation=[D] desc=[1240] operate_type=1 is_magic=1 mp_consume=35 hp_consume=0 cast_range=400 cast_style=1 hit_time=4.00 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24010 skill_level=1 icon={[icon.skill0271];[]} extra_eff=0 animation=[N] desc=[271] operate_type=1 is_magic=3 mp_consume=60 hp_consume=0 cast_range=-1 cast_style=1 hit_time=2.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24011 skill_level=1 icon={[icon.skill0275];[]} extra_eff=0 animation=[N] desc=[275] operate_type=1 is_magic=3 mp_consume=60 hp_consume=0 cast_range=-1 cast_style=1 hit_time=2.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24012 skill_level=1 icon={[icon.skill1085];[]} extra_eff=0 animation=[D] desc=[1085] operate_type=1 is_magic=1 mp_consume=20 hp_consume=0 cast_range=400 cast_style=1 hit_time=4.00 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24013 skill_level=1 icon={[icon.skill1078];[]} extra_eff=0 animation=[D] desc=[1078] operate_type=1 is_magic=1 mp_consume=20 hp_consume=0 cast_range=400 cast_style=1 hit_time=4.00 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24014 skill_level=1 icon={[icon.skill0273];[]} extra_eff=0 animation=[N] desc=[273] operate_type=1 is_magic=3 mp_consume=60 hp_consume=0 cast_range=-1 cast_style=1 hit_time=2.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24015 skill_level=1 icon={[icon.skill0276];[]} extra_eff=0 animation=[N] desc=[276] operate_type=1 is_magic=3 mp_consume=60 hp_consume=0 cast_range=-1 cast_style=1 hit_time=2.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24016 skill_level=1 icon={[icon.skill0267];[]} extra_eff=0 animation=[W] desc=[267] operate_type=1 is_magic=3 mp_consume=60 hp_consume=0 cast_range=-1 cast_style=1 hit_time=2.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24017 skill_level=1 icon={[icon.skill0268];[]} extra_eff=0 animation=[W] desc=[268] operate_type=1 is_magic=3 mp_consume=60 hp_consume=0 cast_range=-1 cast_style=1 hit_time=2.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24018 skill_level=1 icon={[icon.skill0264];[]} extra_eff=0 animation=[W] desc=[264] operate_type=1 is_magic=3 mp_consume=60 hp_consume=0 cast_range=-1 cast_style=1 hit_time=2.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24019 skill_level=1 icon={[icon.skill0364];[]} extra_eff=0 animation=[W] desc=[363] operate_type=1 is_magic=3 mp_consume=60 hp_consume=0 cast_range=-1 cast_style=1 hit_time=2.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end skill_begin skill_id=24020 skill_level=1 icon={[icon.skill0349];[]} extra_eff=0 animation=[W] desc=[363] operate_type=1 is_magic=3 mp_consume=60 hp_consume=0 cast_range=-1 cast_style=1 hit_time=2.50 is_enchant=0 enchant_skill=0 unk1=8 unk2=10 unk3=0 unk4=2 nonetext1=[none] nonetext2=[none] skill_end Got my self into a mud... tried to look up the Skillgrp.dat Guides or info but trully internet lacks that or i lack of internet, anyhow - I would like to make NPC to buff full set (like scheme) On To User. - Scheme is working, has no problems, Skilldata Operation_type is A1 inside skilldata.txt. Managed to add soung aswell, but... BUT Skill Effect, ive messed up something, for example top 5-7 skills, does not do any animation, but i can hear sound, can someone explain me 1 by 1 what each effect do: Skill_id= Self explanatory Skill_level= I got gut feeling maybe ive messed up something here, but when i checked skilldata, all those skills are set level 1, so technically it should work Icon= Self Explanatory Extra=eff= have only 2 options either 0 or 1 - if 1 then skill is like curse i believe desc= Confusing ? operate_type=Not sure but, 1 is quick buff, 2 is skill time based, 3 have not figured out is_magic=Not sure mp_consume=Visual MP Consumption? hp_consume= same as MP cast_range=? ?? Cast_style=??? Hit_time=?? where did i mess up? :D - I think it must be either Desc, Cast Range, Skill level or Style added a video, sorry for quality , had no time to setup the settings (Dealing with H5 PTS)
  8. http://www.mediafire.com/file/23tn1j4bavnvtgu/Linboss.rar
  9. Hello community! This is my first contribution, nothing relevant. http://www.mediafire.com/file/jm2dce6wy8hdjpl/Ertheia+guildmaster+con+efecto.rar
  10. Hi, I want to do an NPC for you, I hope that your NPC photos will be published here, adapted for interlude or HF5 I do it in my spare time. sorry for my English need more practice
  11. for the database radius 10 Height 50 http://uploads.ru/ArBoY.jpg Download
  12. Suitable for teleport NPS with sounds, with animation, with effects ... Who needs an NPC for HF5, write. LC Download
  13. Hello cheaters!! Ok, you can tell that I was really bored and what came through my mind was this NPC.. What's the use of it: It's just a Showcase NPC , only to remind players to like you on facebook and gain more (followers-likes). Advertising your facebook page through your server. Download here
  14. Hello members of maxcheaters!! I've found an npc @claww has posted : http://www.maxcheaters.com/topic/144148-donation-npc-item-market-for-l2jfrozen/ Called: Donate Npc I've reworked the whole npc so here it is..sharing it to all of you! Character Options: Transfer Augmentation Transfer Enchant Change Sex Change Character's Name Change Name/Title Colour Enchant your current equipment Clan Options: Increase your Clan Level Increase your Clan Reputation Score Learn all Clan Skills *** 1. Missing text and buttons are fixed. 2. Missing scripts are fixed. 3. Missing icons are fixed. 4. New scripts added such as (change sex) 5. Non-working scripts are fixed. *** Image: https://postimg.org/image/o9a794qs9/ Download: http://www.4shared.com/rar/9QlvINJ-ba/DONATE_NPC_L2JFROZEN.html?
  15. Hello guys, I want to share with you my buffer ( nothing special but i like ). The buffer is Tryskell on acis and i edited htmls and the instance too (Free rev). Added fighter/mage set (with configs) with buffs animation :not bad: And Manual buffs. Also, I am not 'pro' :dat: so... There may be some mistakes.. Download Changes: ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: config/npcs.properties =================================================================== --- config/npcs.properties (revision 5) +++ config/npcs.properties (working copy) @@ -52,6 +52,12 @@ # The list of buffs, under a skillId,buffPrice,groupType format. BufferBuffs = 264,0,Songs;265,0,Songs;266,0,Songs;267,0,Songs;268,0,Songs;269,0,Songs;270,0,Songs;304,0,Songs;305,0,Songs;306,0,Songs;308,0,Songs;349,0,Songs;363,0,Songs;364,0,Songs;271,0,Dances;272,0,Dances;273,0,Dances;274,0,Dances;275,0,Dances;276,0,Dances;277,0,Dances;309,0,Dances;310,0,Dances;311,0,Dances;1002,0,Warcryer;1006,0,Warcryer;1007,0,Warcryer;1009,0,Warcryer;1308,0,Warcryer;1309,0,Warcryer;1310,0,Warcryer;1362,0,Warcryer;1390,0,Warcryer;1391,0,Warcryer;1413,0,Warcryer;1416,0,Overlord;1003,0,Overlord;1004,0,Overlord;1005,0,Overlord;1008,0,Overlord;1249,0,Overlord;1364,0,Overlord;1365,0,Overlord;1032,0,Prophet;1033,0,Prophet;1035,0,Prophet;1036,0,Prophet;1040,0,Prophet;1043,0,Prophet;1044,0,Prophet;1045,0,Prophet;1048,0,Prophet;1059,0,Shillen_Elder;1062,0,Prophet;1068,0,Prophet;1073,0,Elder;1077,0,Shillen_Elder;1078,0,Shillen_Elder;1085,0,Prophet;1086,0,Prophet;1087,0,Elder;1182,0,Elder;1189,0,Shillen_Elder;1191,0,Prophet;1204,0,Prophet;1242,0,Shillen_Elder;1243,0,Prophet;1259,0,Elder;1268,0,Shillen_Elder;1303,0,Shillen_Elder;1304,0,Elder;1352,0,Elder;1353,0,Elder;1354,0,Elder;1388,0,Shillen_Elder;1389,0,Shillen_Elder;1392,0,Prophet;1393,0,Elder;1397,0,Elder;1355,0,Elder;1356,0,Prophet;1357,0,Shillen_Elder;1363,0,Warcryer;1414,0,Overlord +#Set of fighter buffs +FighterSet = 1087,1243,1204,1068,1388,1040,1036,1035,1048,1045,1077,1242,1086,1043,1268,1036,1363,1240,1062,271,274,275,310,304,308,306,264,267,269,349,364,268,270,1416 + +#Set of Mage buffs +MageSet = 1087,1243,1204,1040,1036,1048,1045,1389,1062,1363,1085,1059,1303,1304,273,276,365,268,270,349,264,267,268,306,308,1416 + #============================================================= # Misc #============================================================= Index: java/net/sf/l2j/Config.java =================================================================== --- java/net/sf/l2j/Config.java (revision 5) +++ java/net/sf/l2j/Config.java (working copy) @@ -297,6 +297,10 @@ public static int CHAMPION_REWARD_QTY; /** Buffer */ + public static String FIGHTER_SET; + public static int[] FIGHTER_SET_LIST; + public static String MAGE_SET; + public static int[] MAGE_SET_LIST; public static int BUFFER_MAX_SCHEMES; public static int BUFFER_MAX_SKILLS; public static int BUFFER_STATIC_BUFF_COST; @@ -885,7 +889,19 @@ BUFFER_MAX_SKILLS = npcs.getProperty("BufferMaxSkillsPerScheme", 24); BUFFER_STATIC_BUFF_COST = npcs.getProperty("BufferStaticCostPerBuff", -1); BUFFER_BUFFS = npcs.getProperty("BufferBuffs"); + FIGHTER_SET = npcs.getProperty("FighterSet", "2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650"); + MAGE_SET = npcs.getProperty("MageSet", "2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650"); + + String[] FighterList = FIGHTER_SET.split(","); + FIGHTER_SET_LIST = new int[FighterList.length]; + for (int i = 0; i < FighterList.length; i++) + FIGHTER_SET_LIST[i] = Integer.parseInt(FighterList[i]); + String[] MageList = MAGE_SET.split(","); + MAGE_SET_LIST = new int[MageList.length]; + for (int i = 0; i < MageList.length; i++) + MAGE_SET_LIST[i] = Integer.parseInt(MageList[i]); + BUFFER_BUFFLIST = new HashMap<>(); for (String skillInfo : BUFFER_BUFFS.split(";")) { Index: java/net/sf/l2j/gameserver/model/actor/instance/L2BufferInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2BufferInstance.java (revision 5) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2BufferInstance.java (working copy) @@ -27,9 +27,11 @@ import net.sf.l2j.commons.lang.StringUtil; import net.sf.l2j.gameserver.datatables.BufferTable; import net.sf.l2j.gameserver.datatables.SkillTable; +import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.actor.L2Character; import net.sf.l2j.gameserver.model.actor.L2Summon; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; +import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; public class L2BufferInstance extends L2NpcInstance @@ -42,8 +44,11 @@ @Override public void onBypassFeedback(L2PcInstance player, String command) { StringTokenizer st = new StringTokenizer(command, " "); String currentCommand = st.nextToken(); + int buffid = 0; if (currentCommand.startsWith("menu")) { @@ -52,13 +57,29 @@ html.replace("%objectId%", getObjectId()); player.sendPacket(html); } + if (currentCommand.startsWith("chat")) + { + final NpcHtmlMessage html = new NpcHtmlMessage(0); + html.setFile(getHtmlPath(getNpcId(), Integer.parseInt(st.nextToken()))); + html.replace("%objectId%", getObjectId()); + player.sendPacket(html); + } else if (currentCommand.startsWith("cleanup")) { + L2Skill buff; + buff = SkillTable.getInstance().getInfo(1056, 1); + buff.getEffects(this, player); player.stopAllEffectsExceptThoseThatLastThroughDeath(); + player.broadcastPacket(new MagicSkillUse(this, player, 1056, 1, 5, 0)); final L2Summon summon = player.getPet(); if (summon != null) + { + buff.getEffects(this, summon); + summon.broadcastPacket(new MagicSkillUse(this, summon, 1056, 1, 5, 0)); summon.stopAllEffectsExceptThoseThatLastThroughDeath(); + } + final NpcHtmlMessage html = new NpcHtmlMessage(0); html.setFile(getHtmlPath(getNpcId(), 0)); @@ -69,10 +90,17 @@ { player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp()); player.setCurrentCp(player.getMaxCp()); + L2Skill buff = SkillTable.getInstance().getInfo(1218, 1); + buff.getEffects(this, player); + player.broadcastPacket(new MagicSkillUse(this, player, 1218, 1, 5, 0)); final L2Summon summon = player.getPet(); if (summon != null) + { + buff.getEffects(this, player); + summon.broadcastPacket(new MagicSkillUse(this, summon, 1218, 1, 5, 0)); summon.setCurrentHpMp(summon.getMaxHp(), summon.getMaxMp()); + } final NpcHtmlMessage html = new NpcHtmlMessage(0); html.setFile(getHtmlPath(getNpcId(), 0)); @@ -103,6 +131,53 @@ { showEditSchemeWindow(player, st.nextToken(), st.nextToken()); } + if (currentCommand.startsWith("getbuff")) + { + buffid = Integer.parseInt(st.nextToken()); + int nextWindow = Integer.parseInt(st.nextToken()); + if (buffid != 0) + { + L2Skill buff =SkillTable.getInstance().getInfo(buffid, SkillTable.getInstance().getMaxLevel(buffid)); + buff.getEffects(this, player); + player.broadcastPacket(new MagicSkillUse(this, player, buffid, SkillTable.getInstance().getMaxLevel(buffid), 0, 0)); + final NpcHtmlMessage html = new NpcHtmlMessage(0); + html.setFile(getHtmlPath(getNpcId(), nextWindow)); + html.replace("%objectId%", getObjectId()); + player.sendPacket(html); + } + } + else if (currentCommand.startsWith("fighterSet")) + { + int fighterSet[] = Config.FIGHTER_SET_LIST; + player.stopAllEffectsExceptThoseThatLastThroughDeath(); + L2Skill buff ; + for (int id: fighterSet) + { + buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id)); + buff.getEffects(this, player); + player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0)); + } + final NpcHtmlMessage html = new NpcHtmlMessage(0); + html.setFile(getHtmlPath(getNpcId(), 0)); + html.replace("%objectId%", getObjectId()); + player.sendPacket(html); + } + else if (currentCommand.startsWith("mageSet")) + { + int mageSet[] = Config.MAGE_SET_LIST; + player.stopAllEffectsExceptThoseThatLastThroughDeath(); + L2Skill buff ; + for (int id: mageSet) + { + buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id)); + buff.getEffects(this, player); + player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0)); + } + final NpcHtmlMessage html = new NpcHtmlMessage(0); + html.setFile(getHtmlPath(getNpcId(), 0)); + html.replace("%objectId%", getObjectId()); + player.sendPacket(html); + } else if (currentCommand.startsWith("skill")) { final String groupType = st.nextToken(); @@ -226,7 +301,7 @@ final Map<String, ArrayList<Integer>> schemes = BufferTable.getInstance().getPlayerSchemes(player.getObjectId()); if (schemes == null || schemes.isEmpty()) - sb.append("<font color=\"LEVEL\">You haven't defined any scheme, please go to 'Manage my schemes' and create at least one valid scheme.</font>"); + sb.append("<center><font color=\"LEVEL\">You haven't defined any scheme</font></center>"); else { for (Map.Entry<String, ArrayList<Integer>> scheme : schemes.entrySet()) @@ -254,12 +329,14 @@ final Map<String, ArrayList<Integer>> schemes = BufferTable.getInstance().getPlayerSchemes(player.getObjectId()); if (schemes == null || schemes.isEmpty()) - sb.append("<font color=\"LEVEL\">You haven't created any scheme.</font>"); + sb.append("<center><font color=\"3399CC\">You haven't created any scheme.</font></center>"); else { - sb.append("<table>"); + sb.append("<table bgcolor=000000 width =300>"); for (Map.Entry<String, ArrayList<Integer>> scheme : schemes.entrySet()) - StringUtil.append(sb, "<tr><td width=140>", scheme.getKey(), " (", scheme.getValue().size(), " skill(s))</td><td width=60><button value=\"Clear\" action=\"bypass -h npc_%objectId%_clearscheme ", scheme.getKey(), "\" width=55 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td><td width=60><button value=\"Drop\" action=\"bypass -h npc_%objectId%_deletescheme ", scheme.getKey(), "\" width=55 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>"); + StringUtil.append(sb, "<tr><td width=140><font color=\"3399CC\">", scheme.getKey(), " (", scheme.getValue().size(), " skill(s))</font></td><td width=60><button value=\"Clear\" action=\"bypass -h npc_%objectId%_clearscheme ", scheme.getKey(), "\" width=75 height=15 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"></td><td width=60><button value=\"Drop\" action=\"bypass -h npc_%objectId%_deletescheme ", scheme.getKey(), "\" width=75 height=15 back=\"L2UI.DefaultButton_click\" fore=\"L2UI.DefaultButton\"></td></tr>"); sb.append("</table>"); } @@ -311,17 +388,17 @@ { final Map<String, ArrayList<Integer>> schemes = BufferTable.getInstance().getPlayerSchemes(player.getObjectId()); if (schemes == null || schemes.isEmpty()) - return "Please create at least one scheme."; + return "<table bgcolor=000000 width =300><tr><td align=center width=300><font color=\"3399CC\">Please create at least one scheme.</font></td></tr></table>"; final StringBuilder sb = new StringBuilder(200); - sb.append("<table>"); + sb.append("<table bgcolor=000000 width =300>"); for (Map.Entry<String, ArrayList<Integer>> scheme : schemes.entrySet()) { if (schemeName.equalsIgnoreCase(scheme.getKey())) - StringUtil.append(sb, "<tr><td width=200>", scheme.getKey(), " (<font color=\"LEVEL\">", scheme.getValue().size(), "</font> / ", Config.BUFFER_MAX_SKILLS, " skill(s))</td></tr>"); + StringUtil.append(sb, "<tr><td align=center width=300>", scheme.getKey(), " (<font color=\"LEVEL\">", scheme.getValue().size(), "</font> / ", Config.BUFFER_MAX_SKILLS, " skill(s))</td></tr>"); else - StringUtil.append(sb, "<tr><td width=200><a action=\"bypass -h npc_%objectId%_editschemes none ", scheme.getKey(), "\">", scheme.getKey(), " (", scheme.getValue().size(), " / ", Config.BUFFER_MAX_SKILLS, " skill(s))</a></td></tr>"); + StringUtil.append(sb, "<tr><td align=center width=300><font color=\"3399CC\"><a action=\"bypass -h npc_%objectId%_editschemes none ", scheme.getKey(), "\">", scheme.getKey(), " (", scheme.getValue().size(), " / ", Config.BUFFER_MAX_SKILLS, " skill(s))</a></font></td></tr>"); } sb.append("</table>"); @@ -394,7 +471,7 @@ { final List<Integer> skills = BufferTable.getInstance().getScheme(player.getObjectId(), schemeName); if (skills.isEmpty()) - return "That scheme is empty."; + return "<font color=\"3399CC\">That scheme is empty.</font>"; final StringBuilder sb = new StringBuilder(500); sb.append("<table>");
  16. proudly presents probably first custom npc, that has been designed and developed together with my good friend. custom npc shows ranking of top players with the best score in three basic categories (TOP PVP, TOP PK, TOP ONLINE). lists refreshes automaticaly every x minutes and generates y players in the ranking table. variables are fully customizable and configurable, but never tested with none-default values. to successfully implement npc just follow three simple steps. preview: http://s29.postimg.org/bxq590bj9/ranking_npc.gif first you have to create new file in proper package (gameserver/model/actor/instance/), name: L2StatusInstance.java /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * http://www.gnu.org/copyleft/gpl.html */ package net.sf.l2j.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.StringTokenizer; import java.util.logging.Level; import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.cache.HtmCache; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; public class L2StatusInstance extends L2NpcInstance { private class PlayerInfo { public PlayerInfo(int pos,String n, int pvps, int pks ,int ontime, Boolean iso) { position = pos; Nick = n; pvpCount = pvps; pkCount = pks; onlineTime = ontime; isOnline = iso; } public int position; public String Nick; public int pvpCount; public int pkCount; public int onlineTime; public Boolean isOnline; } //delay interval (in minutes): private final int delayForCheck = 5; //number of players to be listed private int pvpListCount = 10; private int pkListCount = 10; private int onlineListCount = 10; private PlayerInfo [] topPvPList = new PlayerInfo [pvpListCount]; private PlayerInfo [] topPkList = new PlayerInfo [pkListCount]; private PlayerInfo [] topOnlineList = new PlayerInfo [onlineListCount]; public L2StatusInstance(int objectId, NpcTemplate template) { super(objectId, template); ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new RefreshAllLists(), 10000, delayForCheck * 60000); } private class RefreshAllLists implements Runnable { public void run() { ReloadData(); } } private void ReloadData() { try (Connection con = L2DatabaseFactory.getInstance().getConnection()) { PreparedStatement statement = con.prepareStatement("SELECT char_name, pvpkills, online FROM characters ORDER BY pvpkills DESC, char_name ASC LIMIT 10"); ResultSet result = statement.executeQuery(); //refreshing top pvp list int i = 0; //index of array while (result.next()) { topPvPList[i] = new PlayerInfo(i+1,result.getString("char_name"),result.getInt("pvpkills"),0,0,result.getBoolean("online")); i++; } //refreshing top pk list statement = con.prepareStatement("SELECT char_name, pkkills, online FROM characters ORDER BY pkkills DESC, char_name ASC LIMIT 10"); result = statement.executeQuery(); i = 0; //index of array while (result.next()) { topPkList[i] = new PlayerInfo(i+1,result.getString("char_name"),0,result.getInt("pkkills"),0,result.getBoolean("online")); i++; } //refreshing top online list statement = con.prepareStatement("SELECT char_name, onlinetime, online FROM characters ORDER BY onlinetime DESC, char_name ASC LIMIT 10"); result = statement.executeQuery(); i = 0; //index of array while (result.next()) { topOnlineList[i] = new PlayerInfo(i+1,result.getString("char_name"),0,0,result.getInt("onlinetime"),result.getBoolean("online")); i++; } result.close(); statement.close(); } catch (SQLException e) { _log.log(Level.WARNING, "ranking (status): could not load statistics informations" + e.getMessage(), e); } } @Override public void onSpawn() { ReloadData(); } @Override public void showChatWindow(L2PcInstance player) { GeneratePvPList(player); } @Override public void onBypassFeedback(L2PcInstance player, String command) { StringTokenizer st = new StringTokenizer(command, " "); String currentCommand = st.nextToken(); if (currentCommand.startsWith("pvplist")) { GeneratePvPList(player); } else if (currentCommand.startsWith("pklist")) { GeneratePKList(player); } else if (currentCommand.startsWith("onlinelist")) { GenerateOnlineList(player); } super.onBypassFeedback(player, command); } private void GeneratePvPList(L2PcInstance p) { StringBuilder _PVPranking = new StringBuilder(); for (PlayerInfo player : topPvPList) { if (player == null) break; _PVPranking.append("<table width=\"290\"><tr>"); _PVPranking.append("<td FIXWIDTH=\"2\" align=\"center\"></td>"); _PVPranking.append("<td FIXWIDTH=\"17\" align=\"center\">"+player.position+"</td>"); _PVPranking.append("<td FIXWIDTH=\"158\" align=\"center\">"+player.Nick+"</td>"); _PVPranking.append("<td FIXWIDTH=\"90\" align=\"center\">"+player.pvpCount+"</td>"); _PVPranking.append("<td FIXWIDTH=\"50\" align=\"center\">"+((player.isOnline) ? "<font color=\"00FF00\">ON</font>" : "<font color=\"CC0000\">OFF</font>")+"</td>"); _PVPranking.append("<td FIXWIDTH=\"2\" align=\"center\"></td>"); _PVPranking.append("</tr></table>"); _PVPranking.append("<img src=\"L2UI.Squaregray\" width=\"300\" height=\"1\">"); } NpcHtmlMessage html = new NpcHtmlMessage(1); html.setFile(getHtmlPath(getNpcId(), 0)); html.replace("%objectId%", getObjectId()); html.replace("%pvplist%", _PVPranking.toString()); p.sendPacket(html); } private void GeneratePKList(L2PcInstance p) { StringBuilder _PVPranking = new StringBuilder(); for (PlayerInfo player : topPkList) { if (player == null) break; _PVPranking.append("<table width=\"290\"><tr>"); _PVPranking.append("<td FIXWIDTH=\"2\" align=\"center\"></td>"); _PVPranking.append("<td FIXWIDTH=\"17\" align=\"center\">"+player.position+"</td>"); _PVPranking.append("<td FIXWIDTH=\"158\" align=\"center\">"+player.Nick+"</td>"); _PVPranking.append("<td FIXWIDTH=\"90\" align=\"center\">"+player.pkCount+"</td>"); _PVPranking.append("<td FIXWIDTH=\"50\" align=\"center\">"+((player.isOnline) ? "<font color=\"00FF00\">ON</font>" : "<font color=\"CC0000\">OFF</font>")+"</td>"); _PVPranking.append("<td FIXWIDTH=\"2\" align=\"center\"></td>"); _PVPranking.append("</tr></table>"); _PVPranking.append("<img src=\"L2UI.Squaregray\" width=\"300\" height=\"1\">"); } NpcHtmlMessage html = new NpcHtmlMessage(1); html.setFile(getHtmlPath(getNpcId(), 2)); html.replace("%objectId%", getObjectId()); html.replace("%pklist%", _PVPranking.toString()); p.sendPacket(html); } private void GenerateOnlineList(L2PcInstance p) { StringBuilder _PVPranking = new StringBuilder(); for (PlayerInfo player : topOnlineList) { if (player == null) break; _PVPranking.append("<table width=\"290\"><tr>"); _PVPranking.append("<td FIXWIDTH=\"2\" align=\"center\"></td>"); _PVPranking.append("<td FIXWIDTH=\"17\" align=\"center\">"+player.position+"</td>"); _PVPranking.append("<td FIXWIDTH=\"158\" align=\"center\">"+player.Nick+"</td>"); _PVPranking.append("<td FIXWIDTH=\"90\" align=\"center\">"+ConverTime(player.onlineTime)+"</td>"); _PVPranking.append("<td FIXWIDTH=\"50\" align=\"center\">"+((player.isOnline) ? "<font color=\"00FF00\">ON</font>" : "<font color=\"CC0000\">OFF</font>")+"</td>"); _PVPranking.append("<td FIXWIDTH=\"2\" align=\"center\"></td>"); _PVPranking.append("</tr></table>"); _PVPranking.append("<img src=\"L2UI.Squaregray\" width=\"300\" height=\"1\">"); } NpcHtmlMessage html = new NpcHtmlMessage(1); html.setFile(getHtmlPath(getNpcId(), 3)); html.replace("%objectId%", getObjectId()); html.replace("%onlinelist%", _PVPranking.toString()); p.sendPacket(html); } private String ConverTime(long seconds) { long remainder = seconds; int days = (int) remainder / (24*3600); remainder = remainder -(days * 3600 * 24); int hours = (int) (remainder / 3600); remainder = remainder -(hours * 3600); int minutes = (int) (remainder / 60); remainder = remainder -(hours * 60); seconds = remainder; String timeInText = ""; if (days > 0) timeInText = days+"<font color=\"LEVEL\">D</font> "; if (hours > 0) timeInText = timeInText+ hours+"<font color=\"LEVEL\">H</font> "; if (minutes >0) timeInText = timeInText+ minutes+"<font color=\"LEVEL\">M</font>"; if (timeInText=="") { if(seconds>0) { timeInText = seconds+"<font color=\"LEVEL\">S</font>"; } else { timeInText = "N/A"; } } return timeInText; } @Override public String getHtmlPath(int npcId, int val) { String filename; if (val == 0) filename = "data/html/Status/" + npcId + ".htm"; else filename = "data/html/Status/" + npcId + "-" + val + ".htm"; if (HtmCache.getInstance().isLoadable(filename)) return filename; return "data/html/Status/" + npcId + ".htm"; } }create new npc with our dedicated type or use the one below: <npc id="50012" idTemplate="31549" name="STATISTICS WALL" title="L2EUPHORIA.COM"> <set name="level" val="70"/> <set name="radius" val="32"/> <set name="height" val="46.5"/> <set name="rHand" val="0"/> <set name="lHand" val="0"/> <set name="type" val="L2Status"/> <set name="exp" val="0"/> <set name="sp" val="0"/> <set name="hp" val="2444.46819"/> <set name="mp" val="1345.8"/> <set name="hpRegen" val="7.5"/> <set name="mpRegen" val="2.7"/> <set name="pAtk" val="688.86373"/> <set name="pDef" val="295.91597"/> <set name="mAtk" val="470.40463"/> <set name="mDef" val="216.53847"/> <set name="crit" val="4"/> <set name="atkSpd" val="253"/> <set name="str" val="40"/> <set name="int" val="21"/> <set name="dex" val="30"/> <set name="wit" val="20"/> <set name="con" val="43"/> <set name="men" val="20"/> <set name="corpseTime" val="7"/> <set name="walkSpd" val="50"/> <set name="runSpd" val="120"/> <set name="dropHerbGroup" val="0"/> <set name="attackRange" val="40"/> <ai type="default" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="0" canMove="true" seedable="false"/> </npc>dowload this archive(contains necessary .htmls) and extract to: gameserver/data/html/.remember to keep these files in proper folder (Status) and use correct npc type (L2Status).
  17. Afto einai alo ena mou GM Shop gia Interlude server. gia na to kanete download click here Download *Last Update 13-08-2012*