Jump to content


Anúncios Patrocinados








  • Recently Browsing

    No registered users viewing this page.

  • Similar Content

    • By junin00
      O proprietário prometeu a cada 10 revisões, os recursos das revisões antigas serão compartilhados.
      Link Source 2.0

      Esse é compilado da revisão atual compartilhado do forum deles.

      Link Build 3.1
       
       
      #--------------------- # Correções Rev. 1.0: #--------------------- Fixed MissQueen in Talking Island, for some reason the spawn was on the roof. Some configs have been translated, the rest will be translated further. Config for endless nipples and arrows. Implementation of Voiced commands (so far only a template and only 1 .online command has been added). (needed for multilingualism). Transferring about 30 old fixes (without commits), I just know the fixing of bugs related to the attack of characters. #--------------------- # Correções Rev. 1.1: #--------------------- If you spam the "any skill" button into a mob and at the same time move somewhere, your Persian will freeze and stake until you take yourself into the target. (FIX) You cannot sit on the throne (knocks out a mistake in the GS) (FIX). Fixed skill Fist Fury (gave effect to all weapons, now only knuckle dusters). Correction of skills Fire Vortex, Wind Vortex, Dark Vortex, Light Vortex, Ice Vortex. #--------------------- # Correções Rev. 1.2: #--------------------- Cut out mariadb, returned mysql-connector-java. (don't even ask why or why). When you buff or heal RB (which has lvl lower than yours by 9), an anchor should be hung (not fat). (FIX) - https://www.youtube.com/watch?v=Z8lemrgOELk Receiving an error in the console when buffed to a low-level RB. (FIX). Getting an error in the console when attacking a low-level RB. (FIX). + with different weapons (FIX). Lard is hanged for helping low-level players. (heal in a party for example). (FIX) - https://www.youtube.com/watch?v=MD-Sq8S9J3E If a skill has a <player hp = "60" /> tag after the trigger, it does not update the character's stats, but the stats change. You should also write a message that the effect has started or ended. On other builds this message is ID: 1133 (since HP has decreased, the effect of $ s1 can be felt.) And ID: 1134 (since HP has increased, the effect of $ s1 will disappear.) (FIX). Fixed auto-attack on the character (previously, for some reason, it did 1 hit and stopped). (FIX). #--------------------- # Correções Rev. 1.3: #--------------------- Fixed a problem with the peaceful zone (it was impossible to beat NPCs and monsters in the peaceful zone). Config for changing the MONTH / DAY / WEEK Olympiad period (month, day, week). Lard is hanged for helping low-level players. (minor adjustments - now the fat is hung up for the buff and works outside the party, respectively). Added AI Frintezza (+ penetration implementation). It still needs a lot of work - but it is already working. Quest Tutorial (rewritten into more sane code, but needs some work and fixes). #--------------------- # Correções Rev. 1.4: #--------------------- * By off, players who have been banned should simply be thrown out of the game, not crashed. * By off, it is forbidden to call a pet in battle. + New AI BrekaOrcOverlord, CatsEyeBandit, DeluLizardmanSpecialAgent, DeluLizardmanSpecialCommander, KarulBugBear, OlMahumGeneral, ScarletStokateNoble, TimakOrcSupplier, TimakOrcTroopLeaderF TurekOrcrc (we will replenish). + Config setting the time of buffs (on request). + Quest Tutorial is completely fixed, functions as it should. * Skill Sweeper, it should absorb when sharpening HP, ie work like DRAIN + there is no sharpening to absorb MP What's new in version 1.3 * Fixed a problem with a peaceful zone (it was impossible to beat NPCs and monsters in a peaceful zone). + Config for changing the period of the Olympiad MONTH / DAY / WEEK (month, day, week). * Lard is hanged for helping low-level players. (minor adjustments - now the fat is hung up for the buff and works outside the party, respectively). + Added AI Frintezza (+ implementation of penetration). It still needs a lot of work - but it is already working. + Quest Tutorial (rewritten into more sane code, but needs to be improved and corrected). #--------------------- # Correções Rev. 1.5: #--------------------- ! Now the build starts with Java 14. ! Upgrade to aCis 391. + now the chat shows where the htm file is located. (more for convenience, for admins). * Corrections in AI, correcting flooding in chat. * TP from Dion Fortress of Resistance (was not the correct point). (Thanks Gauri). + Time and date in the console (more for convenience). * Fixed the initial quest, previously called immediately (now as it should). #--------------------- # Correções Rev. 1.6: #--------------------- Fixed TP coordinates in Seal of Shilen. Fixed TP coordinates in Silent Valey. Fixed TP coordinates in Hot Springs. https://www.youtube.com/watch?v=gyVtyNvnkFI - FIX https://www.youtube.com/watch?v=qBB6Mc3cFq0 - FIX Fixed https://acis.i-live.eu/index.php?topic=10624.0 - FIX Improvement of Bluff, now deploys the target normally. Added missing NPC_IDs in multisell 1001 Fixed problem with picking up items from the ground (earlier, during picking up there was a slight stupor and movement was delayed.). (Thanks to James). quest Q127 - no reward. (Thanks to James). Corrected http://joxi.ru/52aBa1vUbYkE4A (Thanks to James). #--------------------- # Correções Rev. 1.7: #--------------------- Fixed a problem with archers (previously, for some reason, they ran to the target, for example, which was killed), although it should remain in the range. Added config level up to which (inclusive) gatekeepers are free. (Thanks to James) Fixed Lottery Ticket Seller in Elves, Dwarves and Dark Elves town (previously there were Orcs). (Thanks to James) Added max level config to enter Cruma Tower. Added missing items from the pet item vendor (in Gludio). Fixed pagan (previously it was possible to pass without a quest). (+ throws it into the city if there is no quest item). Fixed TP coordinates in Outlaw Forest (Thanks Gauri) Fixed TP coordinates in Pavel Ruins (Thanks Gauri) Fixed TP coordinates in Skyshadow Meadow (Thanks James) Fixed TP coordinates in Antharas Lair (Thanks James) Translated spawnlist_4s.sql -> spawns4s.xml Fixed character can no longer fall under textures (rarely, but it happened - you could 4-5 minutes to run under the map, and had to do a teleport. Fixed a problem with freezing (when the character fell from a height). The next AI fixes, optimized for the style of the aCis themselves (also, the chances of messages are cut in 2) were checked on PTS. Fixed Song of Renewal incorrect cooldown . (Thanks Gauri) Fixed it is impossible to speak with pets in the city. (near sellers for pets). Added a drop multiplier for items with GrandBoss (on request). Now from the game, you can open the htm file. (the NPC you need). (more for convenience, for admins). Added AI for some monsters in GFG (which reproduce). #--------------------- # Correções Rev. 1.8: #--------------------- * Mobs, now you can spoil, manure the dead. (the problem came from me when I was fixing dead target and distance issue). * Problem with manor (duplicate lines + mos belongs to the rune, it was previously gdd). * The problem with the dino island (now belongs to the rune). * Some corrections for manor (duplicate lines removed). * Soul Crystal, not working right. * Huge reworking of all teleports (all points are taken directly from the PTS + adjusted prices for all teleports (previously it was x2)). + Offline trade (by popular demand). * https://www.youtube.com/watch?v=k7oE5Ue5ytA https://www.youtube.com/watch?v=8Cj8ss-kqSE https://www.youtube.com/watch?v=AyvBVCxpYac https://www.youtube.com/watch?v=gZkCEn225J8 + Turn the character towards the NPC when talking. * Several NPCs were in the air. * Guards on sieges (now appear correctly + fixed guards in the rune, which for some reason were missing in the spawnlist aCis). * Major changes to the initial quest, now works correctly. * FakeDeath (for some reason, the character who was killed, got up after death and remained in this position). * A message about the incorrect target should be written only to a dead target. (for us, it was written without a target). #--------------------- # Correções Rev. 1.9: #--------------------- Upgrade to aCis 392. Added herb drop from gremlins (PTS). Fixed character rotation when using the skill (previously it worked in aCis, after update 392 - it was broken). Removed flood protector of skills and actions. Optimization of the code (fixes) that were added earlier. Minor adjustments to the spawnlist (in particular, added unworthy NPCs on sieges). Correction of teleports when using skills (skill spam). (jerks). ForgeOfTheGodMonsters AI adjustments. It's time to return mariadb (it won't affect the work in any way, but there are plans). If you fly to the POI to the baium on a wyvern, the TP should take place to the city. Fixed a bug where, when using a skill on a guard, it could hang a fat or an anchor (appeared after fixing the RB). Added test quests 501 and 503 for 4 and 5 clan lvl, you need a good test. Added config for chat (shaun and trade can be made global + level check). (on request). Fixed a problem with the flag on the siege (when you spawned the flag, the siege would freeze and not end). The problem is fixed that you cannot teleport to the city where the castle is under siege. Fixed a problem with the initial buff (previously for some reason 1-2 buffs were buffed). The price for all night teleports has been corrected, the price should be x2 less. Huge AI rework for frinteza (test required). True siege guards were previously removed after the siege was completed, but then immediately appeared (after 392). #--------------------- # Correções Rev. 2.0: #--------------------- 1) Fixed CA. (did not swing before, appeared in 1.9 after fixing the cast time). 2) Replaced the buffer with a more functional one. (more advanced functionality, many asked). 3) Fix the Olympics, now the character appears at the place from which he flew away, and not a random point in the city. (by PTS). 4) Removed the price of a free teleport. (PTS should be without price). 5) Htm from quests 501 and 503. (I forgot to add in previous revisions). 6) Added service "premium item". (on request). 7) Fixed a problem with malaria. (previously did not work for the player). 8)Fixed mysql path on mariadb. (in the base installer). 9) Fixed SevenSigns (now mobs appear correctly depending on the period). 10) Fixed bug with OfflineTradersTable (null). 11) Fixed a problem with the cast of the seals of the castle (the target is not visible, after update 393). 12) Removed Voiced VoiceBuff command. (there are too many questions about it). 13) Fixed a problem with the SummonFriend skill. (didn't work at all). 14) Fixed a bug with the quest Q501_ProofOfClanAlliance (null). 15) Editing the night teleport. "The Gatekeeper's general teleport fee is discounted at 50% from 8:00 PM to 12:00 AM (midnight) CST (8:00 PM GMT + 1 to 12:00 AM GMT + 1 on the Teon and Franz servers). Sundays and Saturdays are exceptions. " + fixed all prices. 16) Fixed a problem with the use of skills (when the character turned in one direction). 17) Fixed a problem with pets (it was impossible to use food). 18) Rift fix. (it was impossible to get to Anacasel). 19) Fix caste for magicians. 20) Added .expon and .expoff commands (by popular demand). 21) Fixed a serious bug with AutoLoot - earlier it was allowed to take things with more inventory capacity (120 \ 80). Now, when the limit is reached, things fall to the ground. 22) Fixed the work of Frintezza (after updating aCis). 23) Cleaned the HS from flooding (a lot of unnecessary information). 24) Now SuperHaste will not fall off (when you climb or climb a mount). (on request). 25) Full correction of raid bosses (the correct work of his curses if the difference in lvl is more than 9). 26) Fixed problem with WalkerRoutes (walking NPCs). (earlier they twitched somehow incomprehensibly). 27) Turn on clan quests by default. (501, 503 - on tests they showed themselves normally). 28) Minor adjustments to FakeDeath. (now works correctly). 29) Fixed problem with Premium (sometimes caused null). 30) Fixed problem with Premium (enabled even when disabled). 31) ItemHandler for BreakingArrow (works + - as it should). (Who does not understand, arrows for frint in addition to the script itself). 32) Fixed buffs in bufferSkills.xml (ready-made sets). - Thanks James. 33) Fixes for Elpy (experience and SP were not accrued). 34) According to PTS, skills with type TARGET_ONE (skillType) cannot be used on NPCs. 35) Fixed Chapel Guard in Pagan (must not move around the PTS). 36) Fixed announcements, after reboot old ones were also loaded. (// reload). 37) Correction in Benom timer (it was 2.4 hours, should be 24). (Benom appears in the Rune Castle dungeon 24 hours before a siege war. The defending side can teleport to the dungeon and raid the monster until a siege begins.) 38) aCis update 393. #--------------------- # Correções Rev. 2.1: #--------------------- Fixed some NPCs in the Q620_FourGoblets quest (target is not visible). Fixed slip effect (after restart). Corpse Burst skill fixed (for nekra). Fixed a visual bug (2 adena). The stats of the shooting gallery have been fixed (probably x5 was overstated). SevenSignsSpawnManager some spawn fixes. SignsPriest bugs fixed. GamePacketHandler (Fixed Login Warning, there was a wrong config). Fixes for the quest Q501_ProofOfClanAlliance. Updating aCis 394. Server hangs (2 cases fixed, not the fact that we will stop there). Problems with Walker npc, mobs correctly return to the spawn point. Small fix of water (slightly better, but not cake yet). #--------------------- # Correções Rev. 2.2: #--------------------- Updated library mariadb-java-client-2.6.1 -> mariadb-java-client-2.7.0 Fix for mmocore (trying to avoid freezes). - anyone interested in a video about the problem is on the aCis forum. Updating aCis 395. Offline_trade Adjustments: Fixed bug in buying (missing 1 column in sql). Fixed a bug when the Russian title was not saved in the database. - Thanks to Sanya for the report. The .online command, like others, can be disabled and enabled (upon request). Nice fix, the GM char can be exited or re-entered during combat. (on request). Correction for the manor (the code is slightly optimized, and the seed.xml is corrected). Captcha for the bot (by popular demand). Many small errors and typos in the code have been fixed + the code has been optimized. Some parts of the code have been translated for java 14 (we are starting to translate the code a little) . #--------------------- # Correções Rev. 2.3: #--------------------- Due to the release of 396 aCis, I had to post 2.3 ... (the update is just huge). They just made complete nonsense as usual ... (just renamed everything). Update aCis 396 (do not ask my comments, there will be a lot of obscenities). Fix offline traders. (from 2.2). Separated ru \ en configs (stand by RU). Captcha for bots (fix for Linux systems), the old one for some reason did not work (only caused a freeze). #--------------------- # Correções Rev. 2.4: #--------------------- Replaced premium item with premium account. Corrections and errors after aCis update. Fixed a problem with zaken (previously thrown a normal player). Fixed some NPCs in castles (rune, godart, shoutguard). Added missing npc in junkgart and rune. Fixed issue with deleteMe for npc - Possessor of a Precious Soul (242). Fixed miss formula (works more correctly). Trade fix (if you hit the character, he will get up and it will be impossible to interact with him). #--------------------- # Correções Rev. 2.5: #--------------------- NPC belonging to the castle (seller of the clan of things in Rune). Fixed 2 RB (impossible to attack with melee). Correction for PTS (a player who sits on a trade should not get up after a hit), as well as a player who sits on a trade and received damage (can get up from a trade, but cannot sit down until the timer has passed). Aden cannot be sold to the store (via PTS). Errors with a premium account when creating a character. Completion of configs (missed earlier). Edit premium configs (floating point support). Premium account adjustments. Returned the fix back, if the skill has the tag <player hp = "60" /> after the trigger, it does not update the character stats, but the characteristics change. (also added messages about receiving the effect and when the effect leaves). Update aCis 397 Seven Signs adjustments. By PTS up to 40 lvl, teleports are free. #--------------------- # Correções Rev. 2.6: #--------------------- AttackPTS config (enables or disables PTS attack). Corrections for polearm (now does not hit its own). Free teleport up to lvl 40 (after aCis fixes, everything broke). Item ID // info (earlier item ID was not specified). Traveler weapons cannot be sharpened. (according to TCP). - Implemented a new parameter in the datapack is_enchantable (disable sharpening). Added spoil for: Needle Stakato Soldier - 21515, Needle Stakato Drone - 21517, Frenzy Stakato Drone - 21519. FuncEnchant optimization. Fixed a problem with skillMastery (the rollback itself worked, but was not visually displayed). Fixed a problem with Augmentation (namely with active skills, after using a skill, the weapon could not be removed before relog). Fixed bug in offline trade. aCis 398. And many small fixes and fixes after updates from aCis 398. #--------------------- # Correções Rev. 2.7: #--------------------- Missed points 398 and code edits. Turn on frint by default. (previously disabled). 2 new configs: - while the bug report is empty, we will add a little functionality to the assembly (not affecting the operation of the assembly itself). 1) Multiclass 2) Allow the player to add / change a subclass for all village masters - Minor edits of SevenSigns. (namely spawn mobs). Minor tweaks to Premium account. Fixed CursedWeapon (message about the time when you pick up a weapon), also fixed the message when you enter the game (by PTS). Now toggle skills are not canceled when picking up CursedWeapon (by PTS). Fix for Augmented weapons. Now buffs and changes weapons without issue. Save after restart .expon .expoff Items_delayed table. Correction for ships. (previously caused 100% load per percent). Fix for Frintezza (code optimized, superfluous removed). Fixed a bug where the character could die when using Body to Mind. Fixed a bug, according to PTS, a CA can be inserted into the augmented weapon. The character should not stop the movement when we are waiting for the bar xp, mp, cp. Fixed a problem with dressing augmented weapons. Optimization of RequestUnEquipItem. Changed items and prices at OlympiadManagerNpc now fully match PTS. Reworked ShortCut now Augmented weapons are displayed correctly. (according to PTS, Augmented weapons were not displayed earlier or not). Buff and regen on Olympus must be before the start of the battle (according to PTS). reworking soulCrystals.xml now the chances correspond to 100%, previously 1000%. By PTS, teleport to the arena takes 60 seconds, we have 30. (PTS). Admin command // show_cached CachedData system. (for saving .menu options). Buffer fix, now a single and a set of buffs also require a price (specified in xml). Removed ExpCommandEnabled config. Removed .expoff .expon commands (shifted to .menu); Removed serverpackets ShortCutDelete, use ShortCutInit instead (fixes issue with displaying items in shortcade). Added check for active skills checkCondition. Fixed skill Force Blaster - you need charges to use. Config max. sharpening at the Olympics. If enchant> values, then the stats are reset. Added icons for all items (xml). Fixed encoding for Russian configs. Brought back the shift + click for administrators and players. (for players there is an option to disable). Fixed issues with NPCs in orc and dwarf villages (were not tied to castles). New config LvlFreeTeleport (the level to which teleportation is free). Correction for summons (now after killing, they are returned back to the owner). #--------------------- # Correções Rev. 2.8: #--------------------- 1) according to PTS, the soulshots of pets should turn on (we wrote a message that there was no servant). 2) Fixed a problem with samons (no longer fit into the owner). 3) Added functionality aggr_info (for the player). (shift + click). 4) Fixed configs a bit (bugs removed). 5) Added GM exception to check for captcha (for bots). (on request). 6) In the water, when the character sits on the trade, hp did not decrease (appeared after the last trade fix). 7) Corrections for displaying% drop, some values were incorrectly displayed earlier. 😎 New config: Multiplier for items drop with GrandBoss (on request). 9) Fixed a problem with Epics, now, for example, in the AK zone, mobs just don't throw a curse on players> lvl 8 from them, now they need to be attacked. 10) Fixed free teleports by lvl (previously only the price disappeared). 11) Rollback of changes by mmocore. 12) If in the NO_LANDING zone (for example TOI), re-enter the game, the character should appear in the city (by PTS). 13) Fixed Frintezza (previously knocked out an error when spawning). 14) The player has the opportunity to make a TP from the epic RB zone (for example, buy) (according to PTS). 15) Do not restore the effects after returning to the sub class (according to PTS, earlier buffs were returned when they returned to the old sub). 16) Do not impose on the GM character - Death Penalty (on request). 17) Config: Allow teleport to the RB zone? (if you do global gk and tp). 18) Config: Auto learning skills up to a certain level. (only works if AutoLearnSkills is enabled). (on request). 19) Fixed problem with .menu (parameters were not displayed correctly). 20) Fixes for frinteza (skill call error) #--------------------- # Correções Rev. 2.9: #--------------------- 1) Place the EN folder in the config right after compilation. 2) .menu adjustments (disable unnecessary functions by default). 3) Removed the TUTORIAL_GUIDE award - sometimes it happened that it gave out 2-3 books. 4) Added new configs: CnameTemplate, TitleTemplate, PetNameTemplate. (for the possibility of implementing Russian nicknames, etc.). 5) Added a new Dual Box config (ban on PvP with 1 IP, participate in the Olympiad, PK, 2 windows). 6) Fixed a problem with the cast (the cast was lower than what it should be). 7) Fixed a problem with groups of mobs (earlier, when killing the main mob, minions disappeared). 😎 Fixed a problem with groups of mobs (previously, when killing a mob with 1 hit (magic), the rest of the mobs did not aggro). 9) Added missing spoil Death Flyer. 10) Added missing mob Gigantic Flyer. 11) Setting up configs (disable unnecessary by default). 12) Added missing statues for the quest The Other Side of Truth. 13) Fixed problem with Farm (TamedBeast) - (food was wasted by itself). 14) Aggr button for a regular player (in shift click). 15) Fixed NPCs hanging in the air (Orc and Elven Village). 16) Fixed lvl 4 clan (previously it was impossible to interact with the statue). 17) Chat filter. 18) Fixed that after buying things from an offline trader (when he had already left the game), when trying to log in to him, it was written that the account was in use. 19) Correction of Hate in RB to normal values. (previously there was a strange multiplication from magic). 20) With the .menu parameter disabled (stopping experience), when the character dies, the experience now goes away. 21) Minor code correction. 22) Fixed 2 flying NPCs (in the air). 23) Reworking of some skills with the UNLOCK type (work on PTS). 24) Fixed NPE error for epic bosses. 25) Fix the siege of the enemy clan, you can attack without holding down ctrl. 26) Fix the siege after capturing the castle, do not show the HP doors. 27) Fixed package RelationChanged. 28) Fixed domes (previously allies (clan, alliance, party) were buffed). Also after installing the dome (Day of Doom the character was flagged). 29) Fixed NPE calculatePath error. #--------------------- # Correções Rev. 3.0: #--------------------- - Fixed mobs on dino - now they can be maneuvered. (by PTS). - Fixed spawnlist redesigned Imperial Tomb. (by PTS). - Fixed spawnlist added Devil's Pass night mobs. (by PTS). - Fixed SevenSigns, or rather spawn mobs. (earlier it spawned on the contrary, if the light won, then there were light mobs). - Added missed THE_SEED_HAS_BEEN_SOWN message for manor seeds. (by PTS). - Fixed an issue with Lilith (second boss) not letting the winning side go. - Added skipped manor to stakato nest. - Fixed a problem with AREA skills (for example Sleeping Cloud, through CTRL it was possible to throw at non-flagged players and clans). - Removed a fix from version 2.9, which broke the behavior of the player at the Olympics (you could not use SELF buffs). - Fixed issue https://acis.i-live.eu/bugs-report/summon-cp-potion/ - Fixed issue https://acis.i-live.eu/bugs-report/wyvern-summon/ - Fixed problem https://acis.i-live.eu/bugs-report/selected-target-behavior/ - Fixed problem https://rusacis.pp.ua/support-tickets/duehl.81/ - Fixed problem https: / /rusacis.pp.ua/support-tickets/kolizej.85/ - Fixed problem https://rusacis.pp.ua/support-tickets/pri-tp-otmenjajutsja-aury.84/ - Fixed problemhttps://rusacis.pp.ua/support-tickets/aura-of-hate-aggression-in-pvp.86/ - Fixed problem https://rusacis.pp.ua/support-tickets/ne-pravilno-rabotaet -gehenna.79 / - Fixed problem https://rusacis.pp.ua/support-tickets/zombi-oxranniki-na-vxode-v-pagan.76/ - Fixed the problem of respawning of all RBs. (minutes are also taken into account, now only hours). - Fixed epic respawn problem. (minutes are also taken into account, now only hours). - Fixed strider movement speed. (previously cut less than the base one). - Fixed templates for names (default). - SummonFriend must teleport characters to the point (by PTS). - Removed double spawn from catacombs (Forbidden Path). - Fixed 0c respawn for group mobs on the 2nd floor in MOS. - Update aCis 399. - Fixed problem with duplicate manor. (error in the GDD lock). - Added donate manager. #--------------------- # Correções Rev. 3.1: #--------------------- - If you die in the arena (we stand in the arena, not in the city). (by PTS). - We prohibit buffing and healing in the enemy arena (only through ctrl via PTS). - Fixed the problem of the appearance of minions in group mobs (if you kill them, they no longer appear until you kill the leader). - Fixed problem with 2 inscriptions at Donat manager. - Fixed NPE errors aggr_info. - Added a config for disabling messages from dooms (there were many complaints that they were flooding). - Fixed a problem with the sticking of the target at the administrator when the player is summoned (now clears the target on the call). - Fixes for Donat shop, now retains the color of nickname and title after relog. - Config Limit sharpening for the Olympiad - disabled by default. - Fixed the ability to change the nickname of the donate manager by 1 character (previously it was 3). - Implemented functions for the castle (TP, buff). - https://rusacis.pp.ua/support-tickets/funkcii-zamka.91/ - PTS software a player who is cursed with RB (Raid Curse) can use TP and res. - https://rusacis.pp.ua/support-tickets/zapret-na-ispolzovanie-svitkov-soe-pri-debafe-rejd-kurs.75/ - Small adjustments to the respawn of RB and Epics. (Earlier RB could miss its respawn, now it spawns properly). - Fixed AI frinteses, previously the player received invulnerability before relog, now this is not. - Fixed the chance to break the SA. - Fixed file full_install.sql - Thanks aslan. - Mana Potion banks now restore 1500 MP (by TCP). - Fixed the Sweeper skill, there was no animation earlier (the character was just standing). - The sharpening system has been reworked, now it is possible to specify the chance yourself. - Fixed issue with Ant Queen Nurse (not healing AK). - Fixed geo-movement (we fix the load on the CPU by 100% (due to mobs or NPCs that are stuck)). - Fixed nipple problem (after update from aCis). - Fixed problem with element damage (after update from aCis). - Fix many small bugs. - Basically, the emphasis was on correcting errors, some I did not write in the fix list (there is no point).  
      Considerações: O projeto funciona somente com Java JDK 14
      Link GeoData L2J
      Link Geodata L2OFF
       
      Se for iniciar com a geodata L2OFF, você precisará excluir vários quadrados no arquivo "geoengine.properties". O gameserver mostrará o que está faltando.
    • By SGERfjs
      https://www.mediafire.com/file/g6u6kr7h2fw75fz/EventNpc.zip/file

      Effect: EventNPCsEffects.e_u847_berethopen_light
      Staticmeshe: EventNPCsEffectsSM.EventZone01
      add effects guide: 
       
      add staticmeshes guide: 
       
    • By SGERfjs
      bom em C4
      Tem alguns pequenos bugs xD
      Eles não trazem as portas dos Halls (Eles podem ser facilmente adicionados.).
      Para os geodados você deve modificar o existente ou gerar um novo.
      https://www.mediafire.com/file/rzk2o0ptee80332/new_giran.zip/file


      o bug

      Modificado com a versão do Prelude de Unreal
    • By SGERfjs
      Letras sem sombra.
      Funciona em C4

      InterludeFont.zip
    • By SGERfjs
      Link: https://www.mediafire.com/file/lq5hyt0bo2qo2eh/SixNewsSkills.zip/file
       
      As estatísticas que possui são aleatórias, a única coisa que eles deveriam respeitar é o skillType; é de aCis.






       
    • By Ivan Pires
      Introdução
      O sistema ICPNetworks V3 não é somente um site, ele é um painel administrativo onde tudo é gerenciado através dele.
      Nesse novo sistema, vocês encontrarão uma variedade imensa de funções. Entre elas está a mais cobiçada, a entrega automática de doações! (APIs atualizadas!!)
      O sistema conta com 4 formas de pagamentos, sendo 3 delas automáticas:
      Depósito/transferencia para sua conta bancária (Entrega manual) PagSeguro (PIX incluído e entrega automática) MercadoPago (PIX incluído e entrega automática) PayPal (Entrega automática) Outra ferramenta muito interessante é o sistema de templates, com ele você pode rodar qualquer site de lineage 2 dentro do sistema ICPNetworks V3. Você se lembra daquele site antiiiiigo que você sempre quis recolocar online e ele está com a programação desatualizada/insegura? Agora você pode colocar ele online novamente com o sistema ICPNetworks V3! Alem disso, qualquer pessoa poderá adicionar ou editar qualquer template de forma simples e fácil, sabendo apenas o basico de HTML, CSS e JavaScript. VOCÊ NÃO PRECISA SABER PROGRAMAÇÂO!!!
        Compatibilidade
      O sistema foi criado para ser compatível com a grande maioria dos servidores de lineage 2 da atualidade.
      O sistema foi testado nas seguintes crônicas e projetos:
      Interlude: Frozen aCis (versão nova e antiga) Mobius Dream V2 (Precisa criar a coluna accesslevel na tabela characters, com default = '0') Lucera L2OFF AdvExt64 Classic: L2-scripts (Versão Antharas precisa de mais testes) L2jOrg Mobius Lucera Gracia Final: L2jServer High Five: L2-scripts Revolt-Team (Versão do Alex (CCCP)) L2jPS Sunrise   Tutoriais
      Instalação
      Configuração
      Apresentação
      Templates
        Arquivos
      Requisitos para usar o sistema:
      Java (L2j): MySQL MariaDB 10+ PHP 7.4.19+ (com o Driver PDO MySQL instalado) C++ (L2OFF): SQL Server 2012+ PHP 7.4.19+ (com o Driver PDO Sql Serv instalado) Download

      Senha: ByIvanPires
        Créditos
      Antes de tudo, eu gostaria de agradecer ao fórum L2jBrasil e os administradores @Kelvin e @Grundor pelo carinho de ter criado uma área exclusiva só para os conteúdos da ICPNetworks, fiquei muito feliz e lisonjeado. 💗
      Agradeço a todos que ajudaram de todas as formas para que esse projeto pudesse ser concluído.
      Agradeço também a L2jCenter por sempre estar patrocinando os meus projetos.
      Os templates disponibilizados nesse sistema são de autoria dos meus grandes amigos e parceiros @HugoFelipe, @lucasdanilo e meus.
      Não vou nomear todo mundo para não correr o risco de esquecer o nome de ninguém. Mas agradeço a todos de coração! Sem a colaboração de todos, não teríamos chegado até aqui.
      Um forte abraço a todos os membros da L2jBrasil e até a próxima!
       


      ICPNetworks_V3.rar
    • By Haber
      START: 04.04.2021
      WEBSITE: https://top.l2jbrasil.com/index.php?a=in&u=l2temida
       
      I would like to invite everyone to play together on the L2Temida server. The server uses English, so we are open to players from all over the world.
      We have many years of experience related to the game Lineage 2 Interlude, which we dedicate to the server, where you will spend your free time pleasently. We listen to each individual, we consider each proposal, we try to fix all errors related to the game immediately after the notification. We are a young team that strives to make the game give you a lot of joy and let us fulfill ourselves in realizing the goals we have set ourselves.
      Video promoting server L2Temida:
      YOUTUBE
      Rates:
      Experience (EXP) - 8x
      Skill Points (SP) - 8x
      Adena - 6x
      Drop Items - 8x
      Spoil - 9x
      Weight Limit - 3x
      Drop Quest - 6x
      Informations:
      The best protection against Bots (The best servers use it !!)
      Skills, Classes, Drop and Spawn System - PTS !
      Temida Shop is avaible where we can buy Soulshots, mana potions and many other interesting things. We’ll find Mammon there too.
      Buffer (for players and pets) - Yes
      Maximum Buffs Slots - 26 + 4
      Duration of the Buffs, Dances and Songs - 1 hours
      Olympiads Max Enchant - 10
      Sub-Class Quest - Not
      Class Master - Yes (in Giran)
      Offline mode Shop - Yes (.offline)
      Auto Learn Skills - Yes
      Champions System - Yes
      Wedding System - Yes
      Global Gatekeeper - Yes
      Scrools, Life Stones, Divine Books and Giants Codex is Stackable.
      Weight Limit - x3
      LvL Differences in Party - 19
      LvL Differences in RB - 8
      Regen HP, P Def., M Def. and Attack increased on RB x2
      Full C-Grade in Luxury Shop
      Full B-Grade in B Grade Master (Giran)
      Working siege Clan Hall (Fortress of Resistance, Bandit Stronghold, Devastated Castle, Wild Beast Reserve, Rainbow Springs Chateau and Fortress of the Dead).
      1 Box are allowed ( Main + 1 Box ).
      New Player Bonus: Each new player gets Rune of Experience Points 30% and Rune of SP 30% for 5h.
      Coin’s of Luck is the additional currency in game. They can be obtained through Voting and Donation.
      Book and Amulets drop has been blocked.
      Greater CP Potion, CP Potion and Quick HP has 2 sec reuse.
      All commands available here: (.help)
      All configurations and features that were not reported here are Retail, ie equal to the official Lineage II or were considered irrelevant.
      Enchants:
      Safe Enchant - 3
      Max Enchant - 16
      Normal Scroll chance - 60%
      Blessed Scroll chance - 60% and not crystallizes
      Addons:
      Achievements System.
      Rune System.
      Special RB - Granit.
      Special Mob - Dragonfly.
      Radio in Client.
      Costumes.
      Map: CT, FOG, IT, MOS, Catacombs, Necropolis, Devil Isle, Ant Nest.
      Anti Lag System - It improves performance especially on weak computers.
      Custom Interface.
      Events:
      TvT - 11:00, 18:00, 21:00, lvl: 1-81, Reward: 20 FA, 40 CoL. Top reward list - Top-Grade Life Stone - Level 76
      CtF - 11:00, 18:00, 21:00, lvl: 1-81, Reward: 40 CoL, High-Grade Life Stone - Level 76
      DM -  11:00, 18:00, 21:00, lvl: 1-81, Reward: 40 CoL, High-Grade Life Stone - Level 76
      TvT, CtF, DM are interchangeable
      Event Finder - 17:00, 22:00, lvl: 76+, Reward: 200 FA
      Collect Medals and Glittering Medals.
      Kamaloka by L2Temida
      More information can be found on our Forum or Website
      Join Today !
       
       
    • By SGERfjs
      GoogleTranslate-chan say:
      Guia simples para adicionar uma imagem no início do jogo.
      Como isso:

      Resolução 3004x2152 Não sei até onde o jogo pode aguentar, mas vamos fazer uma textura de 4096x4096.
      Precisaremos de qualquer versão do PhotoShop para fazer nossa textura 4096x4096.
      Primeiro eles procuram sua imagem, vou usar este https://www.wallpaperbetter.com/es/hd-wallpaper-gbrse
      Essa textura tem no máximo 7680x4320 pixels, eu reduzi para a metade e fiquei com 3004x2152.
      Eles vão ao Photoshop e criam uma nova camada de 4096x4096 de resolução 72 e dentro dessa camada eles colariam sua imagem, eles teriam algo assim:

      Eles salvam a imagem no formato targa, 32bits com RLE.
      Com UE2Runtime criamos nosso .utx.
      Importamos a textura sem MIPs
      Agora temos duas opções, comprimir a textura com DXT1 ou não.
      Com o DXT1 perderemos qualidade ao ativar a opção LOWER DETAIL.
      Se você não compactá-lo com DXT1, ele sempre será visto em alta definição.
      Eles salvam seu .utx.
      Agora iremos ao nosso compilador para interface.u
      Tendo o compilador, teremos a pasta de interface, system e nwindow.
      Dentro da pasta de interface, na subpasta "Classes" criamos um arquivo chamado "LoginMenuWnd.uc" .uc será o formato do arquivo.
      Dentro, eles irão colar o seguinte:
      class LoginMenuWnd extends UICommonAPI; function OnLoad() { RegisterState("LoginMenuWnd","LoginState"); } defaultproperties { } Vamos para a pasta do sistema e compilar com UIScript.exe, o arquivo interface.u será criado, que é colado no system interlude.
      Então vamos para xdateditor e fazemos:
      selecione a versão, interlúdio neste caso, e então o .xdat.
      No motor de busca que traz escreva algo aleatório para que a lista seja limpa

      Clique com o botão direito e criamos uma nova janela / elemento vazio.

      Uma nova pasta é criada, com a opção de janela, que deveria dizer:  null[Window]
      Em seguida, preencha as seguintes informações em DefaultProperty e Window


      Eles vão ao mecanismo de pesquisa e escrevem "Login" para que apareça apenas o elemento. Há uma subopção dizendo "children".
      Eles clicam com o botão direito e fazem o seguinte:

      Agora eles vão repetir o mesmo procedimento com as seguintes informações:

      Agora vem o importante, por assim dizer:

      No file, adicione o caminho de sua textura.
      Em type, eles colocaram Stretch
      Na layer em Normal
      Em uSize e vSize eles terão que colocar o tamanho de sua imagem, no meu caso, o 4096x4096 seria 3004x2152
      Agora com CTRL + S eles salvariam a configuração.
      Abra o jogo e aproveite o que quer que saia dele. XD
      No meu caso

      Interface.u https://mega.nz/file/HJxmUYyI#d0G_FyWDfum3a-jc94Mj8cviXdA6wVzs9LL34OWz9ms
      xdateditor: https://disk.yandex.ru/d/W8JN8-KhCQGEYg password: EmuDev
      unreal2runtime: https://www.moddb.com/downloads/mirror/20765/125/c07c9809f07bdccb8bbee6ef144b0ee0/?referer=https%3A%2F%2Fwww.google.com%2F
    • By breninhoow
      Já tentei de todas as formas criar Utx e não consigo, eu queria abrir um serve para jogar com amigos nome do serve L2 Detroit alguém me ajuda por favor ?!
    • By SGERfjs
      GoogleTranslate-san say:
      Bem pessoal, trago para vocês mais uma compilação de coisas que são compartilhadas por fóruns L2, outras retiradas de servidores online.
      Observe que NÃO darei NENHUM APOIO a esse respeito. Simplesmente por preguiça 
      A interface e seus arquivos estão dentro da pasta System, e dentro há uma pasta GameGuard que contém todos os arquivos da interface para mantê-los organizados e independentes uns dos outros, caso você queira mudar algo no futuro é menos problemático já que dentro O cliente tem muitas coisas e é muito fácil tocar em algo e irritá-lo (para não ver algo corretamente ou causar um travamento por falta de texturas).
      Tem algumas coisas como o lobby classsic
      Possui animações dos personagens alteradas.
      Interface com tela de danos, autoshots, autospots, autoenchant, autoskills, autoargument, entre outras coisas.
      Também traz a mudança de pele do majestoso traje arcana ...
      Algumas imagens:
      https://imgur.com/a/1d7Srga
      Descarga: https://mega.nz/file/1kd2xDDQ#dEXtiUGLUNT-Hgl5aCzswJONZuGYY6afZaRdmA_9dlw
      Geodata: https://mega.nz/file/t9AQkLwZ#1o0E5izTsO2EcTfr1vSIbwzBYglSe7k4hQYL7rL1jPw
  • Posts

