r2r2
-
Posts
20 -
Credits
0 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Posts posted by r2r2
-
-
it must have a code about that somewhere in the start of the htm file after <body> tag starts something like this
<img src="TextureName.LogoName" width=300height=100>
just change the TextureName to your TextureName and the LogoName to your LogoName on the TextureName
Thanks
-
Someone knows how to change the welcome window logo (I have not found in the images folder)
and also change the logo of the Npc?
Thank you very much.
-
Extract full patch again
It work thanks Saruman
-
Logos or images are not displayed. Do you know how to fix it please? Thanks.
-
any backup file? or just use install.bat
install.bat and it's Ok
-
Well, I can not say its better or not, because both pack are base on Rebelion/Fandc files and Both have same Mods, except Mythras have some changes but nothing special.
Also if someone wants to open a server using Mythras files, go ahead, its nothing wrong with these sources but I guarantee you will fail like "Mythras Team". (Twice).
Cheers
Thank you for your explanations Akar0 ;)
-
Latest source from L2Tales... jajajaj
:D sure
-
-
-
How do you remove the AVA Lineage 2 logo please when launching the game please?
And client crash when create new character:
General protection fault!History: FDepthOfField::GetFocus <- UDOFEffect::PostRender <- FPlayerSceneNode::Render <- ViewportLock1 <- Precaching <- UGameEngine::Draw <- UWindowsViewport::Repaint <- UWindowsClient::Tick <- ClientTick <- UGameEngine::Tick <- UpdateWorld <- MainLoopWhy please? -
Thanks Akar0 ;)
-
Hello, first of all thank you very much for this pack. Very Nice!!!
Do we have the right to open a public server and modify the sources?
Thank you.
-
Melron thank you very much my friend, it works now!
-
Here is the code FightClubArena.java:
package events.FightClub; import l2r.commons.threading.RunnableImpl; import l2r.commons.util.Rnd; import l2r.gameserver.Config; import l2r.gameserver.ThreadPoolManager; import l2r.gameserver.data.xml.holder.InstantZoneHolder; import l2r.gameserver.listener.actor.OnDeathListener; import l2r.gameserver.listener.actor.player.OnPlayerExitListener; import l2r.gameserver.model.Creature; import l2r.gameserver.model.Player; import l2r.gameserver.model.actor.listener.CharListenerList; import l2r.gameserver.model.base.TeamType; import l2r.gameserver.model.entity.Reflection; import l2r.gameserver.model.instances.DoorInstance; import l2r.gameserver.templates.InstantZone; import l2r.gameserver.utils.ItemFunctions; import java.util.concurrent.ScheduledFuture; public class FightClubArena extends FightClubManager implements OnDeathListener, OnPlayerExitListener { protected static final String CLASS_NAME = "events.FightClub.FightClubManager"; private ScheduledFuture<?> _endTask; public static ScheduledFuture<?> _startTask; private boolean _isEnded = false; private Player _player1; private Player _player2; private static int _itemId; private static int _itemCount; private static Reflection _reflection; private InstantZone _instantZone = InstantZoneHolder.getInstance().getInstantZone(Rnd.get(609, 612)); public FightClubArena(Player player1, Player player2, int itemId, int itemCount, Reflection reflection) { //Подключаем листенеры персонажа CharListenerList.addGlobal(this); //Инициализируем переменные класса _player1 = player1; _player2 = player2; _itemId = itemId; _itemCount = itemCount; _reflection = reflection; _reflection.init(_instantZone); //Инициализируем сражение initBattle(); } /** * Вызывается при выходе игрока */ @Override public void onPlayerExit(Player player) { if((player.getStoredId() == _player1.getStoredId() || player.getStoredId() == _player2.getStoredId()) && !_isEnded) { stopEndTask(); setLoose((Player) player); } } /** * Вызывается при смерти игрока */ @Override public void onDeath(Creature actor, Creature killer) { if((actor.getStoredId() == _player1.getStoredId() || actor.getStoredId() == _player2.getStoredId()) && !_isEnded) { stopEndTask(); setLoose((Player) actor); } } private void stopEndTask() { _endTask.cancel(false); _endTask = ThreadPoolManager.getInstance().schedule(new EndTask(), 3000); } /** * Запускает таймеры боя */ private void initBattle() { final Object[] args = { _player1, _player2, _reflection }; _startTask = ThreadPoolManager.getInstance().scheduleAtFixedDelay(new StartTask(_player1, _player2), Config.ARENA_TELEPORT_DELAY * 1000, 1000); _endTask = ThreadPoolManager.getInstance().schedule(new EndTask(), ((Config.ARENA_TELEPORT_DELAY + Config.FIGHT_TIME)) * 1000); sayToPlayers("scripts.events.fightclub.TeleportThrough", Config.ARENA_TELEPORT_DELAY, false, _player1, _player2); executeTask(CLASS_NAME, "resurrectPlayers", args, Config.ARENA_TELEPORT_DELAY * 1000 - 600); executeTask(CLASS_NAME, "healPlayers", args, Config.ARENA_TELEPORT_DELAY * 1000 - 500); executeTask(CLASS_NAME, "teleportPlayersToColliseum", args, Config.ARENA_TELEPORT_DELAY * 1000); } /** * Удаляет ауру у игроков */ private void removeAura() { _player1.setTeam(TeamType.NONE); _player2.setTeam(TeamType.NONE); } /** * Выдаёт награду */ private void giveReward(Player player) { final String name = ItemFunctions.createItem(_itemId).getTemplate().getName(); sayToPlayer(player, "scripts.events.fightclub.YouWin", false, _itemCount * 2, name); addItem(player, _itemId, _itemCount * 2); } private static String getItemName() { final String name = ItemFunctions.createItem(_itemId).getTemplate().getName(); return name; } private static int getItemCount() { return _itemCount; } /** * Выводит скорбящее сообщение проигравшему ;) * @param player */ private void setLoose(Player player) { if(player.getStoredId() == _player1.getStoredId()) giveReward(_player2); else if(player.getStoredId() == _player2.getStoredId()) giveReward(_player1); _player1.unsetVar("FightClubRate"); _player2.unsetVar("FightClubRate"); _isEnded = true; sayToPlayer(player, "scripts.events.fightclub.YouLoose", false, new Object[0]); } /** * Метод, вызываемый при ничьей. Рассчитывает победителя или объявлет ничью. */ private void draw() { if(!Config.ALLOW_DRAW && _player1.getCurrentCp() != _player1.getMaxCp() || _player2.getCurrentCp() != _player2.getMaxCp() || _player1.getCurrentHp() != _player1.getMaxHp() || _player2.getCurrentHp() != _player2.getMaxHp()) { if(_player1.getCurrentHp() != _player1.getMaxHp() || _player2.getCurrentHp() != _player2.getMaxHp()) { if(_player1.getMaxHp() / _player1.getCurrentHp() > _player2.getMaxHp() / _player2.getCurrentHp()) { giveReward(_player1); setLoose(_player2); return; } else { giveReward(_player2); setLoose(_player1); return; } } else { if(_player1.getMaxCp() / _player1.getCurrentCp() > _player2.getMaxCp() / _player2.getCurrentCp()) { giveReward(_player1); setLoose(_player2); return; } else { giveReward(_player2); setLoose(_player1); return; } } } sayToPlayers("scripts.events.fightclub.Draw", true, _player1, _player2); addItem(_player1, _itemId, _itemCount); addItem(_player2, _itemId, _itemCount); } /** * Возващает ссылку на первого игрока * @return - ссылка на игрока */ protected Player getPlayer1() { return _player1; } /** * Возващает ссылку на второго игрока * @return - ссылка на игрока */ protected Player getPlayer2() { return _player2; } /** * Возвращает отражение * @return - reflection */ protected Reflection getReflection() { return _reflection; } /** * Вызывает метод суперкласса, удаляющий рефлекшен * @param arena - ссылка на арену */ private void delete(long delay) { final FightClubArena[] arg = { this }; executeTask(CLASS_NAME, "deleteArena", arg, delay); } protected static class StartTask extends RunnableImpl { private Player _player1; private Player _player2; private int _second; public StartTask(Player player1, Player player2) { _player1 = player1; _player2 = player2; _second = Config.TIME_TO_PREPARATION; } @Override public void runImpl() throws Exception { addBuffers(); switch(_second) { case 60: sayToPlayers("scripts.events.fightclub.TimeToStart", _second, false, _player1, _player2); break; case 30: sayToPlayers("scripts.events.fightclub.TimeToStart", _second, false, _player1, _player2); break; case 20: sayToPlayers("scripts.events.fightclub.TimeToStart", _second, false, _player1, _player2); break; case 10: sayToPlayers("scripts.events.fightclub.TimeToStart", _second, false, _player1, _player2); break; case 5: sayToPlayers("scripts.events.fightclub.TimeToStart", _second, false, _player1, _player2); break; case 3: sayToPlayers("scripts.events.fightclub.TimeToStart", _second, false, _player1, _player2); break; case 2: sayToPlayers("scripts.events.fightclub.TimeToStart", _second, false, _player1, _player2); break; case 1: sayToPlayers("scripts.events.fightclub.TimeToStart", _second, false, _player1, _player2); break; case 0: openDoors(); deleteBuffers(); startBattle(_player1, _player2); _startTask.cancel(true); _startTask = null; if(Config.FIGHT_CLUB_ANNOUNCE_START_TO_SCREEN) sayStartToAllPlayers("scripts.events.fightclub.AnnounceStartBatle", _player1, _player2, getItemName(), getItemCount(), false); } _second -= 1; } } private static String getBufferSpawnGroup(int instancedZoneId) { String bufferGroup = null; switch(instancedZoneId) { case 147: bufferGroup = "olympiad_147_buffers"; break; case 148: bufferGroup = "olympiad_148_buffers"; break; case 149: bufferGroup = "olympiad_149_buffers"; break; case 150: bufferGroup = "olympiad_150_buffers"; break; } return bufferGroup; } private static void addBuffers() { if(getBufferSpawnGroup(_reflection.getInstancedZoneId()) != null) _reflection.spawnByGroup(getBufferSpawnGroup(_reflection.getInstancedZoneId())); } private static void deleteBuffers() { _reflection.despawnByGroup(getBufferSpawnGroup(_reflection.getInstancedZoneId())); } private class EndTask extends RunnableImpl { private final Object[] args = { _player1, _player2, new Object[0] }; @Override public void runImpl() throws Exception { removeAura(); if(!_isEnded) { draw(); _isEnded = true; stopEndTask(); } sayToPlayers("scripts.events.fightclub.TeleportBack", Config.TIME_TELEPORT_BACK, false, _player1, _player2); executeTask(CLASS_NAME, "resurrectPlayers", args, Config.TIME_TELEPORT_BACK * 1000 - 300); executeTask(CLASS_NAME, "healPlayers", args, Config.TIME_TELEPORT_BACK * 1000 - 200); executeTask(CLASS_NAME, "teleportPlayersBack", args, Config.TIME_TELEPORT_BACK * 1000); delete((Config.TIME_TELEPORT_BACK + 10) * 1000); } } public static void openDoors() { for(DoorInstance door : _reflection.getDoors()) door.openMe(); } public FightClubArena() {} @Override public void onLoad() {} @Override public void onReload() {} @Override public void onShutdown() {} }
Thanks.
-
-
thanks a lot for your help Tryskell ;)
-
Hello!
I would add two autorestart as shown below:
AutoRestartAt = 0 14 * * *
How do i please? Thnak you very much.
-
Frankly Congratulations kama3a !
I do not regret my purchase, everything is present and it is a very good server.
Thank you alot and do not hesitate to buy it. ;)
-
Good morning people!
I want to congratulate the whole team L2J Sunrise for their wonderful work.
I recommend you buy their files again because my side i was not disappointed and everything is done as professionals.
This is a very serious team and you can trust.
Thank you NerverMore. ;)
H5 L2Mythras Files - Sources, Compiled, Geo, Patch.
in Server Shares & Files [L2J]
Posted · Edited by r2r2
Hello!
In these files, I did not find how to put enchanted Weapons to the NPCs, (EnableRandomEnchantEffect)
maybe the code should be added if so how can I do it please?
Thanks a lot for your help!
Have a good day.