• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Does anyone know how to put this exhaust?

Jpstafe

Well-Known Member
Joined
Aug 8, 2011
Messages
507
Reaction score
68
Hello otland community, for several days I have been investigating the issue of the exhaust in the ots 7x, and I would like to change it, how the ots use it, I know that it is not the original exhaust of the version, but the players who play my ot me They ask, how can it be changed... now I leave some examples, I have changed them from the spells but nothing...

this is how they are in my ot:
exori vis:

1.gif
exura vita:
exura vita con.gif

-----------------------------------------------------------------------
I get this exhaust from another one now..
I would like to throw the spells like this:
exori vis:

sinnn.gif
exura vita:
final22.gif

My version of ot is otx 7x, I know it's old, and that it has many bugs, but I've already fixed it enough, they recommended changing it to tfs 1.5, but since my aspiration to ot is a server for friends, and not Another serious type of server... I decide to keep the otx, but I would like to fix these exhausts, because we use this ot to practice pvp as a team.

Fix exhaust (ejemplo exura + exori vis, etc) by brewsterl · Pull Request #53 · mattyx14/otxserver (https://github.com/mattyx14/otxserver/pull/53)
They gave me a github link with the otx bug posts, and I found a possible solution... but in the same post it says. "This small fix is temporary, the bug appears if you use exori vis + exura, etc. that is to say the opposite, but using exura + exori vis no,"

in my spells.cpp the exhaust is like this..

Lua:
if(groupExhaustions.empty())
        {
            if(isAggressive)
                groupExhaustions[SPELLGROUP_ATTACK] = 2000;
            else
                groupExhaustions[SPELLGROUP_HEALING] = 1000;

 
The thing is I know for a fact that on the otx version he uses besides the .xml exhaustion, it also uses storages on the spell scripts to make a "shared group system" which is not ideal but that how it was done


If both exhaustions are set to 1 second or even 1ms on spells.xml, then it must be something on source side.
You can post your spells.cpp and we may help you
Yes, what you say is true, this ot has the shared, I don't know if you're talking about a shared party, also what happens to me in the shared party that the tasks only count lasthit, going back to the spells here I'll leave it for you. Thanks for answering .
spells.cpp:
Please enter a message with no more than 25000 characters.
It won't let me paste all the code, I put it to download or tell me in what format it is uploaded to upload it here in otland
Post automatically merged:

Yes, what you say is true, this ot has the shared, I don't know if you're talking about a shared party, also what happens to me in the shared party that the tasks only count lasthit, going back to the spells here I'll leave it for you. Thanks for answering .
spells.cpp:
Please enter a message with no more than 25000 characters.
It won't let me paste all the code, I put it to download or tell me in what format it is uploaded to upload it here in otland
here I have uploaded it to spells.cpp:
 
Last edited:
For your server there's no XML param like:
  • group & groupcooldown
  • secondarygroup & secondarygroupcooldown

Instead there's a groups attribute:
XML:
<instant name="Light Healing" words="exura" lvl="9" mana="20" aggressive="0" selftarget="1" exhaustion="2000" groups="2,2000" icon="1" needlearn="0" event="script" value="healing/light healing.lua">
   <vocation id="1;5"/>
   <vocation id="2;6"/>
   <vocation id="3;7"/>
</instant>

it's pair of group and exahust ticks combination (separated with semicolon) like:
XML:
<instant groups="firstGroup,ticks;secondGroup,ticks">

C++:
enum SpellGroup_t : uint8_t {
    SPELLGROUP_NONE = 0,
    SPELLGROUP_ATTACK = 1,
    SPELLGROUP_HEALING = 2,
    SPELLGROUP_SUPPORT = 3,
    SPELLGROUP_SPECIAL = 4,
    SPELLGROUP_CONJURE = 5, // Deprecated
    SPELLGROUP_CRIPPLING = 6,
    SPELLGROUP_FOCUS = 7,
    SPELLGROUP_ULTIMATESTRIKES = 8,
};
or groupNames optionaly:
Code:
attack or attacking,
heal or healing,
support or supporting,
special or ultimate,
 
For your server there's no XML param like:
  • group & groupcooldown
  • secondarygroup & secondarygroupcooldown

Instead there's a groups attribute:
XML:
<instant name="Light Healing" words="exura" lvl="9" mana="20" aggressive="0" selftarget="1" exhaustion="2000" groups="2,2000" icon="1" needlearn="0" event="script" value="healing/light healing.lua">
   <vocation id="1;5"/>
   <vocation id="2;6"/>
   <vocation id="3;7"/>
</instant>

it's pair of group and exahust ticks combination (separated with semicolon) like:
XML:
<instant groups="firstGroup,ticks;secondGroup,ticks">

C++:
enum SpellGroup_t : uint8_t {
    SPELLGROUP_NONE = 0,
    SPELLGROUP_ATTACK = 1,
    SPELLGROUP_HEALING = 2,
    SPELLGROUP_SUPPORT = 3,
    SPELLGROUP_SPECIAL = 4,
    SPELLGROUP_CONJURE = 5, // Deprecated
    SPELLGROUP_CRIPPLING = 6,
    SPELLGROUP_FOCUS = 7,
    SPELLGROUP_ULTIMATESTRIKES = 8,
};
or groupNames optionaly:
Code:
attack or attacking,
heal or healing,
support or supporting,
special or ultimate,
I think I got something from what you told me, if I see that in the script of the spells it does not have "groups="2,2000"
if you have the groups:
<vocation id="1;5"/>
What can be done about this? I add the groups="2,2000"?
XML:
    <instant name="Energy Strike" words="exori vis" mana="20" maglv="3" prem="0" direction="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="attack/energy strike.lua">
        <vocation id="1;5"/>
        <vocation id="2;6"/>
 
@Jpstafe You're also missing very important part which is aggressive attribute:

XML:
<instant aggressive="1" groups="">

Groups are defined as a attribute of <instant>
 
Back
Top