Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   Bug Report (https://forums.graalonline.com/forums/forumdisplay.php?f=193)
-   -   Level 3 Shield Bug (https://forums.graalonline.com/forums/showthread.php?t=134258017)

tempandrew 02-15-2010 11:33 PM

Level 3 Shield Bug
 
At Babylon we've discovered some kind of bug with the level 3 shield. We're 99.99% positive it's not a script on the server, but a bug in the actual game core. Feel free to test it on other servers to confirm it's not Babylon-exclusive.

Basically, the bug is that if you have level 3 shield, which as we all know, increases movement speed, when you hit a wall at about x = 15, y independent, you will move through that 1 tile of wall. It happens in any level, any tile type, as long as the x is right. It's also been seen at x = 1.5 too. GMaps don't seem to change this, so the x location is level-based, not gmap based.

Anyway, we're hoping this can be fixed considering it happens in quite a bit of locations that kind of messes with the game.

EDIT: I went on N-Pulse and it worked at 1.5 and 15 on there as well.

Crow 02-15-2010 11:38 PM

Old and known. I've been confronting Stefan with that one ever since the release of v4.

tempandrew 02-15-2010 11:40 PM

Quote:

Originally Posted by Crow (Post 1556328)
Old and known. I've been confronting Stefan with that one ever since the release of v4.

Figures. A major bug in the core of graal that doesn't get fixed. I guess walking through walls isn't considered a big problem in the world of Graal. Thanks for making sure I don't waste my time.

DustyPorViva 02-15-2010 11:51 PM

Wall detection was improved in v3 and server owners whined. Why? Because they designed overworlds revolved around sliding through cracks of tiles and other stupid things and were too lazy to go around and fix them. So eventually Stefan removed the better wall detection to stop server owners from having a heart-attack.

He should probably revisit it and tell everyone who whines to shut the **** up and actually put some effort into their servers for a change and fix things that shouldn't have been done from the start.

xXziroXx 02-16-2010 12:16 AM

Speaking of player movement speed, I'm fairly sure Stefan added/was adding a variable you could change to alter the players speed with v6.

DustyPorViva 02-16-2010 12:21 AM

Yup, maxed at speed of 1.
I think it's: player.defaultwalkspeed or something long like that.

TSAdmin 02-16-2010 12:26 AM

Quote:

Originally Posted by DustyPorViva (Post 1556332)
He should probably revisit it and tell everyone who whines to shut the **** up and actually put some effort into their servers for a change and fix things that shouldn't have been done from the start.

I'm going to agree with this. It's not that big of a deal for server owners to actually put some effort in and work with the better detection rather than fight it.

12171217 02-16-2010 12:52 AM

I like the corner-sliding-over-tiles thing, though.

scriptless 02-16-2010 01:27 AM

Why not use a serveroption set to true to use new movement? That way servers who whine can revert to old movement whilst new servers can utilize the power of the new system. This sounds like the most logical compromise for both parties.

tempandrew 02-19-2010 07:26 PM

Quote:

Originally Posted by TSAdmin (Post 1556346)
I'm going to agree with this. It's not that big of a deal for server owners to actually put some effort in and work with the better detection rather than fight it.

You're right, I should have to clean up after the bugs that Graal's core coding has.

In fact, I should script a completely new language and have my server use it.

Crow 02-19-2010 08:32 PM

Quote:

Originally Posted by TSAdmin (Post 1556346)
I'm going to agree with this. It's not that big of a deal for server owners to actually put some effort in and work with the better detection rather than fight it.

:oo:

DustyPorViva 02-19-2010 09:33 PM

Quote:

Originally Posted by tempandrew (Post 1557259)
In fact, I should script a completely new language and have my server use it.

The hell does this have to do with anything?

The point is that Graal wall detection is broken... but level designers made stupid decisions when creating levels that incooperated sliding through cracks of tiles as part of 'normal' navigation. They shouldn't have. Stefan fixed the ability to slide through tiles and suddenly everyone was up in arms because their overworld was now 'broken'. This should have been something that was avoided in the first place, and even so, they should have went around their overworld and fixed those bugs instead of complaining about the improvements.

Crow 02-19-2010 09:36 PM

Quote:

Originally Posted by DustyPorViva (Post 1557275)
The hell does this have to do with anything?

The point is that Graal wall detection is broken... but level designers made stupid decisions when creating levels that incooperated sliding through cracks of tiles as part of 'normal' navigation. They shouldn't have. Stefan fixed the ability to slide through tiles and suddenly everyone was up in arms because their overworld was now 'broken'. This should have been something that was avoided in the first place, and even so, they should have went around their overworld and fixed those bugs instead of complaining about the improvements.

At least that sliding thing is an okayish bug. It is not as annoying as you slipping through tiles due to them being placed at a certain position.

DustyPorViva 02-19-2010 09:41 PM

Quote:

Originally Posted by Crow (Post 1557280)
At least that sliding thing is an okayish bug. It is not as annoying as you slipping through tiles due to them being placed at a certain position.

Depends :P I had to use quite a many setshapes on my overworld to stop players from sliding through cracks to areas I didn't want them to. Regardless, I agree. However, people shouldn't have complained long ago when it was fixed(though I don't know if this particular bug is fixed).

This is an odd bug though, and makes me wonder exactly how default movement and detection is being accomplished... It's not exactly a rare bug though, as it's been around for a LONG time. There are also other wall detection bugs that involve walking along a wall and pressing down or something and being able to be lodged in the wall. Random things like this. I think it's time for an upgrade again!

tempandrew 02-19-2010 09:57 PM

It's not that people are really getting through to places where they shouldn't, it just looks ugly that people can jump onto walls. Every time I see this, I have to open the level, shift everything a tile over. I shouldn't have to incorporate more scripts which can make more lag to fix a problem that Stefan should be fixing himself.

This is the problem with charging money for Graal. If you're going to charge money for a game, you should be prepared to be on top of **** like this.

And as far as how this bug actually came to be, I'm guessing movement has been made more float based, so people are probably moving at something slightly above 1 tile at a time (maybe like 1.001), so perhaps that tiny float value eventually adds up, and at x=15 and x=1.5, the onwall detection (which, if you're even 1 pixel on a tile, you can walk over it) fails and you can get through it.

DustyPorViva 02-19-2010 10:00 PM

Quote:

Originally Posted by tempandrew (Post 1557285)
It's not that people are really getting through to places where they shouldn't, it just looks ugly that people can jump onto walls. Every time I see this, I have to open the level, shift everything a tile over. I shouldn't have to incorporate more scripts which can make more lag to fix a problem that Stefan should be fixing himself.

This is the problem with charging money for Graal. If you're going to charge money for a game, you should be prepared to be on top of **** like this.

And as far as how this bug actually came to be, I'm guessing movement has been made more float based, so people are probably moving at something slightly above 1 tile at a time (maybe like 1.001), so perhaps that tiny float value eventually adds up, and at x=15 and x=1.5, the onwall detection (which, if you're even 1 pixel on a tile, you can walk over it) fails and you can get through it.

No one here mentioned in the slightest that you should make your own movement script to fix this. Pretty much everyone is in agreement that it needs to be fixed by Stefan.

And yes, movement speed is not a very clean number. I think last time I checked you move with level 3 shield at .6000000001 or something like that, depending on which direction you're moving.

tempandrew 02-19-2010 10:21 PM

Quote:

Originally Posted by DustyPorViva (Post 1557286)
No one here mentioned in the slightest that you should make your own movement script to fix this. Pretty much everyone is in agreement that it needs to be fixed by Stefan.

And yes, movement speed is not a very clean number. I think last time I checked you move with level 3 shield at .6000000001 or something like that, [b]depending on which direction you're moving.[b]

OH.

Totally my bad, I completely read your posts wrong. Sorry about that. And yeah, I'm surprised GS2 actually managed to go through considered how many people complain about having to fix things to update with new changes. I'm sure once tilelayers are expanded upon, everybody is going to slam the forums with a bucket full of tears. :)

