The online racing simulator
Searching in All forums
(948 results)
AndroidXP
S3 licensed
Of course blatant wreckers and cheaters should be reported here, as it is the only way to effectively spread the information of what that guy was doing. The key point however is that a replay is provided but his license name not mentioned, forcing the server admins who see this thread to watch it and make up their own minds about the situation.

The "I got banned" thread is for the exact opposite situation - there it makes sense to concentrate all these issues into one thread, because 1) they really should be contacting the server admin and 2) if they didn't know this or there is no info on where to contact the server admin they at least don't fill up the forum with crap nobody cares about. People getting banned for whatever reason is a much more often occurring situation than cheaters or dedicated wreckers - reporting the latter here is hardly going to cause many topics.

If you really think wreckers should be reported to each server individually then you're incredibly naive. Wreckers don't care about getting banned from one server, they just go to the next one after that happens. Only "global" bans will stop them in their tracks, greatly limiting the damage inflicted. With your method they'd be able to ruin hundreds of races, but by posting here at least the bigger/popular servers are already protected without him ever being able to ruin a race there.
AndroidXP
S3 licensed
Heh, that reminds me of our C++ teacher. "Here are your assignments. If you need me, I'm in my room."

Indeed he was; loudly snoring, with his only company being an empty bottle of alcohol. Good times
AndroidXP
S3 licensed
How about you start paying attention in class instead? You know, then your education might not be a complete waste of time.
AndroidXP
S3 licensed
No, the guy was simply careless/clueless. It's one thing to be stupid and try to re-enter the track that way, but it's a whole different level of idiocy to not immediately lock the brakes in a spin to prevent the car from taking an unpredictable route. Had he done that he'd just have made a pirouette on the outside of the track and would've probably been able to continue the race.

Now I don't think there should be punishment because it was clearly a newbie mistake, but some message to educate him on what he should do in such a situation would've been mandatory, IMO.
AndroidXP
S3 licensed
In theory I'd agree with disabling restart, though what happens if somehow everybody crashes out? Like a big lag that crashes the whole field and the race is genuinely ruined. Do you then force someone to drive the X laps alone or in a completely drawn out / cluttered field just so the race restarts at some point?

Can't you just up the vote requirement to 100% of the on-track racers so that there is at least some technical way out of a hypothetical FUBAR situation?
AndroidXP
S3 licensed
I don't really have a problem with you per se (otherwise you'd already have joined the others on my ignore list ) - I would've had the same reaction if your words came from anyone else - it just kinda seems like you're going through a pretty bad phase lately, at least I never noticed your posts in a particularly bad way before, other than being a little direct in stating your opinion. Not that my assessment matters in any way, though, so I'll shut up now.
AndroidXP
S3 licensed
Quote from Trekkerfahrer :is not at german lfsmanual

Personally I always look at the English one . It is guaranteed to be the most up-to-date one and translating the whole (with each patch changing) manual into all these languages seems like a mammoth task. Actually I'm kind of annoyed lately that the LFSW link at the top of the forum automatically redirects me to the German one, but I guess that function is useful for new members. Thankfully you can turn that off by setting the browser language/locale to English, as I just found out

No idea who wrote the original rules, but this all emerged from a long time ago where there were no licensed servers (because there was no version besides the demo available) and this was the only way to bring some order to the rowdy demo crowd. Once the licensed servers emerged CRC kind of died because at that point it was assumed (and quite realistic) that the CRC rules are the common rules for all licensed drivers. However as LFS grew more and more people became unaware of these common sense rules which leads us to the current day where licensed servers still are on average better than demo ones, but even here you have to cherry pick the good ones from the pile of crap that is the rest.
Last edited by AndroidXP, .
AndroidXP
S3 licensed
Guess a missing registry entry is a pretty clear indication of using a cracked version :rolleyes:
AndroidXP
S3 licensed
No, no. The fact that more than one ban was required is bad enough.
AndroidXP
S3 licensed
As far as I'm aware not only are jagged arrays and multidimensional arrays something quite different (jagged array = array of arrays, each sub-array can have a different length, whereas multidimensional arrays have a fixed size for each dimension you specify), but the former are also slightly faster. IIRC one-dimensional array access has a few speed optimizations and with jagged arrays it can use these optimizations multiple times (since you're always just accessing one-dimensional arrays). A multidimensional array does not have these optimizations and needs to do a full lookup.

However I'm not sure if that's true for PHP or modern languages in general. It's quite a while since I read that.
AndroidXP
S3 licensed
Avast is completely free. If it requires a key, you either downloaded the wrong version or the key is given to you automatically when you register on their page or something.

E: beaten
AndroidXP
S3 licensed
Quote from S14 DRIFT :My last ban was in late August and my list wasn't wiped then.

Wow, it is kind of sad that you seem to take a ban as nothing quite out of order. It kinda got the vibe of "well my last ban didn't cause this problem, please try to fix this issue so I keep my subscription list the next time I'm banned, kthx!".

There's something fundamentally wrong with that kind of attitude.

AndroidXP
S3 licensed
By drawing the needle yourself I mean something like DrawLine(point1, point2), whereas you make point1 fixed at the centre and point2 calculated by the angle that results from the given RPM (you just calculate point2Y = sin(angle) * radius and point2X = cos(angle) * radius).

However the last time I "programmed" VB was in Excel some 10 years ago, so I can't really give you any details on how to draw such lines, I just think it should be possible.