novo projeto de remake interlúdio - servidor e cliente C6


mikado

Recommended Posts

NOTA DA ADMINISTRAÇÃO:

Este tópico está sendo atualizando no post abaixo:

 

 

Buenas amigos , hoy les estoy compartiendo algo que empezó como una idea y he logrado materializar acerca de una nueva forma de poder jugar Interlude... un experimento.
que es esto que estoy compartiendo ? , bueno vamos a dividirlo en dos partes :

1) el cliente que les dejo en el enlace , es el cliente Interlude con la particularidad que utilizaremos otro protocolo de comunicación el 216 que nos permitirá poder visualizar otras cosas que antes no podíamos ver porque su System original no nos lo permitía , además le he tenido que hacer un upgrade de algunas texturas y animaciones que nos permitirán visualizar items cosmeticos, mascotas , capas, transformaciones....demás. El  Cliente con estos upgrades pesa 3.41 GB .

2) los archivos del Datapack son originalmente Freya y hay que hacer ajustes aún para llevarlo a Interlude , pero bueno ya tenemos algunas cosas como spawn de mobs y algunas cosas más , aparte de que podríamos utilizar lo que ya está implementado , todas las Fortress, Territory Wars , Seven Signs y otras coasas .

Acá les dejo un breve video de como se ve esto :

 

 

 

