• 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+ Problem with "method="onShareExperience"".

Kownikuzyt

Member
Joined
Feb 11, 2020
Messages
170
Solutions
1
Reaction score
8
Hello, I have a problem with the console :(
I was looking for solutions on the forum but unfortunately, none has worked so far.



I am using the TFS 1.1 engine.



Code: data/events/events.xml




XML:
<?xml version="1.0" encoding="UTF-8"?>
<events>


    <!-- Creature methods -->
    <event class="Creature" method="onChangeOutfit" enabled="1" />
    <event class="Creature" method="onAreaCombat" enabled="0" />
    <event class="Creature" method="onTargetCombat" enabled="1" />


    <!-- Party methods -->
    <event class="Party" method="onJoin" enabled="0" />
    <event class="Party" method="onLeave" enabled="0" />
    <event class="Party" method="onDisband" enabled="0" />
    <event class="Party" method="onShareExperience" enabled="1" />


    <!-- Player methods -->
    <event class="Player" method="onBrowseField" enabled="0" />
    <event class="Player" method="onLook" enabled="1" />
    <event class="Player" method="onLookInBattleList" enabled="1" />
    <event class="Player" method="onLookInTrade" enabled="1" />
    <event class="Player" method="onLookInShop" enabled="0" />
    <event class="Player" method="onMoveItem" enabled="1" />
    <event class="Player" method="onMoveCreature" enabled="0" />
    <event class="Player" method="onTurn" enabled="0" />
    <event class="Player" method="onTradeRequest" enabled="1" />
    <event class="Player" method="onTradeAccept" enabled="0" />
    <event class="Player" method="onGainExperience" enabled="1" />
    <event class="Player" method="onLoseExperience" enabled="0" />
    <event class="Player" method="onGainSkillTries" enabled="1" />
</events>



Code: data/events/scripts/party.lua



Lua:
function Party:onJoin(player)
    return true
end


function Party:onLeave(player)
    return true
end


function Party:onDisband()
    return true
end


function Party:onShareExperience(exp)
    local sharedExperienceMultiplier = 1.20 --20%
    local vocationsIds = {}


    local vocationId = self:getLeader():getVocation():getBase():getId()
    if vocationId ~= VOCATION_NONE then
        table.insert(vocationsIds, vocationId)
    end


    for _, member in ipairs(self:getMembers()) do
        vocationId = member:getVocation():getBase():getId()
        if not table.contains(vocationsIds, vocationId) and vocationId ~= VOCATION_NONE then
            table.insert(vocationsIds, vocationId)
        end
    end


    local size = #vocationsIds
    if size > 1 then
        sharedExperienceMultiplier = 1.0 + ((size * (5 * (size - 1) + 10)) / 100)
    end


    return (exp * sharedExperienceMultiplier) / (#self:getMembers() + 1)
end


Console:



[Warning - Events::load] Unknown party method: onShareExperience
 
Which TFS version are you using?

Looks like older versions don't have this.
1.2

1.1
 
Which TFS version are you using?

Looks like older versions don't have this.
1.2

1.1
@Snavy

I tried unfortunately there are errors :(


[ 1%] Building CXX object CMakeFiles/tfs.dir/src/events.cpp.o
/home/ots/src/events.cpp: In member function 'void Events::clear()':
/home/ots/src/events.cpp:47:2: error: 'partyOnShareExperience' was not declared in this scope
partyOnShareExperience = -1;
^
/home/ots/src/events.cpp: In member function 'bool Events::load()':
/home/ots/src/events.cpp:112:5: error: 'partyOnShareExperience' was not declared in this scope
partyOnShareExperience = event;
^
CMakeFiles/tfs.dir/build.make:576: recipe for target 'CMakeFiles/tfs.dir/src/events.cpp.o' failed
make[2]: *** [CMakeFiles/tfs.dir/src/events.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/tfs.dir/all' failed
make[1]: *** [CMakeFiles/tfs.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
 
Back
Top