Jump to content
  • 0

[help] Allow skill resurrection on summons


everest-rj

Question

Hi.

 

I wrote a code (java in the core) to increase the summons Decay time so a char summoner can ress your own summon, but any scroll of ress and skill the resurrection (id:1016) can ress the summon.

 

i tried subst  <set name="target" val="TARGET_CORPSE_PLAYER" />

for <set name="target" val="TARGET_SUMMON" />

but dont work.

 

the xml below contain the setup for skill Resurrection...

 

  <skill id="1016" levels="9" name="Resurrection">
    <table name="#mpConsume_Init"> 12 18 25 31 36 39 42 46 48 </table>
    <table name="#mpConsume"> 47 70 97 121 144 156 165 182 191 </table>
    <table name="#power"> 0 20 30 40 50 55 60 65 70 </table>
    <table name="#aggro"> 121 196 290 374 460 502 542 595 624 </table>
    <set name="mpInitialConsume" val="#mpConsume_Init" />
    <set name="mpConsume" val="#mpConsume" />
    <set name="power" val="#power" />
    <set name="target" val="TARGET_CORPSE_PLAYER" />
    <set name="reuseDelay" val="120000" />
    <set name="hitTime" val="6000" />
    <set name="skillType" val="RESURRECT" />
    <set name="isMagic" val="true" />
    <set name="operateType" val="OP_ACTIVE" />
    <set name="castRange" val="400" />
    <set name="effectRange" val="900" />
    <set name="aggroPoints" val="#aggro" />
  </skill>

 

 

In com.l2jfree.gameserver.handler.ISkillHandler  i tried write a code to allow ress summon but dont work, i dont know if Im working on correct class or package.

 

I imported ...

 

import com.l2jfree.gameserver.model.actor.instance.L2SummonInstance;

 

and wrote this code but does not happen nothing, no erros, no exceptions just dont work...

 

			// -- added this block else if for test skill resurrection on summon
		else if (cha instanceof L2SummonInstance)
		{
			if (((L2PetInstance) cha).getOwner() == activeChar)
				cha.doRevive(Formulas.getInstance().calculateSkillResurrectRestorePercent(skill.getPower(), activeChar.getStat().getWIT()));
		}
		// --

 

 

How can allow the skil resurrection lvl 1 ress summons and in which class i must start work?

 

Cheers,

 

Everest.

 

 

 

Link to comment
Share on other sites

Recommended Posts

  • 0

<table name="#mpConsume_Init"> 12 18 25 31 36 39 42 46 48 </table>

    <table name="#mpConsume"> 47 70 97 121 144 156 165 182 191 </table>

    <table name="#power"> 0 20 30 40 50 55 60 65 70 </table>

    <table name="#aggro"> 121 196 290 374 460 502 542 595 624 </table>

    <set name="mpInitialConsume" val="#mpConsume_Init" />

    <set name="mpConsume" val="#mpConsume" />

    <set name="power" val="#power" />

    <set name="target" val="TARGET_CORPSE_PET" />

    <set name="reuseDelay" val="120000" />

    <set name="hitTime" val="6000" />

    <set name="skillType" val="RESURRECT" />

    <set name="isMagic" val="true" />

    <set name="operateType" val="OP_ACTIVE" />

    <set name="castRange" val="400" />

    <set name="effectRange" val="900" />

    <set name="aggroPoints" val="#aggro" />

 

Good luck

Link to comment
Share on other sites

  • 0

but if i use <set name="target" val="TARGET_CORPSE_PET" />

i can ress pet and summons but cant ress any player.

 

I want ress player and summons understad?

 

can i add 2 val?

 

 

<table name="#mpConsume_Init"> 12 18 25 31 36 39 42 46 48 </table>

    <table name="#mpConsume"> 47 70 97 121 144 156 165 182 191 </table>

    <table name="#power"> 0 20 30 40 50 55 60 65 70 </table>

    <table name="#aggro"> 121 196 290 374 460 502 542 595 624 </table>

    <set name="mpInitialConsume" val="#mpConsume_Init" />

    <set name="mpConsume" val="#mpConsume" />

    <set name="power" val="#power" />

    <set name="target" val="TARGET_CORPSE_PLAYER" />

    <set name="target" val="TARGET_CORPSE_PET" />

    <set name="reuseDelay" val="120000" />

    <set name="hitTime" val="6000" />

    <set name="skillType" val="RESURRECT" />

    <set name="isMagic" val="true" />

    <set name="operateType" val="OP_ACTIVE" />

    <set name="castRange" val="400" />

    <set name="effectRange" val="900" />

    <set name="aggroPoints" val="#aggro" />

 

Link to comment
Share on other sites

  • 0

i can create a new skill too but i no want change the client side... if i create a new skill i need some icon for the new one. ill try edit this scroll of ress pet.

 

some troble i post here

 

ty

Link to comment
Share on other sites

  • 0

<skill id="2179" levels="1" name="Blessed Scroll of Resurrection: Pet">

  <set name="power" val="100"/>

  <set name="target" val="TARGET_CORPSE_PET"/>

  <set name="hitTime" val="15000"/>

  <set name="skillType" val="RESURRECT"/>

  <set name="operateType" val="OP_ACTIVE"/>

  <set name="castRange" val="400"/>

  <set name="effectRange" val="600"/>

</skill>

Link to comment
Share on other sites

  • 0