And @ the bolded text, yes, it only seems to happen when you are moving right. I've tried moving left all around the x coordinate that is affected, and there doesn't seem to be a place where it happens.

Crow 02-20-2010 12:33 AM

Quote:

Originally Posted by tempandrew (Post 1557287)
I've tried moving left all around the x coordinate that is affected, and there doesn't seem to be a place where it happens.

I can confirm this, as I've spent countless hours trying to figure this **** out myself.

Anyway, here's a workaround, if you want to use it. I've been using it for quite some time. It's not perfect (in a coding way, somewhat hackish), but it emulates the level 3 shield very very well, although the whole thing is a tiny bit faster. I have this code segment running each frame in a timeout:
PHP Code:

  // lizard shield
  
if (clientr.lizardShield && player.freezetime <= && !player.reading) {
    
temp.lizGanis = { "idle""walk""sit""swim""carrystill""carry" };
    
    for (
temp.04i++) {
      if (!
keydown(i))
        continue;
      
      if (!(
player.ani.name in temp.lizGanis))
        continue;
      
      if (!
onwall2player.1.5 vecx(i) * 33 32 abs(vecy(i)) - (vecx(i) == 32 0), player.vecy(i) * 33 32 abs(vecx(i)) - (vecy(i) == 32 0), 16 abs(vecy(i)) * 31 1616 abs(vecx(i)) * 31 16 )) {
        
player.+= vecx(i) * 16;
        
player.+= vecy(i) * 16;
      }
    }
  } 

The onwall2() call is my super-exotic, one-call-complete-check with an integrated hack to work around the issues with onwall2() and Graal's polygon algorithms. It works perfectly fine, but I didn't bother optimizing it yet. I guess if you assign the divisions to this-prefixed variables in the onCreated() event, it will run a bit faster, but I was lazy, sorry.


All times are GMT +2. The time now is 09:45 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.