Nostalrius 7.7

0lo

7.6 <3
Joined
Oct 10, 2010
Messages
21
Reaction score
3
Location
Poland
Last edited:

Arai

New Member
Joined
Apr 16, 2019
Messages
3
Reaction score
1
Thank you so much for this release! You are the man.

I have a question. So I've successfully got it running with otclient. However I'm getting constant kicks and a message saying "invalid ping". I've read that I should enable the ping system in the client but I haven't figured out how to do this. Can someone please point me in the right direction?
 

armyman

Intermediate OT User
Joined
Feb 15, 2014
Messages
316
Reaction score
13
Thank you so much for this release! You are the man.

I have a question. So I've successfully got it running with otclient. However I'm getting constant kicks and a message saying "invalid ping". I've read that I should enable the ping system in the client but I haven't figured out how to do this. Can someone please point me in the right direction?
You need enable ping system
on otclient folder \src\client\game.cpp

look for
C++:
 if(version >= 770) {
inside this function add this
C++:
enableFeature(Otc::GameClientPing);
after compile again ur OTC.
 

Peonso

Godly Member
Joined
Jan 14, 2008
Messages
1,510
Reaction score
992
Initial testing of real files. Melee range for sure the interval is 2000ms.
If monster can't reach the target its 1000ms ( as if no pathing found )
If monster is far away but can reach the target its still 2000ms

( The dragon is set to 100% chance for aoe, frontal and self healing )

1st video showing 1000ms spam when it can't reach target

2nd vid showing a far away dragon that found a path to summon and even tho range is pretty high, it stops casting every second and changes to 2s interval.

Not sure what else would trigger the 1000ms cooldown, perhaps target swap too? Would explain the demon video going ape spam. Need more testing and perhaps try to run a debugger now that I've set the files again.

Edit:

Seems like when something gets in path of the monster it also goes 1000ms?
If something gets in the path the monster would change target, you might get wrong results with some weird interaction with GM. Also would you mind kite the dragon with a player? You can tweak damage numbers.
 

tarantonio

Old School Player
Joined
Jun 21, 2009
Messages
713
Reaction score
170
You need enable ping system
on otclient folder \src\client\game.cpp

look for
C++:
 if(version >= 770) {
inside this function add this
C++:
enableFeature(Otc::GameClientPing);
after compile again ur OTC.
You also can enable it without recompile:
in modules\game-things\things.lua, inside load() function add:
Code:
g_game.enableFeature(GameClientPing)
 

armyman

Intermediate OT User
Joined
Feb 15, 2014
Messages
316
Reaction score
13

simple script

maybe this can be done with two lines 🤔🤔

C++:
void MagicField::onStepInField(Creature* creature)
C++:
if (id == ITEM_POISONFIELD_PVP || id == ITEM_POISONFIELD_PERSISTENT || id == ITEM_POISONFIELD_NOPVP) {
        g_game.addMagicEffect(creature->getPosition(), CONST_ME_GREEN_RINGS);
🤔
 
  • Like
Reactions: 0lo

emil92b

Intermediate OT User
Joined
Aug 21, 2013
Messages
147
Reaction score
17
i added my old field tests into this issue if ppl are interested


aswell push/destroy tests here
 
Last edited:

pink_panther

Member
Joined
Sep 10, 2016
Messages
90
Reaction score
17
Initial testing of real files. Melee range for sure the interval is 2000ms.
If monster can't reach the target its 1000ms ( as if no pathing found )
If monster is far away but can reach the target its still 2000ms

( The dragon is set to 100% chance for aoe, frontal and self healing )

1st video showing 1000ms spam when it can't reach target

2nd vid showing a far away dragon that found a path to summon and even tho range is pretty high, it stops casting every second and changes to 2s interval.

Not sure what else would trigger the 1000ms cooldown, perhaps target swap too? Would explain the demon video going ape spam. Need more testing and perhaps try to run a debugger now that I've set the files again.

Edit:

Seems like when something gets in path of the monster it also goes 1000ms?
So they can combo spells? And no cooldowns?

I think after changing to normal random, they still cast on a 1000ms cooldown for attacks and spells even at close range.

Maybe do as per previous post and add the spell casting inside the next available hit check that adds 2 seconds isntead of every 1s?
 
OP
Ezzz

Ezzz

Developer
Joined
Feb 26, 2010
Messages
1,688
Reaction score
400
Location
Quito, Ecuador
maybe this can be done with two lines 🤔🤔

C++:
void MagicField::onStepInField(Creature* creature)
C++:
if (id == ITEM_POISONFIELD_PVP || id == ITEM_POISONFIELD_PERSISTENT || id == ITEM_POISONFIELD_NOPVP) {
        g_game.addMagicEffect(creature->getPosition(), CONST_ME_GREEN_RINGS);
🤔
This works, but isn't a good solution either, consider moving everything to the data and not in the sources, this can be done simple in the items.srv file by adding a new attribute. I was going to do this, but really haven't had time for such a low priority issue, there's a more important one right now.
 

pink_panther

Member
Joined
Sep 10, 2016
Messages
90
Reaction score
17
How do you fix t he issue with not bein able to shoot runes on monsters standing on a field (Error not enough room when using a rune on them).

I can roll back that commit, but what was it supposed to fix?
 
OP
Ezzz

Ezzz

Developer
Joined
Feb 26, 2010
Messages
1,688
Reaction score
400
Location
Quito, Ecuador
How do you fix t he issue with not bein able to shoot runes on monsters standing on a field (Error not enough room when using a rune on them).

I can roll back that commit, but what was it supposed to fix?
It was supposed to fix the issue of not being able to cast spells on items that are not blocking projectiles but are blocking player movement, which is wrong.
 

LooSik

Excellent OT User
Joined
Oct 12, 2007
Messages
197
Reaction score
27
So they can combo spells? And no cooldowns?

I think after changing to normal random, they still cast on a 1000ms cooldown for attacks and spells even at close range.

Maybe do as per previous post and add the spell casting inside the next available hit check that adds 2 seconds isntead of every 1s?
I am talking about Cip files. Not nostalrius.

So further observations. The 1000ms attack cd is VERY rare, and no idea what triggers it under normal circumstances. But safest bet would be to keep any attacking on 2000ms interval - because thats 99% of scenarios when monster can reach target - even at longer distance. The spells used by monsters have no internal cooldown, meaning monster can use unlimited number of spells at any attack decision time - like seen on my videos. FWave, GFB, Heal at every attack tick.

There isn't any separate defense cooldown either.

When monster are outside aggro range, but close enough to be not idle. They uses spells on 1000ms interval.

Have tested with players characters as well.
 

tarantonio

Old School Player
Joined
Jun 21, 2009
Messages
713
Reaction score
170
There is another problem with latest fix about fields, see:
36005
If you throw a field under a table it does nothing.
 

pink_panther

Member
Joined
Sep 10, 2016
Messages
90
Reaction score
17
It was supposed to fix the issue of not being able to cast spells on items that are not blocking projectiles but are blocking player movement, which is wrong.
Do you have a new commit? or just better to roll it back at this time?

I am talking about Cip files. Not nostalrius.

So further observations. The 1000ms attack cd is VERY rare, and no idea what triggers it under normal circumstances. But safest bet would be to keep any attacking on 2000ms interval - because thats 99% of scenarios when monster can reach target - even at longer distance. The spells used by monsters have no internal cooldown, meaning monster can use unlimited number of spells at any attack decision time - like seen on my videos. FWave, GFB, Heal at every attack tick.

There isn't any separate defense cooldown either.

When monster are outside aggro range, but close enough to be not idle. They uses spells on 1000ms interval.

Have tested with players characters as well.
Yes, but I want to get that behaviour into Nostalrius.

Seems monsters just always cast spells on the 1000ms cooldown, not 2000ms like you show on Real CIP files.
 

tarantonio

Old School Player
Joined
Jun 21, 2009
Messages
713
Reaction score
170
This is how it's supposed to be:
36007
If you throw a field under a table, barrel or another unwalkable object -> "There is not enough room" and a poff.
 
OP
Ezzz

Ezzz

Developer
Joined
Feb 26, 2010
Messages
1,688
Reaction score
400
Location
Quito, Ecuador
This is how it's supposed to be:
View attachment 36007
If you throw a field under a table, barrel or another unwalkable object -> "There is not enough room" and a poff.
This is what fixed the last commit, but since stairs have the same flags as magic fields it doesn't allow spell casts over fields or any other item that matches these flags, CipSoft had AvoidDamageTypes on their attributes and I had removed it since the server did not need it, I will be reimplementing that attribute to bring real behavior on rune using and spells without these sort of issues.
 
Top