Search the Community

Showing results for tags 'Help'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Lineage II Development [L2J]
    • Sources
    • Addons & Mods
    • Tools
  • Lineage II Development [L2OFF]
    • Package Files
    • Mods & Extenders
    • Tools
  • Lineage II Client Development
    • Equipments
    • Npcs
    • Maps
    • Tools
    • Skills
  • Lineage II Bots & Tools
    • Bot Systems
    • Bot Scripts
    • Tools
  • Website Templates
  • DenArt Designs's Demo Updater

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
    • L2 Cosmos x15 Interlude - BETA: 12th July - GRAND OPENING: 17th July
    • Private Servers
    • L2 Zeus x7 Interlude - GRAND OPENING: 3rd of July
    • [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
    • Fortnite
    • PlayerUnknown's Battlegrounds PUBG
    • League of Legends
    • World Of Warcraft Area
    • Other Multiplayer Games
  • General Section
  • Graphics/GFX Zone
  • VIP/Donators Zone
  • MaxCheaters Corner
  • TEST's Topics
  • L2Classic Club's Just trying this thing out
  • Lineage 2 Revolution Club's Discussions
  • Lineage 2 Revolution Club's Tutorials
  • Lineage 2 Revolution Club's Request Help
  • DenArt Designs's Hello and welcome to my club!
  • DenArt Designs's News
  • `Kara for staff's Topics
  • `Kara for staff's Kara`

Product Groups

  • Advertisements
  • Special Groups

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 7,220 results

  1. Hello, I am using l2pe, u try to edit in a .u file some effects, but i cannot add the paths to the textures i want, and my .utx file contains those textures, still l2pe won t save it, any ideea why? Is this because when the .u file was compiled those textures did not exist in the compiler folder so in l2pe you cannot add them? Is there any way to add a custom path to textures in l2pe so when saved it accepts it?
  2. Hello all the community !! I hope they are well, I have a problem that I would like to solve. I would like to know what you would have to configure so that the Community Board does not come out (The poster that appears when the person presses the Alt + B keys). I would like to put this in the majority of servers that shows the message "server offline". thanks https://imagizer.imageshack.com/img924/3157/Ct7o3s.png
  3. Someone who knows, I open the server And everything works fine and my friends come in normally while I don't and it gives me 9999 ping!!! Plz Some Help
  4. Hello my friends at MaxCheaters! Use l2jfrozen rev 986 and I have a problem related to 3 skills in Tyrants are: Focused Force ID: 50 -> Ability used to charge Increase strength at level 7. Raging Force ID: 346 -> Has the same skill function as above but can attack a target at the same time. Increase Force ID: 4271 -> Ability that measures the level that is used as the previous two and goes from level 1 to 7. I'm having trouble getting out of Level 1 of Increase Strength, even using Focused Force or Raging Force several times, it takes quite a few times 15 or 20 attempts to get out of 1 and it is to level 2, from then on it goes normal with just an attempt until 7. I wonder if anyone has had this problem and managed to fix it. Attached, an image of the moment of using the Focused Force skill Thank you very much in advance !!! Translated by google translator sorry for mistakes!
  5. HI all, how i can make a npc which list skills from player and he can have option to delete a skill?
  6. Hey, guys! My research gives nothing. I'm trying to start to customize BBS, I'd like to make there shop, teleport, buffer. But i can't find any information about. Which tables in SQL to use, which html files. Maybe you have some links, articles, that's would be verey helpful. Thanks!
  7. If i put a weapon ++ as ingredient, i can buy +0 with this method? public Ingredient(StatsSet set) { this(set.getInt("id"), set.getLong("count"), set.getInt("enchantmentLevel", 0), set.getBoolean("isTaxIngredient", false), set.getBoolean("maintainIngredient", false)); } Weapon ++ i have set as ingredient. And player can't buy next weapon. Because weapon that (++) must be +0. I can fix this? Same problem i have for armors. Xml with multisell <list maintainEnchantment="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/multisell.xsd"> I need something like isTaxIngredient ? <!-- Dynasty Bow - Focus --> <item> <ingredient count="1" id="7577" enchantmentLevel="10" /> <!-- (7577 it is Draconic Bow +10)--> <production id="9865" count="1" /> </item> 7577 it is Draconic Bow +10 it is required to buy Dynasty Bow. And game tell me Incorrect item count. Help me please. Greetings
  8. Hello mxc , im new to java i have 2 months , i can't do nothing from scrath but is not that hard to edit , so i tought why not make elfocrash robots to go tvt .. so first i tryed to make them register tvt , i found in voice command .register this: public boolean useVoicedCommand(String command, Player activeChar) { if (command.equals("register")) EventManager.getInstance().registerPlayer(activeChar); else if (command.equals("leave")) EventManager.getInstance().removePlayer(activeChar); return true; } so i go to fakeplayers and searched where i can add this: "EventManager.getInstance().registerPlayer(activeChar);" i found this: if (isInsidePeaceZone(this, this.getTarget())) { return; } and made it look like this if (isInsidePeaceZone(this, this.getTarget())) { EventManager.getInstance().registerPlayer(this); return; } now if they are in town , they are registering to event (remember im not programmer , i never did something from scrath ) , so everything was fine until i was teleported to event location , but they were all invisible , i tryed alt+g to teleport to them , they were walking , but they are all invisible .. so i guess it didin't work well.. after this i checked to make //recall (charname) on fakeplayer to check if this works , so i tryed recall one from aden to giran , i had same problem , they were there but invisible somehow... after this i check that when they die , they are teleporting to nearest village so i found this protected void teleportToLocation(int x, int y, int z, int randomOffset) { _fakePlayer.stopMove(null); _fakePlayer.abortAttack(); _fakePlayer.abortCast(); _fakePlayer.setIsTeleporting(true); _fakePlayer.setTarget(null); _fakePlayer.getAI().setIntention(CtrlIntention.ACTIVE); if (randomOffset > 0) { x += Rnd.get(-randomOffset, randomOffset); y += Rnd.get(-randomOffset, randomOffset); } z += 5; _fakePlayer.broadcastPacket(new TeleportToLocation(_fakePlayer, x, y, z)); _fakePlayer.decayMe(); _fakePlayer.setXYZ(x, y, z); _fakePlayer.onTeleported(); _fakePlayer.revalidateZone(true); } and this : public FakePlayer spawnPlayer(int x, int y, int z) { FakePlayer activeChar = FakeHelpers.createRandomFakePlayer(); World.getInstance().addPlayer(activeChar); handlePlayerClanOnSpawn(activeChar); activeChar.spawnMe(x, y, z); activeChar.onPlayerEnter(); if (!activeChar.isGM() && (!activeChar.isInSiege() || activeChar.getSiegeState() < 2) && activeChar.isInsideZone(ZoneId.SIEGE)) activeChar.teleToLocation(TeleportType.TOWN); activeChar.heal(); return activeChar; } so i guess that solution is somewhere here: _fakePlayer.broadcastPacket(new TeleportToLocation(_fakePlayer, x, y, z)); _fakePlayer.decayMe(); _fakePlayer.setXYZ(x, y, z); _fakePlayer.onTeleported(); _fakePlayer.revalidateZone(true); i go to eventmanager again i found this: protected void start() { state = EventState.TELEPORTING; announce("The registrations have closed. The event has started.", true); announce("You will be teleported in 20 seconds. Get ready!", false); preparePlayers(); schedule(() -> teleportPlayers(), 20); } and this : protected void teleportPlayers() { state = EventState.RUNNING; if (!teams.isEmpty()) for (EventTeam team : teams) team.teleportTeam(); else for (Player player : players) player.teleToLocation(getRandomLocation(), 40); paralizePlayers(); announce("You have been teleported to the event.", false); announce("The event will begin in 20 seconds!", false); schedule(() -> begin(), 20); } now , im far by knowing java programming , but my intuition tell me that i need to add something like "fakeplayer.revalidatezone" here but i really dont know how , that why i came here to ask you guys for help ? Im not here for beg i can send you guys via paypal money for a beer if you know what i mean (10-20)E.
  9. Hello i have the next Elfen Interface but i want to recover the buff slot original whit buff + songs / dances together and with normal size I tried modifying AbnormalStatusWnd on interface.utx whit xdat editor but i can't get any results as i want ... If someone could help me i'll be so grateful
  10. Seguindo a mesma logico do amigo link https://maxcheaters.com/profile/130654-nevesoma/content/?type=forums_topic_post nao consegui compreender como ele abriu o arquivo em questão e como ele efetuou para dar certo a alteração no meu pesquesei muito e nao obtive sucesso Following the same logic as the friend link https://maxcheaters.com/profile/130654-nevesoma/content/?type=forums_topic_post I could not understand how he opened the file in question and how he performed to make the change in my search work. and I was not successful.
  11. Hello guys i'm looking if there are a way to change the textures of the normal s grade weapons and armors of interlude? Like if i'm playing in a no custom server patching or something to make it like custom? Not in stats just in appearance xD
  12. hi guys i'm using a l2jfrozen pack and i'm a bit new to java coding... I have this vip system but i wanna add to vips x2 drop not only xp /sp. how can i do this? any help and tip would be soooo helpfull Index: config/head/other.properties =================================================================== --- config/head/other.properties (revision 900) +++ config/head/other.properties (working copy) @@ -225,5 +225,21 @@ # Aio Buffers can speak to Class Master? AllowAioUseClassMaster = false + +# --------------------------------------- +# Vip System +# --------------------------------------- +# Enable / Disable Name Color +AllowVipNameColor = True +VipNameColor = 0088FF +# Enable / Disable Title Color +AllowVipTitleColor = True +VipTitleColor = 0088FF + +# if True Player Vip gain Xp*VipMulXp and Sp*VipMulSp +# Note only works if player not in party +AllowVipMulXpSp = True +VipMulXp = 2 +VipMulSp = 2 # Announce castle lords on enter game. default = false AnnounceCastleLords = False \ No newline at end of file Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java (revision 900) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java (working copy) @@ -101,9 +101,9 @@ { private static Logger _log = Logger.getLogger(EnterWorld.class.getName()); - private static final SimpleDateFormat fmt = new SimpleDateFormat("H:mm."); + private static final SimpleDateFormat fmt = new SimpleDateFormat("HH:mm."); private long _daysleft; - SimpleDateFormat df = new SimpleDateFormat("dd MM yyyy"); + SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); public TaskPriority getPriority() { @@ -599,8 +599,17 @@ if (activeChar.isAio()) onEnterAio(activeChar); - activeChar.updateNameTitleColor(); + if(Config.ALLOW_VIP_NCOLOR && activeChar.isVip()) + activeChar.getAppearance().setNameColor(Config.VIP_NCOLOR); + if(Config.ALLOW_VIP_TCOLOR && activeChar.isVip()) + activeChar.getAppearance().setTitleColor(Config.VIP_TCOLOR); + + if(activeChar.isVip()) + onEnterVip(activeChar); + + activeChar.updateNameTitleColor(); + sendPacket(new UserInfo(activeChar)); sendPacket(new HennaInfo(activeChar)); sendPacket(new FriendList(activeChar)); @@ -638,6 +647,32 @@ } } + private void onEnterVip(L2PcInstance activeChar) + { + long curDay = Calendar.getInstance().getTimeInMillis(); + long endDay = activeChar.getVipEndTime(); + if(curDay > endDay) + { + activeChar.setVip(false); + activeChar.setVipEndTime(0); + activeChar.sendMessage("[Vip System]: Removed your Vip stats... period ends "); + } + else + { + Date dt = new Date(endDay); + _daysleft = (endDay - curDay) / 86400000; + if(_daysleft > 30) + activeChar.sendMessage("[Vip System]: Vip period ends in " + df.format(dt) + ". enjoy the Game"); + else if(_daysleft > 0) + activeChar.sendMessage("[Vip System]: Left " + (int)_daysleft + " days for Vip period ends"); + else if(_daysleft < 1) + { + long hour = (endDay - curDay) / 3600000; + activeChar.sendMessage("[Vip System]: Left " + (int)hour + " hours to Vip period ends"); + } + } + } + /** * @param activeChar */ Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (revision 900) +++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -410,7 +410,7 @@ * =?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=? * ,char_name=?,death_penalty_level=?,good=?,evil=?,gve_kills=? WHERE obj_id=? **/ - private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,punish_level=?,punish_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,pc_point=?,name_color=?,title_color=?,aio=?,aio_end=? WHERE obj_id=?"; + private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,punish_level=?,punish_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,pc_point=?,name_color=?,title_color=?,aio=?,aio_end=?,vip=?,vip_end=? WHERE obj_id=?"; /** * SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, @@ -423,7 +423,7 @@ * FROM characters WHERE obj_id=? **/ //private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, in_jail, jail_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level,pc_point,banchat_time,name_color,title_color,first_log,aio,aio_end FROM characters WHERE obj_id=?"; - private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon,punish_level,punish_timer,"+/* in_jail, jail_timer,*/ "newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level,pc_point"+/*,banchat_time*/",name_color,title_color,first_log,aio,aio_end FROM characters WHERE obj_id=?"; + private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon,punish_level,punish_timer,"+/* in_jail, jail_timer,*/ "newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level,pc_point"+/*,banchat_time*/",name_color,title_color,first_log,aio,aio_end,vip,vip_end FROM characters WHERE obj_id=?"; private static final String STATUS_DATA_GET = "SELECT hero, noble, donator, hero_end_date FROM characters_custom_data WHERE obj_Id = ?"; @@ -665,7 +665,10 @@ private boolean _isAio = false; private long _aio_endTime = 0; - + + private boolean _isVip = false; + private long _vip_endTime = 0; + /** Event parameters */ public int eventX; public int eventY; @@ -8359,7 +8362,7 @@ { con = L2DatabaseFactory.getInstance().getConnection(false); PreparedStatement statement; - statement = con.prepareStatement("INSERT INTO characters " + "(account_name,obj_Id,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp," + "acc,crit,evasion,mAtk,mDef,mSpd,pAtk,pDef,pSpd,runSpd,walkSpd," + "str,con,dex,_int,men,wit,face,hairStyle,hairColor,sex," + "movement_multiplier,attack_speed_multiplier,colRad,colHeight," + "exp,sp,karma,pvpkills,pkkills,clanid,maxload,race,classid,deletetime," + "cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace," + "base_class,newbie,nobless,power_grade,last_recom_date"/*,banchat_time,*/+",name_color,title_color,aio,aio_end) " + "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); + statement = con.prepareStatement("INSERT INTO characters " + "(account_name,obj_Id,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp," + "acc,crit,evasion,mAtk,mDef,mSpd,pAtk,pDef,pSpd,runSpd,walkSpd," + "str,con,dex,_int,men,wit,face,hairStyle,hairColor,sex," + "movement_multiplier,attack_speed_multiplier,colRad,colHeight," + "exp,sp,karma,pvpkills,pkkills,clanid,maxload,race,classid,deletetime," + "cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace," + "base_class,newbie,nobless,power_grade,last_recom_date"/*,banchat_time,*/+",name_color,title_color,aio,aio_end,vip,vip_end) " + "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); statement.setString(1, _accountName); statement.setInt(2, getObjectId()); statement.setString(3, getName()); @@ -8427,6 +8430,8 @@ statement.setString(59, StringToHex(Integer.toHexString(getAppearance().getTitleColor()).toUpperCase())); statement.setInt(60, isAio() ? 1 :0); statement.setLong(61, 0); + statement.setInt(62, isVip() ? 1 :0); + statement.setLong(63, 0); statement.executeUpdate(); statement.close(); @@ -8660,6 +8665,8 @@ player.setDeathPenaltyBuffLevel(rset.getInt("death_penalty_level")); player.setAio(rset.getInt("aio") == 1 ? true : false); player.setAioEndTime(rset.getLong("aio_end")); + player.setVip(rset.getInt("vip") == 1 ? true : false); + player.setVipEndTime(rset.getLong("vip_end")); // Add the L2PcInstance object in _allObjects //L2World.getInstance().storeObject(player); @@ -9123,8 +9130,11 @@ statement.setInt(60, isAio() ? 1 : 0); statement.setLong(61, getAioEndTime()); - - statement.setInt(62, getObjectId()); + + statement.setInt(62, isVip() ? 1 : 0); + statement.setLong(63, getVipEndTime()); + + statement.setInt(64, getObjectId()); //statement.setLong(58, getChatBanTimer()); @@ -16035,69 +16045,91 @@ _aio_endTime = val; } - public void setEndTime(String process, int val) - { - if (val > 0) - { - long end_day; - Calendar calendar = Calendar.getInstance(); - if (val >= 30) - { - while(val >= 30) - { - if(calendar.get(Calendar.MONTH)== 11) - calendar.roll(Calendar.YEAR, true); - calendar.roll(Calendar.MONTH, true); - val -= 30; - } - } - if (val < 30 && val > 0) - { - while(val > 0) - { - if(calendar.get(Calendar.DATE)== 28 && calendar.get(Calendar.MONTH) == 1) - calendar.roll(Calendar.MONTH, true); - if(calendar.get(Calendar.DATE)== 30) - { - if(calendar.get(Calendar.MONTH) == 11) - calendar.roll(Calendar.YEAR, true); - calendar.roll(Calendar.MONTH, true); - - } - calendar.roll(Calendar.DATE, true); - val--; - } - } - - end_day = calendar.getTimeInMillis(); - if(process.equals("aio")) - _aio_endTime = end_day; - - else - { - System.out.println("process "+ process + "no Known while try set end date"); - return; - } - Date dt = new Date(end_day); - System.out.println(""+process +" end time for player " + getName() + " is " + dt); - } - else - { - if(process.equals("aio")) - _aio_endTime = 0; - - else - { - System.out.println("process "+ process + "no Known while try set end date"); - return; - } - } - } - public long getAioEndTime() { return _aio_endTime; } + + /** Vip System Start */ + public boolean isVip() + { + return _isVip; + } + + public void setVip(boolean val) + { + _isVip = val; + } + + public void setVipEndTime(long val) + { + _vip_endTime = val; + } + + public long getVipEndTime() + { + return _vip_endTime; + } + + public void setEndTime(String process, int val) + { + if (val > 0) + { + long end_day; + Calendar calendar = Calendar.getInstance(); + if (val >= 30) + { + while(val >= 30) + { + if(calendar.get(Calendar.MONTH)== 11) + calendar.roll(Calendar.YEAR, true); + calendar.roll(Calendar.MONTH, true); + val -= 30; + } + } + if (val < 30 && val > 0) + { + while(val > 0) + { + if(calendar.get(Calendar.DATE)== 28 && calendar.get(Calendar.MONTH) == 1) + calendar.roll(Calendar.MONTH, true); + if(calendar.get(Calendar.DATE)== 30) + { + if(calendar.get(Calendar.MONTH) == 11) + calendar.roll(Calendar.YEAR, true); + calendar.roll(Calendar.MONTH, true); + } + calendar.roll(Calendar.DATE, true); + val--; + } + } + end_day = calendar.getTimeInMillis(); + if(process.equals("aio")) + _aio_endTime = end_day; + else if(process.equals("vip")) + _vip_endTime = end_day; + else + { + System.out.println("Process " + process + " no Known while try set end date."); + return; + } + Date dt = new Date(end_day); + System.out.println("" + process + " end time for player " + getName() + " is " + dt + "."); + } + else + { + if(process.equals("aio")) + _aio_endTime = 0; + else if(process.equals("vip")) + _vip_endTime = 0; + else + { + System.out.println("Process " + process + " no Known while try set end date."); + return; + } + } + } + public long getOfflineStartTime() { return _offlineShopStart; Index: head-src/com/l2jfrozen/gameserver/model/L2Attackable.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/L2Attackable.java (revision 900) +++ head-src/com/l2jfrozen/gameserver/model/L2Attackable.java (working copy) @@ -823,12 +823,18 @@ player.sendPacket(new SystemMessage(SystemMessageId.OVER_HIT)); exp += calculateOverhitExp(exp); } + if(player.isDonator()) { exp = (long) (exp * Config.DONATOR_XPSP_RATE); sp = (int) (sp * Config.DONATOR_XPSP_RATE); } + if (player.isVip() && Config.ALLOW_VIP_XPSP) + { + exp *= Config.VIP_XP; + sp *= Config.VIP_SP; + } player = null; } Index: head-src/com/l2jfrozen/gameserver/handler/AdminCommandHandler.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/AdminCommandHandler.java (revision 900) +++ head-src/com/l2jfrozen/gameserver/handler/AdminCommandHandler.java (working copy) @@ -91,6 +91,7 @@ import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminTvTEngine; import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminUnblockIp; import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminVIPEngine; +import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminVip; import com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminZone; /** @@ -185,6 +186,7 @@ registerAdminCommandHandler(new AdminNoble()); registerAdminCommandHandler(new AdminBuffs()); registerAdminCommandHandler(new AdminAio()); + registerAdminCommandHandler(new AdminVip()); //ATTENTION: adding new command handlers, you have to change the //sql file containing the access levels rights Index: head-src/com/l2jfrozen/gameserver/handler/admincommandhandlers/AdminVip.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/admincommandhandlers/AdminVip.java (revision 900) +++ head-src/com/l2jfrozen/gameserver/handler/admincommandhandlers/AdminVip.java (working copy) @@ -0,0 +1,273 @@ +/* + * 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 com.l2jfrozen.gameserver.handler.admincommandhandlers; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.util.StringTokenizer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import com.l2jfrozen.Config; +import com.l2jfrozen.gameserver.datatables.GmListTable; +import com.l2jfrozen.gameserver.handler.IAdminCommandHandler; +import com.l2jfrozen.gameserver.model.L2World; +import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; +import com.l2jfrozen.gameserver.network.serverpackets.EtcStatusUpdate; +import com.l2jfrozen.util.CloseUtil; +import com.l2jfrozen.util.database.L2DatabaseFactory; + +/** + * Give / Take Status Vip to Player + * Changes name color and title color if enabled + * + * Uses: + * setvip [<player_name>] [<time_duration in days>] + * removevip [<player_name>] + * + * If <player_name> is not specified, the current target player is used. + * + * + * @author KhayrusS + * + */ +public class AdminVip implements IAdminCommandHandler +{ + private final static Logger _log = Logger.getLogger(AdminVip.class.getName()); + + private static String[] _adminCommands = + { + "admin_setvip", "admin_removevip" + }; + + private enum CommandEnum + { + admin_setvip, + admin_removevip + } + + public boolean useAdminCommand(String command, L2PcInstance activeChar) + { + StringTokenizer st = new StringTokenizer(command); + + CommandEnum comm = CommandEnum.valueOf(st.nextToken()); + + if(comm == null) + return false; + + switch(comm) + { + case admin_setvip: + { + boolean no_token = false; + + if(st.hasMoreTokens()) + { + String char_name = st.nextToken(); + + L2PcInstance player = L2World.getInstance().getPlayer(char_name); + + if(player != null) + { + if (st.hasMoreTokens()) + { + String time = st.nextToken(); + + try{ + int value = Integer.parseInt(time); + + if(value>0) + { + doVip(activeChar, player, char_name, time); + + if(player.isVip()) + return true; + } + else + { + activeChar.sendMessage("Time must be bigger then 0!"); + return false; + } + } + catch(NumberFormatException e) + { + activeChar.sendMessage("Time must be a number!"); + return false; + } + } + else + { + no_token = true; + } + } + else + { + activeChar.sendMessage("Player must be online to set VIP status"); + no_token = true; + } + } + else + { + no_token=true; + } + + if(no_token) + { + activeChar.sendMessage("Usage: //setvip <char_name> [time](in days)"); + return false; + } + } + + case admin_removevip: + { + boolean no_token = false; + + if(st.hasMoreTokens()) + { + String char_name = st.nextToken(); + + L2PcInstance player = L2World.getInstance().getPlayer(char_name); + + if(player!=null) + { + removeVip(activeChar, player, char_name); + + if(!player.isVip()) + return true; + } + else + { + activeChar.sendMessage("Player must be online to remove VIP status"); + no_token = true; + } + } + else + { + no_token = true; + } + + if(no_token) + { + activeChar.sendMessage("Usage: //removevip <char_name>"); + return false; + } + } + } + return true; + } + + public void doVip(L2PcInstance activeChar, L2PcInstance _player, String _playername, String _time) + { + int days = Integer.parseInt(_time); + if (_player == null) + { + activeChar.sendMessage("not found char" + _playername); + return; + } + + if(days > 0) + { + _player.setVip(true); + _player.setEndTime("vip", days); + + Connection connection = null; + try + { + connection = L2DatabaseFactory.getInstance().getConnection(false); + + PreparedStatement statement = connection.prepareStatement("UPDATE characters SET vip=1, vip_end=? WHERE obj_id=?"); + statement.setLong(1, _player.getVipEndTime()); + statement.setInt(2, _player.getObjectId()); + statement.execute(); + statement.close(); + connection.close(); + + if(Config.ALLOW_VIP_NCOLOR && activeChar.isVip()) + _player.getAppearance().setNameColor(Config.VIP_NCOLOR); + + if(Config.ALLOW_VIP_TCOLOR && activeChar.isVip()) + _player.getAppearance().setTitleColor(Config.VIP_TCOLOR); + + _player.broadcastUserInfo(); + _player.sendPacket(new EtcStatusUpdate(_player)); + GmListTable.broadcastMessageToGMs("GM " + activeChar.getName() + " set vip stat for player " + _playername + " for " + _time + " day(s)"); + _player.sendMessage("You are now an Vip, Congratulations!"); + _player.broadcastUserInfo(); + } + catch (Exception e) + { + if(Config.DEBUG) + e.printStackTrace(); + + _log.log(Level.WARNING,"could not set vip stats of char:", e); + } + finally + { + CloseUtil.close(connection); + } + } + else + { + removeVip(activeChar, _player, _playername); + } + } + + public void removeVip(L2PcInstance activeChar, L2PcInstance _player, String _playername) + { + _player.setVip(false); + _player.setVipEndTime(0); + + Connection connection = null; + try + { + connection = L2DatabaseFactory.getInstance().getConnection(false); + + PreparedStatement statement = connection.prepareStatement("UPDATE characters SET vip=0, vip_end=0 WHERE obj_id=?"); + statement.setInt(1, _player.getObjectId()); + statement.execute(); + statement.close(); + connection.close(); + + _player.getAppearance().setTitleColor(0xFFFF77); + _player.getAppearance().setNameColor(0xFFFFFF); + _player.broadcastUserInfo(); + _player.sendPacket(new EtcStatusUpdate(_player)); + GmListTable.broadcastMessageToGMs("GM " + activeChar.getName() + " remove vip stat of player " + _playername); + _player.sendMessage("Now You are not an Vip.."); + _player.broadcastUserInfo(); + } + catch (Exception e) + { + if(Config.DEBUG) + e.printStackTrace(); + + _log.log(Level.WARNING,"could not remove vip stats of char:", e); + } + finally + { + CloseUtil.close(connection); + } + } + + public String[] getAdminCommandList() + { + return _adminCommands; + } +} Index: head-src/com/l2jfrozen/Config.java =================================================================== --- head-src/com/l2jfrozen/Config.java (revision 900) +++ head-src/com/l2jfrozen/Config.java (working copy) @@ -548,6 +548,13 @@ public static int AIO_TCOLOR; public static boolean ALLOW_AIO_USE_GK; public static boolean ALLOW_AIO_USE_CM; + public static boolean ALLOW_VIP_NCOLOR; + public static int VIP_NCOLOR; + public static boolean ALLOW_VIP_TCOLOR; + public static int VIP_TCOLOR; + public static boolean ALLOW_VIP_XPSP; + public static int VIP_XP; + public static int VIP_SP; public static boolean ANNOUNCE_CASTLE_LORDS; /** Configuration to allow custom items to be given on character creation */ @@ -644,6 +651,13 @@ AIO_TCOLOR = Integer.decode("0x" + otherSettings.getProperty("AioTitleColor", "88AA88")); ALLOW_AIO_USE_GK = Boolean.parseBoolean(otherSettings.getProperty("AllowAioUseGk", "False")); ALLOW_AIO_USE_CM = Boolean.parseBoolean(otherSettings.getProperty("AllowAioUseClassMaster", "False")); + ALLOW_VIP_NCOLOR = Boolean.parseBoolean(otherSettings.getProperty("AllowVipNameColor", "True")); + VIP_NCOLOR = Integer.decode("0x" + otherSettings.getProperty("VipNameColor", "0088FF")); + ALLOW_VIP_TCOLOR = Boolean.parseBoolean(otherSettings.getProperty("AllowVipTitleColor", "True")); + VIP_TCOLOR = Integer.decode("0x" + otherSettings.getProperty("VipTitleColor", "0088FF")); + ALLOW_VIP_XPSP = Boolean.parseBoolean(otherSettings.getProperty("AllowVipMulXpSp", "True")); + VIP_XP = Integer.parseInt(otherSettings.getProperty("VipMulXp", "2")); + VIP_SP = Integer.parseInt(otherSettings.getProperty("VipMulSp", "2")); ANNOUNCE_CASTLE_LORDS = Boolean.parseBoolean(otherSettings.getProperty("AnnounceCastleLords", "False")); if(ENABLE_AIO_SYSTEM) //create map if system is enabled {
  13. As the title says, I m begging any of you to help me with this issue, the server had dynamic bypass meaning every time you go to alt b and back the bypass is changing..... However I found this resource: https://adrenalinebot.com/en/api/example/work-with-dynamic-bypasses-parsing-regular-expressions They suggest using this: uses SysUtils, Classes, RegExpr; // plug in module RegExpr function Bypass(dlg: string): boolean; var RegExp: TRegExpr; SL: TStringList; i: integer; bps: string; begin Result:= true; // set the default result RegExp:= TRegExpr.Create; // initialize objects for further work SL:= TStringList.Create; RegExp.Expression:= '(<a *(.+?)</a>)|(<button *(.+?)>)'; // set regexp to search for all possible bypasses if RegExp.Exec(Engine.DlgText) then // if you found the desired pattern, then repeat SL.Add(RegExp.Match[0]); // fill our list with such matches until (not RegExp.ExecNext); // until the patterns run out for i:= 0 to SL.Count-1 do begin // now go over our list if (Pos(dlg, SL[ i ]) > 0) then begin // if the i-th line contains the required text, then RegExp.Expression:= '"bypass -h *(.+?)"'; // look for a text template with bypass if RegExp.Exec(SL[ i ]) then // and if found, then copy from it a piece of interest to us bps:= TrimLeft(Copy(RegExp.Match[0], 12, Length(RegExp.Match[0])-12)); end; end; Print(bps); // print out the final bypass if (Length(bps) > 0) then Engine.BypassToServer(bps); // if its length is > 0, then send to server RegExp.Free; // do not forget to free up memory SL.Free; end; begin Bypass('Fighter Scheme'); // directly the function call, it will find the corresponding bypass and send it end. However nothing happends...also the base script is this: uses SysUtils, Classes, RegExpr; // plug in module RegExpr procedure PrintAllTags(); // print all designs with bypasses var RegExp: TRegExpr; begin RegExp:= TRegExpr.Create; RegExp.Expression:= '(<a *(.+?)</a>)|(<button *(.+?)>)'; if RegExp.Exec(Engine.DlgText) then repeat Print(RegExp.Match[0]); until (not RegExp.ExecNext); RegExp.Free; end; begin PrintAllTags(); end. It should return bypasses right? But it doesnt for me.... ( everything works fine with other scripts btw) Thank you for your time!
  14. Hi, some1 can help me ? i need code for set items on time... for acis
  15. Hi! I'm getting critical error when i try to load the game with my edited L2UI_CH3.utx file. The steps i do to create my file are the following: 1. I use l2decrypt to decrypt my .utx 2. I open it in unreal 3. I add the icons i want and compress them in DXT3 4. Then i encrypt it back with l2encdec with 121 encryption I'm not sure but i think i do things as many guides here suggested but i still get critical error on game start so can someone tell what i do wrong here? Edit: just to clarify things more i only get critical error when i try to edit the existing L2UI_CH3 file...If i create a new utx i have no issues.
  16. HI all, i set in my npc to make character hero. In next settings you will see. But, i want to set hero for 1 month. Now, if player buy hero, after restart, hero it's gone. Here it is few setting. else if (event.equalsIgnoreCase("hero")) { if (!player.isHero()) { player.setHero(true); player.broadcastPacket(new SocialAction(player.getObjectId(), 20016)); // Hero Animation player.broadcastUserInfo(); player.destroyItemByItemId("Get your hero!", 6391, 25000, player, true); return "character.htm"; } else if (player.isHero()) { player.setHero(false); player.broadcastUserInfo(); return "character.htm"; } } How i can set a "period" ? I check olympiad method. But those settings are much and i don't understand nothing. Greetings
  17. hello i have one problem every 25 second i take window in game do you wish to exit game? why any help and if dont make xp close the client https://prnt.sc/t3xwvh
  18. Hello ppl of mxc, i never post anything or ask for anything,but this last few days i almost melt my brain trying to get to work Clan quest for acis, i dont care about the rev in this case 370 i've got the code without errors, quest started all ok, but mobs don't drop the items, or when killed Grave Guards, grave keymaster isnt spawning,the same happen with the box when imperal gravekeeper is killed. this is the code im trying to get to work. alsoi i had to add some lines to Quest but those are not improtant, just a few typos i had form the code below. package net.sf.l2j.gameserver.scripting.quests; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.instance.Player; import net.sf.l2j.gameserver.scripting.Quest; import net.sf.l2j.gameserver.scripting.QuestState; public class Q503_PursuitOfClanAmbition extends Quest { private static final int G_LET_MARTIEN = 3866; private static final int TH_WYRM_EGGS = 3842; private static final int DRAKE_EGGS = 3841; private static final int BL_WYRM_EGGS = 3840; private static final int MI_DRAKE_EGGS = 3839; private static final int BROOCH = 3843; private static final int BL_ANVIL_COIN = 3871; private static final int G_LET_BALTHAZAR = 3867; private static final int RECIPE_POWER_STONE = 3838; private static final int POWER_STONE = 3846; private static final int NEBULITE_CRYSTALS = 3844; private static final int BROKE_POWER_STONE = 3845; private static final int G_LET_RODEMAI = 3868; private static final int IMP_KEYS = 3847; private static final int SCEPTER_JUDGEMENT = 3869; private static final int PROOF_ASPIRATION = 3870; private static final int MARTIEN = 30645; private static final int ATHREA = 30758; private static final int KALIS = 30759; private static final int GUSTAF = 30760; private static final int FRITZ = 30761; private static final int LUTZ = 30762; private static final int KURTZ = 30763; private static final int KUSTO = 30512; private static final int BALTHAZAR = 30764; private static final int RODEMAI = 30868; private static final int COFFER = 30765; private static final int CLEO = 30766; private static final int THUNDER_WYRM = 20282; private static final int THUNDER_WYRM_TWO = 20243; private static final int DRAKE = 20137; private static final int DRAKE_TWO = 20285; private static final int BLITZ_WYRM = 27178; private static final int GIANT_SOLDIER = 20654; private static final int GIANT_SCOUT = 20656; private static final int GRAVE_GUARD = 20668; private static final int GRAVE_KEYMASTER = 27179; private static final int IMPERIAL_SLAVE = 27180; private static final int IMPERIAL_GRAVEKEEPER = 27181; private static final int[][] DROPLIST = { // npcId, cond, MaxCount, chance, item1, item2 (giants), item3 (giants) // @formatter:off {THUNDER_WYRM, 2, 10, 200000, TH_WYRM_EGGS, 0, 0}, {THUNDER_WYRM_TWO, 2, 10, 90000, TH_WYRM_EGGS, 0, 0}, {DRAKE, 2, 10, 200000, DRAKE_EGGS, 0, 0}, {DRAKE_TWO, 2, 10, 250000, DRAKE_EGGS, 0, 0}, {BLITZ_WYRM, 2, 10, 1000000, BL_WYRM_EGGS, 0, 0}, {GIANT_SOLDIER, 5, 10, 250000, NEBULITE_CRYSTALS, BROKE_POWER_STONE, POWER_STONE}, {GIANT_SCOUT, 5, 10, 350000, NEBULITE_CRYSTALS, BROKE_POWER_STONE, POWER_STONE}, {GRAVE_GUARD, 10, 0, 150000, 0, 0, 0}, {GRAVE_KEYMASTER, 10, 6, 800000, IMP_KEYS, 0, 0}, {IMPERIAL_GRAVEKEEPER, 10, 0, 0, 0, 0, 0} // @formatter:on }; public Q503_PursuitOfClanAmbition() { super(503, "Pursuit of Clan Ambition!"); setItemsIds(MI_DRAKE_EGGS, BL_WYRM_EGGS, DRAKE_EGGS, TH_WYRM_EGGS, BROOCH, NEBULITE_CRYSTALS, BROKE_POWER_STONE, POWER_STONE, IMP_KEYS, G_LET_MARTIEN, G_LET_BALTHAZAR, G_LET_RODEMAI, SCEPTER_JUDGEMENT); addStartNpc(GUSTAF); addTalkId(MARTIEN, ATHREA, KALIS, GUSTAF, FRITZ, LUTZ, KURTZ, KUSTO, BALTHAZAR, RODEMAI, COFFER, CLEO); addKillId(THUNDER_WYRM_TWO, THUNDER_WYRM, DRAKE, DRAKE_TWO, BLITZ_WYRM, GIANT_SOLDIER, GIANT_SCOUT, GRAVE_GUARD, GRAVE_KEYMASTER, IMPERIAL_GRAVEKEEPER); addAttackId(IMPERIAL_GRAVEKEEPER); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; final QuestState st = player.getQuestState(getName()); if (st == null) { return htmltext; } // Gustaf if (event.equalsIgnoreCase("30760-08.htm")) { st.setState(STATE_STARTED); st.giveItems(G_LET_MARTIEN, 1); st.set("cond", "1"); } else if (event.equalsIgnoreCase("30760-12.htm")) { st.giveItems(G_LET_BALTHAZAR, 1); st.set("cond", "4"); } else if (event.equalsIgnoreCase("30760-16.htm")) { st.giveItems(G_LET_RODEMAI, 1); st.set("cond", "7"); } else if (event.equalsIgnoreCase("30760-20.htm")) { st.takeItems(SCEPTER_JUDGEMENT, -1); st.giveItems(PROOF_ASPIRATION, 1); st.rewardExpAndSp(0, 250000); st.exitQuest(false); finishQuestToClan(player); } else if (event.equalsIgnoreCase("30760-22.htm")) { st.set("cond", "1"); } else if (event.equalsIgnoreCase("30760-23.htm")) { st.takeItems(SCEPTER_JUDGEMENT, -1); st.giveItems(PROOF_ASPIRATION, 1); st.rewardExpAndSp(0, 250000); st.exitQuest(false); finishQuestToClan(player); } // Martien else if (event.equalsIgnoreCase("30645-03.htm")) { setQuestToClanMembers(player); st.takeItems(G_LET_MARTIEN, -1); st.set("cond", "2"); st.set("kurt", "0"); } // Kurtz else if (event.equalsIgnoreCase("30763-02.htm")) { st.giveItems(MI_DRAKE_EGGS, 6); st.giveItems(BROOCH, 1); st.set("kurt", "1"); } // Lutz else if (event.equalsIgnoreCase("30762-02.htm")) { st.giveItems(MI_DRAKE_EGGS, 4); st.giveItems(BL_WYRM_EGGS, 3); st.addSpawn(BLITZ_WYRM, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 0, false); st.addSpawn(BLITZ_WYRM, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 0, false); st.set("lutz", "1"); } // Fritz else if (event.equalsIgnoreCase("30761-02.htm")) { st.giveItems(BL_WYRM_EGGS, 3); st.addSpawn(BLITZ_WYRM, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 0, false); st.addSpawn(BLITZ_WYRM, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 0, false); st.set("fritz", "1"); } // Kusto else if (event.equalsIgnoreCase("30512-03.htm")) { st.takeItems(BROOCH, 1); st.giveItems(BL_ANVIL_COIN, 1); st.set("kurt", "2"); } // Balthazar else if (event.equalsIgnoreCase("30764-03.htm")) { st.takeItems(G_LET_BALTHAZAR, -1); st.set("cond", "5"); } else if (event.equalsIgnoreCase("30764-05.htm")) { st.takeItems(G_LET_BALTHAZAR, -1); st.set("cond", "5"); } else if (event.equalsIgnoreCase("30764-06.htm")) { st.takeItems(BL_ANVIL_COIN, -1); st.giveItems(RECIPE_POWER_STONE, 1); } // Rodemai else if (event.equalsIgnoreCase("30868-04.htm")) { st.takeItems(G_LET_RODEMAI, -1); st.set("cond", "8"); } else if (event.equalsIgnoreCase("30868-06a.htm")) { st.set("cond", "10"); } else if (event.equalsIgnoreCase("30868-10.htm")) { st.set("cond", "12"); } // Cleo else if (event.equalsIgnoreCase("30766-04.htm")) { st.set("cond", "9"); npc.broadcastNpcSay("Blood and Honor"); final Npc sister1 = addSpawn(KALIS, 160665, 21209, -3710, npc.getHeading(), false, 180000, false); sister1.broadcastNpcSay("Ambition and Power"); final Npc sister2 = addSpawn(ATHREA, 160665, 21291, -3710, npc.getHeading(), false, 180000, false); sister2.broadcastNpcSay("War and Death"); } // Coffer else if (event.equalsIgnoreCase("Open")) { if (st.getQuestItemsCount(IMP_KEYS) < 6) { htmltext = "30765-03a.htm"; } else { htmltext = "30765-03.htm"; st.set("cond", "11"); st.takeItems(IMP_KEYS, 6); st.giveItems(SCEPTER_JUDGEMENT, 1); } } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); final QuestState st = player.getQuestState(getName()); if (st == null) { return htmltext; } switch (st.getState()) { case STATE_CREATED: if (player.getClan() == null) { htmltext = "30760-01.htm"; st.exitQuest(true); } else if (player.isClanLeader()) { if (st.hasQuestItems(PROOF_ASPIRATION)) { htmltext = "30760-03.htm"; st.exitQuest(true); } else if (player.getClan().getLevel() != 4) { htmltext = "30760-02.htm"; st.exitQuest(true); } else { htmltext = "30760-04.htm"; } } else { htmltext = "30760-04t.htm"; st.exitQuest(true); } break; case STATE_STARTED: final int cond = st.getInt("cond"); int memberCond = 0; if (getClanLeaderQuestState(player, npc) != null) { memberCond = getClanLeaderQuestState(player, npc).getInt("cond"); } switch (npc.getNpcId()) { case GUSTAF: if (player.isClanLeader()) { if (cond == 1) { htmltext = "30760-09.htm"; } else if (cond == 2) { htmltext = "30760-10.htm"; } else if (cond == 3) { htmltext = "30760-11.htm"; } else if (cond == 4) { htmltext = "30760-13.htm"; } else if (cond == 5) { htmltext = "30760-14.htm"; } else if (cond == 6) { htmltext = "30760-15.htm"; } else if (cond == 7) { htmltext = "30760-17.htm"; } else if (cond == 12) { htmltext = "30760-19.htm"; } else if (cond == 13) { htmltext = "30760-24.htm"; } else { htmltext = "30760-18.htm"; } } else { if (memberCond == 3) { htmltext = "30760-11t.htm"; } else if (memberCond == 4) { htmltext = "30760-15t.htm"; } else if (memberCond == 12) { htmltext = "30760-19t.htm"; } else if (memberCond == 13) { htmltext = "30766-24t.htm"; } } break; case MARTIEN: if (player.isClanLeader()) { if (cond == 1) { htmltext = "30645-02.htm"; } else if (cond == 2) { if ((st.getQuestItemsCount(MI_DRAKE_EGGS) > 9) && (st.getQuestItemsCount(BL_WYRM_EGGS) > 9) && (st.getQuestItemsCount(DRAKE_EGGS) > 9) && (st.getQuestItemsCount(TH_WYRM_EGGS) > 9)) { htmltext = "30645-05.htm"; st.set("cond", "3"); st.takeItems(MI_DRAKE_EGGS, -1); st.takeItems(BL_WYRM_EGGS, -1); st.takeItems(DRAKE_EGGS, -1); st.takeItems(TH_WYRM_EGGS, -1); } else { htmltext = "30645-04.htm"; } } else if (cond == 3) { htmltext = "30645-07.htm"; } else { htmltext = "30645-08.htm"; } } else { if ((memberCond == 1) || (memberCond == 2) || (memberCond == 3)) { htmltext = "30645-01.htm"; } } break; case LUTZ: if (player.isClanLeader() && (cond == 2)) { if (st.getInt("lutz") == 1) { htmltext = "30762-03.htm"; } else { htmltext = "30762-01.htm"; } } break; case KURTZ: if (player.isClanLeader() && (cond == 2)) { if (st.getInt("kurt") == 1) { htmltext = "30763-03.htm"; } else { htmltext = "30763-01.htm"; } } break; case FRITZ: if (player.isClanLeader() && (cond == 2)) { if (st.getInt("fritz") == 1) { htmltext = "30761-03.htm"; } else { htmltext = "30761-01.htm"; } } break; case KUSTO: if (player.isClanLeader()) { if (st.getQuestItemsCount(BROOCH) == 1) { if (st.getInt("kurt") == 0) { htmltext = "30512-01.htm"; } else if (st.getInt("kurt") == 1) { htmltext = "30512-02.htm"; } else { htmltext = "30512-04.htm"; } } } else { if ((memberCond > 2) && (memberCond < 6)) { htmltext = "30512-01a.htm"; } } break; case BALTHAZAR: if (player.isClanLeader()) { if (cond == 4) { if (st.getInt("kurt") == 2) { htmltext = "30764-04.htm"; } else { htmltext = "30764-02.htm"; } } else if (cond == 5) { if ((st.getQuestItemsCount(POWER_STONE) > 9) && (st.getQuestItemsCount(NEBULITE_CRYSTALS) > 9)) { htmltext = "30764-08.htm"; st.takeItems(POWER_STONE, -1); st.takeItems(NEBULITE_CRYSTALS, -1); st.takeItems(BROOCH, -1); st.set("cond", "6"); } else { htmltext = "30764-07.htm"; } } else if (cond == 6) { htmltext = "30764-09.htm"; } } else { if (memberCond == 4) { htmltext = "30764-01.htm"; } } break; case RODEMAI: if (player.isClanLeader()) { if (cond == 7) { htmltext = "30868-02.htm"; } else if (cond == 8) { htmltext = "30868-05.htm"; } else if (cond == 9) { htmltext = "30868-06.htm"; } else if (cond == 10) { htmltext = "30868-08.htm"; } else if (cond == 11) { htmltext = "30868-09.htm"; } else if (cond == 12) { htmltext = "30868-11.htm"; } } else { if (memberCond == 7) { htmltext = "30868-01.htm"; } else if ((memberCond == 9) || (memberCond == 10)) { htmltext = "30868-07.htm"; } } break; case CLEO: if (player.isClanLeader()) { if (cond == 8) { htmltext = "30766-02.htm"; } else if (cond == 9) { htmltext = "30766-05.htm"; } else if (cond == 10) { htmltext = "30766-06.htm"; } else if ((cond == 11) || (cond == 12) || (cond == 13)) { htmltext = "30766-07.htm"; } } else { if (memberCond == 8) { htmltext = "30766-01.htm"; } } break; case COFFER: if (player.isClanLeader()) { if (cond == 10) { htmltext = "30765-01.htm"; } } else { if (memberCond == 10) { htmltext = "30765-02.htm"; } } break; case KALIS: if (player.isClanLeader()) { htmltext = "30759-01.htm"; } break; case ATHREA: if (player.isClanLeader()) { htmltext = "30758-01.htm"; } break; } break; } return htmltext; } @Override public String onKill(Npc npc, Player player, boolean isPet) { QuestState st = null; st = getClanLeaderQuestState(player, npc); if ((st == null) || !st.isStarted()) { return null; } for (int[] element : DROPLIST) { if (element[0] == npc.getNpcId()) { final int cond = element[1]; final int maxCount = element[2]; final int chance = element[3]; final int item1 = element[4]; final int item2 = element[5]; final int item3 = element[6]; if (st.getInt("cond") == cond) { if (item1 != 0) { st.dropItems(item1, 1, maxCount, chance); } else { if (element[0] == IMPERIAL_GRAVEKEEPER) { final Npc coffer = addSpawn(COFFER, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 180000, false); coffer.broadcastNpcSay("Curse of the gods on the one that defiles the property of the empire!"); } else if ((element[0] == GRAVE_GUARD) && (st.getQuestItemsCount(IMP_KEYS) < 6) && (Rnd.get(50) < chance)) { addSpawn(GRAVE_KEYMASTER, player.getX(), player.getY(), player.getZ(), player.getHeading(), true, 0, false); } } if ((item2 != 0) && (item3 != 0)) { if (Rnd.get(4) == 0) { st.dropItems(item2, 1, maxCount, chance); } else { st.dropItems(item3, 1, maxCount, chance); } } } } } return null; } @Override public String onAttack(Npc npc, Player attacker, int damage, boolean isPet, L2Skill skill) { if ((npc.getMaxHp() / 2) > npc.getCurrentHp()) { if (Rnd.get(100) < 4) { addSpawn(IMPERIAL_SLAVE, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 0, false); } else { attacker.teleToLocation(185462, 20342, -3250, 0); } } return super.onAttack(npc, attacker, damage, isPet, skill); } } NVM, Fixed :) close this topic!
  19. can explain me how to put one class here for equip only light and bow just edit him and answer me to replace ...thanks! # for disable class use item use like this # ClassNameId="10" <- classId # and itemType for weapons can't use like BOW;DAGGER;POLE.. # and itemType for armors LIGHT;MAGIC;HEAVY;SHIELD --> <Class id="92" ClassNameId="92"> <Weapon ItemType="DAGGER;SWORD;BLUNT;POLE;FIST;DUALFIST;BIGSWORD;BIGBLUNT;DUAL" /> <Armor ItemType="HEAVY;MAGIC" /> </Class>
  20. Guys wanted to know how to put multiple players that do not serve in the same login but all joining the same type of world [BRASIL] L2KKK [AMERICA] L2KKK [AFRICA] L2KKK Anybody know?
  21. Any code or scripts for anti bot attack pk to player farming exp like a when die and need to put question or random code for Resurrection again. And Restrict screen opening. Like a 1 ip can open 2 screen. Any scripts For that thing? thankyou
  22. Hello, it's my first time posting in this section so i hope i'm not doing anything wrong, So i'm currently trying to make this interface work on L2Deadly High Five (it has no smartguard and from what i've seen, no protections at all), i can use some random interface's mostly full of bugged features, yet when i try to put deadz to work it crashes after the char selection, from what i've checked the interface.u file gives the crash, yet with the other interfaces that file won't crash, may i get some help with this problem? I've seen someone playing with some Deadz Tom's Edit interface, which i have no clue about. Looking forward for some help with this if possible.
  23. Hello! I looking this small addon for L2 interlude with display FPS rates on screen. Anyone can help me? what file make this effect? its in interface.u or other file? https://ibb.co/6t6rPfz
  24. Hello, I apologize in advance for my bad English. I'm new to the world of Lineage 2 and I play on one free to play server, with version Lineage 2 classic 1.5 (Age of Splendor). I would like to create a normal map and a 3D map from game files. same as in this case: Normal Map: http://l2j.ru/img/maps/ct25_all.jpg 3D Map (Radar map): http://l2j.ru/img/maps/ct25_radarmap.jpg Please, can anyone advise me how to create such maps exactly for the "Lineage 2 classic 1.5 (Age of Splendor)" version of the game?
  25. HI all, how i can change Range for anti-pk guard? I have this syntax. <npc id="9996" displayId="30346" name="Sentry" usingServerSideName="true" title="Map Guard" usingServerSideTitle="true" type="L2Guard"> <sex>MALE</sex> <ai type="BALANCED" aggroRange="900" clanHelpRange="1000" isAggressive="false"> </ai> <stats str="99" int="99" dex="99" wit="99" con="99" men="99"> <vitals hp="999999999" mp="100" /> <attack physical="100000000" magical="50000000" attackSpeed="5000" range="900" critical="100"/> <defence physical="50000000" magical="50000000" /> <attribute> <defence fire="99" water="99" wind="99" earth="99" holy="99" dark="99" /> </attribute> <speed> <walk ground="180" /> <run ground="350" /> </speed> </stats> <collision> <radius normal="7" /> <height normal="25" /> </collision> </npc> I change Range, nothing, i change aggroRange, same distance. I try to add distance="100" He see pk from x distance. How i can fix this?