Ok, Rly B.s.o.ress.pet have the value val="TARGET_CORPSE_PET" its mean u can ress pet, buuut in the java code have a restriction for it there are a condition if not PET u cannot use this scroll, doest not matter if in the xml file have the enum "TARGET_CORPSE_PET", so if u try use this scrolls in summons your client ill receive the msg "Incorrect target." I changed the java code to allow the enum TARGET_CORPSE_PET to be valid for summons. if u add TARGET_CORPSE_PET for skill resurrection u dont have this problem because this skill condition no have this restriction. Later ill try code something to allow this skill ress player and summons. The problem in the xml file for skill ress is it dont allow table for target (ill try change it in the java) ...

 

<skill id="1016" levels="9" name="Resurrection">

<table name="#mpConsume_Init"> 12 18 25 31 36 39 42 46 48 </table>

    <table name="#mpConsume"> 47 70 97 121 144 156 165 182 191 </table>

    <table name="#power"> 0 20 30 40 50 55 60 65 70 </table>

    <table name="#aggro"> 121 196 290 374 460 502 542 595 624 </table>

    <table name="#target"> TARGET_CORPSE_PLAYER TARGET_CORPSE_PET </table>

    <set name="mpInitialConsume" val="#mpConsume_Init" />

    <set name="mpConsume" val="#mpConsume" />

    <set name="power" val="#power" />

    <set name="target" val="#target" />

    <set name="reuseDelay" val="120000" />

    <set name="hitTime" val="6000" />

    <set name="skillType" val="RESURRECT" />

    <set name="isMagic" val="true" />

    <set name="operateType" val="OP_ACTIVE" />

    <set name="castRange" val="400" />

    <set name="effectRange" val="900" />

    <set name="aggroPoints" val="#aggro" />

</skill>

Link to comment
Share on other sites

  • 0

TARGET_NONE,

        TARGET_SELF,

        TARGET_ONE,

        TARGET_PARTY,

        TARGET_ALLY,

        TARGET_CLAN,

        TARGET_PET,

        TARGET_SUMMON,

        TARGET_AREA,

        TARGET_FRONT_AREA,

        TARGET_BEHIND_AREA,

        TARGET_AURA,

        TARGET_FRONT_AURA,

        TARGET_BEHIND_AURA,

        TARGET_CORPSE,

        TARGET_UNDEAD,

        TARGET_AREA_UNDEAD,

        TARGET_MULTIFACE,

        TARGET_CORPSE_ALLY,

        TARGET_CORPSE_CLAN,

        TARGET_CORPSE_PLAYER,

        TARGET_CORPSE_PET,

        TARGET_AREA_CORPSE_MOB,

        TARGET_CORPSE_MOB,

        TARGET_UNLOCKABLE,

        TARGET_HOLY,

        TARGET_FLAGPOLE,

        TARGET_PARTY_MEMBER,

        TARGET_PARTY_OTHER,

        TARGET_ENEMY_SUMMON,

        TARGET_OWNER_PET,

        TARGET_GROUND

 

see it and change target .

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Posts

    • WTS Gold bars reborn interlude x10   discord : xeenthekeen
    • Guys, if you'd let me be the bearer of bad news, No amount of "break from server development" can justify your complete lack of idea how things work. If it was this easy, you should've been seeing 90% of the servers of the popular old versions, such as IL and HF, running on the newest client. For this task, you would need a lot of time - think at least 2 months, if you can code, have access to all the necessary tools for client development, and you have a relatively good idea of how server<->client communication works. f you don't, then you either find yourself a well-paying job and find someone who would do it for you or you put the idea aside (for no less than 1-2 years) and start reading and learning asap. Let me give you a little preview/breakdown of what some of the work includes. The work can be split into two parts - SERVER side and CLIENT side.  The server and the client communicate through packets. Each of these packets has a defined structure. Both, the server and the client MUST know this structure and MUST use the same structure, otherwise they won't be able to "understand" each other. - The server side predominantly includes the alteration of existing packet structure and the creation (from zero) of missing packets that the client requires. Then you also have to take these changes into account and alter the existing features of your server to match the changes. A good example for this is SKILL ENCHANTING. On older chronicles, the enchant level is determined by the LEVEL value of the skill and on the new clients, it has been taken out into a separate value. What this means is that you would have to figure out a way to adapt the old system to the new requirements. - Now that we mentioned the client, you would also need to edit a bunch of files, such as Interface, UTX, UNR, as well as DAT files, including those related to ITEMS, SKILLS, QUESTS, NPCS, and AUGMENTATION STATS and DESCRIPTIONS, etc. For some of those, you would also have to figure out how to check for missing entries and how to parse data from the older client to the new. The best example, again, would be the SKILLS. On the latest clients, the skill enchanting was limited to only +20. As such, even if there were some matching skills between the two different client versions, you would still need to add the missing 10 levels to +30. And once you complete all of that, you start testing and fixing bugs and sh1t. And once you have fixed all of that, you can start adding new features from the new client, because otherwise it would be one big mess and a waste of time and/or money.
    • As far as I know, these are not linked to the server. What I mean by this is - there is no server <-> client communication for these two features. If that is indeed the case, you would need the Interface sources in order to create a custom function which you can trigger with a SERVER_TO_CLIENT packet.
    • Hello, I recently Installed the h5 Interface from emu-dev   Everything is working great but i was wondering if anyone can help me add the monster book and item book buttons on my community board to make it more accessible. Or if there is a way to add a button with HTML that calls these windows. I have xdat editor installed and i have located the relevant windows, but i don't know what to do with them. Thank you for your time.  
  • Topics

×
×
  • Create New...