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

[7.72] OTHire 0.0.1b - Based in OTServ Trunk (Latest)

When players conjure bolts/arrows/etc it will fill the 100 stack even if they have 0 cap to hold it.

The reason behind this is because the cap does not update after the first 10 stack is added to the backpack until the 100 stack is finished and the new 10 stack is added and changes cap. It's only then that the system realizes the player does not have enough cap to make more, which could equal 90 extra bolts or I suppose if you filled a backpack with 10x bolts in each slot; then made bolts while having no cap - you could reach as many bolts as you can fill backpacks with 10x.

Can be a serious glitch for pallies if it works the way I think it does.

@Ezzz said "That has to be a bug with spells.cpp / conjure spell, maybe when adding the ammunition to the player it's using internalAddThing instead of __addThing, will check."

This is the only addthing I could find in spells.cpp
uint32_t cid = env->addThing(creature);

Does anyone know the fix for the conjure spell bug? @@Nottinghster maybe?
 
When players conjure bolts/arrows/etc it will fill the 100 stack even if they have 0 cap to hold it.

The reason behind this is because the cap does not update after the first 10 stack is added to the backpack until the 100 stack is finished and the new 10 stack is added and changes cap. It's only then that the system realizes the player does not have enough cap to make more, which could equal 90 extra bolts or I suppose if you filled a backpack with 10x bolts in each slot; then made bolts while having no cap - you could reach as many bolts as you can fill backpacks with 10x.

Can be a serious glitch for pallies if it works the way I think it does.

@Ezzz said "That has to be a bug with spells.cpp / conjure spell, maybe when adding the ammunition to the player it's using internalAddThing instead of __addThing, will check."

This is the only addthing I could find in spells.cpp
uint32_t cid = env->addThing(creature);

Does anyone know the fix for the conjure spell bug? @@Nottinghster maybe?
well, does the glitch work the way you think it does or is 90 bolts the best you're going to get?
 
Yes it does, you can make as many bolts as you want without using cap if you fill bps with 10x bolts and then use spell.

I made 6 backpacks with 0 cap, LOL! it is broken.
 
Yes it does, you can make as many bolts as you want without using cap if you fill bps with 10x bolts and then use spell.

I made 6 backpacks with 0 cap, LOL! it is broken.
well check the addThing function, easiest way to fix would probably be to have it not stack with already existing stacks of bolts, i believe this is how it was in 7.72 anyway
 
@Schmanky

Already tried to compile with that edit but it didn't work just got this error.

g++ -DHAVE_CONFIG_H -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -D__USE_MYSQL__ -DSYSCONFDIR=\"/usr/local/etc\" -DPKGDATADIR=\"/usr/local/share/otserv\" -D_THREAD_SAFE -D__OLD_GUILD_SYSTEM__ -D_REENTRANT -Wall -g -O2 -MT spells.o -MD -MP -MF .deps/spells.Tpo -c -o spells.o spells.cpp
spells.cpp: In member function âbool BaseSpell::internalExecuteCastSpell(Event*, Creature*, const LuaVariant&, bool&)â:
spells.cpp:192: error: âclass ScriptEnviromentâ has no member named â__addThingâ
make[1]: *** [spells.o] Error 1


I wouldn't be posting here if I didn't do everything I could think of.
 
Also the edit I made was made when @Ezzz said "That has to be a bug with spells.cpp / conjure spell, maybe when adding the ammunition to the player it's using internalAddThing instead of __addThing, will check."
 
