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

Monster goes Invisible you don't LoseTarget & Firespells

Kungenn

Veteran OT User
Joined
Jun 10, 2007
Messages
1,587
Reaction score
272
Location
USA California
Greetings!
There seems to be a bug when a monster goes invisible.
When a monster goes invisible you don't lose target of the monster, but you don't continue to attack either, when the monster reappears (lets say you use an explosion rune on a warlock) you will still have it targetted BUT you will not start attacking it unless you untarget and then retarget it again.


Any clues? ;)

Sincerely,
Kungenn

This doesn't occur if I use a regular Tibia Client so I guess it's safe to assume it's an OTC error.





Firespell issue is simply that when you use a GFB for example the animations are wrong, the explosion is above the fire it should be the other way around.


537jus.png



Using Build 0.6.6
 
Last edited:

4drik

Advanced OT User
Joined
Jun 30, 2014
Messages
244
Reaction score
186
About invisible
There's more problems probably with attacking in OTC.
If you will check in battle window to hide monsters during attacking, red square will dissapear but you're still attacking monster.
We should devote a little time for analysis of this system, but nobody has this time because it works basically well.
If you need to fix it, it can be good option to create an issue on edubart's github.

About firespells

Check if you animate (hit/damage) effect after area spell effect.
I think you can fix the issue in otserv.
 

Nekiro

Legendary OT User
TFS Developer
Joined
Sep 7, 2015
Messages
2,507
Solutions
116
Reaction score
1,767
Do your server sendCancelTarget to client?
 
OP
OP
Kungenn

Kungenn

Veteran OT User
Joined
Jun 10, 2007
Messages
1,587
Reaction score
272
Location
USA California
About invisible
There's more problems probably with attacking in OTC.
If you will check in battle window to hide monsters during attacking, red square will dissapear but you're still attacking monster.
We should devote a little time for analysis of this system, but nobody has this time because it works basically well.
If you need to fix it, it can be good option to create an issue on edubart's github.

About firespells

Check if you animate (hit/damage) effect after area spell effect.
I think you can fix the issue in otserv.

The server is the exact same just the one with Wrong animate is on OTC and Correct is with a regular client.
So it has to be OTC that loads it incorrect right?

Do your server sendCancelTarget to client?
Yes it does, it works just fine on a regular client
 

4drik

Advanced OT User
Joined
Jun 30, 2014
Messages
244
Reaction score
186
OK, let's try again...

So, if you will do a function include sending effects in this order:
sendMagicEffect - fire
sendMagicEffect - energy

You should get first fire effect and then energy.
If it's working correct then you can fix it in your otserv and effect will be same on otclient client as well as CipSoft client.
 

4drik

Advanced OT User
Joined
Jun 30, 2014
Messages
244
Reaction score
186
@Erexo
Change also this:
Lua:
function onCreatureAppear(creature)
  if creature:isLocalPlayer() then
    addEvent(function()
      updateStaticSquare()
    end)
  end

  if doCreatureFitFilters(creature) then
    addCreature(creature)
  end
end
To this:
Lua:
function onCreatureAppear(creature)
  if creature:isLocalPlayer() then
    addEvent(function()
      updateStaticSquare()
    end)
  end

  addCreature(creature)
end
 

CipsoftStinks

www.relicaria.com
Joined
Oct 1, 2016
Messages
929
Solutions
3
Reaction score
128
Location
Argentina
@Erexo
Change also this:
Lua:
function onCreatureAppear(creature)
  if creature:isLocalPlayer() then
    addEvent(function()
      updateStaticSquare()
    end)
  end

  if doCreatureFitFilters(creature) then
    addCreature(creature)
  end
end
To this:
Lua:
function onCreatureAppear(creature)
  if creature:isLocalPlayer() then
    addEvent(function()
      updateStaticSquare()
    end)
  end

  addCreature(creature)
end


where do i add that? i cant find it at gme.cpp or game.h or battle.lua


@Erexo @4drik


by te way thanks for the fast fix guys
 

Erexo

Kage
Premium User
Joined
Mar 27, 2010
Messages
734
Solutions
5
Reaction score
168
Location
Pr0land
GitHub
Erexo
I was doing it late at night and I was tired af so there were couple of errors and missing lines. I've organised my pull and now everything should be all right.
 
OP
OP
Kungenn

Kungenn

Veteran OT User
Joined
Jun 10, 2007
Messages
1,587
Reaction score
272
Location
USA California
I have another issue if you want to battle it too :)
If I take a monster and fight it on a ladder when it bleeds if I take attack on and off the ladder eventually disappears.
You need to walk out of the screen and back in to make it reappear.

Same if a monster goes invisible, if you put an item under an invisible monster and then move it, it will duplicate the item on your screen but if you walk out of screen and then back in it will be back to normal.


Any fixes for this? :p
 
OP
OP
Kungenn

Kungenn

Veteran OT User
Joined
Jun 10, 2007
Messages
1,587
Reaction score
272
Location
USA California
Actually with the fix you posted the item duplicate under invisible monster went away.

But the issue with ladders disappearing when a monster bleeds twice on it is still there :O
 

4drik

Advanced OT User
Joined
Jun 30, 2014
Messages
244
Reaction score
186
What's the protocol version you're using? As I know, it's 7.6 issue.
 

4drik

Advanced OT User
Joined
Jun 30, 2014
Messages
244
Reaction score
186
Ok, so when you attack monster there's a tile where blood is gonna appear.
Then in a function there's checking if blood is already there. If not, it's creating new splash blood - we need to update tile.
If there was blood already, it's replacing old item with new item so we do not need to update tile.

Now, when you understand it, you should be able to fix the issue.
 
Top