Datapack :  

https://disk.yandex.com/d/trQNVVrJOYlcAA]https://disk.yandex.com/d/trQNVVrJOYlcAA

CLiente Interlude upgrade :

https://disk.yandex.com/d/F0e7jsO8UUy5Pg]https://disk.yandex.com/d/F0e7jsO8UUy5Pg

PD: me olvidé de mencionar que podemos utilizar cualquier source que queramos con este cliente simplemente adaptando los protcolos de comunicacion al 216 - si te interesa aqui tienes todos los protocolos : http://netpro.revengineer.eu/protocols/ , por ejemplo adaptar acis o l2jfrozen o cualquier otro o como en este caso hacer un downgrade de crónica . :-X
 


bueno espero que les guste , ya si voy haciendo algún avance en esto lo iré publicando aquí
Un saludo.
 

  • Like 5
  • I love it 3

5GpQKvZ.jpg

Link to comment
Share on other sites



Bons amigos, hoje estou compartilhando algo que começou como uma ideia e consegui me materializar sobre uma nova maneira de poder jogar Interlúdio... uma experiência.
O que é isso que estou compartilhando? , bem, vamos dividi-lo em duas partes:

1) o cliente que os deixou no link, é o cliente Interlude com a particularidade de que usaremos outro protocolo de comunicação no 216 que nos permitirá ser capazes de visualizar outras coisas que não pudemos ver antes porque seu Sistema original não nos permitiu, Também tive que atualizar algumas texturas e animações que nos permitirão visualizar itens cosméticos, animais de estimação, camadas, transformações.
O Cliente com esses upgrades pesa 3,41 GB.

