Jump to content

Recommended Posts

Posted

pictures ? info ? what do we download ? 

 

http://prntscr.com/d24lxv

http://prntscr.com/d24mqt

 

i downloaded and kaspersky found trojan, let me know if is the same for you, maybe my antivirus gone crazy

 

your kaspersky is crazy like Google Chrome...

Posted

thats caused by quality of that pack, kaspersky wanted to save you from opening these files XD

That isn't true... it protects the people at the marketplace!

Posted

I saw a lot files with this head:

 

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
 
So I doubt this is real sources of l2scripts
 
just so you know...
Posted

server run is fine but stuck on server selection

 

[root@localhost gameserver]# cat log/stdout.log
[12:53:39]  INFO =================================================
[12:53:39]  INFO Authserver host info: IP[192.168.69.130], PORT[9014]
[12:53:39]  INFO =================================================
[12:53:39]  INFO Gameserver host info:
[12:53:39]  INFO ID[1], IP[192.168.69.130], INNER_IP[192.168.69.130], PORT[7777]
[12:53:39]  INFO =================================================
[12:53:39]  INFO Abuse: Loaded 18 abuse words.
[12:53:39]  INFO IdFactory: Clear characters online status.
[12:53:39]  INFO IdFactory: Cleaned 0 elements from database in 0sec.
[12:53:39]  INFO IdFactory: Extracted 1 used id's from characters
[12:53:39]  INFO IdFactory: Extracted 23 used id's from items
[12:53:39]  INFO IdFactory: Extracted total 24 used id's.
[12:53:39]  INFO IdFactory: 102912 id's available.
[12:53:39]  INFO LFC: Loaded with 60 arenas!
[12:53:39]  INFO LFC Global Statistics: Loaded with 2 characters!
[12:53:39]  INFO LFC Local Statistics: Loaded with 2 fights!
[12:53:39]  INFO Custom Mobs: Loaded with 1 raid stats
[12:53:39]  INFO Custom Mobs: Loaded with 0 monster stats
[12:53:39]  INFO Premium Info: Loaded with 4 premium options
[12:53:39]  INFO BotManager System: Loaded 47 questions total
[12:53:39]  INFO Free PA manager loaded size: 0
[12:53:39]  INFO Hidden items loaded size: 0
[12:53:39]  INFO CustomHeroDAO: loaded 0 custom heroes.
[12:53:39]  INFO HWIDBan: Black list (Hwid) loaded size: 0
[12:53:39]  INFO Scripts: Loading...
[12:53:45]  INFO Scripts: Loaded 1182 classes.
[12:53:45]  INFO Loaded 418 translit entries.
[12:53:45]  INFO GameTimeController: initialized. Current time is 11:22 in the day.
[12:53:45]  INFO L2World: Creating regions: [256][272][32].
[12:53:45]  INFO HtmCache: disabled.
[12:53:45]  INFO StringsHolder: load strings: 655 for lang: ENGLISH
[12:53:45]  INFO StringsHolder: load strings: 658 for lang: RUSSIAN
[12:53:45]  INFO ItemNameHolder: load item names: 37321 for lang: ENGLISH
[12:53:45]  INFO ItemNameHolder: load item names: 37358 for lang: RUSSIAN
[12:53:45]  INFO SkillNameHolder: load skill names: 202838 for lang: ENGLISH
[12:53:45]  INFO SkillNameHolder: load skill names: 202838 for lang: RUSSIAN
[12:53:45]  INFO SkillEnchantInfoHolder: loaded 30 skill enchant info(s) count.
[12:54:00]  INFO SkillHolder: loaded 203925 skill(s) count.
[12:54:00]  INFO OptionDataHolder: loaded 28029 option data(s) count.
[12:54:00]  INFO VariationDataHolder: loaded 37 variation data(s) count.
[12:54:03]  INFO ItemHolder: loaded 37462 item(s) count.
[12:54:03]  INFO RecipeHolder: loaded 1602 recipe(s) count.
[12:54:03]  INFO AlchemyDataHolder: loaded 112 alchemy data(s) count.
[12:54:03]  INFO CrystallizationDataHolder: loaded 7 crystallization data(s) count.
[12:54:03]  INFO SynthesisDataHolder: loaded 241 synthesis data(s) count.
[12:54:03]  INFO BaseStatsBonusHolder: loaded 200 base stats bonus(s) count.
[12:54:03]  INFO BeautyShopHolder: loaded 7 beauty shop(s) count.
[12:54:03]  INFO LevelBonusHolder: loaded 127 level bonus(s) count.
[12:54:03]  INFO KarmaIncreaseDataHolder: loaded 127 karma increase data(s) count.
[12:54:03]  INFO HitCondBonusHolder: loaded 7 hit cond bonus(s) count.
[12:54:03]  INFO PlayerTemplateHolder: loaded 26 player template(s) count.
[12:54:03]  INFO ClassDataHolder: loaded 153 class data(s) count.
[12:54:04]  INFO TransformTemplateHolder: loaded 280 transform template(s) count.
[12:54:06]  INFO NpcHolder: loaded 13959 npc(s) count.
[12:54:06]  INFO LootHolder: loaded 3223 loot(s) count.
[12:54:07]  INFO PetDataHolder: loaded 52 pet data(s) count.
[12:54:07]  INFO MapRegionManager: loaded 272 map region manager(s) count.
[12:54:07]  INFO MapRegionManager: loaded 272 map region manager(s) count.
[12:54:07]  INFO StaticObjectHolder: loaded 145 static object(s) count.
[12:54:07]  INFO DoorHolder: loaded 1260 door(s) count.
[12:54:07]  INFO ZoneHolder: loaded 1190 zone(s) count.
[12:54:07]  INFO SpawnHolder: loaded 47773 spawn(s) count.
[12:54:07]  INFO StatuesSpawnHolder: loaded 16 statues spawn(s) count.
[12:54:08]  INFO InstantZoneHolder: loaded 133 instant zone(s) count.
[12:54:08]  INFO AirshipDockHolder: loaded 4 airship dock(s) count.
[12:54:08]  INFO SkillAcquireHolder: load 29818 normal learns for 153 classes.
[12:54:08]  INFO SkillAcquireHolder: load 1142 awake parent learns for 8 classes.
[12:54:08]  INFO SkillAcquireHolder: load 109 transfer learns for 3 classes.
[12:54:08]  INFO SkillAcquireHolder: load 10 general skills learns for 6 classes.
[12:54:08]  INFO SkillAcquireHolder: load 176 dual class skills learns for 44 classes.
[12:54:08]  INFO SkillAcquireHolder: load 50 transformation learns.
[12:54:08]  INFO SkillAcquireHolder: load 35 fishing learns.
[12:54:08]  INFO SkillAcquireHolder: load 24 certification learns.
[12:54:08]  INFO SkillAcquireHolder: load 38 dual certification learns.
[12:54:08]  INFO SkillAcquireHolder: load 3 collection learns.
[12:54:08]  INFO SkillAcquireHolder: load 141 pledge learns.
[12:54:08]  INFO SkillAcquireHolder: load 18 sub unit learns.
[12:54:08]  INFO SkillAcquireHolder: load 6 noblesse skills learns.
[12:54:08]  INFO SkillAcquireHolder: load 5 hero skills learns.
[12:54:08]  INFO SkillAcquireHolder: load 1 GM skills learns.
[12:54:08]  INFO SkillAcquireHolder: load 10 chaos skill learns.
[12:54:08]  INFO SkillAcquireHolder: load 10 dual-chaos skill learns.
[12:54:08]  INFO SkillAcquireHolder: load 92 abilities skill learns.
[12:54:08]  INFO SkillAcquireHolder: load 114 alchemy skill learns.
[12:54:08]  INFO SkillAcquireHolder: load 9 honorable noblesse skill learns.
[12:54:08]  INFO SkillAcquireHolder: initNormalSkillLearns
[12:54:08]  INFO ResidenceHolder: total size: 83
[12:54:08]  INFO ResidenceHolder:  - load 54 clanhall(s).
[12:54:08]  INFO ResidenceHolder:  - load 9 castle(s).
[12:54:08]  INFO ResidenceHolder:  - load 20 fortress(s).
[12:54:08]  INFO ShuttleTemplateHolder: loaded 3 shuttle template(s) count.
[12:54:08]  INFO RaidBossSpawnManager: Loaded 0 Statuses
[12:54:08]  INFO EventHolder: loaded 102 event(s) count.
[12:54:08]  INFO CubicHolder: loaded 205 cubic(s) count.
[12:54:09]  INFO BuyListHolder: loaded 611 buy list(s) count.
[12:54:09]  WARN MultiSell redefined: 2072
[12:54:09]  INFO MultiSellHolder: loaded 471 multi sell(s) count.
[12:54:09]  INFO ProductDataHolder: loaded 241 product data(s) count.
[12:54:09]  INFO HennaHolder: loaded 460 henna(s) count.
[12:54:09]  INFO JumpTracksHolder: loaded 33 jump tracks(s) count.
[12:54:09]  INFO EnchantItemHolder: loaded 234 enchant item(s) count.
[12:54:09]  INFO EnchantStoneHolder: loaded 84 enchant stone(s) count.
[12:54:09]  INFO AttributeStoneHolder: load 102 attribute stone(s).
[12:54:09]  INFO AppearanceStoneHolder: loaded 279 appearance stone(s) count.
[12:54:09]  INFO SoulCrystalHolder: loaded 54 soul crystal(s) count.
[12:54:09]  INFO ArmorSetsHolder: loaded 1309 armor sets(s) count.
[12:54:09]  INFO FishDataHolder: load 16 fish(es).
[12:54:09]  INFO FishDataHolder: load 2 lure(s).
[12:54:09]  INFO FishDataHolder: load 2 distribution(s).
[12:54:09]  INFO LevelUpRewardHolder: loaded 48 level up reward(s) count.
[12:54:09]  INFO FakePlayerPathHolder: loaded 3 fake player path(s) count.
[12:54:09]  INFO FakePlayersHolder: loaded 0 fake players(s) count.
[12:54:09]  INFO PetitionGroupHolder: loaded 1 petition group(s) count.
[12:54:09]  INFO CrestCache: Loaded 0 crests
[12:54:09]  INFO Loaded: 0 images
[12:54:09]  INFO Daily Quests Disable Managed: Loaded 1 quests in total (4).
[12:54:09]  INFO SubClassTable: Loaded 110 sub-classes variations.
[12:54:09]  INFO EnchantHPBonusTable: Loaded bonuses for 11 grades.
[12:54:09]  INFO PetSkillsTable: Loaded 2741 skills.
[12:54:09]  INFO Initializing ItemAuctionManager
[12:54:09]  INFO ItemAuction: Loaded 49 item(s) and registered 2 auction(s) for instance 32320.
[12:54:09]  INFO ItemAuction: Schedule next auction 5 on 2016.11.08 17:00:00 for instance 32320
[12:54:09]  INFO ItemAuction: Loaded 49 item(s) and registered 2 auction(s) for instance 32321.
[12:54:09]  INFO ItemAuction: Schedule next auction 6 on 2016.11.03 17:00:00 for instance 32321
[12:54:09]  INFO ItemAuction: Loaded 49 item(s) and registered 2 auction(s) for instance 32322.
[12:54:09]  INFO ItemAuction: Schedule next auction 7 on 2016.11.05 17:00:00 for instance 32322
[12:54:09]  INFO ItemAuctionManager: Loaded 3 instance(s).
[12:54:09]  INFO SpawnManager: spawned 1000 npc for group: NONE
[12:54:10]  INFO SpawnManager: spawned 3000 npc for group: NONE
[12:54:10]  INFO SpawnManager: spawned 4000 npc for group: NONE
[12:54:10]  INFO SpawnManager: spawned 6000 npc for group: NONE
[12:54:10]  INFO SpawnManager: spawned 7000 npc for group: NONE
[12:54:10]  INFO SpawnManager: spawned 8000 npc for group: NONE
[12:54:10]  INFO SpawnManager: spawned 9000 npc for group: NONE
[12:54:11]  INFO SpawnManager: spawned 10000 npc for group: NONE
[12:54:11]  INFO SpawnManager: spawned 11000 npc for group: NONE
[12:54:11]  INFO SpawnManager: spawned 12000 npc for group: NONE
[12:54:11]  INFO SpawnManager: spawned 14000 npc for group: NONE
[12:54:11]  INFO SpawnManager: spawned 18000 npc for group: NONE
[12:54:11]  INFO SpawnManager: spawned 20000 npc for group: NONE
[12:54:11]  INFO SpawnManager: spawned 21000 npc for group: NONE
[12:54:11]  INFO SpawnManager: spawned 22000 npc for group: NONE
[12:54:12]  INFO SpawnManager: spawned 26000 npc for group: NONE
[12:54:12]  INFO SpawnManager: spawned 27000 npc for group: NONE
[12:54:12]  INFO SpawnManager: spawned 28000 npc for group: NONE
[12:54:12]  INFO SpawnManager: spawned 29000 npc for group: NONE
[12:54:12]  INFO SpawnManager: spawned 30000 npc for group: NONE
[12:54:12]  INFO SpawnManager: spawned 31000 npc for group: NONE
[12:54:12]  INFO SpawnManager: spawned 32000 npc for group: NONE
[12:54:12]  INFO SpawnManager: spawned 34000 npc for group: NONE
[12:54:13]  INFO SpawnManager: spawned 35000 npc for group: NONE
[12:54:13]  INFO SpawnManager: spawned 36000 npc for group: NONE
[12:54:13]  INFO SpawnManager: spawned 39000 npc for group: NONE
[12:54:13]  INFO SpawnManager: spawned 41000 npc for group: NONE
[12:54:13]  INFO SpawnManager: spawned 42000 npc for group: NONE
[12:54:13]  INFO SpawnManager: spawned 43000 npc for group: NONE
[12:54:13]  INFO SpawnManager: spawned 44000 npc for group: NONE
[12:54:13]  INFO SpawnManager: spawned 45000 npc for group: NONE
[12:54:13]  INFO SpawnManager: spawned 45574 npc; spawns: 29499; group: NONE
[12:54:13]  INFO StaticObjectHolder: spawned: 145 static object(s).
[12:54:13]  INFO AntharasManager: State of Antharas is NOTSPAWN.
[12:54:13]  INFO AntharasManager: Next spawn date of Antharas is 16:00 31.12.1969.
[12:54:13]  INFO BaiumManager: State of Baium is NOTSPAWN.
[12:54:13]  INFO BaiumManager: Next spawn date: 16:00 31.12.1969
[12:54:13]  INFO Beleth Manager: Loaded successfuly
[12:54:13]  INFO FourSepulchersManager: Loaded 20 Mysterious-Box spawns.
[12:54:13]  INFO FourSepulchersManager: loaded 716 physical monsters spawns.
[12:54:13]  INFO FourSepulchersManager: loaded 716 magical monsters spawns.
[12:54:13]  INFO FourSepulchersManager: loaded 92 Church of duke monsters spawns.
[12:54:13]  INFO FourSepulchersManager: loaded 68 Emperor's grave NPC spawns.
[12:54:13]  INFO FourSepulchersManager: Spawned Conquerors' Sepulcher Manager
[12:54:13]  INFO FourSepulchersManager: Spawned Sepulcher of Rulers Manager
[12:54:13]  INFO FourSepulchersManager: Spawned Great Sages' Sepulcher Manager
[12:54:13]  INFO FourSepulchersManager: Spawned Judges' Sepulcher Manager
[12:54:13]  INFO FourSepulchersManager: Beginning in Cooldown time
[12:54:13]  INFO FourSepulchersManager: Entry time: Wed Nov 02 12:55:13 PDT 2016
[12:54:13]  INFO SailrenManager: State of Sailren is NOTSPAWN.
[12:54:13]  INFO SailrenManager: Next spawn date of Sailren is 16:00 31.12.1969.
[12:54:13]  INFO ValakasManager: State of Valakas is NOTSPAWN.
[12:54:13]  INFO ValakasManager: Next spawn date of Valakas is 16:00 31.12.1969.
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 1. Name: DemonsOfDarkness - Campaign
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 8. Name: Labyrinth of Harnak - Zone Quest
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 3. Name: Memorial Service - Campaign
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 2. Name: OrbisTemple - Zone Quest
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 2. Name: OrbisTemple - Zone Quest
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 2. Name: OrbisTemple - Zone Quest
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 2. Name: OrbisTemple - Zone Quest
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 2. Name: OrbisTemple - Zone Quest
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 2. Name: OrbisTemple - Zone Quest
[12:54:13]  INFO Dynamic Quest: Loaded quest ID 15. Name: Seed of Hellfire - Zone Quest
[12:54:13]  INFO Loaded Event: Apil Fool's Day [state: deactivated]
[12:54:13]  INFO Loaded Event: Beer Festival [state: deactivated]
[12:54:13]  INFO Loaded Event: Christmas [state: deactivated]
[12:54:13]  INFO Loaded Event: Coffer of Shadows [state: deactivated]
[12:54:13]  INFO Loaded Event: CtF [false]
[12:54:13]  INFO Loaded Event: DefenderOfTheFatherland [state: deactivated]
[12:54:13]  INFO Loaded Event: Freya Celebration [state: deactivated]
[12:54:13]  INFO Loaded Event: Gift Of Vitality [state: deactivated]
[12:54:13]  INFO GvG Event is not active!
[12:54:13]  INFO Loaded Event: Heroes Power [state: deactivated]
[12:54:13]  INFO Loaded Event: March 8 [state: deactivated]
[12:54:13]  INFO Loaded Event: Master of Enchanting [state: deactivated]
[12:54:13]  INFO Loaded Event: PcCafePointsExchange [state: deactivated]
[12:54:13]  INFO Loaded Event: SavingSnowman [state: deactivated]
[12:54:13]  INFO Loaded Event: Summer Meleons [state: deactivated]
[12:54:13]  INFO Loaded Event: The Fall Harvest [state: deactivated]
[12:54:13]  INFO Loaded Event: The Flow Of The Horror [state: deactivated]
[12:54:13]  INFO Loaded Event: The Hunt for Santa Begins! [state: deactivated]
[12:54:13]  INFO Loaded Event: Trick of Trnasmutation [state: deactivated]
[12:54:13]  INFO Loaded Event: TvT
[12:54:13]  INFO Loaded Event: TvT Arena 1 [state: deactivated]
[12:54:13]  INFO Loaded Event: TvT Arena 2 [state: deactivated]
[12:54:13]  INFO Loaded Event: TvT Arena 3 [state: deactivated]
[12:54:13]  INFO Loaded Event: Bounty Hunters Guild
[12:54:13]  INFO Loaded Event: L2 Medal Collection Event [state: deactivated]
[12:54:13]  INFO Loaded Event: Change of Heart[state: deactivated]
[12:54:13]  INFO Loaded Event: l2day [state: deactivated]
[12:54:13]  INFO Loaded Event: Last Hero
[12:54:13]  INFO CommunityBoard: service loaded.
[12:54:13]  INFO CommunityBoard: Clan Community service loaded.
[12:54:13]  INFO CommunityBoard: Manage Favorites service loaded.
[12:54:13]  INFO CommunityBoard: Manage Friends service loaded.
[12:54:13]  INFO CommunityBoard: Private Mail service loaded.
[12:54:13]  INFO CommunityBoard: Manage Memo service loaded.
[12:54:13]  INFO CommunityBoard: Region service loaded.
[12:54:14]  WARN Item 39725 Old Jewelry Box multiple times in quest drop in _10794_InvestigatetheForest
[12:54:14]  WARN Item 39725 Old Jewelry Box multiple times in quest drop in _10794_InvestigatetheForest
[12:54:14]  INFO Loaded Service: Bash [disabled]
[12:54:14]  INFO totalonline: Loaded Service: Parse Online [disabled]
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: aden_mammons
[12:54:14]  INFO SpawnManager: spawned 1 npc; spawns: 1; group: aden_mammons_priest_2
[12:54:14]  INFO DimensionalRiftManager: Loaded 13 room types with 112 rooms.
[12:54:14]  INFO DimensionalRiftManager: Loaded 150 dimensional rift spawns, 0 errors.
[12:54:14]  INFO Olympiad System: Loading Olympiad System....
[12:54:14]  INFO Olympiad System: Currently in Olympiad Period
[12:54:14]  INFO Olympiad System: Period Ends....
[12:54:14]  INFO Olympiad System: In 28 days, 12 hours and 5 mins.
[12:54:14]  INFO Olympiad System: Next Weekly Change is in....
[12:54:14]  INFO Olympiad System: In 6 days, 23 hours and 55 mins.
[12:54:14]  INFO Olympiad System: Loaded 0 Noblesses
[12:54:14]  INFO Olympiad System: Competition Period Starts in 2 days, 5 hours and 6 mins.
[12:54:14]  INFO Olympiad System: Event starts/started: Fri Nov 04 18:00:14 PDT 2016
[12:54:14]  INFO Hero System: Loaded 0 Heroes.
[12:54:14]  INFO Hero System: Loaded 0 all time Heroes.
[12:54:14]  INFO Initializing PetitionManager
[12:54:14]  INFO CursedWeaponsManager: Loaded 2 cursed weapon(s).
[12:54:14]  INFO AdminCommandHandler: loaded 369 admin command handler(s) count.
[12:54:14]  INFO UserCommandHandler: loaded 16 user command handler(s) count.
[12:54:14]  INFO VoicedCommandHandler: loaded 28 voiced command handler(s) count.
[12:54:14]  INFO =[Events]=========================================
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: gludio_castle_light_side
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: dion_castle_light_side
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: giran_castle_light_side
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: oren_castle_light_side
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: aden_castle_light_side
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: innadril_castle_light_side
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: goddard_castle_light_side
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: rune_castle_light_side
[12:54:14]  INFO SpawnManager: spawned 2 npc; spawns: 2; group: schuttgart_castle_light_side
[12:54:14]  INFO CastleSiegeEvent: Gludio Castle time - 20:00 13.11.2016
[12:54:14]  INFO CastleSiegeEvent: Dion Castle time - 20:00 13.11.2016
[12:54:14]  INFO CastleSiegeEvent: Giran Castle time - 20:00 13.11.2016
[12:54:14]  INFO CastleSiegeEvent: Oren Castle time - 20:00 13.11.2016
[12:54:14]  INFO CastleSiegeEvent: Aden Castle time - 20:00 13.11.2016
[12:54:14]  INFO CastleSiegeEvent: Innadril Castle time - 20:00 13.11.2016
[12:54:14]  INFO CastleSiegeEvent: Goddard Castle time - 20:00 13.11.2016
[12:54:14]  INFO CastleSiegeEvent: Rune Castle time - 20:00 13.11.2016
[12:54:14]  INFO CastleSiegeEvent: Schuttgart Castle time - 20:00 13.11.2016
[12:54:14]  INFO ClanHallNpcSiegeEvent: Fortress Of Resistance time - 21:00 03.11.2016
[12:54:14]  INFO ClanHallAuctionEvent: Moonstone Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Onyx Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Topaz Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Ruby Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Crystal Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Onyx Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Sapphire Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Moonstone Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Emerald Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Atramental Barracks time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Scarlet Barracks time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Viridian Barracks time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallSiegeEvent: Devastated Castle time - 21:00 05.11.2016
[12:54:14]  INFO ClanHallTeamBattleEvent: Bandit Stronghold time - 21:00 05.11.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Golden Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Silver Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Mithril Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Silver Manor time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Gold Manor time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Bronze Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Golden Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Silver Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Mithril Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: The Bronze Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Silver Manor time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Moonstone Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Onyx Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Emerald Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Sapphire Hall time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Mont Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Astaire Chamber time - 16:00 31.10.2016
[12:54:14]  INFO ClanHallAuctionEvent: Aria Chamber time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Yiana Chamber time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Roien Chamber time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Luna Chamber time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Traban Chamber time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Eisen Hall time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Heavy Metal Hall time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Molten Ore Hall time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Titan Hall time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallMiniGameEvent: Rainbow Springs time - 22:00 05.11.2016
[12:54:15]  INFO ClanHallTeamBattleEvent: Wild Beast Reserve time - 21:00 05.11.2016
[12:54:15]  INFO ClanHallSiegeEvent: Fortress of Dead time - 18:00 05.11.2016
[12:54:15]  INFO ClanHallAuctionEvent: Emerald Hall time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Crystal Hall time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Sapphire Hall time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Aquamarine Hall time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Blue Barracks time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Brown Barracks time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Yellow Barracks time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: White Barracks time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Black Barracks time - 16:00 31.10.2016
[12:54:15]  INFO ClanHallAuctionEvent: Green Barracks time - 16:00 31.10.2016
[12:54:15]  INFO FortressSiegeEvent: Shanty Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Southern Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Hive Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Valley Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Ivory Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Narsell Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Bayou Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: White Sands Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Borderland Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Swamp Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Archaic Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Floran Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Tanor Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Dragonspine Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Antharas Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Western Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Hunter's Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Aaru Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Demon Fortress time - undefined
[12:54:15]  INFO FortressSiegeEvent: Monastic Fortress time - undefined
[12:54:15]  INFO KrateisCubeEvent: Krateis Cube 70-75 Level time - 13:00 02.11.2016
[12:54:15]  INFO KrateisCubeEvent: Krateis Cube 76-79 Level time - 13:00 02.11.2016
[12:54:15]  INFO KrateisCubeEvent: Krateis Cube 80-85 Level time - 13:00 02.11.2016
[12:54:15]  INFO ChaosFestivalEvent: Chaos Festival time - 20:00 02.11.2016
[12:54:15]  INFO FightBattleEvent: Fight Battle time - off
[12:54:15]  INFO ==================================================
[12:54:15]  INFO BoatHolder: loaded 5 boat(s) count.
[12:54:15]  INFO BoatHolder: Spawning: RunePrimeval_Vehicle
[12:54:15]  INFO BoatHolder: Spawning: AdenGracia_Airship
[12:54:15]  INFO BoatHolder: Spawning: CrumaTower_Shuttle
[12:54:15]  INFO BoatHolder: Spawning: CityOfArcan2_Shuttle
[12:54:15]  INFO BoatHolder: Spawning: CityOfArcan1_Shuttle
[12:54:15]  INFO Manor System: Initializing...
[12:54:15]  INFO IdFactory: Free ObjectID's remaining: 1878994135
[12:54:15]  INFO Naia Tower Manager: Loaded 12 rooms
[12:54:15]  INFO Naia Core Manager: Loaded
[12:54:15]  INFO Seed of Destruction Manager: Loaded
[12:54:15]  INFO Seed of Infinity Manager: Loaded. Current stage is: 1
[12:54:15]  INFO SpawnManager: spawned 4 npc; spawns: 4; group: soi_world_mouths
[12:54:15]  INFO SpawnManager: spawned 1 npc; spawns: 1; group: soi_world_abyssgaze2
[12:54:15]  INFO Seed of Hellfire Manager: Loaded.
[12:54:15]  INFO SpawnManager: spawned 1000 npc for group: seed_of_hellfire_all_1
[12:54:15]  INFO SpawnManager: spawned 1347 npc; spawns: 1347; group: seed_of_hellfire_all_1
[12:54:15]  INFO CommissionManager: Loaded 0 items in commission.
[12:54:15]  INFO ClanSearchManager: Loading clan search data...
[12:54:15]  INFO ClanSearchManager: Loaded 0 registered clans.
[12:54:15]  INFO ClanSearchManager: Loaded 0 registered players.
[12:54:15]  INFO Parnasus Manager: Loaded
[12:54:15]  INFO Scheduled server restart in 16h 5m 45s.
[12:54:15]  INFO GameServer Started
[12:54:15]  INFO Maximum Numbers of Connected Players: 3000
[12:54:15]  INFO Telnet server is currently disabled.
[12:54:15]  INFO =================================================
[12:54:15]  INFO Connecting to authserver on 192.168.69.130:9014
[12:54:15]  INFO AllowedMemory: ........... 3748352 KB
[12:54:15]  INFO      Allocated: .......... 3748352 KB (100.0%)
[12:54:15]  INFO      Non-Allocated: ...... 0 KB (0.0%)
[12:54:15]  INFO AllocatedMemory: ......... 3748352 KB
[12:54:15]  INFO      Used: ............... 1509875 KB (40.281%)
[12:54:15]  INFO      Unused (cached): .... 2238476 KB (59.719%)
[12:54:15]  INFO UseableMemory: ........... 2238476 KB (59.719%)
[12:54:15]  INFO =================================================
[12:54:15]  INFO Registered on authserver as 1 [Bartz]
[12:54:15]  INFO SpawnManager: spawned 1000 npc for group: DAY
[12:54:15]  INFO SpawnManager: spawned 1281 npc; spawns: 959; group: DAY
[12:54:45]  INFO Restored 0 offline traders

