Both are correct. But why use 500 lines of code when it can become just 50! And also easier for later upgrade. For example if you want to add something new, like hmmm, if user is a banana you can use IsUserInGroup(NCN.Username, "banana") without adding any extra code Also it makes your code faster to be read and understood by somebody else.
I've downloaded the source but it looks a bit complicated for me. Well, if i had the time i'd definitely could upgrade it, but in my little free time i want to do other things.
For something like that it will require mix of blue/red color or similar glasses. What this does is it 'duplicates' the image so the TV can use it and tranform it into 3D. I'd like though to see something like that. Got a pair of these glasses somewhere in my room.
It won't work just by changing the library, you'll have to use the new methods that InSim.NET uses to initialise connection, bind events and even control each Callback(packet). If you have time then i'd suggest you to start copying part by part to a clean project, so you can convert it.
Also i'd like to thank you for using it and yes, this was exactly the reason i released it. To show people how to use and understand each part of InSim.NET. And of course that's the reason it doesn't include any race/drift/cruise features.
Pull it down(where you want it to be 100%), click on the "C" next to its Axis(at the options) and then release it. Lock all the axis again and you are ready!
Now about ideas, well you can either glue it, use tap or whatever you can think and its easy for your room. What i use now is a Guitar Hero guitar and i reversed the whammy so instead of pushing it down, i pull it up! It looks idiotic but its really fun and the motion of the hands is the same, so it ROCKS!
Do you know anything about MySQL? If yes I can give you some code(a little converted it to understand it more) so you can see how it works.
But if you don't know anything then just forget my post. I'd suggest you search google about mysql-connector-net. You will find lots of info on what to download and include to your project and how to install it.
Also you can use StringHelper.StripColors(_connections[CON.A.PLID].PName) to remove the colors of a Player Name. This will reduce the characters! Happy coding.
You need to store a Player's and Connection's values making a List and then access them. You can always take a look at my example i have made long time ago.
Looks weird to me, try send the message first and the rest code later in case of an error. Also you can use the breakpoint and check if in contact it gets called.
What you can do is to identify the username by telling the user to join a host(maybe your own) and check if he is online at that moment.
Or even better, i've seen it one day. Make your own insim which will return a hashed pass which you will be able to insert at your website as verification.
Obviously UCID does not exist! Take a look at how packet works. You can always check Insim.txt at your lfs/docs folder.
struct CarContact // 16 bytes : one car in a contact - two of these in the IS_CON (below) { byte PLID; byte Info; // like Info byte in CompCar (CCI_BLUE / CCI_YELLOW / CCI_LAG) byte Sp2; // spare char Steer; // front wheel steer in degrees (right positive)
byte ThrBrk; // high 4 bits : throttle / low 4 bits : brake (0 to 15) byte CluHan; // high 4 bits : clutch / low 4 bits : handbrake (0 to 15) byte GearSp; // high 4 bits : gear (15=R) / low 4 bits : spare byte Speed; // m/s
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 char AccelF; // m/s^2 longitudinal acceleration (forward positive) char AccelR; // m/s^2 lateral acceleration (right positive)
short X; // position (1 metre = 16) short Y; // position (1 metre = 16) };
struct IS_CON // CONtact - between two cars (A and B are sorted by PLID) { byte Size; // 40 byte Type; // ISP_CON byte ReqI; // 0 byte Zero;
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)