• 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!

TFS 1.X+ How can I use spells/exiva without using " tfs 1.2

abdala ragab

Veteran OT User
Joined
Aug 18, 2018
Messages
526
Solutions
14
Reaction score
390
Location
gamelaot.sytes.net
On some servers only use:
Lua:
exiva Name
exani hur up
exani hur down
and it works.

In my server i need to use "
Code:
exiva "Name
exani hur "up
exani hur "down
If i dont use ", the exiva dont works, the same like exani hur "up and exani hur "down.

how can I get rid of not having to use "??
i think its in source code
thank you In advance
 
Solution
The solution is here spells,cpp For 1.5
C++:
    //strip trailing spaces
    trimString(str_words);

    InstantSpell* instantSpell = getInstantSpell(str_words);
    if (!instantSpell) {
        return TALKACTION_CONTINUE;
    }

    std::string param;

    if (instantSpell->getHasParam()) {
        size_t spellLen = instantSpell->getWords().length();
        size_t paramLen = str_words.length() - spellLen;
        std::string paramText = str_words.substr(spellLen, paramLen);
        if (!paramText.empty() && paramText.front() == ' ') {
            size_t loc1 = paramText.find('"', 1);
            if (loc1 != std::string::npos) {
                size_t loc2 = paramText.find('"', loc1 + 1);
                if (loc2 ==...
The spells that came standard with Nekiro tfs 1.5 8.60 were tested and worked perfectly! Check out the gif.

updown.gif

Exiva
XML:
    <instant group="support" spellid="20" name="Find Person" words="exiva" level="8" mana="20" aggressive="0" playernameparam="1" params="1" exhaustion="2000" groupcooldown="2000" needlearn="0" script="support/find_person.lua">
        <vocation name="Sorcerer" />
        <vocation name="Druid" />
        <vocation name="Paladin" />
        <vocation name="Knight" />
        <vocation name="Master Sorcerer" />
        <vocation name="Masterful Sorcerer" />
        <vocation name="Elder Druid" />
        <vocation name="Ancient Druid" />
        <vocation name="Royal Paladin" />
        <vocation name="Glorious Paladin" />
        <vocation name="Elite Knight" />
        <vocation name="Rageful Knight" />
    </instant>

exani hur up/down
XML:
    <instant group="support" spellid="81" name="Levitate" words="exani hur" level="12" mana="50" premium="0" aggressive="0" exhaustion="2000" groupcooldown="2000" params="1" needlearn="0" script="support/levitate.lua">
        <vocation name="Sorcerer" />
        <vocation name="Druid" />
        <vocation name="Paladin" />
        <vocation name="Knight" />
        <vocation name="Master Sorcerer" />
        <vocation name="Masterful Sorcerer" />
        <vocation name="Elder Druid" />
        <vocation name="Ancient Druid" />
        <vocation name="Royal Paladin" />
        <vocation name="Glorious Paladin" />
        <vocation name="Elite Knight" />
        <vocation name="Rageful Knight" />
    </instant>

f you need anything, just search for the official TFS Nekiro on GitHub. That's where I got it and tested it the same way, and it works. Whenever you need anything, just visit the official website, man. It's very simple. I don't understand these people; they don't think at all. They could have searched for solutions before asking for help here.
 

Attachments

The spells that came standard with Nekiro tfs 1.5 8.60 were tested and worked perfectly! Check out the gif.

View attachment 84648

Exiva
XML:
    <instant group="support" spellid="20" name="Find Person" words="exiva" level="8" mana="20" aggressive="0" playernameparam="1" params="1" exhaustion="2000" groupcooldown="2000" needlearn="0" script="support/find_person.lua">
        <vocation name="Sorcerer" />
        <vocation name="Druid" />
        <vocation name="Paladin" />
        <vocation name="Knight" />
        <vocation name="Master Sorcerer" />
        <vocation name="Masterful Sorcerer" />
        <vocation name="Elder Druid" />
        <vocation name="Ancient Druid" />
        <vocation name="Royal Paladin" />
        <vocation name="Glorious Paladin" />
        <vocation name="Elite Knight" />
        <vocation name="Rageful Knight" />
    </instant>

exani hur up/down
XML:
    <instant group="support" spellid="81" name="Levitate" words="exani hur" level="12" mana="50" premium="0" aggressive="0" exhaustion="2000" groupcooldown="2000" params="1" needlearn="0" script="support/levitate.lua">
        <vocation name="Sorcerer" />
        <vocation name="Druid" />
        <vocation name="Paladin" />
        <vocation name="Knight" />
        <vocation name="Master Sorcerer" />
        <vocation name="Masterful Sorcerer" />
        <vocation name="Elder Druid" />
        <vocation name="Ancient Druid" />
        <vocation name="Royal Paladin" />
        <vocation name="Glorious Paladin" />
        <vocation name="Elite Knight" />
        <vocation name="Rageful Knight" />
    </instant>

f you need anything, just search for the official TFS Nekiro on GitHub. That's where I got it and tested it the same way, and it works. Whenever you need anything, just visit the official website, man. It's very simple. I don't understand these people; they don't think at all. They could have searched for solutions before asking for help here.
does not work in 1.5/860
There is a very simple matter in the source, I think
 
The solution is here spells,cpp For 1.5
C++:
    //strip trailing spaces
    trimString(str_words);

    InstantSpell* instantSpell = getInstantSpell(str_words);
    if (!instantSpell) {
        return TALKACTION_CONTINUE;
    }

    std::string param;

    if (instantSpell->getHasParam()) {
        size_t spellLen = instantSpell->getWords().length();
        size_t paramLen = str_words.length() - spellLen;
        std::string paramText = str_words.substr(spellLen, paramLen);
        if (!paramText.empty() && paramText.front() == ' ') {
            size_t loc1 = paramText.find('"', 1);
            if (loc1 != std::string::npos) {
                size_t loc2 = paramText.find('"', loc1 + 1);
                if (loc2 == std::string::npos) {
                    loc2 = paramText.length();
                } else if (paramText.find_last_not_of(' ') != loc2) {
                    return TALKACTION_CONTINUE;
                }

                param = paramText.substr(loc1 + 1, loc2 - loc1 - 1);
            } else {
                trimString(paramText);
                loc1 = paramText.find(' ', 0);
                if (loc1 == std::string::npos) {
                    param = paramText;
                } else {
                    return TALKACTION_CONTINUE;
                }
            }
        }
    }
Change To
C++:
    //strip trailing spaces
    trimString(str_words);

    InstantSpell* instantSpell = getInstantSpell(str_words);
    if (!instantSpell) {
        return TALKACTION_CONTINUE;
    }

    std::string param;

    if (instantSpell->getHasParam()) {
        size_t spellLen = instantSpell->getWords().length();
        size_t paramLen = str_words.length() - spellLen;
        std::string paramText = str_words.substr(spellLen, paramLen);
        if (!paramText.empty() && paramText.front() == ' ') {
            size_t loc1 = paramText.find('"', 1);
            if (loc1 != std::string::npos) {
                size_t loc2 = paramText.find('"', loc1 + 1);
                if (loc2 == std::string::npos) {
                    loc2 = paramText.length();
                } else if (paramText.find_last_not_of('"') != loc2) {
                    return TALKACTION_CONTINUE;
                }

                param = paramText.substr(loc1 + 1, loc2 - loc1 - 1);
            } else {
                trimString(paramText);
                loc1 = paramText.find('"', 0);
                if (loc1 == std::string::npos) {
                    param = paramText;
                } else {
                    return TALKACTION_CONTINUE;
                }
            }
        }
    }
Changes are just here

C++:
} else if (paramText.find_last_not_of(' ') != loc2) {
To
C++:
} else if (paramText.find_last_not_of('"') != loc2) {
And
C++:
loc1 = paramText.find(' ', 0);
To
C++:
loc1 = paramText.find('"', 0);
asa.png
 
Last edited:
Solution
Back
Top