Monsters paralyzes are percent based ;/ At real Tibia it's not like that.
monsters.cpp
Code:
} else if (tmpName == "speed") {
int32_t speedChange = 0;
int32_t duration = 10000;
if ((attr = node.attribute("duration"))) {
duration = pugi::cast<int32_t>(attr.value());
}
if ((attr = node.attribute("speedchange"))) {
speedChange = pugi::cast<int32_t>(attr.value());
if (speedChange < -1000) {
//cant be slower than 100%
speedChange = -1000;
}
}
ConditionType_t conditionType;
if (speedChange > 0) {
conditionType = CONDITION_HASTE;
combat->setParam(COMBAT_PARAM_AGGRESSIVE, 0);
} else {
conditionType = CONDITION_PARALYZE;
}
ConditionSpeed* condition = static_cast<ConditionSpeed*>(Condition::createCondition(CONDITIONID_COMBAT, conditionType, duration, 0));
condition->setFormulaVars(speedChange / 1000.0, 0, speedChange / 1000.0, 0);
combat->setCondition(condition);

Also, I can't get this to work.
Code:
<attack name="outfit" interval="1000" chance="17" range="7" monster="rabbit" duration="20000"/>

But this two do work.
Code:
<attack name="outfit" interval="1000" chance="9" range="7" item="3976" duration="4000"/>
<defense name="outfit" interval="1000" chance="1" monster="bat" duration="6000"/>
 
Ezzz is working on his own project, he released this to be a community-wide project and you shouldn't expect him to help you with all your problems
 
Can someone test if this bug reproduce? While moving with keyboard, you keep right clicking on map to move in the same direction (never stop pressing key arrows), your character like speed hack while doing it. It's like a map click speed hack where people use the ground when they walk.

Ezzz is working on his own project, he released this to be a community-wide project and you shouldn't expect him to help you with all your problems

He's probably fixing the bugs for his project, since it uses the same engine. It's not to much to ask to have the fixes submitted to GitHub since we are bug testing the engine for him aswell, a two-way street.

You have to update your spells folder.
I didn't reproduce the paralyze bug, instead it does remove paralyze but after the step tick has been completed.
You should use ultimate healing rune and paralyze scripts from here:
https://github.com/opentibia/server/blob/legacy/src/data/spells

There is no difference that would affect exhaust, also I don't think legacy branch has exhaust system work like 7.72 protocol. Could you check if you uploaded to github the same spells.cpp you are using? Or whatever file that that handles it.
 
He's probably fixing the bugs for his project, since it uses the same engine. It's not to much to ask to have the fixes submitted to GitHub since we are bug testing the engine for him aswell, a two-way street.
no it's not, the engine for his project is completely separate from this one. you are bug testing this distro for your own use as his main distro has been bug free for months
 
no it's not, the engine for his project is completely separate from this one. you are bug testing this distro for your own use as his main distro has been bug free for months

I just logged in at his COMPLETELY separete project. And both bugs I reported reproduced there. Healing and attack spells are not sharing exhaust, and you can kind of speedhack by spamming right clicks. I mean, for sure it's different, he added some stuff, like fixed monster pathing, but still, it's based on the same thing. "Bug free for months", lol, at least Ezzz is not that presumptuous.

@ezz also, paladin spell book at your server is nearby empty, I couldn't even make HMMs.
 
I just logged in at his COMPLETELY separete project. And both bugs I reported reproduced there. Healing and attack spells are not sharing exhaust, and you can kind of speedhack by spamming right clicks. I mean, for sure it's different, he added some stuff, like fixed monster pathing, but still, it's based on the same thing. "Bug free for months", lol, at least Ezzz is not that presumptuous.

@ezz also, paladin spell book at your server is nearby empty, I couldn't even make HMMs.
then he must have decided to change distros or something of the sort as it was beta tested months ago, and i specifically remember the speed hack was fixed

and i meant to edit it to 'relatively bug free' but i got lazy xD
 
@Ezzz also, there is no autostack on TibiaTales but conjured items do stack at summon, and you need space at your backpack. I mean, if your backpack is full, and you do have a bolt stack and bolts could be added to, the bolts will fall on ground anyway.
 
How is snowballs being displayed? I got this with atk = 0, 21:54 You see a snowball (). If I set it to 1 it's displayed correctly 21:57 You see a snowball (Atk:1).
 
@Ezzz never loved us! Makes fixes on his distro he uses, but doesn't do any updates.

@Schmanky - Oh you mean the one bug I found and reported? Alllll the bugs, oh lord; 1 bug; I asked for so much help!
 
I'm not here to help you all with everything you can't really add, if you want a feature and I'm not interested in it, do it yourself, you can't expect me to implement it.

I've been extremely busy these last days, if you can at this moment enumerate whatever bug you have found in the public distro paste it here organized within points so that it's easier for me to add it to my todo list I will do in Monday, I will be free that day until Sunday.

Monsters paralyzes are percent based ;/ At real Tibia it's not like that.
monsters.cpp
Code:
} else if (tmpName == "speed") {
int32_t speedChange = 0;
int32_t duration = 10000;
if ((attr = node.attribute("duration"))) {
duration = pugi::cast<int32_t>(attr.value());
}
if ((attr = node.attribute("speedchange"))) {
speedChange = pugi::cast<int32_t>(attr.value());
if (speedChange < -1000) {
//cant be slower than 100%
speedChange = -1000;
}
}
ConditionType_t conditionType;
if (speedChange > 0) {
conditionType = CONDITION_HASTE;
combat->setParam(COMBAT_PARAM_AGGRESSIVE, 0);
} else {
conditionType = CONDITION_PARALYZE;
}
ConditionSpeed* condition = static_cast<ConditionSpeed*>(Condition::createCondition(CONDITIONID_COMBAT, conditionType, duration, 0));
condition->setFormulaVars(speedChange / 1000.0, 0, speedChange / 1000.0, 0);
combat->setCondition(condition);

Also, I can't get this to work.
Code:
<attack name="outfit" interval="1000" chance="17" range="7" monster="rabbit" duration="20000"/>

But this two do work.
Code:
<attack name="outfit" interval="1000" chance="9" range="7" item="3976" duration="4000"/>
<defense name="outfit" interval="1000" chance="1" monster="bat" duration="6000"/>

Didn't reproduce.

I just logged in at his COMPLETELY separete project. And both bugs I reported reproduced there. Healing and attack spells are not sharing exhaust, and you can kind of speedhack by spamming right clicks. I mean, for sure it's different, he added some stuff, like fixed monster pathing, but still, it's based on the same thing. "Bug free for months", lol, at least Ezzz is not that presumptuous.

@ezz also, paladin spell book at your server is nearby empty, I couldn't even make HMMs.

Do your own changes at conditions.cpp

then he must have decided to change distros or something of the sort as it was beta tested months ago, and i specifically remember the speed hack was fixed

and i meant to edit it to 'relatively bug free' but i got lazy xD

@Ezzz also, there is no autostack on TibiaTales but conjured items do stack at summon, and you need space at your backpack. I mean, if your backpack is full, and you do have a bolt stack and bolts could be added to, the bolts will fall on ground anyway.

That's how it's supposed to be I'm aware.
 
I'm not here to help you all with everything you can't really add, if you want a feature and I'm not interested in it, do it yourself, you can't expect me to implement it.

I've been extremely busy these last days, if you can at this moment enumerate whatever bug you have found in the public distro paste it here organized within points so that it's easier for me to add it to my todo list I will do in Monday, I will be free that day until Sunday.

Take your time dude. I made a pull request with some fixes in data folder and reported the issues at GitHub yesteday (better organized then the mess here), it would be cool if you can replay there what you will adress and what will not be adressed.
 
Back
Top