2) Os arquivos Datapack são originalmente Freya e você tem que fazer ajustes ainda para levá-lo ao Interlude, mas bem, já temos algumas coisas como prole de mobs e mais algumas coisas, além disso poderíamos usar o que já está implementado, todos os Fortress, Territory Wars , Seven Signs e outros coasses.

Aqui está um pequeno vídeo de como isso se parece:

Datapack :  

https://disk.yandex.com/d/trQNVVrJOYlcAA]https://disk.yandex.com/d/trQNVVrJOYlcAA

CLiente Interlude upgrade :

https://disk.yandex.com/d/F0e7jsO8UUy5Pg]https://disk.yandex.com/d/F0e7jsO8UUy5Pg

Esqueci de mencionar que podemos usar qualquer fonte que quisermos com este cliente simplesmente adaptando os protocolos de comunicação para o 216 - se você estiver interessado aqui você tem todos os protocolos: http://netpro.revengineer.eu/protocols/ , por exemplo, adapte acis ou l2jfrozen ou qualquer outro ou como neste caso fazer um downgrade crônico.

bem, eu espero que você goste, uma vez que se eu estou fazendo qualquer progresso sobre isso eu vou publicá-lo aqui
Saudações.
 

  • Like 1
  • I love it 2

5GpQKvZ.jpg

Link to comment
Share on other sites

Hola no se como poner en l2jfrozen para que admita este cliente, he puesto en dev 216 pero sospecho que no puede ser tan sencillo, me deja loguear pero no entrar al servidor, tampoco me da ningun error la consola

 

Link to comment
Share on other sites

14 minutos atrás, cheewe disse:

Hola no se como poner en l2jfrozen para que admita este cliente, he puesto en dev 216 pero sospecho que no puede ser tan sencillo, me deja loguear pero no entrar al servidor, tampoco me da ningun error la consola

 

esta frozen que usas tanto es una nueva actualizacion? Por que la l2jacis y l2jmobius esta mucho enfrente de ella!

6562656.6.565.95.5.64.8.89....99999588799900

Link to comment
Share on other sites

Creo que lo que has hecho un downgrade de freya a interlude no?

yo estoy usando l2jfrozen 1132 creo queno va a ser posible que conecte ese cliente con este tipo de servidor

los paquetes son muy antiguos

si se te ocurre algo xd me dices, lo mas feo de interlude siempre es la interface xd

La idea que has tenido me parece muy interesante, animo !

Edited by cheewe
Link to comment
Share on other sites

hace 3 horas, cheewe dijo:

Hola no se como poner en l2jfrozen para que admita este cliente, he puesto en dev 216 pero sospecho que no puede ser tan sencillo, me deja loguear pero no entrar al servidor, tampoco me da ningun error la consola

 

hola amigo tiene que cambiar la comunicacion del cliente todos los packets de 746 es posible su caso a 216 , http://netpro.revengineer.eu/protocols/

 

 

hace 2 horas, Hashirama dijo:

Tem a mesma proposta desse tópico! mais usa o cliente H5

Source Rhongominyad 131 - CT0 ~ Interlude 

creo que no ha comprendido , pero no es lo mismo.... 

5GpQKvZ.jpg

Link to comment
Share on other sites

hace 3 horas, cheewe dijo:

Hola no se como poner en l2jfrozen para que admita este cliente, he puesto en dev 216 pero sospecho que no puede ser tan sencillo, me deja loguear pero no entrar al servidor, tampoco me da ningun error la consola

 

hola amigo tiene que cambiar la comunicacion del cliente todos los packets de 746 es posible su caso a 216 , http://netpro.revengineer.eu/protocols/

aunque toma mucho trabajo la compatibilidad le recomiendo hacer un downgrade del datapack Freya , el source que uso para las pruebas es L2jDP

5GpQKvZ.jpg

Link to comment
Share on other sites

Este cliente e files são freya

O mesmo deu downgrade na jogabilidade dos files

E removeu arquivos de conteúdo interlude + do cliente para deixar mais leve no aspecto peso

Não é interlude é freya, é tipo o que o Helios fez a uns anos atras pegou uma rev e cliente goddes e deu downgrade de jogabilidade para high five

Não entendi o por que "rompendo mitos que interlude não funciona capa, sendo que o cliente, não é interlude"

Mas, entretanto a ideia de fazer um interlude baseado no cliente e files freya é interessante, é diferente e é uma inovação querendo ou não. Não sei o que os jogadores achariam disso mas acredito eu que seria bem aceito.

Boa sorte no seu desenvolvimento, está ficando muito bom. 

Servidor High Five Custom PvP

https://www.la2prime.com

High Five 1000x - Tournament, Dressme full, Olympiad, Balance System, Dinamic PvP, Talisman, Bracelete, Sistemas Goddes of Destruction

Link to comment
Share on other sites

hace 10 minutos, Nukea dijo:

Este cliente e files são freya

O mesmo deu downgrade na jogabilidade dos files

E removeu arquivos de conteúdo interlude + do cliente para deixar mais leve no aspecto peso

Não é interlude é freya, é tipo o que o Helios fez a uns anos atras pegou uma rev e cliente goddes e deu downgrade de jogabilidade para high five

Não entendi o por que "rompendo mitos que interlude não funciona capa, sendo que o cliente, não é interlude"

Mas, entretanto a ideia de fazer um interlude baseado no cliente e files freya é interessante, é diferente e é uma inovação querendo ou não. Não sei o que os jogadores achariam disso mas acredito eu que seria bem aceito.

Boa sorte no seu desenvolvimento, está ficando muito bom. 

esta confundido amigo , el cliente es interlude !!  ,  puedo facilitar un system con el que usted, con este datapack puede conectar cualuier cliente interlude , solo que no verá los items porque simplemente no están los static meshes y texturas necesarias .

hace 23 minutos, cheewe dijo:

Hay repositorios de eso? me gustaría poder tener el core si es código abierto me refiero a l2jdb.

L2JPD Private Project Final

si al revés fuera , y alguien busca un system Interlude multicliente , para conectar con cualquier cliente yo lo puedo subir ... pero no tiene nada que ver con este proyecto son 2 cosas distintas.

5GpQKvZ.jpg

Link to comment
Share on other sites

Tá longe de ser um interlude Remake, pessoal deu nessa agora...

É apenas um freya impedido de selecionar a raça kamael pela inteface dessa system, mas se você pegar outra system original do FREYA com mesmo protocolo, você seleciona normal os Kamael.

Postou como se fosse algo pronto, mas ainda está longe de ser o que o post diz.

 

Link to comment
Share on other sites

hace 3 horas, SkyDoidao dijo:

Tá longe de ser um interlude Remake, pessoal deu nessa agora...

É apenas um freya impedido de selecionar a raça kamael pela inteface dessa system, mas se você pegar outra system original do FREYA com mesmo protocolo, você seleciona normal os Kamael.

Postou como se fosse algo pronto, mas ainda está longe de ser o que o post diz.

 

si claro cualquier system freya puede hacer login , pero debe bloquear desde el source en lo packets de creación que no admita la raza kamael .

esto solo le muestra la posibilidad que nos da poder utilizar este método, si le interesa . 

por otro lado creo que ha entendido mal , en ningún momento he dicho que era un trabajo finalizado , solo he dicho que es un experimento y una idea , si su idea era poder tomar un trabajo terminado y bien hecho entiendo su decepción .

 

 

se, naturalmente, qualquer sistema de freya pode fazer login, mas deve bloquear a fonte em que pacotes de criação não suportam a corrida kamael.

isso só mostra a possibilidade de que nos dá usar este método, se você estiver interessado. 

por outro lado eu acho que você entendeu mal, em nenhum momento eu disse que era um trabalho completo, eu só disse que é um experimento e uma ideia, se sua ideia era ser capaz de pegar um trabalho acabado e bem eco eu entendo sua decepção.

public class CharacterCreate implements IClientIncomingPacket
{
	protected static final Logger LOGGER_ACCOUNTING = Logger.getLogger("accounting");
	
	// cSdddddddddddd
	private String _name;
	private byte _sex;
	private int _classId;
	private byte _hairStyle;
	private byte _hairColor;
	private byte _face;
	
	@Override
	public boolean read(GameClient client, PacketReader packet)
	{
		_name = packet.readS();
		packet.readD(); // race
		_sex = (byte) packet.readD();
		_classId = packet.readD();
		packet.readD(); // _int
		packet.readD(); // _str
		packet.readD(); // _con
		packet.readD(); // _men
		packet.readD(); // _dex
		packet.readD(); // _wit
		_hairStyle = (byte) packet.readD();
		_hairColor = (byte) packet.readD();
		_face = (byte) packet.readD();
		return true;
	}
	
	@Override
	public void run(GameClient client)
	{
		// Last Verified: May 30, 2009 - Gracia Final - Players are able to create characters with names consisting of as little as 1,2,3 letter/number combinations.
		if ((_name.length() < 1) || (_name.length() > 16))
		{
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_16_ENG_CHARS));
			return;
		}
		
		if (Config.FORBIDDEN_NAMES.length > 0)
		{
			for (String st : Config.FORBIDDEN_NAMES)
			{
				if (_name.toLowerCase().contains(st.toLowerCase()))
				{
					client.sendPacket(new CharCreateFail(CharCreateFail.REASON_INCORRECT_NAME));
					return;
				}
			}
		}
		
		if (FakePlayerData.getInstance().getProperName(_name) != null)
		{
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_INCORRECT_NAME));
			return;
		}
		
		// Last Verified: May 30, 2009 - Gracia Final
		if (!Util.isAlphaNumeric(_name) || !isValidName(_name))
		{
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_INCORRECT_NAME));
			return;
		}
		
		if ((_face > 2) || (_face < 0))
		{
			LOGGER.warning("Character Creation Failure: Character face " + _face + " is invalid. Possible client hack. " + client);
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
			return;
		}
		
		if ((_hairStyle < 0) || ((_sex == 0) && (_hairStyle > 4)) || ((_sex != 0) && (_hairStyle > 6)))
		{
			LOGGER.warning("Character Creation Failure: Character hair style " + _hairStyle + " is invalid. Possible client hack. " + client);
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
			return;
		}
		
		if ((_hairColor > 3) || (_hairColor < 0))
		{
			LOGGER.warning("Character Creation Failure: Character hair color " + _hairColor + " is invalid. Possible client hack. " + client);
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
			return;
		}
		
		PlayerInstance newChar = null;
		PlayerTemplate template = null;
		
		/*
		 * DrHouse: Since checks for duplicate names are done using SQL, lock must be held until data is written to DB as well.
		 */
		synchronized (CharNameTable.getInstance())
		{
			if ((CharNameTable.getInstance().getAccountCharacterCount(client.getAccountName()) >= Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT) && (Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT != 0))
			{
				client.sendPacket(new CharCreateFail(CharCreateFail.REASON_TOO_MANY_CHARACTERS));
				return;
			}
			else if (CharNameTable.getInstance().doesCharNameExist(_name))
			{
				client.sendPacket(new CharCreateFail(CharCreateFail.REASON_NAME_ALREADY_EXISTS));
				return;
			}
			
			template = PlayerTemplateData.getInstance().getTemplate(_classId);
			if ((template == null) || (ClassId.getClassId(_classId).level() > 0))
			{
				client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
				return;
			}
			
			// Custom Feature: Disallow a race to be created.
			// Example: Humans can not be created if AllowHuman = False in Custom.properties
			switch (template.getRace())
			{
				case HUMAN:
				{
					if (!Config.ALLOW_HUMAN)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case ELF:
				{
					if (!Config.ALLOW_ELF)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case DARK_ELF:
				{
					if (!Config.ALLOW_DARKELF)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case ORC:
				{
					if (!Config.ALLOW_ORC)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case DWARF:
				{
					if (!Config.ALLOW_DWARF)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case KAMAEL:
				{
					if (!Config.ALLOW_KAMAEL)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
			}
			newChar = PlayerInstance.create(template, client.getAccountName(), _name, new PlayerAppearance(_face, _hairColor, _hairStyle, _sex != 0));
		}
		
		// HP and MP are at maximum and CP is zero by default.
		newChar.setCurrentHp(newChar.getMaxHp());
		newChar.setCurrentMp(newChar.getMaxMp());
		// newChar.setMaxLoad(template.getBaseLoad());
		client.sendPacket(CharCreateOk.STATIC_PACKET);
		
		initNewChar(client, newChar);
		
		LOGGER_ACCOUNTING.info("Created new character, " + newChar + ", " + client);
	}
	
	private boolean isValidName(String text)
	{
		return Config.CHARNAME_TEMPLATE_PATTERN.matcher(text).matches();
	}
	
	private void initNewChar(GameClient client, PlayerInstance newChar)
	{
		World.getInstance().addObject(newChar);
		
		if (Config.STARTING_ADENA > 0)
		{
			newChar.addAdena("Init", Config.STARTING_ADENA, null, false);
		}
		
		final PlayerTemplate template = newChar.getTemplate();
		if (Config.CUSTOM_STARTING_LOC)
		{
			final Location createLoc = new Location(Config.CUSTOM_STARTING_LOC_X, Config.CUSTOM_STARTING_LOC_Y, Config.CUSTOM_STARTING_LOC_Z);
			newChar.setXYZInvisible(createLoc.getX(), createLoc.getY(), createLoc.getZ());
		}
		else if (Config.FACTION_SYSTEM_ENABLED)
		{
			newChar.setXYZInvisible(Config.FACTION_STARTING_LOCATION.getX(), Config.FACTION_STARTING_LOCATION.getY(), Config.FACTION_STARTING_LOCATION.getZ());
		}
		else
		{
			final Location createLoc = template.getCreationPoint();
			newChar.setXYZInvisible(createLoc.getX(), createLoc.getY(), createLoc.getZ());
		}
		newChar.setTitle("");
		
		if (Config.ENABLE_VITALITY)
		{
			newChar.setVitalityPoints(Math.min(Config.STARTING_VITALITY_POINTS, PlayerStat.MAX_VITALITY_POINTS), true);
		}
		if (Config.STARTING_LEVEL > 1)
		{
			newChar.getStat().addLevel((byte) (Config.STARTING_LEVEL - 1));
		}
		if (Config.STARTING_SP > 0)
		{
			newChar.getStat().addSp(Config.STARTING_SP);
		}
		
		final List<PlayerItemTemplate> initialItems = InitialEquipmentData.getInstance().getEquipmentList(newChar.getClassId());
		if (initialItems != null)
		{
			for (PlayerItemTemplate ie : initialItems)
			{
				final ItemInstance item = newChar.getInventory().addItem("Init", ie.getId(), ie.getCount(), newChar, null);
				if (item == null)
				{
					LOGGER.warning("Could not create item during char creation: itemId " + ie.getId() + ", amount " + ie.getCount() + ".");
					continue;
				}
				
				if (item.isEquipable() && ie.isEquipped())
				{
					newChar.getInventory().equipItem(item);
				}
			}
		}
		
		for (SkillLearn skill : SkillTreeData.getInstance().getAvailableSkills(newChar, newChar.getClassId(), false, true))
		{
			newChar.addSkill(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()), true);
		}
		
		// Register all shortcuts for actions, skills and items for this new character.
		InitialShortcutData.getInstance().registerAllShortcuts(newChar);
		
		if (!Config.DISABLE_TUTORIAL)
		{
			startTutorialQuest(newChar);
		}
		
		EventDispatcher.getInstance().notifyEvent(new OnPlayerCreate(newChar, newChar.getObjectId(), newChar.getName(), client), Containers.Players());
		newChar.setOnlineStatus(true, false);
		Disconnection.of(client, newChar).storeMe().deleteMe();
		
		final CharSelectionInfo cl = new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1);
		client.setCharSelection(cl.getCharInfo());
	}
	
	/**
	 * TODO: Unhardcode it using the new listeners.
	 * @param player
	 */
	public void startTutorialQuest(PlayerInstance player)
	{
		final QuestState qs = player.getQuestState("Q00255_Tutorial");
		Quest q = null;
		if (qs == null)
		{
			q = QuestManager.getInstance().getQuest("Q00255_Tutorial");
		}
		if (q != null)
		{
			q.newQuestState(player).setState(State.STARTED);
		}
	}
}

 

hace 12 horas, mikado dijo:

Si , lo subire a la nube y dejo el enlace .

mas información : Info

source Source

 

 

Edited by mikado

5GpQKvZ.jpg

Link to comment
Share on other sites

 

Newbies.properties

# ---------------------------------------------------------------------------
# Character Races option for creation
# ---------------------------------------------------------------------------
# Disable any race for creation
# Default: False
DisableCreateHuman = False

# Default: False
DisableCreateElf = False

# Default: False
DisableCreateDarkElf = False

# Default: False
DisableCreateOrc = False

# Default: False
DisableCreateDwarf = False

# Default: False
DisableCreateKamael = False

# ---------------------------------------------------------------------------
# Character Races option for sex
# ---------------------------------------------------------------------------
# Disable any sex for creation
# Default: False
DisableCreateMen = False

# Default: False
DisableCreateWomen = False

 

 

package com.l2jserver.gameserver.network.clientpackets;

import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

import com.l2jserver.Config;
import com.l2jserver.gameserver.datatables.CharNameTable;
import com.l2jserver.gameserver.datatables.CharTemplateTable;
import com.l2jserver.gameserver.datatables.SkillTable;
import com.l2jserver.gameserver.datatables.xml.SkillTreesData;
import com.l2jserver.gameserver.idfactory.IdFactory;
import com.l2jserver.gameserver.instancemanager.QuestManager;
import com.l2jserver.gameserver.model.L2ItemInstance;
import com.l2jserver.gameserver.model.L2ShortCut;
import com.l2jserver.gameserver.model.L2SkillLearn;
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
import com.l2jserver.gameserver.network.L2GameClient;
import com.l2jserver.gameserver.network.serverpackets.CharCreateFail;
import com.l2jserver.gameserver.network.serverpackets.CharCreateOk;
import com.l2jserver.gameserver.network.serverpackets.CharSelectionInfo;
import com.l2jserver.gameserver.templates.chars.L2PcTemplate;
import com.l2jserver.gameserver.templates.chars.L2PcTemplate.PcTemplateItem;
import com.l2jserver.gameserver.util.Util;
import com.l2jserver.scripts.quests.Q00255_Tutorial;

@SuppressWarnings("unused")
public final class CharacterCreate extends L2GameClientPacket
{
	private static final String _C__0B_CHARACTERCREATE = "[C] 0B CharacterCreate";
	private static final Logger _log = Logger.getLogger(CharacterCreate.class.getName());
	protected static final Logger _logAccounting = Logger.getLogger("accounting");
	
	// cSdddddddddddd
	private String _name;
	private int _race;
	private byte _sex;
	private int _classId;
	private int _int;
	private int _str;
	private int _con;
	private int _men;
	private int _dex;
	private int _wit;
	private byte _hairStyle;
	private byte _hairColor;
	private byte _face;
	
	// Races Ids
	private final int Human = 0;
	private final int Elf = 1;
	private final int DarkElf = 2;
	private final int Orc = 3;
	private final int Dwarf = 4;
	private final int Kamael = 5;
	
	@Override
	protected void readImpl()
	{
		_name = readS();
		_race = readD();
		_sex = (byte) readD();
		_classId = readD();
		_int = readD();
		_str = readD();
		_con = readD();
		_men = readD();
		_dex = readD();
		_wit = readD();
		_hairStyle = (byte) readD();
		_hairColor = (byte) readD();
		_face = (byte) readD();
	}
	
	@Override
	protected void runImpl()
	{
		
		// Last Verified: May 30, 2009 - Gracia Final - Players are able to create characters with names consisting of as little as 1,2,3 letter/number combinations.
		if ((_name.length() < 1) || (_name.length() > 16))
		{
			if (Config.DEBUG)
			{
				_log.fine("Character Creation Failure: Character name " + _name + " is invalid. Message generated: Your title cannot exceed 16 characters in length. Please try again.");
			}
			
			sendPacket(new CharCreateFail(CharCreateFail.REASON_16_ENG_CHARS));
			return;
		}
		
		if (Config.FORBIDDEN_NAMES.length > 1)
		{
			for (String st : Config.FORBIDDEN_NAMES)
			{
				if (_name.toLowerCase().contains(st.toLowerCase()))
				{
					sendPacket(new CharCreateFail(CharCreateFail.REASON_INCORRECT_NAME));
					return;
				}
			}
		}
		
		// Last Verified: May 30, 2009 - Gracia Final
		if (!Util.isAlphaNumeric(_name) || !isValidName(_name))
		{
			if (Config.DEBUG)
			{
				_log.fine("Character Creation Failure: Character name " + _name + " is invalid. Message generated: Incorrect name. Please try again.");
			}
			
			sendPacket(new CharCreateFail(CharCreateFail.REASON_INCORRECT_NAME));
			return;
		}
		
		if ((_face > 2) || (_face < 0))
		{
			_log.warning("Character Creation Failure: Character face " + _face + " is invalid. Possible client hack. " + getClient());
			
			sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
			return;
		}
		
		if ((_hairStyle < 0) || ((_sex == 0) && (_hairStyle > 4)) || ((_sex != 0) && (_hairStyle > 6)))
		{
			_log.warning("Character Creation Failure: Character hair style " + _hairStyle + " is invalid. Possible client hack. " + getClient());
			
			sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
			return;
		}
		
		if ((_hairColor > 3) || (_hairColor < 0))
		{
			_log.warning("Character Creation Failure: Character hair color " + _hairColor + " is invalid. Possible client hack. " + getClient());
			
			sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
			return;
		}
		
		if (Config.DISABLE_CREATING_HUMAN)
		{
			if (_race == Human)
			{
				sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATE_NOT_ALLOWED));
				return;
			}
		}
		if (Config.DISABLE_CREATING_ELF)
		{
			if (_race == Elf)
			{
				sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATE_NOT_ALLOWED));
				return;
			}
		}
		if (Config.DISABLE_CREATING_DARK_ELF)
		{
			if (_race == DarkElf)
			{
				sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATE_NOT_ALLOWED));
				return;
			}
		}
		if (Config.DISABLE_CREATING_ORC)
		{
			if (_race == Orc)
			{
				sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATE_NOT_ALLOWED));
				return;
			}
		}
		if (Config.DISABLE_CREATING_DWARF)
		{
			if (_race == Dwarf)
			{
				sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATE_NOT_ALLOWED));
				return;
			}
		}
		if (Config.DISABLE_CREATING_KAMAEL)
		{
			if (_race == Kamael)
			{
				sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATE_NOT_ALLOWED));
				return;
			}
		}
		
		if (Config.DISABLE_CREATING_MEN)
		{
			if (_sex == 0)
			{
				sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATE_NOT_ALLOWED));
				return;
			}
		}
		
		if (Config.DISABLE_CREATING_WOMEN)
		{
			if (_sex == 1)
			{
				sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATE_NOT_ALLOWED));
				return;
			}
		}
		
		L2PcInstance newChar = null;
		L2PcTemplate template = null;
		
		/*
		 * DrHouse: Since checks for duplicate names are done using SQL, lock must be held until data is written to DB as well.
		 */
		synchronized (CharNameTable.getInstance())
		{
			if ((CharNameTable.getInstance().accountCharNumber(getClient().getAccountName()) >= Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT) && (Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT != 0))
			{
				if (Config.DEBUG)
				{
					_log.fine("Max number of characters reached. Creation failed.");
				}
				
				sendPacket(new CharCreateFail(CharCreateFail.REASON_TOO_MANY_CHARACTERS));
				return;
			}
			else if (CharNameTable.getInstance().doesCharNameExist(_name))
			{
				if (Config.DEBUG)
				{
					_log.fine("Character Creation Failure: Message generated: You cannot create another character. Please delete the existing character and try again.");
				}
				
				sendPacket(new CharCreateFail(CharCreateFail.REASON_NAME_ALREADY_EXISTS));
				return;
			}
			
			template = CharTemplateTable.getInstance().getTemplate(_classId);
			
			if ((template == null) || (template.classBaseLevel > 1))
			{
				if (Config.DEBUG)
				{
					_log.fine("Character Creation Failure: " + _name + " classId: " + _classId + " Template: " + template + " Message generated: Your character creation has failed.");
				}
				
				sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
				return;
			}
			
			int objectId = IdFactory.getInstance().getNextId();
			newChar = L2PcInstance.create(objectId, template, getClient().getAccountName(), _name, _hairStyle, _hairColor, _face, _sex != 0);
		}
		
		newChar.setCurrentHp(template.baseHpMax);
		newChar.setCurrentCp(template.baseCpMax);
		newChar.setCurrentMp(template.baseMpMax);
		// newChar.setMaxLoad(template.baseLoad);
		
		newChar.getVariables().set("@PARTY_REFUSE", false);
		newChar.getVariables().set("@TRADE_REFUSE", false);
		newChar.getVariables().set("@BUFFS_REFUSE", false);
		newChar.getVariables().set("@PM_REFUSE", false);
		newChar.getVariables().set("@GAIN_XP_SP", true);
		newChar.getVariables().set("@AUTO_LOOT", false);
		newChar.getVariables().set("@AUTO_SS", false);
		newChar.getVariables().set("@RED_SKY_DIE", false);
		newChar.getVariables().set("@AUTO_TOD", false);
		newChar.getVariables().set("@PLAYER_HELP", false);
		
		CharCreateOk cco = new CharCreateOk();
		sendPacket(cco);
		
		initNewChar(getClient(), newChar);
		
		LogRecord record = new LogRecord(Level.INFO, "Created new character");
		record.setParameters(new Object[]
		{
			newChar,
			getClient()
		});
		_logAccounting.log(record);
	}
	
	private boolean isValidName(String text)
	{
		boolean result = true;
		String test = text;
		Pattern pattern;
		try
		{
			pattern = Pattern.compile(Config.CNAME_TEMPLATE);
		}
		catch (PatternSyntaxException e) // case of illegal pattern
		{
			_log.warning("ERROR : Character name pattern of config is wrong!");
			pattern = Pattern.compile(".*");
		}
		Matcher regexp = pattern.matcher(test);
		if (!regexp.matches())
		{
			result = false;
		}
		return result;
	}
	
	private void initNewChar(L2GameClient client, L2PcInstance newChar)
	{
		if (Config.DEBUG)
		{
			_log.fine("Character init start");
		}
		
		L2World.getInstance().storeObject(newChar);
		
		if (Config.STARTING_ADENA > 0)
		{
			newChar.addAdena("Init", Config.STARTING_ADENA, null, false);
		}
		
		newChar.setTitle(Config.NEWBIE_CHAR_TITLE);
		
		final L2PcTemplate template = newChar.getTemplate();
		
		if (Config.SPAWN_CHAR)
		{
			newChar.setXYZInvisible(Config.SPAWN_X, Config.SPAWN_Y, Config.SPAWN_Z);
		}
		else
		{
			newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
		}
		
		if (Config.STARTING_LEVEL > 1)
		{
			newChar.getStat().addLevel((byte) (Config.STARTING_LEVEL - 1));
		}
		if (Config.STARTING_SP > 0)
		{
			newChar.getStat().addSp(Config.STARTING_SP);
		}
		
		L2ShortCut shortcut;
		// add attack shortcut
		shortcut = new L2ShortCut(0, 0, 3, 2, 0, 1);
		newChar.registerShortCut(shortcut);
		// add take shortcut
		shortcut = new L2ShortCut(3, 0, 3, 5, 0, 1);
		newChar.registerShortCut(shortcut);
		// add sit shortcut
		shortcut = new L2ShortCut(10, 0, 3, 0, 0, 1);
		newChar.registerShortCut(shortcut);
		
		for (PcTemplateItem ia : template.getItems())
		{
			L2ItemInstance item = newChar.getInventory().addItem("Init", ia.getItemId(), ia.getAmount(), newChar, null);
			
			if (item == null)
			{
				_log.warning("Could not create item during char creation: itemId " + ia.getItemId() + ", amount " + ia.getAmount() + ".");
				continue;
			}
			
			// add tutbook shortcut
			if (item.getItemId() == 5588)
			{
				shortcut = new L2ShortCut(11, 0, 1, item.getObjectId(), 0, 1);
				newChar.registerShortCut(shortcut);
			}
			
			if (item.isEquipable() && ia.isEquipped())
			{
				newChar.getInventory().equipItem(item);
			}
		}
		
		for (L2SkillLearn skill : SkillTreesData.getInstance().getAvailableSkills(newChar, newChar.getClassId(), false, true))
		{
			newChar.addSkill(SkillTable.getInstance().getInfo(skill.getSkillId(), skill.getSkillLevel()), true);
			if ((skill.getSkillId() == 1001) || (skill.getSkillId() == 1177))
			{
				shortcut = new L2ShortCut(1, 0, 2, skill.getSkillId(), skill.getSkillLevel(), 1);
				newChar.registerShortCut(shortcut);
			}
			if (skill.getSkillId() == 1216)
			{
				shortcut = new L2ShortCut(10, 0, 2, skill.getSkillId(), skill.getSkillLevel(), 1);
				newChar.registerShortCut(shortcut);
			}
			if (Config.DEBUG)
			{
				_log.fine("Adding starter skill:" + skill.getSkillId() + " / " + skill.getSkillLevel());
			}
		}
		
		if (!Config.DISABLE_TUTORIAL)
		{
			startTutorialQuest(newChar);
		}
		
		Config.STARTING_COMMON_ITEMS.forEach((id, count) ->
		{
			newChar.addItem("CharCreate", id, count, null, false);
		});
		
		if (!newChar.getClassId().isMage())
		{
			Config.STARTING_BUFF_MAGIC_FIGHT.forEach((id, level) ->
			{
				SkillTable.getInstance().getSkill(id, level).getEffects(newChar, newChar);
			});
		}
		else
		{
			Config.STARTING_BUFF_MAGIC_MAGE.forEach((id, level) ->
			{
				SkillTable.getInstance().getSkill(id, level).getEffects(newChar, newChar);
			});
		}
		
		newChar.setOnlineStatus(true, false);
		newChar.deleteMe();
		
		CharSelectionInfo cl = new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1);
		client.getConnection().sendPacket(cl);
		client.setCharSelection(cl.getCharInfo());
		
		if (Config.DEBUG)
		{
			_log.fine("Character init end");
		}
	}
	
	public void startTutorialQuest(L2PcInstance player)
	{
		QuestState qs = player.getQuestState(Q00255_Tutorial.class.getSimpleName());
		Quest q = null;
		if (qs == null)
		{
			q = QuestManager.getInstance().getQuest(Q00255_Tutorial.class.getSimpleName());
		}
		if (q != null)
		{
			q.newQuestState(player).setState(State.STARTED);
		}
	}
	
	@Override
	public String getType()
	{
		return _C__0B_CHARACTERCREATE;
	}
}

 

Edited by mikado

5GpQKvZ.jpg

Link to comment
Share on other sites

6 horas atrás, mikado disse:

si claro cualquier system freya puede hacer login , pero debe bloquear desde el source en lo packets de creación que no admita la raza kamael .

esto solo le muestra la posibilidad que nos da poder utilizar este método, si le interesa . 

por otro lado creo que ha entendido mal , en ningún momento he dicho que era un trabajo finalizado , solo he dicho que es un experimento y una idea , si su idea era poder tomar un trabajo terminado y bien hecho entiendo su decepción .

 

 

se, naturalmente, qualquer sistema de freya pode fazer login, mas deve bloquear a fonte em que pacotes de criação não suportam a corrida kamael.

isso só mostra a possibilidade de que nos dá usar este método, se você estiver interessado. 

por outro lado eu acho que você entendeu mal, em nenhum momento eu disse que era um trabalho completo, eu só disse que é um experimento e uma ideia, se sua ideia era ser capaz de pegar um trabalho acabado e bem eco eu entendo sua decepção.

public class CharacterCreate implements IClientIncomingPacket
{
	protected static final Logger LOGGER_ACCOUNTING = Logger.getLogger("accounting");
	
	// cSdddddddddddd
	private String _name;
	private byte _sex;
	private int _classId;
	private byte _hairStyle;
	private byte _hairColor;
	private byte _face;
	
