Jump to content

Reborn12

VIP Member
  • Posts

    2,393
  • Credits

  • Joined

  • Last visited

  • Days Won

    19
  • Feedback

    100%

Everything posted by Reborn12

  1. http://www.maxcheaters.com/topic/196065-show-hp-left-on-pvp-death/ This Code was The problem on this LINE: // Add PvP point to attacker. setPvpKills(getPvpKills() + 1); + +// Show HP PvP +if (Config.SHOW_HP_PVP) + targetPlayer.sendPacket(new ExShowScreenMessage( getName() + " - HP: " + getCurrentShowHpPvp() + "/" + getMaxHp() , 4000, 0x02, true)); +if (isPvpFarmZone()) // Send UserInfo packet to attacker with its Karma and PK Counter Lock It Solved....
  2. some people need some help..no one is master i was before some months a newbie but i have learn a lot of thinks based on acis...but always needs to take a help from another ppl...help another ppl is no problem but is better for training the old thinks :D
  3. because some ppls want another npcs..and its easy to add one more buffer :D
  4. What buffer are you using,? And show here the errors..
  5. updatepvpstatus public void updatePvPStatus(L2Character target) { final L2PcInstance player = target.getActingPlayer(); if (player == null) return; if (isInDuel() && player.getDuelId() == getDuelId()) return; if ((!isInsideZone(ZoneId.PVP) || !target.isInsideZone(ZoneId.PVP)) && player.getKarma() == 0) { PvpFlagTaskManager.getInstance().add(this, checkIfPvP(player) ? Config.PVP_PVP_TIME : Config.PVP_NORMAL_TIME); if (getPvpFlag() == 0) updatePvPFlag(1); } } no idea more...i have added and one statisti wall from caparso:somethink wrong with updates with this?? /* * 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]; @SuppressWarnings("synthetic-access") public L2StatusInstance(int objectId, NpcTemplate template) { super(objectId, template); ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new RefreshAllLists(), 10000, delayForCheck * 60000); } private class RefreshAllLists implements Runnable { @Override @SuppressWarnings("synthetic-access") 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 static 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"; } }
  6. /** * This method is used to update PvP counter, or PK counter / add Karma if necessary.<br> * It also updates clan kills/deaths counters on siege. * @param target The L2Playable victim. */ public void onKillUpdatePvPKarma(L2Playable target) { if (target == null) return; final L2PcInstance targetPlayer = target.getActingPlayer(); if (targetPlayer == null || targetPlayer == this) return; setpvpkills // Check if it's pvp (cases : regular, wars, victim is PKer) if (checkIfPvP(target) || (targetPlayer.getClan() != null && getClan() != null && getClan().isAtWarWith(targetPlayer.getClanId()) && targetPlayer.getClan().isAtWarWith(getClanId()) && targetPlayer.getPledgeType() != L2Clan.SUBUNIT_ACADEMY && getPledgeType() != L2Clan.SUBUNIT_ACADEMY) || (targetPlayer.getKarma() > 0 && Config.KARMA_AWARD_PK_KILL)) { if (target instanceof L2PcInstance) { // Add PvP point to attacker. setPvpKills(getPvpKills() + 1); // Show HP PvP if (Config.SHOW_HP_PVP) targetPlayer.sendPacket(new ExShowScreenMessage( getName() + " - HP: " + getCurrentShowHpPvp() + "/" + getMaxHp() , 4000, 0x02, true)); if (isPvpFarmZone()) // Send UserInfo packet to attacker with its Karma and PK Counter sendPacket(new UserInfo(this)); } }
  7. hello i need some help..aCis project i have a problem with my pvpupdates needs 30sec to add +1 pvp than i have killed one flag char... Take a look pvp/pk 37/20>>>>>Player Is Dead>>>>After 30 seconds 38/20 Here:https://www.youtube.com/watch?v=0TFgfIEmiHM thanks in advice..
  8. just add this line <set name="weapon_type" val="SWORD" /> change the weapon type with the weapons type Bow is already
  9. drop here your xml file with your weapons...
  10. 1rst you need to addapt this items for acis 2nd use filed edit to add you items into client+systextures animations i give you and examble for weapons <?xml version="1.0" encoding="UTF-8"?> <!-- Vesper Noble weapons on frozen interlude by WilliamFS --> <list> <item id="13511" type="Weapon" name="Vesper Noble Cutter"> <set name="is_magical" val="true" /> <set name="default_action" val="equip" /> <set name="weapon_type" val="SWORD" /> <set name="bodypart" val="rhand" /> <set name="random_damage" val="10" /> <set name="attack_range" val="40" /> <set name="damage_range" val="0;0;40;120" /> <set name="crystal_count" val="2160" /> <set name="crystal_type" val="S" /> <set name="material" val="ADAMANTAITE" /> <set name="weight" val="840" /> <set name="price" val="27000000" /> <set name="soulshots" val="1" /> <set name="spiritshots" val="1" /> <for> <set order="0x08" stat="pAtk" val="396" /> <set order="0x08" stat="mAtk" val="176" /> <set order="0x08" stat="rCrit" val="8" /> <set order="0x08" stat="pAtkSpd" val="379" /> <enchant val="0" order="0x0C" stat="pAtk" /> <enchant val="0" order="0x0C" stat="mAtk" /> </for> </item> </List> Armors <?xml version='1.0' encoding='utf-8'?> <list> <item id="15606" type="Armor" name="Moirai Helmet"> <set name="default_action" val="equip" /> <set name="bodypart" val="head" /> <set name="crystal_type" val="S" /> <set name="crystal_count" val="268" /> <set name="material" val="BONE" /> <set name="weight" val="550" /> <set name="price" val="7370000" /> <for> <add order="0x10" stat="pDef" val="75" /> <enchant order="0x0C" stat="pDef" val="0" /> </for> </item> </List> You probably have only the stats <for> <add order="0x10" stat="pDef" val="75" /> <enchant order="0x0C" stat="pDef" val="0" /> </for> take a look and you will make it its easy..
  11. I think you must have a char to delete it...and not without char you try to delete...make a char and delete then look if this warn is on console..
  12. http://www.l2jbrasil.com/index.php?/topic/103653-como-colocar-as-cloaks-do-goddess-of-destruction-no-h5/ search here im with phone now.
  13. Hello im looking for scripts... Autorebuff fighter Buy SS potions Go to spot...if someone can help me let me.know..thanks
  14. mmon/augmentation_02.htm">Cancel item Augmentation.</a><br> <a action="bypass -h npc_%objectId%_multisell 50020">Buy Minerals</a>< Change 50020 with a new multisell...just add what you want to change...on new multisell..
  15. Go to your npc.properties and paste here valakas respawn times...
  16. Send me pm i will take a look via team viewer..
  17. Man you must change your id`s on client side and to your multisell the scheme with client..this is your problem..also make the id's from all the scheme and be carefull not over 65535..
  18. Give us a pic from your multisell file..
  19. Nice Features will work fine..Good Luck..
  20. 1)dual daggers2)dex +4 str -4 con+4 str-4 3)i think skill damage 4)yes no berz and g shield.take songs champion and renewal.. 5)i dont think dagger need p attack or p def..i think needs skill refresh..
  21. Mporeis na rikseis edw tn code tou antibuff shield?? Na se voithisw na ta vreis..
×
×
  • Create New...