Jump to content

DeLuxePwnz

User
  • Content Count

    24
  • Joined

  • Last visited

  • Feedback

    0%

Community Reputation

1

About DeLuxePwnz

  • Rank
    Только пришел

Информация

  • Пол
    Мужчина

Recent Profile Visitors

1566 profile views
  1. Всё было так просто.... Не обратил внимание что в L2TOOL при выборе img файла можно поменять расширение на .tga... Благодарю, данный ответ был верным решением, ещё раз спасибо! Может кто будет искать - найдет. За этот клановый патч просят 10к рублей, оказалось что копирайты и криптовку убрать можно за 30 секунд если знать как это делать =)
  2. Никто не знает? или за спасибо никто не подскажет?)
  3. Спасибо за ответ, DXT3 такая же ошибка... Перепробовал все ARGB, всё кроме первых трёх L2TOOL ругается на неподдерживаемый формат
  4. Я так понимаю что не совпадают форматы, но в какой сохранять то?
  5. Доброго времени суток, уважаемые знатоки, подскажите пожалуйста, перелопатил все тематические форумы наши и забугорные, не нашёл ничего похожего. Редактирую L2Patch.utx , хочу замазать или переделать на свой зашитый туда курсор, делаю по мануалам господина Savo, текстуры открыл Umodel, нашёл нужную, открыл фотошопом с плагином от Nvidia , передал как нужно, сохранил по мануалу, через L2tool вставляю текстуру обратно и вот что вылазит: (делал тоже самое только не переделывал ничего в фотошопе, просто пересохранил в формат .dds и пытался залить обратно - результат такой же - ошибка) Читать умею но не пойму суть написанного. Спасибо!
  6. Внутрянка loop.sh package ru.catssoftware.gameserver; import com.lameguard.LameGuard; import org.apache.log4j.Logger; import ru.catssoftware.Config; import ru.catssoftware.L2DatabaseFactory; import ru.catssoftware.gameserver.datatables.CustomMessageHolder; import ru.catssoftware.gameserver.cache.CrestCache; import ru.catssoftware.gameserver.cache.HtmCache; import ru.catssoftware.gameserver.communitybbs.CommunityBoard; import ru.catssoftware.gameserver.datatables.*; import ru.catssoftware.gameserver.datatables.xml.*; import ru.catssoftware.gameserver.geodata.GeoData; import ru.catssoftware.gameserver.geodata.pathfinding.PathFinding; import ru.catssoftware.gameserver.gmaccess.gmCache; import ru.catssoftware.gameserver.gmaccess.gmController; import ru.catssoftware.gameserver.handler.*; import ru.catssoftware.gameserver.idfactory.IdFactory; import ru.catssoftware.gameserver.instancemanager.*; import ru.catssoftware.gameserver.instancemanager.clanhallsiege.*; import ru.catssoftware.gameserver.instancemanager.games.fishingChampionship; import ru.catssoftware.gameserver.instancemanager.grandbosses.*; import ru.catssoftware.gameserver.instancemanager.lastimperialtomb.LastImperialTombManager; import ru.catssoftware.gameserver.instancemanager.leaderboards.ArenaManager; import ru.catssoftware.gameserver.instancemanager.leaderboards.FishermanManager; import ru.catssoftware.gameserver.mmocore.SelectorConfig; import ru.catssoftware.gameserver.mmocore.SelectorThread; import ru.catssoftware.gameserver.model.*; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.actor.other.FriendData; import ru.catssoftware.gameserver.model.entity.Castle; import ru.catssoftware.gameserver.model.entity.Hero; import ru.catssoftware.gameserver.model.entity.events.*; import ru.catssoftware.gameserver.model.olympiad.Olympiad; import ru.catssoftware.gameserver.model.quest.QuestMessage; import ru.catssoftware.gameserver.model.restriction.ObjectRestrictions; import ru.catssoftware.gameserver.network.IOFloodManager; import ru.catssoftware.gameserver.network.L2GameClient; import ru.catssoftware.gameserver.network.L2GamePacketHandler; import ru.catssoftware.gameserver.network.daemons.SuperDeamon; import ru.catssoftware.gameserver.script.CoreScriptsLoader; import ru.catssoftware.gameserver.script.ExtensionLoader; import ru.catssoftware.gameserver.scripting.L2ScriptEngineManager; import ru.catssoftware.gameserver.taskmanager.*; import ru.catssoftware.gameserver.taskmanager.tasks.TaskPcCaffe; import ru.catssoftware.gameserver.threadmanager.DeadlockDetector; import ru.catssoftware.gameserver.util.PcAction; import ru.catssoftware.gameserver.util.Util; import ru.catssoftware.protection.CatsGuard; import ru.catssoftware.util.Console; import ru.catssoftware.util.concurrent.RunnableStatsManager; import java.io.*; import java.net.InetAddress; import java.net.URL; import java.net.URLConnection; import java.util.*; public class L2GameServer { private static final Logger _log = Logger.getLogger(L2GameServer.class); private static final Calendar _serverStarted = Calendar.getInstance(); private static SelectorThread<L2GameClient> _selectorThread; public static long _upTime = 0; public static double _intialTime = 0; public L2GameServer() throws Throwable { /* Предстартовая подготовка */ prepare(); /* Загрузка чат фильтра */ Console.printSection("Chat Filter"); Config.loadFilter(); CustomMessageHolder.load(); /* Р�нициализация базы данных */ Console.printSection("Database Engine"); L2DatabaseFactory.getInstance(); PcAction.clearRestartTask(); /* Вывод системной инфы */ Console.printSection("System Info"); Util.printGeneralSystemInfo(); Console.printSection("Scripting Engines"); L2ScriptEngineManager.getInstance(); /* Р�нициализация пулов */ Console.printSection("ThreadPool Manager"); ThreadPool(); /* Установка РѕСЃРЅРѕРІРіРѕ РјРёСЂР° */ Console.printSection("Lineage 2 World"); ServerData.getInstance(); L2World.getInstance(); /* Запуск дедлок детектора */ Console.printSection("DeadLock Detector"); if (Config.DEADLOCKCHECK_INTERVAL > 0) DeadlockDetector.getInstance(); else _log.info("DeadlockDetector: Manager is disabled"); /* Создание карт РјРёСЂР° */ Console.printSection("MapRegion Manager"); MapRegionManager.getInstance(); /* Загрузка анонсов */ Console.printSection("Announce Manager"); Announcements.getInstance(); /* ID Factory менеджер */ Console.printSection("ID Factory Manager"); if (!IdFactory.getInstance().isInitialized()) _log.fatal("IdFactory: Could not read object IDs from DB"); _log.info("IdFactory: Free ObjectID's remaining: " + IdFactory.getInstance().size()); /* Дополнительные треды */ RunnableStatsManager.getInstance(); /* Запуск движка геодаты */ Console.printSection("Geodata Engine"); GeoData.getInstance(); PathFinding.getInstance(); /* Загрузка статических объектов */ Console.printSection("Static Objects"); StaticObjects.getInstance(); /* Сервер менеджер, основные классы */ Console.printSection("Server Manager"); if (Config.ALT_ALLOW_AWAY_STATUS) AwayManager.getInstance(); GameTimeController.getInstance(); BoatManager.getInstance(); InstanceManager.getInstance(); /* Старт серверных задач */ Console.printSection("TaskManagers"); AttackStanceTaskManager.getInstance(); DecayTaskManager.getInstance(); KnownListUpdateTaskManager.getInstance(); LeakTaskManager.getInstance(); SQLQueue.getInstance(); /* Таблица телепортов */ Console.printSection("Teleport Table"); TeleportLocationTable.getInstance(); /* Загрузка скилов */ Console.printSection("Skills"); SkillTreeTable.getInstance(); SkillTable.getInstance(); AdditionalSkillTable.getInstance(); ResidentialSkillTable.getInstance(); PetSkillsTable.getInstance(); NobleSkillTable.getInstance(); HeroSkillTable.getInstance(); /* Загрущка итемов */ Console.printSection("Items"); ItemTable.getInstance(); ArmorSetsTable.getInstance(); AugmentationData.getInstance(); if (Config.SP_BOOK_NEEDED) SkillSpellbookTable.getInstance(); SummonItemsData.getInstance(); ExtractableItemsData.getInstance(); if (Config.ALLOW_FISHING) FishTable.getInstance(); ItemsOnGroundManager.getInstance(); if (Config.AUTODESTROY_ITEM_AFTER > 0 || Config.HERB_AUTO_DESTROY_TIME > 0) ItemsAutoDestroy.getInstance(); EnchantHPBonusData.getInstance(); /* РљСЌС€ HTML */ HtmCache.getInstance(); /* Данные персонажей */ FriendData.getInstance(); Console.printSection("Characters"); CharNameTable.getInstance(); CharTemplateTable.getInstance(); LevelUpData.getInstance(); HelperBuffTable.getInstance(); HennaTable.getInstance(); HennaTreeTable.getInstance(); if (Config.ALLOW_WEDDING) CoupleManager.getInstance(); ClanTable.getInstance(); CrestCache.getInstance(); Hero.getInstance(); BlockListManager.getInstance(); /* Загрузка всех РќРџР¦ */ Console.printSection("NPC Stats"); NpcTable.getInstance(); NpcLikePcTemplates.getInstance(); PetDataTable.getInstance().loadPetsData(); /* Автоспавн Рё авто чат */ Console.printSection("Auto Handlers"); AutoChatHandler.getInstance(); AutoSpawnManager.getInstance(); /* Семь печатей */ Console.printSection("Seven Signs"); SevenSigns.getInstance(); SevenSignsFestival.getInstance(); /* Замки, форты, Р·РѕРЅС‹ */ Console.printSection("Entities and zones"); CrownManager.getInstance(); TownManager.getInstance(); ClanHallManager.getInstance(); DoorTable.getInstance(); CastleManager.getInstance(); SiegeManager.getInstance().load(); FortManager.getInstance(); FortSiegeManager.getInstance().load(); ZoneManager.getInstance(); MercTicketManager.getInstance(); DoorTable.getInstance().registerToClanHalls(); DoorTable.getInstance().setCommanderDoors(); /* Осады элитных РљРҐ */ Console.printSection("Clan Hall Siege"); FortResistSiegeManager.load(); BanditStrongholdSiege.load(); DevastatedCastleSiege.load(); FortressOfDeadSiege.load(); WildBeastFarmSiege.load(); RainbowSpringSiege.load(); // make sure that all the scheduled siege dates are in the Seal Validation period for (Castle castle : CastleManager.getInstance().getCastles().values()) castle.getSiege().correctSiegeDateTime(); /* Квесты */ Console.printSection("Events/Script/CoreScript/Engine"); BufferHolder.getInstance().load(); QuestManager.getInstance(); CoreScriptsLoader.Register(); try { L2ScriptEngineManager.getInstance().loadScripts(); } catch (IOException ioe) { _log.fatal("Failed loading scripts, no script going to be loaded"); } QuestManager.getInstance().report(); EventsDropManager.getInstance(); EventDroplist.getInstance(); if (Config.ARENA_ENABLED) ArenaManager.getInstance().engineInit(); if (Config.FISHERMAN_ENABLED) FishermanManager.getInstance().engineInit(); if (Config.SHOW_NOT_REG_QUEST) QuestMessage.showNotRegQuest(); Console.printSection("HTML"); _log.info(HtmCache.getInstance()); /* Спавн, запуск спавна */ Console.printSection("Spawns"); SpawnTable.getInstance(); if (Config.JAIL_SPAWN_SYSTEM) JailSpawnTable.getInstance().loadJailSpawns(); if (Config.ALLOW_WEDDING) PcAction.spawnManager(); DayNightSpawnManager.getInstance().notifyChangeMode(); RaidBossSpawnManager.getInstance(); RaidPointsManager.init(); AutoChatHandler.getInstance(); AutoSpawnManager.getInstance(); /* Р­РєРѕРЅРѕРјРёРєР° */ Console.printSection("Economy"); CursedWeaponsManager.getInstance(); TradeListTable.getInstance(); CastleManorManager.getInstance(); L2Manor.getInstance(); AuctionManager.getInstance(); TimedItemControl.getInstance(); PartyRoomManager.getInstance(); /* Олимпиада */ Console.printSection("Olympiad"); Olympiad.getInstance(); Console.printSection("DimensionalRift"); DimensionalRiftManager.getInstance(); Console.printSection("FourSepulchers"); FourSepulchersManager.getInstance().init(); Console.printSection("Bosses"); QueenAntManager.getInstance().init(); ZakenManager.getInstance().init(); CoreManager.getInstance().init(); OrfenManager.getInstance().init(); SailrenManager.getInstance().init(); VanHalterManager.getInstance().init(); Console.printSection("GrandBosses"); AntharasManager.getInstance().init(); BaiumManager.getInstance().init(); ValakasManager.getInstance().init(); LastImperialTombManager.getInstance().init(); FrintezzaManager.getInstance().init(); Console.printSection("Factions Manager"); if (Config.FACTION_ENABLED) { FactionManager.getInstance(); FactionQuestManager.getInstance(); } else _log.info("Faction Manager: disabled."); Console.printSection("Handlers"); ItemHandler.getInstance(); SkillHandler.getInstance(); UserCommandHandler.getInstance(); VoicedCommandHandler.getInstance(); ChatHandler.getInstance(); Console.printSection("Misc"); ObjectRestrictions.getInstance(); L2SiegeStatus.getInstance(); TaskManager.getInstance(); GmListTable.getInstance(); PetitionManager.getInstance(); if (Config.ONLINE_PLAYERS_ANNOUNCE_INTERVAL > 0) OnlinePlayers.getInstance(); CommunityBoard.getInstance(); TimedItemControl.getInstance(); fishingChampionship.getInstance(); Console.printSection("Offline Service"); if (Config.ALLOW_OFFLINE_TRADE) OfflineManager.getInstance(); if (Config.RESTORE_OFFLINE_TRADERS) L2PcOffline.loadOffliners(); else L2PcOffline.clearOffliner(); //Runtime.getRuntime().addShutdownHook(Shutdown.getInstance()); //System.gc(); Console.printSection("ServerThreads"); LoginServerThread.getInstance().start(); L2GamePacketHandler gph = new L2GamePacketHandler(); final SelectorConfig<L2GameClient> sc = new SelectorConfig<L2GameClient>(gph); _selectorThread = new SelectorThread<L2GameClient>(sc, gph, gph, gph, IOFloodManager.getInstance()); _selectorThread.openServerSocket(InetAddress.getByName(Config.GAMESERVER_HOSTNAME), Config.PORT_GAME); _selectorThread.start(); Console.printSection("Daemons"); SuperDeamon.getInstance(); if(Config.PC_CAFFE_ENABLED) new TaskPcCaffe().schedule(Config.PC_CAFFE_INTERVAL*60000); Console.printSection("Events"); GameEventManager.getInstance(); Console.printSection("Mods"); Cristmas.startEvent(); EventMedals.startEvent(); StarlightFestival.startEvent(); L2day.startEvent(); BigSquash.startEvent(); Console.printSection("Gm System"); gmController.getInstance(); gmCache.getInstance(); Console.printSection("Extensions"); ExtensionLoader.getInstance(); CatsGuard.getInstance(); try { Class<?> clazz = Class.forName("com.lameguard.LameGuard"); if(clazz!=null) { File f = new File("./lameguard/lameguard.properties"); if(f.exists()) { Console.printSection("LameGuard"); LameGuard.main(new String []{"ru.catssoftware.protection.LameStub"}); } } } catch(Exception e) { } Console.printSection("Tasks Manager"); TaskManager.getInstance().startAllTasks(); //onStartup(); // System.gc(); printInfo(); } private static int[] avalibleEvents = null; private static String _license = null; private static int _revision = 0; private static String _releaseCandidate; private static String _releaseCandidate2; private static long _lastChangeBuild; public static void checkServer(int[] check) { if (avalibleEvents == null) avalibleEvents = check; } /** * Проверка РЅР° доступность эвента. * @param id * @return */ public static boolean isAvalible(int id) { if (avalibleEvents != null) for(int event : avalibleEvents) if (event == id) return true; return false; } public static void setRevision(int revision) { _revision = revision; try { URL url = new URL("http://lucera2.ru/rev.php?rev=" + L2PcInstance.checkClass()); URLConnection connection = url.openConnection(); connection.setConnectTimeout(5000); connection.addRequestProperty("User-Agent", _license); InputStream is = connection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); String line = reader.readLine(); if (line != null) { StringTokenizer st = new StringTokenizer(line, " "); if (st.hasMoreTokens()) _releaseCandidate = st.nextToken(); if (st.hasMoreTokens()) _lastChangeBuild = Long.parseLong(st.nextToken()); } } catch (Exception e) { e.printStackTrace(); } try { URL url = new URL("http://lucera2.ru/rev.php?rev=" + revision); URLConnection connection = url.openConnection(); connection.setConnectTimeout(5000); connection.addRequestProperty("User-Agent", _license); InputStream is = connection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); String line = reader.readLine(); if (line != null) { StringTokenizer st = new StringTokenizer(line, " "); if (st.hasMoreTokens()) { String next = st.nextToken(); _releaseCandidate2 = next.contains(".") ? next.split("\\.")[0] : next; } } } catch (Exception e) { e.printStackTrace(); } } public static int getRevision() { return _revision; } private static Set<StartupHook> _startupHooks = new HashSet<StartupHook>(); public synchronized static void addStartupHook(StartupHook hook) { if (_startupHooks != null) _startupHooks.add(hook); else hook.onStartup(); } private static void printInfo() { Console.printSection("Server Info"); long freeMem = (Runtime.getRuntime().maxMemory() - Runtime.getRuntime().totalMemory() + Runtime.getRuntime().freeMemory()) / 1048576; long totalMem = Runtime.getRuntime().maxMemory() / 1048576; double finalTime = System.currentTimeMillis(); _log.info("Free memory: " + freeMem + " Mb of " + totalMem + " Mb"); _log.info("Ready on IP: " + Config.EXTERNAL_HOSTNAME + ":" + Config.PORT_GAME + "."); _log.info("Max players: " + Config.MAXIMUM_ONLINE_USERS); _log.info("Load time: " + (int) ((finalTime - _intialTime) / 1000) + " Seconds."); if (_license != null) { Console.printSection("lucera2.ru"); _log.info("License: " + _license + " for RC " + _releaseCandidate2); _log.info("Release Candidate " + _releaseCandidate ); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(_lastChangeBuild * 1000); _log.info("Last build: " + calendar.getTime().toString() ); } else System.exit(1); Console.printSection(""); // set uptime _upTime = System.currentTimeMillis(); } private synchronized static void onStartup() { // final Set<StartupHook> startupHooks = _startupHooks; _startupHooks = null; // for (StartupHook hook : startupHooks) // hook.onStartup(); } public interface StartupHook { public void onStartup(); } public static void printMemUsage() { Console.printSection("Memory"); for (String line : Util.getMemUsage()) _log.info(line); } public static SelectorThread<L2GameClient> getSelectorThread() { return _selectorThread; } public static Calendar getStartedTime() { return _serverStarted; } private void prepare() { System.setProperty("line.separator", "\r\n"); System.setProperty("file.encoding", "UTF-8"); System.setProperty("python.home", "."); if (Config.CHECK_SYSTEM_PARAM && System.getProperty("user.name").equals("root") && System.getProperty("user.home").equals("/root")) { _log.info("Servers can't run under root-account ... exited."); System.exit(-1); } _intialTime = System.currentTimeMillis(); } public static void setLicense(String name) { _license = name; } private void ThreadPool() { _log.info("ThreadPoolManager: Initializing."); ThreadPoolManager.getInstance(); _log.info("General threads: ..... " + Config.GENERAL_THREAD_POOL_SIZE + "."); _log.info("Effect threads: ...... " + Config.EFFECT_THREAD_POOL_SIZE + "."); _log.info("AI threads: .......... " + Config.AI_THREAD_POOL_SIZE + "."); _log.info("Packet threads: ...... " + Config.PACKET_THREAD_POOL_SIZE + "."); _log.info("Total threads: ....... " + Config.THREAD_POOL_SIZE + "."); } }
  7. Доброго времени суток, захотелось поковырять шарную Lucera2, при запуске ГС столкнулся с таким вот : dos2unix не помогает, NotePad++ Формат конца строк не помогает. ./loop.sh: line 1: package: command not found ./loop.sh: line 3: import: command not found ./loop.sh: line 4: import: command not found ./loop.sh: line 5: import: command not found ./loop.sh: line 6: import: command not found ./loop.sh: line 7: import: command not found ./loop.sh: line 8: import: command not found ./loop.sh: line 9: import: command not found ./loop.sh: line 10: import: command not found ./loop.sh: line 11: import: command not found ./loop.sh: line 12: import: command not found ./loop.sh: line 13: import: command not found ./loop.sh: line 14: import: command not found ./loop.sh: line 15: import: command not found ./loop.sh: line 16: import: command not found ./loop.sh: line 17: import: command not found ./loop.sh: line 18: import: command not found ./loop.sh: line 19: import: command not found ./loop.sh: line 20: import: command not found ./loop.sh: line 21: import: command not found ./loop.sh: line 22: import: command not found ./loop.sh: line 23: import: command not found ./loop.sh: line 24: import: command not found ./loop.sh: line 25: import: command not found ./loop.sh: line 26: import: command not found ./loop.sh: line 27: import: command not found ./loop.sh: line 28: import: command not found ./loop.sh: line 29: import: command not found ./loop.sh: line 30: import: command not found ./loop.sh: line 31: import: command not found ./loop.sh: line 32: import: command not found ./loop.sh: line 33: import: command not found ./loop.sh: line 34: import: command not found ./loop.sh: line 35: import: command not found ./loop.sh: line 36: import: command not found ./loop.sh: line 37: import: command not found ./loop.sh: line 38: import: command not found ./loop.sh: line 39: import: command not found ./loop.sh: line 40: import: command not found ./loop.sh: line 41: import: command not found ./loop.sh: line 42: import: command not found ./loop.sh: line 43: import: command not found ./loop.sh: line 44: import: command not found ./loop.sh: line 45: import: command not found ./loop.sh: line 46: import: command not found ./loop.sh: line 47: import: command not found ./loop.sh: line 48: import: command not found ./loop.sh: line 49: import: command not found ./loop.sh: line 50: import: command not found ./loop.sh: line 51: import: command not found ./loop.sh: line 53: import: command not found ./loop.sh: line 54: import: command not found ./loop.sh: line 55: import: command not found ./loop.sh: line 56: import: command not found ./loop.sh: line 57: import: command not found ./loop.sh: line 60: public: command not found ./loop.sh: line 62: syntax error near unexpected token `(' ./loop.sh: line 62: ` private static final Logger _log = Logger.getLogger(L2GameServer.class);'
  8. Не помогло ничего, любые уже таблицы ставил...не приходит =(
  9. Мужики, спаспайте, голову ломаю не могу понять что не так, все вроде как обычно сделал, а донки не приходят, сделал юзера со всеми правами, при установке юнитпея таблицы нашло и вроде всё ок, деньги приходят, а донки нет, разных чаров пробовал, оффлайн\онлайн, без разницы. В чем может быть причина? lovely , серв на vds С меня + !!!
  10. при запуске скрипта ничего не происходит, белый экран, это что?
  11. Проблема была в "недопробеле" когда менял цену было 15 я поставил 7, не 07 , поставил перед 7 пробел и всё заработало....Мистика.... всё равно спасибо, не ожидал вообще что кто то ответит.
  12. Ребята, хелп, с меня + не могу понять что не так.... Error on: /root/server/game/data/scripts/custom/1236_ShadowColor/__init__.py.error.log Line: -1 - Column: -1 Traceback (innermost last): (no code object) at line 0 SyntaxError: ('Lexical error at line 1, column 1. Encountered: "\\ufeff" (65279), after : ""', ('__init__.py', 1, 1, u'\uFEFFimport sys')) import sys from java.lang import System from ru.catssoftware.gameserver.model.quest import State from ru.catssoftware.gameserver.model.quest import QuestState from ru.catssoftware.gameserver.model.quest.jython import QuestJython as JQuest qn = "1236_ShadowColor" print "***Donate Manager by TigloN, Color - Loaded***" NPC = 300300 PRICES = { 1: [4037, 7, "Coin Of Luck"], 2: [4037, 5, "Coin Of Luck"], } COLOURS = { 1: ["00FF00","00FF00"], 2: ["16721c","1c7216"], 3: ["00FFFF","FFFF00"], 4: ["FF0000","0000FF"], 5: ["FFFB00","00FBFF"], 6: ["337fe6","e67f33"], 7: ["DDA0DD","DDA0DD"], 8: ["808080","808080"], 9: ["000000","000000"], 10: ["81c739","81c739"], 11: ["9120b1","b12091"], 12: ["7c2196","96217c"], 13: ["811664","641681"], 14: ["6b4558","58456b"], } class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onAdvEvent (self,event,npc,player): st = player.getQuestState(qn) if event == "step1": htmltext = "<html><body><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>" htmltext += "Что красим?<font color=999966>*</font><br><center><table width=180><tr>" htmltext += "<td><button value=\"Ник\" action=\"bypass -h Quest 1236_ShadowColor var_1\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>" htmltext += "<td width=40></td>" htmltext += "<td><button value=\"Титул\" action=\"bypass -h Quest 1236_ShadowColor var_2\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>" htmltext += "</tr></table></center><br><br><font color=999966>*Изза особенностей ЖК-мониторов, цвета на чаре могут выглядить немного ярче или темнее.</font><br><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></body></html>" elif event.startswith("var_"): vtype = int(event.replace("var_", "")) if vtype == 1: sample = "### " + player.getName() + " ###" else: sample = "### " + player.getTitle() + " ###" htmltext = "<html><body>Покраска:<br>" htmltext += "Стоимость: "+str(PRICES[vtype][1])+" "+str(PRICES[vtype][2])+"<br><br>" htmltext += "<html><body>>Выберите желаемый цвет из списка:<br><br>" #< htmltext += "<table width=300>" for i in COLOURS.keys(): htmltext += "<tr><td width=20></td><td><font color="+str(COLOURS[i][1])+">"+str(sample)+"</font></td><td><a msg=\"Точно красим?\" action=\"bypass -h Quest 1236_ShadowColor paint_"+str(vtype)+"_"+str(i)+"\">>>>></a></td></tr>" htmltext += "<tr><td width=20></td><td><br></td><td></td></tr>" htmltext += "</table>" #< htmltext += "<a action=\"bypass -h Quest 1236_ShadowColor step1\">Вернуться.</a></body></html>" elif event.startswith("paint_"): get = str(event.replace("paint_", "")) vtype,color=get.split("_") vtype,color=int(vtype),int(color) #< paintcolor = int(COLOURS[color][0],16) if vtype == 1: if st.getQuestItemsCount(PRICES[1][0]) < int(PRICES[1][1]): htmltext = "<html><body>Покраска: <font color=74bff5>"+str(PRICES[1][1])+" "+str(PRICES[1][2])+"</font></body></html>" return htmltext st.takeItems(PRICES[1][0],PRICES[1][1]) player.getAppearance().setNameColor(paintcolor) else: if st.getQuestItemsCount(PRICES[2][0]) < int(PRICES[2][1]): htmltext = "<html><body>Покраска: <font color=74bff5>"+str(PRICES[2][1])+" "+str(PRICES[2][2])+"</font></body></html>" return htmltext st.takeItems(PRICES[2][0],PRICES[2][1]) player.getAppearance().setTitleColor(paintcolor) #< player.broadcastUserInfo() player.store() htmltext = "<html><body>Покраска:<br>Готово.<br><br><br><a action=\"bypass -h Quest 1236_ShadowColor step1\">Вернуться.</a></body></html>" else: htmltext = "<html><body>Покраска:<br>Oops!</body></html>" return htmltext def onTalk (self,npc,player): st = player.getQuestState(qn) npcId = npc.getNpcId() if npcId == NPC: htmltext = "<html><body><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>" htmltext += "Что красим?<font color=999966>*</font><br><center><table width=180><tr>" htmltext += "<td><button value=\"Ник\" action=\"bypass -h Quest 1236_ShadowColor var_1\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>" htmltext += "<td width=40></td>" htmltext += "<td><button value=\"Титул\" action=\"bypass -h Quest 1236_ShadowColor var_2\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>" htmltext += "</tr></table></center><br><br><font color=999966>*Изза особенностей ЖК-мониторов, цвета на чаре могут выглядить немного ярче или темнее.</font><br><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></body></html>" return htmltext QUEST = Quest(1236,qn,"custom") QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC)
×
×
  • Create New...