One thing you'll need for sure, no matter which way you take (image or drawing), will be a function that maps the input RPM to a specific angle. It really doesn't do more than calculate how much degrees 1 RPM is worth and then multiply this with the current RPM value. Like you want a rotation of 270° (three quarter of a circle) with a maximum of 9000 RPM, which would mean 1 RPM = 270 / 9000 = 0.03°, so at for example 5000 RPM the angle would be 5000 * 0.03 = 150°. Of course you also need to offset this value because you don't want your needle to start facing east at 0 RPM (you know, on the circle east is 0° respectively 360°, north is 90°, west is 180° and south is 270°).

I suggest you to take a look at how sin and cos work (hint), because only if you understand what you're doing you're going to be successful in the long run. It takes a bit to wrap your head around but it's really not that hard. Don't forget that you might have to convert the degrees to radians before working with the VB6 sin & cos functions, as I don't know which kind of value they expect.

In the end if you manage to get the image rotation to work AND are able to transparently overlay the image on the gauge background then this is probably the easier path, as you can skip most of the trigonometry calculations.
AndroidXP
S3 licensed
No idea if that works, maybe try giving it a shot?

http://www.devx.com/vb2themax/Tip/19360

Or maybe you don't use images but just draw the needle yourself?
AndroidXP
S3 licensed
Oh that's true, VB doesn't have unsigned Integers, so I guess you'd have to take a Long field for OG_BAR then. I think it should be able to make a bitwise AND with Integer and Long fields, the initial problem was just trying to do the operation on the array. Or use the value -32768 for the OG_BAR constant, which should give the same result.
AndroidXP
S3 licensed
Yeah sorry, I didn't want to discourage you or anything. Everybody starts as a newbie at some point I guess...
AndroidXP
S3 licensed
That's because Flags is of type word, which is two bytes. Now originally you had defined Flags as a byte array of length 2, which is correct for reading the data, but you can't do bitwise operations with arrays. Instead you have to define Flags as Integer, which in VB6 is also two bytes and therefore what you want.

The only error you have now is that you actually defined an Integer array instead of just an Integer.

So instead of this
Flags(0 To 1) As Integer


it needs to be this
Flags As Integer
AndroidXP
S3 licensed
Packet.Flags and OG_SHIFTLIGHT must be of the same data type. Both should be Integer, I reckon.
AndroidXP
S3 licensed
Here's a site I found where you can read up on bit flags in VB6, in case you are interested how they work. But yeah, as Scawen said, to read it you'd have to write:

If (Flags And OG_SHIFTLIGHT) > 0 Then
...
AndroidXP
S3 licensed
Why do so many people fail on the simplest of problems? *sigh* Oh well...

Ever heard of a² + b² = c² ? You can easily calculate the distance between two points in a X/Y coordinate system by calculating dist = sqrt(Xdist² + Ydist²), where Xdist = Xcirle - Xcar and Ydist = Ycircle - Ycar. With this distance you then only need to check if it's shorter or longer than the circle's radius to determine whether the car is inside the circle or outside.

Just make yourself a Circle class like this...

public class Circle
{
private double x, y, r;

public Circle(double x, double y, double r)
{
this.x = x;
this.y = y;
this.r = r;
}

public bool Contains(double carX, double carY)
{
return Math.Sqrt(Math.Pow(x - carX, 2) + Math.Pow(y - carY, 2)) <= r;
}
}

Then somewhere you define your sumo area and do your checks as required...

Circle sumoArea = new Circle(0, 0, 15 * 65535); //Right in the middle of the map (x=0, y=0) with 15 metres radius
...
if (!sumoArea.Contains(car.X, car.Y))
{ //you lose! }

I haven't tested it, but you get the idea. You can also incorporate automatic conversion of LFS units to metres to make the defining of circle areas a bit more intuitive.
AndroidXP
S3 licensed
What's even more funny is that these people are uploading the hotlaps knowing full well that they will be caught and never be able to upload hotlaps again. Guess they must be huge attention whores to crave the 5 seconds of fame.
AndroidXP
S3 licensed
Quote from nisskid :say u go to drive around a cone, turn in, coast around then power out, how much rear lateral grip do you think you're using in the mid corner before applying throttle out of the corner on the exit? i can tell you, **** all. an extreme example, but it demonstrates whats going on.

In this (and only this) situation the rear tyres only do little if you don't make them steer (=slide) enough. Congrats, you just described the one situation where we all agree drifting is most definitely faster (if you didn't notice, going around a cone = hairpin).
AndroidXP
S3 licensed
It doesn't matter if it's relative or absolute. If you say the rear tyres do f*** all then that would mean they do nothing (obviously not correct), if you say they do f*** all compared to the front tyres then that would mean the front tyres do the majority of the work, which isn't correct either.
AndroidXP
S3 licensed
Quote from S14 DRIFT :Simulators can only simulate what the computers that they run on can process, and the technology that is available. If the technology and the processing power for these features was available, you think we wouldn't have them?

I think you greatly underestimate the speed of today's standard home CPUs. Maintaining the surface track temperature wouldn't be that big of a deal, processing wise. The current physics calculations aren't limiting the CPU either, otherwise the fast forwarding in single player replays wouldn't be possible (there it's doing the calcs as fast as it can). The graphics are much more of a performance killer than all the physics and environment calculations you can throw at it.
FGED GREDG RDFGDR GSFDG