Jump to content

Blitzkrieg

Members
  • Posts

    80
  • Credits

  • Joined

  • Last visited

  • Days Won

    2
  • Feedback

    0%

Blitzkrieg last won the day on January 23 2023

Blitzkrieg had the most liked content!

2 Followers

About Blitzkrieg

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

4,923 profile views

Blitzkrieg's Achievements

  1. The following event is designed to unite server players with the goal of obtaining maximum rewards. The stage level can be adjusted, either upgraded, downgraded, or maintained, based on the collaborative efforts of the players and the total points accumulated. The event should be used as a normal solo and/or party area, where higher level mobs provide better drops. The activation period of the event is adjustable by specifying the day(s) of the week and hours of the day. Periodically, a unique mob may appear, requiring swift elimination. A quick defeat results in a point bonus, while failure to do so incurs a penalty. This necessitates even greater coordination among random players. The event's configuration can be easily customized by the administrator to align with their expectations regarding the number of participating players. Keep in mind that mobs, locations, npcmakers, loop timers, etc of the video are for for demonstration purposes only. 150€
  2. What @911reg described is exactly the solution to the problem. The option "ApplyNewSockets" needs also to be spammed with clicks in order to make the socket actually stick (its status will however always remain as 'false'). Thanks !!
  3. Hi, I'm working on some custom NPCs and it turns out that abnormal effects such as sleep / bluff etc won't show up on their head, actually they won't show up at all. Chronicle is GF. By custom I mean either complete gildor export / UE import (I have added a download link of the .ukx sample if anyone wants to check it out) or complete ukx copy paste from chronicles like Tauti to GF. Its class, animation file (.int) etc all look fine. Effects from normal skills such as Steal Essence etc all work. Would anyone have an idea where the problem might be? Thanks! https://easyupload.io/1mnbt9
  4. L2 music was way ahead of its time and still is after so many years, just like how LOTR trilogy destroys most of modern movies after decades. I regurarly listen to L2 music while at work, something very eerie / relaxing about it. This was always also my desire to do, to create some instances / dungeons where players actually use their heads to progress, while at the same time keeping normal RBs, sieges and other retail mechanics intact for the PVP interaction. L2 imho offers a very good base (client wise and L2OFF server wise) for such project but the effort required is just too much. I had made an attempt to create a "safely escort an npc" type of mission, even tried to use stock effects to compliment the result (like explosions) but never actually got to finish ti due to the time required (both AI work and client matching choices with what I wanted to depict). One of the videos is this:
  5. This guide should be combined with creating proper server AI for your monster. It can add variety / interest to a pve fight as a monster can get 'revived' based on your own conditions. 1) Firstly, we need to reverse the death animation of the NPC. Here is a great guide from youtube: 3dsmax guide 2) We export our new animation with ActorX Exporter. 3) In editor we import the retail animation pack. Then click 'animation append' to merge it with your custom animation. 4) For the revived mob, edit entereventgrp.dat and add desired entry effect: 33072 0 a,none\0 0.00000000 0.00000000 0 1 LineageEffect. e_u619_echmus_ae deathrise 5) Create server AI to synchronize death of first mob and revival of second mob Result
  6. @LORd_RiVE Try this, in shared superpoint the routes are missing (si_wang_road01 / si_wang_road02) https://mega.nz/file/nVdw2aDI#v8bq_XuUBaUfOMRECKej4mIMTy7Fk_C37ax7COH2MUA
  7. Search for the skill responsible for the summoning: effect = {{i_consume_body};{i_summon;[reanimated_man_b];85;[crystal_c];1;1200}} I did some tests and this value represents the lifetime of the summon in seconds as long as the master remains in combat. If the master is peaceful, the remaining lifetime (greenbar) regenerates in a way so that the total lifetime is four times greater (4*1200), or of some sort.
  8. GF retail data: 1) if my memory serves me right, in order for a skill to be removed on restart it needs abnormal_delete_leaveworld=1, which I do not see it with skill_id = 4338 2) Debuffs are applied on attacked (whenever mob gets attacked), clan_attacked (whenever mob's clan gets attacked) and see_spell (basically a healer could get debuffed if he healed a char attacking the mob). set_compiler_opt base_event_type(@NTYPE_NPC_EVENT) class warrior_casting_enchant_physical_poison : warrior { parameter: int PhysicalSpecial = @s_npc_strike12; int Buff1 = @s_might_boss_a_1; int Buff2 = @s_haste_boss_a_1; int DeBuff1 = @s_spa_disease_a1; int DeBuff2 = @s_spa_disease_b1; handler: EventHandler CREATED() { if (Skill_GetConsumeMP(Buff1) < myself.sm.mp && Skill_GetConsumeHP(Buff1) < myself.sm.hp && Skill_InReuseDelay(Buff1) == 0) { AddUseSkillDesire(myself.sm, Buff1, @ST_HEAL, @AMT_MOVE_TO_TARGET, 1000000); } if (Skill_GetConsumeMP(Buff2) < myself.sm.mp && Skill_GetConsumeHP(Buff2) < myself.sm.hp && Skill_InReuseDelay(Buff2) == 0) { AddUseSkillDesire(myself.sm, Buff2, @ST_HEAL, @AMT_MOVE_TO_TARGET, 1000000); } super; } EventHandler ATTACKED(attacker, i1, skill_name_id) { i1 = 0; if (GetAbnormalLevel(myself.sm, Skill_GetAbnormalType(Buff1)) <= 0) { if (Skill_GetConsumeMP(Buff1) < myself.sm.mp && Skill_GetConsumeHP(Buff1) < myself.sm.hp && Skill_InReuseDelay(Buff1) == 0) { AddUseSkillDesire(myself.sm, Buff1, @ST_HEAL, @AMT_MOVE_TO_TARGET, 1000000); } } if (GetAbnormalLevel(myself.sm, Skill_GetAbnormalType(Buff2)) <= 0) { if (Skill_GetConsumeMP(Buff2) < myself.sm.mp && Skill_GetConsumeHP(Buff2) < myself.sm.hp && Skill_InReuseDelay(Buff2) == 0) { AddUseSkillDesire(myself.sm, Buff2, @ST_HEAL, @AMT_MOVE_TO_TARGET, 1000000); } } if (Rand(100) < 33) { if (Skill_GetConsumeMP(PhysicalSpecial) < myself.sm.mp && Skill_GetConsumeHP(PhysicalSpecial) < myself.sm.hp && Skill_InReuseDelay(PhysicalSpecial) == 0) { AddUseSkillDesire(attacker, PhysicalSpecial, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } if (Rand(100) < 10) { i1 = GetAbnormalLevel(attacker, Skill_GetAbnormalType(DeBuff1)); if (i1 == -1) { if (Skill_GetConsumeMP(DeBuff1) < myself.sm.mp && Skill_GetConsumeHP(DeBuff1) < myself.sm.hp && Skill_InReuseDelay(DeBuff1) == 0) { AddUseSkillDesire(attacker, DeBuff1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } else if (i1 == 10) { } else { i1 = DeBuff1 + i1; if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) { AddUseSkillDesire(attacker, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } } if (Rand(100) < 10) { i1 = GetAbnormalLevel(attacker, Skill_GetAbnormalType(DeBuff2)); if (i1 == -1) { if (Skill_GetConsumeMP(DeBuff2) < myself.sm.mp && Skill_GetConsumeHP(DeBuff2) < myself.sm.hp && Skill_InReuseDelay(DeBuff2) == 0) { AddUseSkillDesire(attacker, DeBuff2, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } else if (i1 == 10) { } else { i1 = DeBuff2 + i1; if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) { AddUseSkillDesire(attacker, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } } super; } EventHandler CLAN_ATTACKED(attacker, i1) { i1 = 0; if (Rand(100) < 10) { i1 = GetAbnormalLevel(attacker, Skill_GetAbnormalType(DeBuff1)); if (i1 == -1) { if (Skill_GetConsumeMP(DeBuff1) < myself.sm.mp && Skill_GetConsumeHP(DeBuff1) < myself.sm.hp && Skill_InReuseDelay(DeBuff1) == 0) { AddUseSkillDesire(attacker, DeBuff1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } else if (i1 == 10) { } else { i1 = DeBuff1 + i1; if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) { AddUseSkillDesire(attacker, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } } if (Rand(100) < 10) { i1 = GetAbnormalLevel(attacker, Skill_GetAbnormalType(DeBuff2)); if (i1 == -1) { if (Skill_GetConsumeMP(DeBuff2) < myself.sm.mp && Skill_GetConsumeHP(DeBuff2) < myself.sm.hp && Skill_InReuseDelay(DeBuff2) == 0) { AddUseSkillDesire(attacker, DeBuff2, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } else if (i1 == 10) { } else { i1 = DeBuff2 + i1; if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) { AddUseSkillDesire(attacker, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } } super; } EventHandler SEE_SPELL(speller, i1) { i1 = 0; if (Rand(100) < 10) { i1 = GetAbnormalLevel(speller, Skill_GetAbnormalType(DeBuff1)); if (i1 == -1) { if (Skill_GetConsumeMP(DeBuff1) < myself.sm.mp && Skill_GetConsumeHP(DeBuff1) < myself.sm.hp && Skill_InReuseDelay(DeBuff1) == 0) { AddUseSkillDesire(speller, DeBuff1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } else if (i1 == 10) { } else { i1 = DeBuff1 + i1; if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) { AddUseSkillDesire(speller, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } } if (Rand(100) < 10) { i1 = GetAbnormalLevel(speller, Skill_GetAbnormalType(DeBuff2)); if (i1 == -1) { if (Skill_GetConsumeMP(DeBuff2) < myself.sm.mp && Skill_GetConsumeHP(DeBuff2) < myself.sm.hp && Skill_InReuseDelay(DeBuff2) == 0) { AddUseSkillDesire(speller, DeBuff2, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } else if (i1 == 10) { } else { i1 = DeBuff2 + i1; if (Skill_GetConsumeMP(i1) < myself.sm.mp && Skill_GetConsumeHP(i1) < myself.sm.hp && Skill_InReuseDelay(i1) == 0) { AddUseSkillDesire(speller, i1, @ST_ATTACK, @AMT_MOVE_TO_TARGET, 1000000); } } } super; } }
  9. The idea is nice, but not worth the effort in the slightest (for 99.99% of the servers out there). If it was to be done the right way, you would have first to buy a proper custom map, new npc dragons (from other games that use unreal engine probably), create new effects, skills and of course a captivating way of fighting it. Wouldn't even try it unless it was a PTS Server using HF client or higher with x1 rates.
  10. You don't have to replace original files. Simply edit entereventgrp from your system folder. For Core it is: 29006 0 a,SkillSound4.summon_shot\0 250.00000000 100.00000000 1 1 LineageEffect.e_u011_b Wait
  11. Your weapon is fine. The values in the quoted picture can be changed from weapongrp.
  12. There is a thing called currency exchange rate over the years. And lately another thing called sanctions on Russia. But yeah, they should probably apply a usd price on all their old products. The new ones have usd price only, as far as I can see.
  13. Yeah it's possible to teleport, as long as the SSQ conditions are met of course. class ssq_npc_teleporter_for_boss : default_npc { parameter: int DawnPosX = 0; int DawnPosY = 0; int DawnPosZ = 0; int DuskPosX = 0; int DuskPosY = 0; int DuskPosZ = 0; handler: EventHandler TALKED(talker) { ShowPage(talker, "spirit_gate001.htm"); } EventHandler MENU_SELECTED(talker, ask, reply) { if (GetSSQStatus() != @SS_SEAL_EFFECT) { ShowPage(talker, "spirit_gate_q0506_01.htm"); } else if (GetSSQWinner() == @TWILIGHT && GetSSQPart(talker) == @TWILIGHT && GetSSQSealOwner(@SEAL_AVARICE) == @TWILIGHT) { InstantTeleport(talker, DuskPosX, DuskPosY, DuskPosZ); } else if (GetSSQWinner() == @DAWN && GetSSQPart(talker) == @DAWN && GetSSQSealOwner(@SEAL_AVARICE) == @DAWN) { InstantTeleport(talker, DawnPosX, DawnPosY, DawnPosZ); } else { ShowPage(talker, "spirit_gate_q0506_01.htm"); } } }
  14. Hello, I provide services on AI / scripts regarding gf/hf PTS based servers: proper creation of unique AI based on retail l2npc functions utilization of unique l2npc makers any other script work, in order to implement custom stuff The aforementioned lead to possibilities such as: unique instances that will serve the purposes of your server large scale custom raid bosses of any complexity unique events The final deliverable product is further enhanced and polished by proper client work, whenever needed (Example). In such manner, it's possible to implement custom features in the most retail-like way. I'm looking to work with reputable L2OFF admins that aim to implement innovative stuff for their servers. You can expect quality work, delivery within specified deadlines, proper communication and even free tips that are within my knowledge would you become a trusted client. Notes: 1) As the nature of such services is heavily dependent on what I will be asked to do, price tag will be reached upon discussion between involved parties. 2) Everything is based on script work (no extender work). This also means you can use the product on a different server (in most cases). 3) Final product includes proper dialogues in htmls, wherever needed, as well as a detailed configuration file that will help you adjust AI according to your needs. Ready made products as of 14.11.2021: Spawning event scheduler Scope: Any rate servers About: This mod allows for scheduling of a mob spawning (npcmaker) event at specified hour interval on specified days (for example a raidboss event during the weekend). There is also the possibility to make the event zone alternate between chaotic and normal, and therefore creating unexpected pvp opportunities during farming. Price: 130€ Demonstration: Click Dismantler NPC Scope: Mid/High rate servers About: As not all A grade sets are useful, this npc will dismantle parts of specified sets and reward you. Chances, quantities, items are all configurable. There is also a possiblity to apply a special item (for example a reward item from a raid boss) that could further increase the chances and/or rewards. Price: 120€ Demonstration: - ------------------- In the to-do list: 1) A fully functional catapult that could be used during sieges and whatnot 2) A low rate event that includes collaborative effort by the server's players in order to reap the rewards ------------------- Contact details Discord: Blitzkrieg#3275 Skype: live:blitzkrieg.lineage2 Youtube: click Payment methods Paypal
×
×
  • Create New...