The online racing simulator
InSim changes in new test patch
(236 posts, closed, started )
IS_OBH packet
The OBject Hit packet is now implemented. Please have a look and see if you think it is OK. This does not report wall contacts - only contacts with actual objects - like autocross objects or other polygon objects that are not available in layouts.

Wall hits will be reported with a simpler packet that will also be used to report illegal ground surfaces. Those reports will be triggered using the HLVC code.

struct CarContOBJ // 8 bytes : car in a contact with an object
{
byte Direction; // car's motion if Speed > 0 : 0 = world y direction, 128 = 180 deg
byte Heading; // direction of forward axis : 0 = world y direction, 128 = 180 deg
byte Speed; // m/s
byte Sp3;

short X; // position (1 metre = 16)
short Y; // position (1 metre = 16)
};

struct IS_OBH // OBject Hit - car hit an autocross object or an unknown object
{
byte Size; // 24
byte Type; // ISP_OBH
byte ReqI; // 0
byte PLID; // player's unique id

word SpClose; // high 4 bits : reserved / low 12 bits : closing speed (10 = 1 m/s)
word Time; // looping time stamp (hundredths - time since reset - like TINY_GTH)

CarContOBJ C;

short X; // as in ObjectInfo
short Y; // as in ObjectInfo

byte Sp0;
byte Sp1;
byte Index; // AXO_x as in ObjectInfo or zero if it is an unknown object
byte OBHFlags; // see below
};

// OBHFlags byte

#define OBH_LAYOUT 1 // an added object
#define OBH_CAN_MOVE 2 // a movable object
#define OBH_WAS_MOVING 4 // was moving before this hit
#define OBH_ON_SPOT 8 // object in original position

Quote from Krammeh :I would really like to know if a user has DEMO/S1/S2 on join

+1

@ Victor
its not just to make work for the devs...
its..
how to explain..

If we "InSim Devs" got running an Demo Racing server, we would be happy to be able to create such a Statistic list with Users on our server.

e.g:
X Registered users in your server are using 'Demo'
X Registered users in your server are using 'S1'
X Registered users in your server are using 'S2'

Registered users mean by Insim registered users what means the Database.

Would be realy cool if we are able to do that.

I think thats what u meant Krammeh right? :P
Propably we have to query LFSW on every joining user.
Quote from misiek08 :Propably we have to query LFSW on every joining user.

Only on new users. This bit of information should really be cached for S2 users, until S3 comes out. But then on each connection for someone with a Demo or S1 license. (I wonder what the break down is of Demo vs S1 vs S2 licenses is.)
Exactly..

I do not see the problem of online dicussions between demo'ers and licensed people about that someone has 'more' rights because he is licensed or not. Might even motivate people to think about buying S2 when they actually see licensed people racing on the demo environment. These worlds really look separated right now for the demo people, apart from visible but not join-able servers in the listing, in the upcoming patch. But, personal opinion.

I used the information (based on car usage) for a league competition where I wanted to left out the S2 people because people could win a license every month. It's not updated anymore but actually a lot of licensed people race on the demo environment.

Anyway, it's not an InSim thing imo so a bit offtopic.

---
About the car object crash detection / reporting. Looks fine to me, don't know the practical use of it yet (maybe invalidating lap timings) but information is power
IS_HLV packet
I've implemented the IS_HLV packet so you can detect a few things that would invalidate HLVC, even if you are not hotlapping. For example you could penalise racers who repeatedly bounce off the walls at South City or use certain short cuts.

// Set the ISP_HLV flag in the IS_ISI to receive reports of incidents that would violate HLVC

struct IS_HLV // Hot Lap Validity - illegal ground / hit wall / speeding in pit lane
{
byte Size; // 16
byte Type; // ISP_OBH
byte ReqI; // 0
byte PLID; // player's unique id

byte HLVC; // 0 : ground / 1 : wall / 4 : speeding
byte Sp1;
word Time; // looping time stamp (hundredths - time since reset - like TINY_GTH)

CarContOBJ C;
};

byte Type; // ISP_OBH

Maybe ISP_HLV? C&P mistake
Thanks, now fixed in code.
IS_ACR packet
Hi, here's the report of admin commands / attempted admin commands requested by EQ_Worry.

struct IS_ACR // Admin Command Report - any user typed an admin command
{
byte Size; // 72
byte Type; // ISP_ACR
byte ReqI; // 0
byte Zero;

byte UCID; // connection's unique id (0 = host)
byte Admin; // set if user is an admin
byte Result; // 1 - processed / 2 - rejected / 3 - unknown command
byte Sp3;

char Text[64];
};

This packet (IS_ACR) looks very interested because i had something like that in my mind.


if Result == 3 then
{
if "FirstWord" == "/mycommand" then
{
//do my command things
break;
}
SendMessageToConnection(UCID, "Unknown command");
}

I always wanted commands using slash intested of exclamation mark!
0.6A1 InSim.txt and LYT.txt
This thread is closed

InSim changes in new test patch
(236 posts, closed, started )
FGED GREDG RDFGDR GSFDG