Jump to content

Recommended Posts

Posted (edited)

SPANISH VERSION (BELOW ENGLISH VERSION):

Buenas, después de tantos intentos, logre para OFF spawnear un rb mediante un ITEM, este método no es muy visto en los servidores actuales, es por eso que he decidido compartir esto con ustedes, espero que puedan darme los créditos <3.

 

Primero que nada, lo primero que todos sabemos es que hay muchos items o skills que spawnean objetos o summons, como los skills de necro o la flauta del dragon, tambien encontraremos otros en el ai.obj o en la programación base que tienen ciertas funciones para spawnear o sumonear.

 

Pero nos olvidamos que hay uno que especialmente spawnea un NPC por cierto tiempo, y este code se dedica a eso, estamos hablando del NPC de navidad, aunque en realidad es un ITEM que spawnea el NPC de navidad.

 

ID: 5560    ITEM NAME: Christmas Tree

 

Una vez sabiendo esto, para saber que tipo de skill usa este item, nos dirigimos a ItemData.txt (ubicado en script( y presionamos Ctrl + f, buscamos la ID 5560, automáticamente nos va a aparecer toda la información de este item:

 

item_begin    etcitem    5560    [x_mas_tree1]    item_type=etcitem    slot_bit_type={none}    armor_type=none    etcitem_type=potion    recipe_id=0    blessed=0    weight=0    default_action=action_skill_reduce    consume_type=consume_type_stackable    initial_count=1    maximum_count=20    soulshot_count=0    spiritshot_count=0    reduced_soulshot={}    reduced_spiritshot={}    reduced_mp_consume={}    immediate_effect=1    price=0    default_price=1    item_skill=[s_summon_x_mas_tree_a]   critical_attack_skill=[none]    attack_skill=[none]    magic_skill=[none]    item_skill_enchanted_four=[none]    material_type=paper    crystal_type=none    crystal_count=0    is_trade=1    is_drop=1    is_destruct=1    physical_damage=0    random_damage=0    weapon_type=none    can_penetrate=0    critical=0    hit_modify=0    avoid_modify=0    dual_fhit_rate=0    shield_defense=0    shield_defense_rate=0    attack_range=0    damage_range={}    attack_speed=0    reuse_delay=0    mp_consume=0    magical_damage=0    durability=0    damaged=0    physical_defense=0    magical_defense=0    mp_bonus=0    category={}    enchanted=0    html=[item_default.htm]    equip_pet={0}    magic_weapon=0    enchant_enable=0    can_equip_sex=-1    can_equip_race={}    can_equip_change_class=-1    can_equip_class={}    can_equip_agit=-1    can_equip_castle=-1    can_equip_castle_num={}    can_equip_clan_leader=-1    can_equip_clan_level=-1    can_equip_hero=-1    can_equip_nobless=-1    can_equip_chaotic=-1    item_end


Una vez que verificamos que skill esta usando (marcado en amarillo arriba), copiamos el nombre, en este caso es "item_skill=[s_summon_x_mas_tree_a]" -> "s_summon_x_mas_tree_a", realizamos el mismo proceso de busqueda, pero en este caso nos vamos al archivo llamado "SkilData.txt", lo abrimos y presionando Ctrl + F, buscamos s_summon_x_mas_tree_a.

 

Nos aparecera esta informacion, cabe aclarar que esta info es la creacion del skill y su efecto;

 

skill_begin    skill_name=[s_summon_x_mas_tree_a]    /* [쁼뀘 킸났 삌큘] */    skill_id=2137    level=1    operate_type=A1    magic_level=1    [color=yellow]effect={{i_summon_npc;[x_mas_tree_a];1}}[/color]    is_magic=0    mp_consume2=0    cast_range=-1    effective_range=-1    skill_hit_time=0    skill_cool_time=0    skill_hit_cancel_time=0    reuse_delay=0    attribute=attr_none    effect_point=0    target_type=self    affect_scope=single    affect_limit={0;0}    next_action=none    ride_state={@ride_none}    skill_end

 

Una vez encontrado, verán que hay una parte que dice "effect", esto seria que clase de llamado hace este skill, en este caso, esta llamando a spawnear un NPC (ustedes mismos pueden verificar el id de los skilles que quieran y buscarlos en este archivo, y veran los efectos), "effect={{i_summon_npc;[x_mas_tree_a];1}}".

 

[b]effect=[/b] -> hace referencia al efecto que va a producir
[b]{{i_summon_npc;[/b] -> hace referencia a que esta spawneando un npc.
[b][x_mas_tree_a];1[/b] -> hace refencia a la id del NPC entre corchetes y el ;1 hace referencia a la cantidad.  
 

una vez verificado esto, ahora ya tenemos la base para spawnear un mob, procederemos a hacer lo basico, crear un item con filedit (itemname, skillgrp, skillname, etc), en este caso les dejo el skillgrp/itemname/skillname:

EJEMPLOS DE COMO QUEDARIA:
 

skillgrp: 2138    1    0    0    -1    0    0.000000    0            icon.skill0000    0    0    0    0    -1    -1

skillname: 2138    1    Summon Special Boss    none    none    none

Itemname: 2138    Raid Boss - Random Bomb        Double-click to summon the Raid Boss. Beware: In case you move the raidboss into a peace zone, it will get despawned without warning!    -1                    0    0    0    

etcgrp: 2    2138    0    3    5    6    0    dropitems.drop_jewel_box_m00            dropitemstex.drop_jewel_box_t00            Raidboss.Bomb                    0    1    18    0    0    1        1        ItemSound.itemdrop_jewelbox        2    0    0

 

- Cambien las ID, porque son ID ramdoms. -


Una vez hecho esto, procedemos ir al DATAPACK, donde tendremos que crear el skill de 0 para que funcione correctamente, en mi caso, yo reemplace la id del npc del arbol y me funciona correctamente con ese item. Pero en este caso, lo que deberian hacer, es clonar el skilldata del arbol y el itemdata, es decir:


SKILLDATA:

 

skill_begin    skill_name=[s_NOMBRE_DE_SKILL]    /* [ꃠꀉ 킸났 삌큘] */    [skill_id=ID DEL SKILL    level=1    operate_type=A1    magic_level=1    effect={{i_summon_npc;[x_mas_tree_b];1}}    is_magic=0    mp_consume2=0    cast_range=-1    effective_range=-1    skill_hit_time=0    skill_cool_time=0    skill_hit_cancel_time=0    reuse_delay=0    attribute=attr_none    effect_point=0    target_type=self    affect_scope=single    affect_limit={0;0}    next_action=none    ride_state={@ride_none}    skill_end

 

ITEMDATA:

 

[code]item_begin    etcitem    (5560 ID DE ITEM)  [nombre_de_item]  item_type=etcitem    slot_bit_type={none}    armor_type=none    etcitem_type=potion    recipe_id=0    blessed=0    weight=0    default_action=action_skill_reduce    consume_type=consume_type_stackable    initial_count=1    maximum_count=20    soulshot_count=0    spiritshot_count=0    reduced_soulshot={}    reduced_spiritshot={}    reduced_mp_consume={}    immediate_effect=1    price=0    default_price=1    item_skill=[s_NOMBRE_DE_SKILL]    critical_attack_skill=[none]    attack_skill=[none]    magic_skill=[none]    item_skill_enchanted_four=[none]    material_type=paper    crystal_type=none    crystal_count=0    is_trade=1    is_drop=1    is_destruct=1    physical_damage=0    random_damage=0    weapon_type=none    can_penetrate=0    critical=0    hit_modify=0    avoid_modify=0    dual_fhit_rate=0    shield_defense=0    shield_defense_rate=0    attack_range=0    damage_range={}    attack_speed=0    reuse_delay=0    mp_consume=0    magical_damage=0    durability=0    damaged=0    physical_defense=0    magical_defense=0    mp_bonus=0    category={}    enchanted=0    html=[item_default.htm]    equip_pet={0}    magic_weapon=0    enchant_enable=0    can_equip_sex=-1    can_equip_race={}    can_equip_change_class=-1    can_equip_class={}    can_equip_agit=-1    can_equip_castle=-1    can_equip_castle_num={}    can_equip_clan_leader=-1    can_equip_clan_level=-1    can_equip_hero=-1    can_equip_nobless=-1    can_equip_chaotic=-1    item_end

 

SKILLPCH Y SKILLPCH2:

 

Deberan copiar el codigo de skilldata y meterlo en el "L2OFF GM PANEL", en donde lo tienen instalado, tienen un txt que se llama también "skilldata.txt", ahi pegan el codigo y guardan, luego de esto, abren el "L2OFF GM PANEL", tocando la opcion de "PCH Editor" y eso les abrira el generador, en el cual clickean "skilldata".
 

Les dejo imágenes para guiarse:
 

https://prnt.sc/qDghj9pL_I9d

https://gyazo.com/611a1bd80962cbadb56cec183ca50f28

https://gyazo.com/fe46c0b2e5f1a115aa541351640407e2


Espero que les haya servidor, att fa1thDEV/WaterColour.

-------------------------------------------------------------------------------------------------------------------------------------------

ENGLISH VERSION:


 

Good, after so many attempts, I managed to OFF spawn a rb using an ITEM, this method is not very seen in the current servers, that's why I decided to share this with you, I hope you can give me the credits <3.
 

First of all, the first thing we all know is that there are many items or skills that spawn objects or summons, like the necro skills or the dragon flute, we will also find others in the ai.obj or in the base programming that have certain functions to spawn or summon.
 

But we forget that there is one that especially spawns an NPC for a certain time, and this code is dedicated to that, we are talking about the Christmas NPC, although it is actually an ITEM that spawns the Christmas NPC.

 

ID: 5560    ITEM NAME: Christmas Tree

Once we know this, to know what type of skill this item uses, we go to ItemData.txt (located in script and press Ctrl + f, we look for the ID 5560, automatically all the information of this item will appear:

item_begin    etcitem    5560    [x_mas_tree1]    item_type=etcitem    slot_bit_type={none}    armor_type=none    etcitem_type=potion    recipe_id=0    blessed=0    weight=0    default_action=action_skill_reduce    consume_type=consume_type_stackable    initial_count=1    maximum_count=20    soulshot_count=0    spiritshot_count=0    reduced_soulshot={}    reduced_spiritshot={}    reduced_mp_consume={}    immediate_effect=1    price=0    default_price=1    item_skill=[s_summon_x_mas_tree_a]   critical_attack_skill=[none]    attack_skill=[none]    magic_skill=[none]    item_skill_enchanted_four=[none]    material_type=paper    crystal_type=none    crystal_count=0    is_trade=1    is_drop=1    is_destruct=1    physical_damage=0    random_damage=0    weapon_type=none    can_penetrate=0    critical=0    hit_modify=0    avoid_modify=0    dual_fhit_rate=0    shield_defense=0    shield_defense_rate=0    attack_range=0    damage_range={}    attack_speed=0    reuse_delay=0    mp_consume=0    magical_damage=0    durability=0    damaged=0    physical_defense=0    magical_defense=0    mp_bonus=0    category={}    enchanted=0    html=[item_default.htm]    equip_pet={0}    magic_weapon=0    enchant_enable=0    can_equip_sex=-1    can_equip_race={}    can_equip_change_class=-1    can_equip_class={}    can_equip_agit=-1    can_equip_castle=-1    can_equip_castle_num={}    can_equip_clan_leader=-1    can_equip_clan_level=-1    can_equip_hero=-1    can_equip_nobless=-1    can_equip_chaotic=-1    item_end
 

Once we verify which skill is being used (marked in yellow above), we copy the name, in this case it is "item_skill=[s_summon_x_mas_tree_a]" -> "item_skill=[s_summon_x_mas_tree_a]". -> "s_summon_x_mas_tree_a", we make the same search process, but in this case we go to the file called "SkilData.txt", we open it and pressing Ctrl + F, we look for s_summon_x_mas_tree_a.
 

This information will appear, it is important to clarify that this info is the creation of the skill and its effect;

skill_begin    skill_name=[s_summon_x_mas_tree_a]    /* [쁼뀘 킸났 삌큘] */    skill_id=2137    level=1    operate_type=A1    magic_level=1    effect={{i_summon_npc;[x_mas_tree_a];1}}    is_magic=0    mp_consume2=0    cast_range=-1    effective_range=-1    skill_hit_time=0    skill_cool_time=0    skill_hit_cancel_time=0    reuse_delay=0    attribute=attr_none    effect_point=0    target_type=self    affect_scope=single    affect_limit={0;0}    next_action=none    ride_state={@ride_none}    skill_end
 

Once found, you will see that there is a part that says "effect", this would be what kind of call this skill makes, in this case, it is calling to spawn an NPC (you can check the id of the skills you want and look for them in this file, and you will see the effects), "effect={{i_summon_npc;[x_mas_tree_a];1}}".
 

effect= -> refers to the effect you are going to produce.
{{i_summon_npc; -> refers to spawning an npc.
[x_mas_tree_a];1 -> refers to the NPC id in square brackets and the ;1 refers to the amount.  
 

once verified this, now we have the base to spawn a mob, we will proceed to do the basics, create an item with filedit (itemname, skillgrp, skillname, etc), in this case I leave you the skillgrp/itemname/skillname:

EXAMPLES HOW:
 

skillgrp: 2138    1    0    0    -1    0    0.000000    0            icon.skill0000    0    0    0    0    -1    -1

skillname: 2138    1    Summon Special Boss    none    none    none

Itemname: 2138    Raid Boss - Random Bomb        Double-click to summon the Raid Boss. Beware: In case you move the raidboss into a peace zone, it will get despawned without warning!    -1                    0    0    0    

etcgrp: 2    2138    0    3    5    6    0    dropitems.drop_jewel_box_m00            dropitemstex.drop_jewel_box_t00            Raidboss.Bomb                    0    1    18    0    0    1        1        ItemSound.itemdrop_jewelbox        2    0    0

 

- Change the IDs, because they are ID ramdoms. -


Once this is done, we proceed to DATAPACK, where we will have to create the skill from 0 to work correctly, in my case, I replaced the id of the npc of the tree and it works correctly with that item. But in this case, what you should do, is to clone the skilldata of the tree and the itemdata, that is to say:

 

SKILLDATA:

 

skill_begin    skill_name=[s_Name_SKILL]    /* [ꃠꀉ 킸났 삌큘] */    [skill_id=ID_SKILL    level=1    operate_type=A1    magic_level=1    effect={{i_summon_npc;[x_mas_tree_b];1}}    is_magic=0    mp_consume2=0    cast_range=-1    effective_range=-1    skill_hit_time=0    skill_cool_time=0    skill_hit_cancel_time=0    reuse_delay=0    attribute=attr_none    effect_point=0    target_type=self    affect_scope=single    affect_limit={0;0}    next_action=none    ride_state={@ride_none}    skill_end

 

ITEMDATA:

 

[code]item_begin    etcitem    (5560 ID ITEM)  [name_item]  item_type=etcitem    slot_bit_type={none}    armor_type=none    etcitem_type=potion    recipe_id=0    blessed=0    weight=0    default_action=action_skill_reduce    consume_type=consume_type_stackable    initial_count=1    maximum_count=20    soulshot_count=0    spiritshot_count=0    reduced_soulshot={}    reduced_spiritshot={}    reduced_mp_consume={}    immediate_effect=1    price=0    default_price=1    item_skill=[s_name_SKILL]    critical_attack_skill=[none]    attack_skill=[none]    magic_skill=[none]    item_skill_enchanted_four=[none]    material_type=paper    crystal_type=none    crystal_count=0    is_trade=1    is_drop=1    is_destruct=1    physical_damage=0    random_damage=0    weapon_type=none    can_penetrate=0    critical=0    hit_modify=0    avoid_modify=0    dual_fhit_rate=0    shield_defense=0    shield_defense_rate=0    attack_range=0    damage_range={}    attack_speed=0    reuse_delay=0    mp_consume=0    magical_damage=0    durability=0    damaged=0    physical_defense=0    magical_defense=0    mp_bonus=0    category={}    enchanted=0    html=[item_default.htm]    equip_pet={0}    magic_weapon=0    enchant_enable=0    can_equip_sex=-1    can_equip_race={}    can_equip_change_class=-1    can_equip_class={}    can_equip_agit=-1    can_equip_castle=-1    can_equip_castle_num={}    can_equip_clan_leader=-1    can_equip_clan_level=-1    can_equip_hero=-1    can_equip_nobless=-1    can_equip_chaotic=-1    item_end

 

SKILLPCH Y SKILLPCH2:


You should copy the code of skilldata and put it in the "L2OFF GM PANEL", where you have it installed, you have a txt that is also called "skilldata.txt", there paste the code and save, after this, open the "L2OFF GM PANEL", touching the option of "PCH Editor" and that will open the generator, in which you click "skilldata".


I leave images to guide you:


https://prnt.sc/qDghj9pL_I9d

https://gyazo.com/611a1bd80962cbadb56cec183ca50f28

https://gyazo.com/fe46c0b2e5f1a115aa541351640407e2

I hope you found it useful, att fa1thDEV/WaterColour.

BTW!, if there is any error, I am more than willing to fix or collaborate, greetings!

Edited by fa1thDEV
  • fa1thDEV changed the title to How to create an item that spawns mobs/rb (ES/ENG version).

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • ============================================================               CLExt Classic Interlude: v7.80 ============================================================   01. Fixed ValidateLocation handling and player/client position synchronization. 02. Added protection against invalid coordinates and characters falling under the map. 03. Improved XY/Z position and heading validation. 04. Fixed MoveToLocation and MoveToPawn packet conversion and target validation. 05. Fixed TargetSelected, TargetUnselected and MyTargetSelected packet handling. 06. Improved GeoData Z-location handling and disabled unsafe PathNode modifications. 07. Added ExUserInfoInventoryWeight support. 08. Fixed inventory weight and maximum load synchronization. 09. Fixed incorrect 0% inventory weight after character login. 10. Added automatic inventory weight updates after EnterWorld and inventory changes. 11. Added inventory weight packet spam protection and safe weight caching. 12. Fixed BuyList and SellList inventory, slot and weight synchronization. 13. Improved NPC target and Buy/Sell packet validation. 14. Reworked mail attachment inventory and weight validation. 15. Added all-or-nothing mail attachment receiving and safe retry handling. 16. Fixed stackable mail attachment validation and INT_MAX overflow protection. 17. Improved COD Adena validation and post-mail inventory weight refresh. 18. Improved Warehouse Deposit and Withdraw validation. 19. Added protection against malformed warehouse item counts, DBIDs and amounts. 20. Added warehouse INT_MAX, CItem and pSID validation. 21. Improved warehouse anti-dupe protection. 22. Reworked the HTML Cache system for improved stability and memory usage. 23. Added lazy HTML loading instead of loading ~20,000 files during startup. 24. Fixed HTML Cache startup crashes with large HTML collections. 25. Added thread-safe HTML Cache access and Clear/Reload support. 26. Added bad allocation, invalid HTML and oversized HTML protection. 27. Reduced HTML Cache RAM usage, startup allocations and disk I/O. 28. Added HTML Caching ON/OFF with live HTM loading support. 29. Fixed ToggleCachingHook and added VS2005-compatible live HTML handling. 30. Fixed ShortcutInit processing and skill synchronization order. 31. Improved shortcut item validation, augmentation handling and va_list safety. 32. Added LiveMode Ability Point system. 33. Added inventory-item-based Ability Points with configurable pointItemId. 34. Preserved the original level-based Ability Point system as fallback. 35. Fixed incorrect Ability Point display and inventory synchronization. 36. Improved Ability skill learning and point validation. 37. Improved OfflineShopRestore loading and FakePC/DBID handling. 38. Added safer OfflineShopRestore socket limits and batch processing. 39. Prevented thousands of restore sockets from loading simultaneously. 40. Added delayed, non-blocking OfflineShopRestore after server startup. 41. Improved OnEnterWorld initialization order and stability. 42. Improved inventory weight, SkillList and acquired-skill initialization after login. 43. Added VIP integration to the EnterWorld process. 44. Added safe UserExtData initialization without modifying the native User structure. 45. Improved duplicate Bronch Jewel and equipped-slot protection. 46. Improved Bracelet, Belt, Bronch and general UseItem validation. 47. Improved general packet, UserSocket, User, pSD and Creature validation. 48. Added safer INT32/INT64 packet handling and malformed-packet protection. 49. Improved L2Server startup memory usage and lazy resource loading. 50. Reduced unnecessary startup allocations. 51. Improved account-only KeyEngine authentication and remote account validation. 52. Removed account expiration-time requirements. 53. Added updater/restart design without requiring CLExtUpdate.exe. 54. Improved CLIEXT HWID, shared-memory and client/server version validation. 55. Improved ReadFile/WriteFile hooks and MemoryProtector handling. 56. Added UoPilot and Extreme Injector detection handling. 57. Reworked VIP point loading, saving and database synchronization. 58. Fixed VIP Level 0 initialization and first VIP activation. 59. Fixed vip.htm activation after login and from party-shared points. 60. Fixed VIP points being incorrectly reset before successful activation. 61. Improved VIP progression from Level 1 through Level 7. 62. Added proper VIP Level 7 MAX/DONE behavior with no Level 8 requirement. 63. Disabled further VIP point collection after reaching maximum level. 64. Reworked VIP BonusInfo/ReceiveVipInfo packet synchronization. 65. Fixed VIP tier, points, duration and level requirement packet fields. 66. Added VIP duration, tier, point and User validation protections. 67. Added safer 64-bit VIP EXP and party EXP calculations. 68. Preserved subclass maximum EXP protection. 69. Improved ItemDataEx validation during character loading. 70. Fixed augmentation loss during login, relog and server restart. 71. Added safe restoration of augmentation IDs directly from the database. 72. Added CItem, pSID, pExItem and User validation during ItemDataEx loading. 73. Improved Shadow Item mana and item lifetime loading. 74. Preserved item protection timeout data during character loading. 75. Added augmentation loading diagnostics and protected valid augmentation data. 76. Preserved database value 0 for genuinely non-augmented items. 77. Added RaidBoss Status synchronization with the World Map. 78. Fixed alive/dead RaidBoss status updates after spawn and death. 79. Added RaidBossStatus as the source of truth for RaidBoss map packets. 80. Fixed RaidBoss map status synchronization after server/database loading.
    • 🚀 L2AQUILA — GRAND OPENING TOMORROW! Lineage 2 Gracia Final — Like L2 Pride, but fresh. The server you've been waiting for opens tomorrow, Saturday 19/09, 16:00 (Greek time) — No Wipe · 24/7 · Anti-DDoS. ⚔️ What's inside: • EXP 9300x · SP 3000x · Adena 5500x · High drop • Max enchant +20 · Safe +3 · 24 buffs / 3 debuffs • 20 free Custom Coins for every new player on day one! • Custom farming zones (Cave of Trials, Cemetery, Ruins of Despair + more) • PvP Events · Olympiads · Offline Trading · Weddings · Balanced classes • Starter + Dynasty shops in every town — playable from minute one 📥 Download: Client + Patch at https://l2aquila.com/index.html 💬 Discord: discord.gg/5ZyBRvG4k · Facebook: facebook.com/l2aquila Be there at opening hour — bring your squad. See you at the Grand Opening! 🔥
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and 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..