	@Override
	public boolean read(GameClient client, PacketReader packet)
	{
		_name = packet.readS();
		packet.readD(); // race
		_sex = (byte) packet.readD();
		_classId = packet.readD();
		packet.readD(); // _int
		packet.readD(); // _str
		packet.readD(); // _con
		packet.readD(); // _men
		packet.readD(); // _dex
		packet.readD(); // _wit
		_hairStyle = (byte) packet.readD();
		_hairColor = (byte) packet.readD();
		_face = (byte) packet.readD();
		return true;
	}
	
	@Override
	public void run(GameClient client)
	{
		// Last Verified: May 30, 2009 - Gracia Final - Players are able to create characters with names consisting of as little as 1,2,3 letter/number combinations.
		if ((_name.length() < 1) || (_name.length() > 16))
		{
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_16_ENG_CHARS));
			return;
		}
		
		if (Config.FORBIDDEN_NAMES.length > 0)
		{
			for (String st : Config.FORBIDDEN_NAMES)
			{
				if (_name.toLowerCase().contains(st.toLowerCase()))
				{
					client.sendPacket(new CharCreateFail(CharCreateFail.REASON_INCORRECT_NAME));
					return;
				}
			}
		}
		
		if (FakePlayerData.getInstance().getProperName(_name) != null)
		{
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_INCORRECT_NAME));
			return;
		}
		
		// Last Verified: May 30, 2009 - Gracia Final
		if (!Util.isAlphaNumeric(_name) || !isValidName(_name))
		{
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_INCORRECT_NAME));
			return;
		}
		
		if ((_face > 2) || (_face < 0))
		{
			LOGGER.warning("Character Creation Failure: Character face " + _face + " is invalid. Possible client hack. " + client);
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
			return;
		}
		
		if ((_hairStyle < 0) || ((_sex == 0) && (_hairStyle > 4)) || ((_sex != 0) && (_hairStyle > 6)))
		{
			LOGGER.warning("Character Creation Failure: Character hair style " + _hairStyle + " is invalid. Possible client hack. " + client);
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
			return;
		}
		
		if ((_hairColor > 3) || (_hairColor < 0))
		{
			LOGGER.warning("Character Creation Failure: Character hair color " + _hairColor + " is invalid. Possible client hack. " + client);
			client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
			return;
		}
		
		PlayerInstance newChar = null;
		PlayerTemplate template = null;
		
		/*
		 * DrHouse: Since checks for duplicate names are done using SQL, lock must be held until data is written to DB as well.
		 */
		synchronized (CharNameTable.getInstance())
		{
			if ((CharNameTable.getInstance().getAccountCharacterCount(client.getAccountName()) >= Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT) && (Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT != 0))
			{
				client.sendPacket(new CharCreateFail(CharCreateFail.REASON_TOO_MANY_CHARACTERS));
				return;
			}
			else if (CharNameTable.getInstance().doesCharNameExist(_name))
			{
				client.sendPacket(new CharCreateFail(CharCreateFail.REASON_NAME_ALREADY_EXISTS));
				return;
			}
			
			template = PlayerTemplateData.getInstance().getTemplate(_classId);
			if ((template == null) || (ClassId.getClassId(_classId).level() > 0))
			{
				client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
				return;
			}
			
			// Custom Feature: Disallow a race to be created.
			// Example: Humans can not be created if AllowHuman = False in Custom.properties
			switch (template.getRace())
			{
				case HUMAN:
				{
					if (!Config.ALLOW_HUMAN)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case ELF:
				{
					if (!Config.ALLOW_ELF)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case DARK_ELF:
				{
					if (!Config.ALLOW_DARKELF)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case ORC:
				{
					if (!Config.ALLOW_ORC)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case DWARF:
				{
					if (!Config.ALLOW_DWARF)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
				case KAMAEL:
				{
					if (!Config.ALLOW_KAMAEL)
					{
						client.sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED));
						return;
					}
					break;
				}
			}
			newChar = PlayerInstance.create(template, client.getAccountName(), _name, new PlayerAppearance(_face, _hairColor, _hairStyle, _sex != 0));
		}
		
		// HP and MP are at maximum and CP is zero by default.
		newChar.setCurrentHp(newChar.getMaxHp());
		newChar.setCurrentMp(newChar.getMaxMp());
		// newChar.setMaxLoad(template.getBaseLoad());
		client.sendPacket(CharCreateOk.STATIC_PACKET);
		
		initNewChar(client, newChar);
		
		LOGGER_ACCOUNTING.info("Created new character, " + newChar + ", " + client);
	}
	
	private boolean isValidName(String text)
	{
		return Config.CHARNAME_TEMPLATE_PATTERN.matcher(text).matches();
	}
	
	private void initNewChar(GameClient client, PlayerInstance newChar)
	{
		World.getInstance().addObject(newChar);
		
		if (Config.STARTING_ADENA > 0)
		{
			newChar.addAdena("Init", Config.STARTING_ADENA, null, false);
		}
		
		final PlayerTemplate template = newChar.getTemplate();
		if (Config.CUSTOM_STARTING_LOC)
		{
			final Location createLoc = new Location(Config.CUSTOM_STARTING_LOC_X, Config.CUSTOM_STARTING_LOC_Y, Config.CUSTOM_STARTING_LOC_Z);
			newChar.setXYZInvisible(createLoc.getX(), createLoc.getY(), createLoc.getZ());
		}
		else if (Config.FACTION_SYSTEM_ENABLED)
		{
			newChar.setXYZInvisible(Config.FACTION_STARTING_LOCATION.getX(), Config.FACTION_STARTING_LOCATION.getY(), Config.FACTION_STARTING_LOCATION.getZ());
		}
		else
		{
			final Location createLoc = template.getCreationPoint();
			newChar.setXYZInvisible(createLoc.getX(), createLoc.getY(), createLoc.getZ());
		}
		newChar.setTitle("");
		
		if (Config.ENABLE_VITALITY)
		{
			newChar.setVitalityPoints(Math.min(Config.STARTING_VITALITY_POINTS, PlayerStat.MAX_VITALITY_POINTS), true);
		}
		if (Config.STARTING_LEVEL > 1)
		{
			newChar.getStat().addLevel((byte) (Config.STARTING_LEVEL - 1));
		}
		if (Config.STARTING_SP > 0)
		{
			newChar.getStat().addSp(Config.STARTING_SP);
		}
		
		final List<PlayerItemTemplate> initialItems = InitialEquipmentData.getInstance().getEquipmentList(newChar.getClassId());
		if (initialItems != null)
		{
			for (PlayerItemTemplate ie : initialItems)
			{
				final ItemInstance item = newChar.getInventory().addItem("Init", ie.getId(), ie.getCount(), newChar, null);
				if (item == null)
				{
					LOGGER.warning("Could not create item during char creation: itemId " + ie.getId() + ", amount " + ie.getCount() + ".");
					continue;
				}
				
				if (item.isEquipable() && ie.isEquipped())
				{
					newChar.getInventory().equipItem(item);
				}
			}
		}
		
		for (SkillLearn skill : SkillTreeData.getInstance().getAvailableSkills(newChar, newChar.getClassId(), false, true))
		{
			newChar.addSkill(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()), true);
		}
		
		// Register all shortcuts for actions, skills and items for this new character.
		InitialShortcutData.getInstance().registerAllShortcuts(newChar);
		
		if (!Config.DISABLE_TUTORIAL)
		{
			startTutorialQuest(newChar);
		}
		
		EventDispatcher.getInstance().notifyEvent(new OnPlayerCreate(newChar, newChar.getObjectId(), newChar.getName(), client), Containers.Players());
		newChar.setOnlineStatus(true, false);
		Disconnection.of(client, newChar).storeMe().deleteMe();
		
		final CharSelectionInfo cl = new CharSelectionInfo(client.getAccountName(), client.getSessionId().playOkID1);
		client.setCharSelection(cl.getCharInfo());
	}
	
	/**
	 * TODO: Unhardcode it using the new listeners.
	 * @param player
	 */
	public void startTutorialQuest(PlayerInstance player)
	{
		final QuestState qs = player.getQuestState("Q00255_Tutorial");
		Quest q = null;
		if (qs == null)
		{
			q = QuestManager.getInstance().getQuest("Q00255_Tutorial");
		}
		if (q != null)
		{
			q.newQuestState(player).setState(State.STARTED);
		}
	}
}

 

mas información : Info

source Source

 

 

este link nao e da source, voce upou geodata e colocou como se fosse source.

 

54 minutos atrás, mikado disse:

Con este System que dejo aquí se puede conectar cualquier cliente Interlude a un datapack Freya .

Com este sistema que eu deixo aqui você pode conectar qualquer cliente Interlude a um datapack Freya.

System connect Intelude Client with Freya datapack

link source pls

 

j58fx5.gif

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...

Se ha cambiado el proyecto con basa ácis c6 , si algún admin puede borrar este post .
Se da continuación a remake interlude en el siguiente enlace :

 

Altere o projeto com base c6, se algum administrador puder excluir este post.
O remake é então interludido no link a seguir:

https://www.l2jbrasil.com/forums/topic/141229-interlude-acis-base-382-clean-custom-system-cloaks-of-light-cloak-of-dark/

 

5GpQKvZ.jpg

Link to comment
Share on other sites

  • L2JBr ADM

Tópico fechado a pedido do autor. [

Novo tópico abaixo:

 

Nunca criou um servidor de Lineage 2?
Acompanhe nosso CURSO L2! Aula 01 e 02

Você sabia que a L2JBrasil tem uma empresa de Hosting Oficial?
Conheça a L2JCenter.com

Serviços de Hospedagem para Sites, VPS Gamer, Dedicados e Proteção Anti-DDoS
A mais de 10 anos no mercado apoiando e ajudando os maiores servidores de Lineage 2 do Mundo!

Link to comment
Share on other sites

  • Kelvin locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.