Posted (edited)

 

I saw a lot files with this head:

 

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
 
So I doubt this is real sources of l2scripts
 
just so you know...

 

Just "SmartGuard" is decompiled.

This is real source code from l2-scripts.

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package ru.akumu.smartguard;
Edited by proGenitor

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




  • Posts

    • [Release] Solo PvP Zone System 🔹 Compatible with: aCis 401+ 📜 Features: ✅ Automatic Exit on Restart: Players are removed from the zone if a restart occurs or logout. ✅ Custom Exit Command: Players can exit the Solo Zone with the voice command .exit. ✅ Teleport NPC Command: new bypass solopvp for gatekeeper. ✅ Random Name Generator: Generates random names. ✅ PvP Flag: The players are flagged within this zone.   xml preview & java code backup code -> https://pastebin.com/974V2p2p   SoloZone.xml <?xml version="1.0" encoding="UTF-8"?> <list> <zone shape="NPoly" minZ="-5200" maxZ="-4680"><!-- Frintezza Solo Zone --> <stat name="name" val="Solo PvP Zone" /> <stat name="locs" val="174244,-89089,-5112;174260,-86881,-5112;173184,-88090,-5112;175309,-88018,-5112;174231,-88019,-5112;175136,-88828,-5104;174962,-87025,-5104;173149,-87142,-5104;173470,-88908,-5112" /> <stat name="restrictedClasses" val="15,16,97" /> <node x="172031" y="-90127"/> <node x="176428" y="-90089"/> <node x="176428" y="-74051"/> <node x="172057" y="-74108"/> </zone> </list> SoloZone Code: diff --git a/java/net/sf/l2j/gameserver/taskmanager/SoloZoneTaskManager.java b/java/net/sf/l2j/gameserver/taskmanager/SoloZoneTaskManager.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/taskmanager/SoloZoneTaskManager.java @@ -0,0 +1,98 @@ +package net.sf.l2j.gameserver.taskmanager; + +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.logging.Logger; + +import net.sf.l2j.commons.random.Rnd; + +import net.sf.l2j.gameserver.data.manager.ZoneManager; +import net.sf.l2j.gameserver.enums.ZoneId; +import net.sf.l2j.gameserver.handler.voicecommandhandlers.VoiceExitSoloZone; +import net.sf.l2j.gameserver.model.World; +import net.sf.l2j.gameserver.model.actor.Player; +import net.sf.l2j.gameserver.model.location.Location; +import net.sf.l2j.gameserver.model.zone.type.SoloZone; + + +/** + * @author MarGaZeaS + */ +public class SoloZoneTaskManager implements Runnable { + + private static final Location EXIT_LOCATION = VoiceExitSoloZone.getExitLocation(); // Λαμβάνουμε την έξοδο από το VoiceExitSoloZone + + @Override + public void run() + { + // Διασχίζουμε όλους τους παίκτες του κόσμου + for (Player player : World.getInstance().getPlayers()) + { + // Ελέγχουμε αν ο παίκτης είναι στο SoloZone + if (player.isInsideZone(ZoneId.SOLO)) + { + // Μεταφέρουμε τον παίκτη στην έξοδο + player.teleportTo(EXIT_LOCATION.getX(), EXIT_LOCATION.getY(), EXIT_LOCATION.getZ(), 0); + player.sendMessage("The server is restarting, you have been moved out of the Solo Zone."); + } + } + } + + private int _id; + + private static final Logger _log = Logger.getLogger(SoloZoneTaskManager.class.getName()); + private static final ArrayList<String> _rndNames = new ArrayList<>(); + private static final int RANDOM_NAMES = 500; + private static final String CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + private int _playersInSoloZone = 0; + + public int getPlayersInside() { + return _playersInSoloZone; + } + + public void setPlayersInside(int val) { + _playersInSoloZone = val; + } + + public SoloZoneTaskManager() { + _log.info("Solo Zone System: Loading..."); + for (int i = 0; i < RANDOM_NAMES; i++) { + String name = generateName(); + _rndNames.add(name); + _log.info("Generated name: " + name); + } + _log.info("Solo Zone System: Loaded " + _rndNames.size() + " names."); + } + + public String getAName() { + if (_rndNames.isEmpty()) { + _log.warning("SoloZoneManager: No random names available."); + return "Unknown"; + } + return _rndNames.get(Rnd.get(5, RANDOM_NAMES - 5)); + } + + private static String generateName() { + SecureRandom rnd = new SecureRandom(); + StringBuilder sb = new StringBuilder(15); + for (int i = 0; i < 15; i++) { + sb.append(CHARS.charAt(rnd.nextInt(CHARS.length()))); + } + return sb.toString(); + } + + public int getZoneId() + { + return _id; + } + + public final static SoloZone getCurrentZone() { + return ZoneManager.getInstance().getAllZones(SoloZone.class) + .stream() + .findFirst() // Επιστρέφει την πρώτη SoloZone (αν υπάρχει μόνο μία) + .orElse(null); + } + + public static SoloZoneTaskManager getInstance() { + return SingletonHolder._instance; + } + + private static class SingletonHolder { + private static final SoloZoneTaskManager _instance = new SoloZoneTaskManager(); + } +} diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/taskmanager/PvpFlagTaskManager.java b/aCis_gameserver/java/net/sf/l2j/gameserver/taskmanager/PvpFlagTaskManager.java index a707ce5..d247e2e 100644 --- a/aCis_gameserver/java/net/sf/l2j/gameserver/taskmanager/PvpFlagTaskManager.java final Player player = entry.getKey(); final long timeLeft = entry.getValue(); + if(player.isInsideZone(ZoneId.SOLO)) + continue; if(player.isInsideZone(ZoneId.BOSS)) continue; // Time is running out, clear PvP flag and remove from list. if (currentTime > timeLeft) diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestCharacterCreate.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestCharacterCreate.java index a707ce5..d247e2e 100644 +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestCharacterCreate.java if (Config.ALLOW_FISH_CHAMPIONSHIP) FishingChampionshipManager.getInstance(); + if (Config.ENABLE_STARTUP) + StartupManager.getInstance(); diff --git a/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMaintenance.java b/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMaintenance.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMaintenance.java if (!st.hasMoreTokens()) { sendHtmlForm(player); return; } try { switch (st.nextToken()) { case "shutdown": + SoloZoneTaskManager exitTask = new SoloZoneTaskManager(); + ThreadPool.schedule(exitTask, 0); Shutdown.getInstance().startShutdown(player, null, Integer.parseInt(st.nextToken()), false); break; case "restart": + exitTask = new SoloZoneTaskManager(); + ThreadPool.schedule(exitTask, 0); Shutdown.getInstance().startShutdown(player, null, Integer.parseInt(st.nextToken()), true); break; case "abort": Shutdown.getInstance().abort(player); break; diff --git a/java/net/sf/l2j/gameserver/handler/voicecommandhandlers/VoiceExitSoloZone.java b/java/net/sf/l2j/gameserver/handler/voicecommandhandlers/VoiceExitSoloZone.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/handler/voicecommandhandlers/VoiceExitSoloZone.java +package net.sf.l2j.gameserver.handler.voicecommandhandlers; + +import net.sf.l2j.commons.pool.ThreadPool; + +import net.sf.l2j.gameserver.enums.ZoneId; +import net.sf.l2j.gameserver.handler.IVoiceCommandHandler; +import net.sf.l2j.gameserver.model.actor.Player; +import net.sf.l2j.gameserver.model.location.Location; +import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse; + +/** + * Handles the voice command for exiting the Solo Zone with delay and effects. + * + * @author MarGaZeaS + */ +public class VoiceExitSoloZone implements IVoiceCommandHandler +{ + private static final String[] VOICE_COMMANDS = + { + "exit" + }; + + // Default location to teleport players when exiting the Solo Zone + private static final Location EXIT_LOCATION = new Location(81318, 148064, -3464); // Replace with your desired coordinates + + // Προσθήκη της μεθόδου για να πάρουμε την τοποθεσία εξόδου + public static Location getExitLocation() { + return EXIT_LOCATION; + } + + @Override + public void useVoiceCommand(Player player, String command) + { + if (command.equalsIgnoreCase("exit")) + { + if (!player.isInsideZone(ZoneId.SOLO)) + { + player.sendMessage("You are not inside the Solo Zone."); + return; + } + + // Notify the player about the delay + player.sendMessage("You will be teleported out of the Solo Zone in 2 seconds."); + + // Cast skill effect (Skill ID: 2100, Level: 1) + player.broadcastPacket(new MagicSkillUse(player, player, 2100, 1, 2000, 0)); + + // Schedule the teleportation after a 2-second delay + ThreadPool.schedule(() -> { + // Teleport the player to the designated exit location + player.teleportTo(EXIT_LOCATION.getX(), EXIT_LOCATION.getY(), EXIT_LOCATION.getZ(), 0); + + // Inform the player + player.sendMessage("You have exited the Solo Zone."); + }, 2000); // Delay in milliseconds (2000ms = 2 seconds) + } + } + + @Override + public String[] getVoiceCommandList() + { + return VOICE_COMMANDS; + } +} diff --git a/java/net/sf/l2j/gameserver/handler/VoiceCommandHandler.java b/java/net/sf/l2j/gameserver/handler/VoiceCommandHandler.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/handler/VoiceCommandHandler.java public class VoiceCommandHandler { private final Map<String, IVoiceCommandHandler> _entries = new HashMap<>(); protected VoiceCommandHandler() { ............ ............ + registerHandler(new VoiceExitSoloZone()); } public void registerHandler(IVoiceCommandHandler handler) { for (String command : handler.getVoiceCommandList()) _entries.put(command, handler); } diff --git a/java/net/sf/l2j/gameserver/model/actor/Npc.java b/java/net/sf/l2j/gameserver/model/actor/Npc.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/model/actor/Npc.java else if (command.startsWith("Chat")) { int val = 0; try { val = Integer.parseInt(command.substring(5)); } catch (final IndexOutOfBoundsException ioobe) { } catch (final NumberFormatException nfe) { } showChatWindow(player, val); + ) + else if (command.startsWith("solopvp")) + { + SoloZoneTaskManager.getInstance(); + player.teleportTo(SoloZoneTaskManager.getCurrentZone().getLoc(), 25); + } else if (command.startsWith("Link")) { final String path = command.substring(5).trim(); if (path.indexOf("..") != -1) return; final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile("data/html/" + path); html.replace("%objectId%", getObjectId()); player.sendPacket(html); } diff --git a/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestartPoint.java b/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestartPoint.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestartPoint.java // Fixed. - else if (_requestType == 4) - { - if (!player.isGM() && !player.isFestivalParticipant()) - return; - - loc = player.getPosition(); - } + if (_requestType == 4) + { + // Έλεγχος αν ο παίκτης δεν είναι GM, δεν είναι μέρος του φεστιβάλ και δεν είναι στην Solo Zone + if (!player.isGM() && !player.isFestivalParticipant() && !player.isInsideZone(ZoneId.SOLO)) + { + return; + } + + SoloZoneTaskManager.getInstance(); + SoloZone currentZone = SoloZoneTaskManager.getCurrentZone(); + if (currentZone != null && currentZone.getLoc() != null) + { + // Αν υπάρχει ζώνη και οι τοποθεσίες δεν είναι κενές, χρησιμοποιούμε τυχαία τοποθεσία από την ζώνη + loc = currentZone.getLoc(); + } else + { + // Διαφορετικά, κάνουμε respawn στην τρέχουσα θέση του παίκτη + loc = player.getPosition(); + } + } diff --git a/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestart.java b/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestart.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/clientpackets/RequestRestart.java if (player.isFestivalParticipant() && FestivalOfDarknessManager.getInstance().isFestivalInitialized()) { player.sendPacket(SystemMessageId.NO_RESTART_HERE); sendPacket(RestartResponse.valueOf(false)); return; } + if (player.isInsideZone(ZoneId.SOLO)) + { + player.sendMessage("You cannot restart your character while in Solo Zone. Use .exit to leave"); + player.setFakeName(null); + sendPacket(RestartResponse.valueOf(false)); + return; + } player.removeFromBossZone(); diff --git a/java/net/sf/l2j/gameserver/network/clientpackets/Logout.java b/java/net/sf/l2j/gameserver/network/clientpackets/Logout.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/clientpackets/Logout.java player.removeFromBossZone(); player.logout(true); } } + + if (player.isInsideZone(ZoneId.SOLO)) + { + player.sendMessage("You cannot logout or restart your character while in Solo Zone. Use .exit to leave"); + player.setFakeName(null); + player.sendPacket(ActionFailed.STATIC_PACKET); + return; + } + player.removeFromBossZone(); player.logout(true); } } diff --git a/java/net/sf/l2j/gameserver/model/zone/type/SoloZone.java b/java/net/sf/l2j/gameserver/model/zone/type/SoloZone.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/model/zone/type/SoloZone.java +package net.sf.l2j.gameserver.model.zone.type; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import net.sf.l2j.commons.random.Rnd; + +import net.sf.l2j.Config; +import net.sf.l2j.gameserver.enums.MessageType; +import net.sf.l2j.gameserver.enums.ZoneId; +import net.sf.l2j.gameserver.handler.voicecommandhandlers.VoiceExitSoloZone; +import net.sf.l2j.gameserver.model.World; +import net.sf.l2j.gameserver.model.actor.Creature; +import net.sf.l2j.gameserver.model.actor.Player; +import net.sf.l2j.gameserver.model.location.Location; +import net.sf.l2j.gameserver.model.zone.type.subtype.ZoneType; +import net.sf.l2j.gameserver.network.SystemMessageId; +import net.sf.l2j.gameserver.network.serverpackets.EtcStatusUpdate; +import net.sf.l2j.gameserver.taskmanager.PvpFlagTaskManager; +import net.sf.l2j.gameserver.taskmanager.SoloZoneTaskManager; + +/** + * @author MarGaZeaS + * + */ +public class SoloZone extends ZoneType +{ + private String _name; + private List<Location> _locations = new ArrayList<>(); + + public SoloZone(int id) + { + super(id); + } + + @Override + public void setParameter(String name, String value) + { + if (name.equals("name")) + _name = value; + else if (name.equals("locs")) + { + for (String locs : value.split(";")) + { + String[] coordinates = locs.split(","); + if (coordinates.length == 3) + { + int x = Integer.parseInt(coordinates[0]); + int y = Integer.parseInt(coordinates[1]); + int z = Integer.parseInt(coordinates[2]); + _locations.add(new Location(x, y, z)); + } + else + { + LOGGER.warn("Invalid location format: " + locs); + } + } + } + } + + + @Override + protected void onEnter(Creature character) + { + if (character instanceof Player) + { + final Player player = (Player) character; + + if ((player.getClassId().getId() == 15 || player.getClassId().getId() == 16 || player.getClassId().getId() == 97)) + { + Location respawnLocation = VoiceExitSoloZone.getExitLocation(); + player.instantTeleportTo(respawnLocation, 20); + player.sendMessage("Your class is not allowed in this zone."); + return; + } + + String randomName = SoloZoneTaskManager.getInstance().getAName(); + if (randomName == null || randomName.isEmpty() || !isValidName(randomName)) + { + randomName = generateRandomName(); + } + if (isNameAlreadyTaken(randomName)) + { + randomName = generateRandomName(); + } + player.setFakeName(randomName); + player.sendMessage("Welcome to the Solo Zone, your random name is: " + randomName); + player.sendPacket(SystemMessageId.ENTERED_COMBAT_ZONE); + character.setInsideZone(ZoneId.SOLO, true); + character.setInsideZone(ZoneId.NO_STORE, true); + character.setInsideZone(ZoneId.NO_SUMMON_FRIEND, true); + + if (player.getParty() != null) + { + player.getParty().removePartyMember(player, MessageType.DISCONNECTED); + } + + if (player.getPvpFlag() > 0) + PvpFlagTaskManager.getInstance().remove(player, true); + + player.updatePvPStatus(); + player.broadcastUserInfo(); + } + } + + private static boolean isValidName(String name) { + return name.matches("[a-zA-Z0-9_]+"); + } + + private static String generateRandomName() { + Random rand = new Random(); + int nameLength = rand.nextInt(12) + 4; + StringBuilder nameBuilder = new StringBuilder(); + + for (int i = 0; i < nameLength; i++) { + char randomChar = (char) (rand.nextInt(26) + 'a'); + nameBuilder.append(randomChar); + } + + return nameBuilder.toString(); + } + + private static boolean isNameAlreadyTaken(String name) { + return World.getInstance().getPlayers().stream().anyMatch(player -> player.getFakeName().equals(name)); + } + + @Override + protected void onExit(Creature character) + { + character.setInsideZone(ZoneId.SOLO, false); // Solo zone + character.setInsideZone(ZoneId.NO_STORE, false); // Allow making a store + character.setInsideZone(ZoneId.NO_SUMMON_FRIEND, false); // Allow summon + + if (character instanceof Player) + { + final Player player = (Player) character; + + if (player.getFakeName() != null) + { + player.setFakeName(null); + } + + player.sendPacket(SystemMessageId.LEFT_COMBAT_ZONE); + { + if(!player.isInObserverMode() && player.getPvpFlag() > 0) + PvpFlagTaskManager.getInstance().add(player, Config.PVP_NORMAL_TIME); + + player.sendPacket(new EtcStatusUpdate(player)); + player.broadcastUserInfo(); + } + } + } + + public String getName() + { + return _name; + } + + public Location getLoc() + { + if (_locations.isEmpty()) + { + return null; // Αν η λίστα είναι κενή, επιστρέφουμε null + } + return _locations.get(Rnd.get(0, _locations.size() - 1)); // Επιλέγουμε τυχαία τοποθεσία + } +} diff --git a/java/net/sf/l2j/gameserver/GameServer.java b/java/net/sf/l2j/gameserver/GameServer.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/GameServer.java if (Config.ALLOW_FISH_CHAMPIONSHIP) FishingChampionshipManager.getInstance(); + StringUtil.printSection("Custom Features"); + SoloZoneTaskManager.getInstance(); StringUtil.printSection("Handlers"); LOGGER.info("Loaded {} admin command handlers.", AdminCommandHandler.getInstance().size()); diff --git a/java/net/sf/l2j/gameserver/GameServer.java b/java/net/sf/l2j/gameserver/Shutdown.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/Shutdown.java // disconnect players try { disconnectAllPlayers(); LOGGER.info("All players have been disconnected."); } catch (Exception e) { // Silent catch. } + // Restore real names for players in SoloZone + restoreRealNamesInSoloZone(); // stop all threadpolls ThreadPool.shutdown(); try { LoginServerThread.getInstance().interrupt(); } catch (Exception e) { // Silent catch. } // avoids new players from logging in if (_secondsShut <= 60 && LoginServerThread.getInstance().getServerType() != ServerType.DOWN) LoginServerThread.getInstance().setServerType(ServerType.DOWN); _secondsShut--; Thread.sleep(1000); } } catch (InterruptedException e) { } } + // This method restores the real names of players in SoloZone + private static void restoreRealNamesInSoloZone() + { + for (Player player : World.getInstance().getPlayers()) + { + // Check if player is inside the SoloZone + if (player.isInsideZone(ZoneId.SOLO)) + { + // Restore the real name by removing the fake name + if (player.getFakeName() != null) + { + player.setFakeName(null); // Restore the real name + LOGGER.info("Player {}'s fake name has been removed and real name restored.", player.getName()); + } + } + } + } private static void sendServerQuit(int seconds) { World.toAllOnlinePlayers(SystemMessage.getSystemMessage(SystemMessageId.THE_SERVER_WILL_BE_COMING_DOWN_IN_S1_SECONDS).addNumber(seconds)); } diff --git a/java/net/sf/l2j/gameserver/enums/ZoneId.java b/java/net/sf/l2j/gameserver/enums/ZoneId.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/enums/ZoneId.java public enum ZoneId { PVP(0), PEACE(1), SIEGE(2), MOTHER_TREE(3), CLAN_HALL(4), NO_LANDING(5), WATER(6), JAIL(7), MONSTER_TRACK(8), CASTLE(9), SWAMP(10), NO_SUMMON_FRIEND(11), NO_STORE(12), TOWN(13), HQ(14), DANGER_AREA(15), CAST_ON_ARTIFACT(16), NO_RESTART(17), SCRIPT(18), - BOSS(19), + BOSS(19), + SOLO(20); private final int _id; private ZoneId(int id) { _id = id; } diff --git a/java/net/sf/l2j/gameserver/network/serverpackets/Die.java b/java/net/sf/l2j/gameserver/network/serverpackets/Die.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/serverpackets/Die.java if (creature instanceof Player) { Player player = (Player) creature; - _allowFixedRes = player.getAccessLevel().allowFixedRes(); + _allowFixedRes = player.getAccessLevel().allowFixedRes() || player.isInsideZone(ZoneId.SOLO); _clan = player.getClan(); } diff --git a/java/net/sf/l2j/gameserver/model/actor/Player.java b/java/net/sf/l2j/gameserver//model/actor/Player.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java // Attacker or spectator logging into a siege zone will be ported at town. if (player.isInsideZone(ZoneId.SIEGE) && player.getSiegeState() < 2) player.teleportTo(TeleportType.TOWN); + if (player.isInsideZone(ZoneId.SOLO)) + { + ThreadPool.schedule(() -> { + Location exitLocation = VoiceExitSoloZone.getExitLocation(); + + if (exitLocation != null) + { + player.teleportTo(exitLocation.getX(), exitLocation.getY(), exitLocation.getZ(), 0); + player.sendMessage("You have been moved to the exit of the SoloZone."); + } + }, 5000); // 5000 milliseconds (5sec) + } diff --git a/java/net/sf/l2j/gameserver/model/actor/Player.java b/java/net/sf/l2j/gameserver/model/actor/Player.java new file mode 100644 index 0000000..6b7ef6f --- /dev/null +++ a/java/net/sf/l2j/gameserver/model/actor/Player.java @Override public void doRevive() { super.doRevive(); stopEffects(EffectType.CHARM_OF_COURAGE); sendPacket(new EtcStatusUpdate(this)); getStatus().setCpHpMp(getStatus().getMaxCp(), getStatus().getMaxHp(), getStatus().getMaxMp()); _reviveRequested = 0; _revivePower = 0; if (isMounted()) startFeed(_mountNpcId); + if (isInsideZone(ZoneId.SOLO)) + { + // Give Nobless (1323 ID) + L2Skill no = SkillTable.getInstance().getInfo(1323, 1); + no.getEffects(this, this); + sendMessage("You have received the Nobless status in the Solo Zone."); + } + }   If anyone thinks the code is wrong, please make an update and upload it here so I can update the post. A part was edited with chatgpt
    • Always remember, when you buy files, just compare with my files that I publish for free. and you will know that you are being ripped off. Greetings to all community!!! 🙂
    • Thank you for sharing. You are a capable and skilled person. Thank you again for your selfless dedication, Guytis🫡
    • he kept his promise! i think it's a good idea to unban his old account. he shares files with the community and could help both new and veteran l2off users! good job, Guytis!
  • Topics

×
×
  • Create New...