Jump to content

Celsas

Members
  • Posts

    59
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by Celsas

  1. HELIOS EN [patched] (protocol 64) 29.06.2016 https://mega.nz/#!XMNw3CAZ!MCb6m0fZqUDCMSgMJ8AjJOp2-ZDp2r-Git7Cc74LOak HELIOS EN [patched] (protocol 64) 21.03.2017 [latest helios update] http://mediafire.com/file/bf457n35pl9frog/System-21-03-17.rar If have any questions, PM or use Skype ;)
  2. vampir, and what tool you use to edit .ugx files? :)
  3. Hello, im lf info how to remove "Ertheia" button... I want that cant see and create Ertheia char... That edit need make in server side or client side? If client it is in Interface or NWindow file?
  4. Hello, im LF to buy H5 gameplay like Classic or God+ , or lf people who can make it (not for free) we can make a deal, i will say what i need you will earn some mony if you want ;) Write here or PM, Skype ;)
  5. Hello, im LF to buy H5 gameplay like Classic or God+ , or lf people who can make it (not for free) we can make a deal, i will say what i need you will earn some mony if you want ;) Write here or PM, Skype ;)
  6. Hello, im need help how to add effect on same object in map? I wanna make a platforms in H5 like in Helios. I converted platform object, can add it in H5 but dont understand where finde that effect and how to put it in map on that object :( Or maybe can do it for me? i can pay if need :) Here is screen what i want...
  7. Hello, maybe someone need it Now i will adding Hidden zones in map (like Olympiad arenas and etc...). Here i share [4.674 x 4.182] MAP in .JPEG format... I have [17.100 x 15.300] MAP in .PSD format (but still in work...). If someone has request i can upload .PSD file when i finished it...| SIMPLE > DOWNLOAD < https://workupload.com/file/jkvbSR8b3jA
  8. You talk about Event Manager npc? "EVENT_MANAGERS = new int[][] {{ 83720, 149720, -3430, 49151 }};" Maybe its something here? package l2f.gameserver.scripts.events.l2day; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import l2f.commons.util.Rnd; import l2f.gameserver.Announcements; import l2f.gameserver.Config; import l2f.gameserver.cache.Msg; import l2f.gameserver.listener.actor.OnDeathListener; import l2f.gameserver.listener.actor.player.OnPlayerEnterListener; import l2f.gameserver.model.Creature; import l2f.gameserver.model.Player; import l2f.gameserver.model.SimpleSpawner; import l2f.gameserver.model.actor.listener.CharListenerList; import l2f.gameserver.model.instances.NpcInstance; import l2f.gameserver.model.reward.RewardData; import l2f.gameserver.scripts.Functions; import l2f.gameserver.scripts.ScriptFile; import l2f.gameserver.templates.npc.NpcTemplate; public class LettersCollection extends Functions implements ScriptFile, OnDeathListener, OnPlayerEnterListener { private static final Logger _log = LoggerFactory.getLogger(LettersCollection.class); // Переменные, определять protected static boolean _active; protected static String _name; protected static int[][] letters; protected static int EVENT_MANAGERS[][] = null; protected static String _msgStarted; protected static String _msgEnded; // Буквы, статика protected static int A = 3875; protected static int C = 3876; protected static int E = 3877; protected static int F = 3878; protected static int G = 3879; protected static int H = 3880; protected static int I = 3881; protected static int L = 3882; protected static int N = 3883; protected static int O = 3884; protected static int R = 3885; protected static int S = 3886; protected static int T = 3887; protected static int II = 3888; protected static int Y = 13417; protected static int _5 = 13418; protected static int EVENT_MANAGER_ID = 31230; // Контейнеры, не трогать protected static Map<String, Integer[][]> _words = new HashMap<>(); protected static Map<String, RewardData[]> _rewards = new HashMap<>(); protected static List<SimpleSpawner> _spawns = new ArrayList<>(); @Override public void onLoad() { if (isActive()) { CharListenerList.addGlobal(this); if (!Config.EVENT_LETTER_COLLECTION) return; _active = true; spawnEventManagers(); _log.info("Loaded Event: " + _name + " [state: activated]"); } else _log.info("Loaded Event: " + _name + " [state: deactivated]"); } /** * Читает статус эвента из базы. */ protected static boolean isActive() { return IsActive(_name); } /** * Спавнит эвент менеджеров */ protected void spawnEventManagers() { SpawnNPCs(EVENT_MANAGER_ID, EVENT_MANAGERS, _spawns); } /** * Удаляет спавн эвент менеджеров */ protected void unSpawnEventManagers() { deSpawnNPCs(_spawns); } @Override public void onReload() { unSpawnEventManagers(); } @Override public void onShutdown() { unSpawnEventManagers(); } /** * Обработчик смерти мобов, управляющий эвентовым дропом */ @Override public void onDeath(Creature cha, Creature killer) { if (_active && SimpleCheckDrop(cha, killer)) { final int[] letter = letters[Rnd.get(letters.length)]; if (Rnd.chance(letter[1] * Config.EVENT_L2DAY_LETTER_CHANCE * ((NpcTemplate) cha.getTemplate()).rateHp)) ((NpcInstance) cha).dropItem(killer.getPlayer(), letter[0], 1); } } /** * Запускает эвент */ public void startEvent() { final Player player = getSelf(); if (!player.getPlayerAccess().IsEventGm) return; if (SetActive(_name, true)) { spawnEventManagers(); System.out.println("Event '" + _name + "' started."); Announcements.getInstance().announceByCustomMessage(_msgStarted, null); } else player.sendMessage("Event '" + _name + "' already started."); _active = true; show("admin/events/events.htm", player); } /** * Останавливает эвент */ public void stopEvent() { final Player player = getSelf(); if (!player.getPlayerAccess().IsEventGm) return; if (SetActive(_name, false)) { unSpawnEventManagers(); System.out.println("Event '" + _name + "' stopped."); Announcements.getInstance().announceByCustomMessage(_msgEnded, null); } else player.sendMessage("Event '" + _name + "' not started."); _active = false; show("admin/events/events.htm", player); } /** * Обмен эвентовых вещей, где var[0] - слово. */ public void exchange(String[] var) { final Player player = getSelf(); if (!player.isQuestContinuationPossible(true)) return; if (!NpcInstance.canBypassCheck(player, player.getLastNpc())) return; final Integer[][] mss = _words.get(var[0]); for (final Integer[] l : mss) if (getItemCount(player, l[0]) < l[1]) { player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_REQUIRED_ITEMS); return; } for (final Integer[] l : mss) removeItem(player, l[0], l[1]); final RewardData[] rewards = _rewards.get(var[0]); int sum = 0; for (final RewardData r : rewards) sum += r.getChance(); final int random = Rnd.get(sum); sum = 0; for (final RewardData r : rewards) { sum += r.getChance(); if (sum > random) { addItem(player, r.getItemId(), Rnd.get(r.getMinDrop(), r.getMaxDrop())); return; } } } @Override public void onPlayerEnter(Player player) { } public String DialogAppend_31230(Integer val) { if (!_active) return ""; final StringBuilder append = new StringBuilder("<br><br>"); for (final String word : _words.keySet()) append.append("[scripts_").append(getClass().getName()).append(":exchange ").append(word).append("|").append(word).append("]<br1>"); return append.toString(); } }
  9. package l2f.gameserver.model.reward; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.ArrayUtils; import l2f.commons.math.SafeMath; import l2f.commons.util.Rnd; import l2f.gameserver.Config; import l2f.gameserver.data.xml.holder.ItemHolder; import l2f.gameserver.model.Player; import l2f.gameserver.templates.item.ItemTemplate; public class RewardData implements Cloneable { private final ItemTemplate _item; private boolean _notRate = false; // Rate things do not apply to private long _mindrop; private long _maxdrop; private double _chance; private double _chanceInGroup; public RewardData(int itemId) { _item = ItemHolder.getInstance().getTemplate(itemId); if (_item.isArrow() // Boom not Rate || (Config.NO_RATE_EQUIPMENT && _item.isEquipment()) // Switched rate equip || (Config.NO_RATE_KEY_MATERIAL && _item.isKeyMatherial()) // Switched rate key materials || (Config.NO_RATE_RECIPES && _item.isRecipe()) // Switched rate recipe || ArrayUtils.contains(Config.NO_RATE_ITEMS, itemId)) // individaulnaya switchable rate for a list of items _notRate = true; } public RewardData(int itemId, long min, long max, double chance) { this(itemId); _mindrop = min; _maxdrop = max; _chance = chance; } public boolean notRate() { return _notRate; } public void setNotRate(boolean notRate) { _notRate = notRate; } public int getItemId() { return _item.getItemId(); } public ItemTemplate getItem() { return _item; } public long getMinDrop() { return _mindrop; } public long getMaxDrop() { return _maxdrop; } public double getChance() { return _chance; } public void setMinDrop(long mindrop) { _mindrop = mindrop; } public void setMaxDrop(long maxdrop) { _maxdrop = maxdrop; } public void setChance(double chance) { _chance = chance; } public void setChanceInGroup(double chance) { _chanceInGroup = chance; } public double getChanceInGroup() { return _chanceInGroup; } @Override public String toString() { return "ItemID: " + getItem() + " Min: " + getMinDrop() + " Max: " + getMaxDrop() + " Chance: " + (getChance() / 10000.0) + "%"; } @Override public RewardData clone() { return new RewardData(getItemId(), getMinDrop(), getMaxDrop(), getChance()); } @Override public boolean equals(Object o) { if (o instanceof RewardData) { final RewardData drop = (RewardData) o; return drop.getItemId() == getItemId(); } return false; } /** * Counting the drop rate of this particular thing Used in the opening event, and some special arrangements * @param Player the player (it affects the chance of a bonus) * @param Mod (just a chance factor) * @return Information about things that fell */ public List<RewardItem> roll(Player player, double mod) { double rate = 1.0; if (_item.isAdena()) rate = Config.RATE_DROP_ADENA * player.getRateAdena(); else if (_item.isEpolets()) rate = Config.RATE_CHANCE_DROP_EPOLET * player.getRateEpolets(); else rate = Config.RATE_DROP_ITEMS * (player != null ? player.getRateItems() : 1.); return roll(rate * mod); } /** * Counting the drop rate of this particular thing Used in the opening event, and some special arrangements * @param Rate multiplier quantity * @return Information about things that fell */ public List<RewardItem> roll(double rate) { final double mult = Math.ceil(rate); final List<RewardItem> ret = new ArrayList<>(1); RewardItem t = null; long count; for (int n = 0; n < mult; n++) if (Rnd.get(RewardList.MAX_CHANCE) <= (_chance * Math.min(rate - n, 1.0))) { if (getMinDrop() >= getMaxDrop()) count = getMinDrop(); else count = Rnd.get(getMinDrop(), getMaxDrop()); if (t == null) { ret.add(t = new RewardItem(_item.getItemId())); t.count = count; } else t.count = SafeMath.addAndLimit(t.count, count); } return ret; } } }
  10. Hello guys, i have L2day event script and try to configure and change it, but don't know now how make 2 rewards :) 1 item 100% and other by chance... When i collect word "Chronicle" or "Lineage II" and pres to npc i wanna get 1 item 100% (unique item "Letter Collector's Gift") and + one item from the list... package l2f.gameserver.scripts.events.l2day; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import l2f.gameserver.model.reward.RewardData; public class l2day extends LettersCollection { static { _name = "l2day"; _msgStarted = "scripts.events.l2day.AnnounceEventStarted"; _msgEnded = "scripts.events.l2day.AnnounceEventStoped"; EVENT_MANAGERS = new int[][] {{ 83720, 149720, -3430, 49151 }}; _words.put("LineageII", new Integer[][] { { L, 1 }, { I, 1 }, { N, 1 }, { E, 2 }, { A, 1 }, { G, 1 }, { II, 1 } }); _rewards.put("LineageII", new RewardData[] { // Reward list new RewardData(0, 1, 1, 1000000), // 100% new RewardData(0, 1, 1, 750000), // 75% new RewardData(0, 1, 1, 500000), // 50% new RewardData(0, 1, 1, 250000), // 25% new RewardData(0, 1, 1, 100000), // 10% new RewardData(0, 1, 1, 50000), // 5% new RewardData(0, 1, 1, 5000), // 0.5% new RewardData(0, 1, 1, 1000), // 0.1% new RewardData(0, 1, 1, 100), }); // 0.01% _words.put("Chronicle", new Integer[][] { { C, 2 }, { H, 1 }, { R, 1 }, { O, 1 }, { N, 1 }, { I, 1 }, { L, 1 }, { E, 1 } }); _rewards.put("Chronicle", new RewardData[] { // Reward list new RewardData(0, 1, 1, 1000000), // 100% new RewardData(0, 1, 1, 750000), // 75% new RewardData(0, 1, 1, 500000), // 50% new RewardData(0, 1, 1, 250000), // 25% new RewardData(0, 1, 1, 100000), // 10% new RewardData(0, 1, 1, 50000), // 5% new RewardData(0, 1, 1, 5000), // 0.5% new RewardData(0, 1, 1, 1000), // 0.1% new RewardData(0, 1, 1, 100), }); // 0.01% final int DROP_MULT = 3; Map<Integer, Integer> temp = new HashMap <Integer, Integer>(); for(Integer[][] ii : _words.values()) for(Integer[] i : ii) { Integer curr = temp.get(i[0]); if(curr == null) temp.put(i[0], i[1]); else temp.put(i[0], curr + i[1]); } letters = new int[temp.size()][2]; int i = 0; for(Entry<Integer, Integer> e : temp.entrySet()) letters[i++] = new int[] { e.getKey(), e.getValue() * DROP_MULT }; } }
  11. Thanks ;) I will try to connect with that guys.
  12. Still need full working web!
  13. <button align="left" value="Quest Information" action="bypass -h npc_%objectId%_questlist" width=269 height=22 back="Mygtukas_001.Mygtukas_001_down" fore="Mygtukas_001.Mygtukas_001"> but Text is still in center :(
  14. First result :) Now need to know how to make that text in Button not in center and how change size and color for text :)
  15. Ok, I will try it, but need make alot of buttons by self then :D
  16. First need find where is that file with button style function :)
  17. Hello... So i need refresh H5 links in HTML Dialoges. How to make it? where found that styles? It is like in website i think so :) somewhere is file like .css or im wrong? :) Maybe someone can help? :)
  18. Good luck bro, you are trusted and skilled !!!
  19. Hello, im lf good H5 server files, retaile/clean ;) best files for low rate severs... Files must be with source, geodata, ans support - updates and fixes help ;)
  20. Hello guys! im lf website for Lineage H5, READY TO USE! With all account manager and control, auto donate and etc... All offers here with screen, or better with demo page! I try to pay good 100-200 euro....
  21. Hello guys? Maybe someone know why dont showing icons i macro table? but in shourtcut bar i can see icon for that macro? maybe someone need dublicate icon? in .utx files?
  22. Hmm :) Guys :D if i will post my interface? its all like this but for all server not for just RPG :D then i have more recc? :D and idont understand how post autor make post with shet :D
  23. Hello guys, i lf script for quest "Home Security" to make some water crystals... Maybe you know where found it? or can offer something?
  24. Hello guys, i lf script for quest "Home Security" to make some water crystals... Maybe you know where found it? or can offer something?
  25. Buy H5 low-mid rate server files! all info and price write her or skype: minzeeninzee
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock