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

Nostalrius 7.7

I do not like Ezzz, but honestly guys. It's not perfect, nothing ever is. But for gods sake, be thankful for the release. You could have sat here with nothing. No OTHire, no Nostalrius. It would be another story if it wasn't free. You can't really complain if it's free. Spend some time and effort to complete it. Even share it with others. In the end, it might reach "perfect". But it won't ever happen unless all work together.
 
I do not like Ezzz, but honestly guys. It's not perfect, nothing ever is. But for gods sake, be thankful for the release. You could have sat here with nothing. No OTHire, no Nostalrius. It would be another story if it wasn't free. You can't really complain if it's free. Spend some time and effort to complete it. Even share it with others. In the end, it might reach "perfect". But it won't ever happen unless all work together.
He sold this server for many people, he sold fake real formulas "...
 
Nostalrius orc spearman:

Compared to OTHire:

I opened an issue on github, let's see if it gets solved...
https://github.com/TwistedScorpio/N...ithub.com/TwistedScorpio/Nostalrius/issues/38

Can you do that with warlocks to show the difference?

pjcaak0ne3.gif
 
Last edited:
Can you do that with warlocks to show the difference?
It happens with almost any monster, dragon, dragon lord, warlock, demon...
Something is broken in engine.

I can try this night to show you more examples when I'm on a computer.
 
I do not understand how you guys can complain about these files if you do not like the files, why you download them
its total fucking free to download it and you guys coming with same shit every time about the files there is some formulas that don't work exactly as real tibia...
if you don't like Nostalirius then download Othire or OTX simple as that..
sorry for my Terrible english
 
OTHire is extremely off.
Remember that in RealOTS you can hunt Dragons with Demon Skeletons, you can't do this on OTHire or any other OT because formulas are off, you're only able to do so in Nostalrius and RealOTS itself.

I've received many reports about ranged monsters or something off in the monsters attack, I need video of Tibia 7.7 (RealOTS) showing the monsters shooting spells like Warlock to come up with a solution.
 
Last edited:
OTHire is extremely off.
Remember that in RealOTS you can hunt Dragons with Demon Skeletons, you can't do this on OTHire or any other OT because formulas are off, you're only able to do so in Nostalrius and RealOTS itself.

Dragon vs demon skeleton Nostalrius:
35933

Dragon vs demon skeleton OTHire:
35934

I think OTHire is off, too strong monsters compared to RL Tibia, but Nostalrius monsters seems too weak for me, a demon skeleton is almost inmortal vs dragon or vs warlock.
 
I've received many reports about ranged monsters or something off in the monsters attack, I need video of Tibia 7.7 (RealOTS) showing the monsters shooting spells like Warlock to come up with a solution.
As you can see a 116 sorc can solo a warlock, but not without problems.
In Nostalrius a 40 sorc can easily handle them.
 
Last edited:
Dragon vs demon skeleton Nostalrius:
View attachment 35933

Dragon vs demon skeleton OTHire:
View attachment 35934

I think OTHire is off, too strong monsters compared to RL Tibia, but Nostalrius monsters seems too weak for me, a demon skeleton is almost inmortal vs dragon or vs warlock.
i used to play at tibia 7.4 and i remember that we used monks to hunts dagon because with DS we had to waste few uhs per drag so i think othire formula its ok in comparision to nostalrius (super weak) anyway in othire is a bit OP but that can be easily changed via xml
 
i used to play at tibia 7.4 and i remember that we used monks to hunts dagon because with DS we had to waste few uhs per drag so i think othire formula its ok in comparision to nostalrius (super weak) anyway in othire is a bit OP but that can be easily changed via xml
OTHire seems too strong to me, but I think the same as you of Nostalrius, super weak.
Example of weak monster:
35935
 
OTHire seems too strong to me, but I think the same as you of Nostalrius, super weak.
Example of weak monster:
View attachment 35935
i noticed , did you tried decreasing the damage of the dragon a bit in othire? i think othire works better im using its files in my otx because i thought they were working better with few othire source edits
 
Dragon vs demon skeleton Nostalrius:
orc-gif.35935


Dragon vs demon skeleton OTHire:
orc-gif.35934


I think OTHire is off, too strong monsters compared to RL Tibia, but Nostalrius monsters seems too weak for me, a demon skeleton is almost inmortal vs dragon or vs warlock.
These are useful (and kinda just cool to watch).

Can you do a demon vs a hydra or something?

I'm testing the attacks formulas. I dont know... it definately feels weaker than it should be.
 
Last edited:
These are useful (and kinda just cool to watch).

Can you do a demon vs a hydra or something?

I'm testing the attacks formulas. I dont know... it definately feels weaker than it should be.
Here you are:
35936

The XML are OK, but it seems that the source formulas are not working like intended.
I think that the ranged attacks are off, the melee ones seems legit.
 
I looked into it this morning. The fix is to change:

if (normal_random(0, spellBlock.chance) == 0 && (master || health > mType->info.runAwayHealth || normal_random(1, 3) == 1))

to:

if (uniform_random(0, spellBlock.chance) == 0 && (master || health > mType->info.runAwayHealth || uniform_random(1, 3) == 1))

in monster.cpp

normal_random uses a normal distribution for generating random numbers, this means that numbers closer to the average are generated most often. Numbers at the extrema, such as 0(in this example), are generated less often. This is useful for getting more consistent damage numbers for instance. Uniform random will give you the expected behavior.

There's other instances in the code where normal_random is also used incorrectly, I believe. For instance, with spears break chance. You might have noticed spears are very durable by default.

I also believe this might be more correct:

if (uniform_random(1, spellBlock.chance) == 1 && (master || health > mType->info.runAwayHealth || uniform_random(1, 3) == 1))

Unless spellBlock.chance is decremented at some point, 0 would make a spell that's say a '7' chance in the files, a 1 in 8 chance [0-7].
 
Last edited:
Here you are:
View attachment 35936

The XML are OK, but it seems that the source formulas are not working like intended.
I think that the ranged attacks are off, the melee ones seems legit.

Seems like melee attacks are fine, it's just spells and casting.

If you test a beholder or something, does it create summons really slowly too?
 
I looked into it this morning. The fix is to change:

if (normal_random(0, spellBlock.chance) == 0 && (master || health > mType->info.runAwayHealth || normal_random(1, 3) == 1))

to:

if (uniform_random(0, spellBlock.chance) == 0 && (master || health > mType->info.runAwayHealth || uniform_random(1, 3) == 1))

in monsters.cpp

normal_random uses a normal distribution for generating random numbers, this means that numbers closer to the average are generated most often. Numbers at the extrema, such as 0(in this example), are generated less often. This is useful for getting more consistent damage numbers for instance. Uniform random will give you the expected behavior.

There's other instances in the code where normal_random is also used incorrectly, I believe. For instance, with spears break chance. You might have noticed spears are very durable by default.

I also believe this might be more correct:

if (uniform_random(1, spellBlock.chance) == 1 && (master || health > mType->info.runAwayHealth || uniform_random(1, 3) == 1))

Unless spellBlock.chance is decremented at some point, 0 would make a spell that's say a '7' chance in the files, a 1 in 8 chance (0-7).

I came to say a stupider, less detailed version of this.

Basically, the "random" it uses is not really random. I tested with:

if (rand()%spellBlock.chance == 0 && (master || health > mType->info.runAwayHealth || rand()%3 == 1))

or just

if (rand()%spellBlock.chance == 0)

Worth noting that in programming, the random max number is not inclusive. Eg rand()%100 will return 0-99
 
I came to say a stupider, less detailed version of this.

Basically, the "random" it uses is not really random. I tested with:

if (rand()%spellBlock.chance == 0 && (master || health > mType->info.runAwayHealth || rand()%3 == 1))

or just

if (rand()%spellBlock.chance == 0)

Worth noting that in programming, the random max number is not inclusive. Eg rand()%100 will return 0-99

I believe the function in theforgottenserver is inclusive:

 
I believe the function in theforgottenserver is inclusive:


That one is, just saying if you use rand(), like rand()%10, its not inclusive. Programming is fun (Y)

Heres my Orc Spearman now.

Before uniform_random(1, spellBlock.chance) == 1
spearman1.gif


After uniform_random(1, spellBlock.chance) == 1
spearman2.gif



A Demon vs Hydra.

Before uniform_random(1, spellBlock.chance) == 1
demon1.gif


After uniform_random(1, spellBlock.chance) == 1
demon2.gif

A lot more agressive with spells and healing.
 
Last edited:
That one is, just saying if you use rand(), like rand()%10, its not inclusive. Programming is fun (Y)

I just wanted to make sure anyone coming in would understand that it was correct. Honestly, if I were just coding it myself I'd use rand() as well, but the nice thing about using the uniform_random function is that the intent is clear, and it's kind of self documenting in that anyone can look up std::uniform_int_distribution and understand what's going on. Instead of doing something like rand()%(max-min) + min; and having to add comments and/or for people to waste time trying to understand it.

Also, I wanted to say it's really immature of some people to take it out on Ezzz.
 
Last edited:
Back
Top