The online racing simulator
Searching in All forums
(921 results)
broken
S3 licensed
Enough with this Grandma stuff, I'm celebrating Beer Day from now on too!
Happy Grandma March (1st of March)
broken
S3 licensed
Thursday sees Bulgaria celebrate one of its most loved traditional holydays - Baba Marta, which is believed to mark the beginning of spring.

Celebrated on March 1, Baba Marta (Grandma March) is believed to be a feisty lady who always seems to be grudging at her two brothers, while the sun only comes out when she smiles.

As folklore often goes there are different versions of the Baba Marta tale. One says that on that day she does her pre-spring cleaning and shakes her mattress for the last time before the next winter - all the feathers that come out of it pour on Earth like snow - the last snow of the year.

On March 1, almost everyone in Bulgaria can be seen with a Martenitsa - a small piece of adornment, made of white and red yarn, which will be worn until around the end of the month (or the first time an individual sees a stork, swallow or budding tree - the first signs that spring has arrived.)

A legend goes that the martenitsa tradition has been inspired by Bulgaria's first Khan Asparuh, who sent a white string to his wife to tell her he survived a battle.

People are supposed to take off their martenitsas when they see the first signs that spring has already come - a blooming tree or a stork.

When the martenitsa is taken off, many people tie it to a tree - one that they'd like to be especially fruitful. Others place it under a rock and based on what they find there the next morning guess what kind of a year this one would be.

The martenitsa now comes in all shapes and sizes - from Guiness-worth giant building packages to two tiny simple strings gently placed on a newborn's arm.

However, it always bears the same meaning - a lucky charm against the evil spirits of the world, a token for health and a sign of appreciation.

broken
S3 licensed
Quote from impresora :why do you want that insim ? This is S2 :P

how do you know? ^^
broken
S3 licensed
Meh, you need to Compile.
broken
S3 licensed
Well, I'm up for it. I have a web host as well, which is not going down in the near 3 years.

But, due to University and so-called real-life I won't be able to start immediately, or even keep a consistent pace, so don't expect too much.

If anyone is interested in helping, I suggest that we add each-other in Google+. Make circles especially for this project. And use Google docs for any crucial stuff.
I don't want to make a Facebook group, because Facebook is just full of spam, and it will be hard to concentrate with every bit of the browser constantly moving to inform me who has liked the fact that somebody else wiped his ass and there was no **it on the toilet paper, etc, etc.
broken
S3 licensed
Maybe a global ban system will work if indeed a web interface is set, and provides you with an option to create your own group, in which you can allow only certain servers. Or just have it password protected. That way, multiple server owners that trust each-other can have their own, personalized database.

I haven't thought at all how this could be implemented with an InSim, because it's 00:32 at the moment, but on first thought - it shouldn't be too hard, right?

E: Damnit, Wolf! ...
broken
S3 licensed
The closest you will get, unless the insim owner sees and decides to share his source with you, is this: http://www.lfsforum.net/showthread.php?t=43103
(This is an actual source code. Not a ready-to-use out-of-the-box application). So, you need at least basic understanding in C#.

I am telling you this now, so you can stop wasting your time (really, that's all you can possibly do) - there is no other way of obtaining what you are looking for specifically - no other way, than knowing the programmer, or the owner of the server. Instead, you may get yourself into coding, or start a server with a programmer (I would advise you to ask your friends first, if there are programmers amongst them).

If you want to get into programming yourself, please reply, and I'm sure someone, or me again, will reply back telling you the first basic steps.
broken
S3 licensed
Quote from Grum GTI :hi very very noobish quesstion, but ive never coded anything in my life,

what im tryin g to do is customise the insim so it displays my server name etc, i just have no clue as to which file to open and look into
or to which line of code to edit,

sorry about the noobish questions lol cheers

Well, first of all, you will need Visual C# Express (2008 will do the job, but I recommend 2010 for any future projects you may be developing). Second, maybe a bit disappointing, but you need to learn the basics of the language. Just how to write a Hello World! app might be enough. As much as to learn how to find your way around the code in C#. Then, when you finally get to this InSim app., I think everything you've asked for is located in Form1's code. It's a basic search&replace.

And of course - after modifying the source, NEVER FORGET to BUILD (press F6) your solution.
If you don't build it, you'll have a changed source, but when you run the .exe you will find the same old stuff. When you have built it, the new .exe will be located in the bin\Release folder.

Quote from logan2611 :Cant get it to work with 0.6b.

Have you tried getting it to work with any other version of LFS? There shouldn't be any difference.
broken
S3 licensed
Quote from darktimes :it's called a method in c#. As a general rule a function inside a class is called a method, outside of one it's called a function. Functions may also be refereed to as routines. All these terms are pretty interchangeable really.

<3
broken
S3 licensed
Quote from jobans :Well this is my CompCar code if that what you wanted.

Please put the code in CODE or PHP tags from now on, because quote tags can't be quoted.

So, I can spot one major problem at the moment.


<?php 
// Detailed car information packet (max 8 per packet)
        
private void MCI_CarInformation(Packets.IS_MCI MCI)
        {
            try
            {
                
//CompCar is the CompCar packet structure I added to clsPlayer
                
int idx 0;

                for (
int i 0MCI.NumCi++)
                {
                    
// Look at Comment 1 first!
                    // --------------------------------------------------------
                    // Comment 2:
                    //     You GetConnectionIndex (GetConnIdx).
                    //     While you really need to GetPlayerIndex (GetPlyIdx).
                    //     On top of that, you give GetConnIdx a PLID (Player ID).
                    //     If you really needed to use GetConnIdx, you are supposed to give it an UCID (Unique Connection ID) too.
                    //     Final conclusion: The line below is terribly wrong.
                    // --------------------------------------------------------
                    // Solution
                    //     Replace the line below with the following:
                    //     idx = GetPlyIdx(MCI.Info[i].PLID);
                    // --------------------------------------------------------
                    
                    
idx GetConnIdx(MCI.Info[i].PLID);
                    
                    
// --------------------------------------------------------
                    // Comment 1:
                    //     So, you want a players index.
                    //     In Players[idx] the idx variable should be an index of the Players list (obviously).
                    //     But instead, look at what happens in Comment 2.
                    // --------------------------------------------------------
                    
                    
Players[idx].CompCar.AngVel MCI.Info[i].AngVel;
                    
Players[idx].CompCar.Direction MCI.Info[i].Direction;
                    
Players[idx].CompCar.Heading MCI.Info[i].Heading;
                    
Players[idx].CompCar.Info MCI.Info[i].Info;
                    
Players[idx].CompCar.Lap MCI.Info[i].Lap;
                    
Players[idx].CompCar.Node MCI.Info[i].Node;
                    
Players[idx].CompCar.PLID MCI.Info[i].PLID;
                    
Players[idx].CompCar.Position MCI.Info[i].Position;
                    
Players[idx].CompCar.Speed MCI.Info[i].Speed;
                    
Players[idx].CompCar.MCI.Info[i].X;
                    
Players[idx].CompCar.MCI.Info[i].Y;
                    
Players[idx].CompCar.MCI.Info[i].Z;
                    
decimal SpeedMS = (decimal) (((MCI.Info[i].Speed 32768f) * 100f) / 2);

                    
decimal Speed = (decimal)((MCI.Info[i].Speed * (100f 32768f)) * 3.6f);
                    
decimal ConvSpeed = (decimal)(Speed 25 1000);
                    
Connections[GetConnIdx(Players[GetPlyIdx(MCI.Info[i].PLID)].UniqueID)].TotalDistance += Convert.ToInt32(SpeedMS);
                    
Connections[GetConnIdx(Players[GetPlyIdx(MCI.Info[i].PLID)].UniqueID)].DistanceSincePit += Convert.ToInt32(SpeedMS);
                    
Connections[GetConnIdx(Players[GetPlyIdx(MCI.Info[i].PLID)].UniqueID)].LicenseDistance += Convert.ToInt32(SpeedMS);
                    
//Connections[idx].DistanceSincePit += Convert.ToInt32(SpeedMS1);
                    
Connections[idx].TotalDistance += Convert.ToInt32(SpeedMS);
                    
Players[GetPlyIdx(MCI.Info[i].PLID)].Payout += ConvSpeed;
                }

                for (
int i 0MCI.NumCi++) //We want everyone to update before checking them.
                
{
                    
MCI_Update(MCI.Info[i].PLID);
                }
            }
        }
?>

Look at the comments in the code. It's a small, but vital change. It's probably not the only problem, but it is one that is serious! And I don't think it will even get detected in build-time.
broken
S3 licensed
Ah, then please post the source of the whole MCI thread/function/whateveritiscalled.
broken
S3 licensed
Quote from MadCatX :That is quite good explanation of how the MCI packets work, with one exception though:

Should be more like "= if many MCI packet was too large, your server might just drop a few people out, that's why it contains only 8 CompCar structures at a time"


An alternative approach might be

<?php 
Dictionary
<bytePoint3DcarsPosition;

...

for(
int i 0MCI.CountCi++) {
   
byte _plid MCI.CompCar[i].PLID;
   
int x MCI.CompCar[i].X;
   
int y MCI.CompCar[i].Y;
   
int z MCI.CompCar[i].Z;

   
carsPosition[_plid] = new Point3D(xyz);
}
?>


Thanks, yeah, you are right about the fix. And yeah, it is possible, but the cruise app he has already does store the info, and it uses it all over the place too, so such a change is, practically, impossible. Unless you are ready to overhaul the whole source.

Quote from jobans :So I tried what broken write to me. In my case I dont have a code line for (int i = 0; i < Players.Count; i++) only in GetPlyIdx. Then I found that instead of for (int i = 0; i < Players.Count; i++) I have for (byte i = 0; i < MCI.NumC; i++). I tried to replace them with for (int i = 0; i < MCI.CountC; i++) but I got errors in all places where I replaced them. Error what I get is down there. Any Idea how to fix that? And what does those NumC mean?

Error 20 'LFS_External.Packets.IS_MCI' does not contain a definition for 'CountC' and no extension method 'CountC' accepting a first argument of type 'LFS_External.Packets.IS_MCI' could be found (are you missing a using directive or an assembly reference?)


Double-click on the error. If you don't want to share more code (which won't harm you really, I can guarantee), just copy the line it points you to, and paste it here. Then, please copy that function (is this the right word? I mean, it's a function in PHP, but is this what it's called generally in programming as well?) and the MCI thread code. Or, again, if you don't want to share code - ask for an alternative - I guess we will think of something.
broken
S3 licensed
A common Cruise app. mistake, is that people loop the MCI packets by their local Players list count. This is wrong. The MCI packet is telling you how many connections it has sent you info for.

Imagine you have a shop, and I'm the storage facility you're loading from. The people I've hired can carry 8 bottles of water at a time. So they start unloading, and each time they bring 8 bottles, you look at how many you've ordered, and start yelling at my employees, because they haven't delivered the full amount. What can they possibly do? They will just go, and bring another 8 bottles, while you are in the store, totally confused, because you can't calculate (in this case - your insim app. can't calculate, because you haven't taught it how).

So, how do you fix this? Each time my employee comes, you count the bottles he has delivered, and compare them to what you have ordered. Then note it down, and on the next 8, do the same. Don't be so greedy. If my employees carry more than 8 bottles, they might just trip, and block access to your store, due to many bottles of water flying to random directions (= if many MCI packets are sent, your server might just drop a few people out, that's why they are 8 at a time).

So, I have no idea if you got it, but I just wanted to try a different method of explaining this exact issue, because nobody seems to get it the first time (neither did I, so don't worry - it's totally normal).

Now, that you know, here's some code:

In the MCI thread, EVERYWHERE you loop MCI packets, replace:
for (int i = 0; i < Players.Count; i++) with
for (int i = 0; i < MCI.CountC; i++)

Players.Count is how many bottles you've ordered. MCI.CountC is how many you receive in this one time. By the way, please note that if you just do a find/replace on your whole project, you will receive at least 1 error, because GetPlyIdx (iirc) is using this same loop for (int i = 0; i < Players.Count; i++). And the GetPlyIdx function is something that happens inside your store, it has nothing to do with my storage facility, so it should be, indeed, left as is - for (int i = 0; i < Players.Count; i++).

Please tell me if you understand or not.
broken
S3 licensed
I think this is a brilliant idea. It would be so awesome! I don't even know what else to say... IMO - go for it!
broken
S3 licensed
It is actually easy, because for one - such long combos aren't supposed to appear in it, and two - it's still just lower-case letters and maybe a number at some very, very rare occasions.

And you actually had this combo generated, because this is what the last 3 words were:
broken
S3 licensed
Sorry guys, for totally ignoring your discussion, but I want to bump this, because I need a bit of help.

Basically, it's all because I want to rename the app, and get it its own personal domain name. But I'm not really excited about what names I came up with so far. So I made a poll on the PassGen facebook page (yup, it already has that).

If you want a direct link to the question, here it is: click it.
But really, just visiting the page and you will see it, as it is currently the latest post - and the page is not really getting any frequent updates, so it's probably still going to be on top when you get to read this, and open the link.

In case you prefer (or don't have a facebook account), you can submit your ideas here as well, as a reply to this thread.
The options on the facebook question, at the moment are these:
GetPass.net
PassGet.net
PhraseMate.net
PhraseGen.com


You don't have to check if the domain name you come up with is free - it's the idea that matters, because it could bring more ideas. Heck, it doesn't even have to be a domain name, it could be just a regular name.

Also, if you submit a new proposal, but also already like other name(s), please include them in your post as well. But I don't think it would be a good idea to just reply, telling me the names you like, because that's a bit on the border of spam (imo at least).

Thank you for any voting you do, and any suggestions you submit!
broken
S3 licensed
Quote from azasmith14 :Hipokrit.

Hahahah, I didn't even know that! ;O

Ah well, next time.. =/
broken
S3 licensed
Yes, maybe I don't have enough patience sometimes, but usually after I see many threads and the same person in them requesting help, I tend to lose a great portion of it. Sorry if I was too harsh to you, my conclusion was rather rashly, but try to see it from my POV - There are exactly 5 threads from 3 or 4 accounts with the same country flag, that seem to ask for help for the same insim app., and some of the threads are with almost identical requests. You have posted in all of these threads. And all that in a very short time. What would you think?

Even with that in mind, I still gave you pointers after all the off-topic, but everybody seemed to pick up only the negativity from my posts. Which is understandable though, I'd maybe react the same about it.

But anyway, next time I will just tend to keep away, instead of posting what I think, because this seems to be the best decision. After all, I don't want to stop people if they want to help, which, I'm sorry if I did.
(And I'm not enjoying it either when I'm posting such stuff, so why am I, lol?)
broken
S3 licensed
I win!
broken
S3 licensed
Quote from peugeot206 :hi,
my problem is that i[..]

Quote from smcsc :but the conn.compcar[..]

If both of those accounts are yours, then, in my list, you classify as a spammer. You were close before with your many threads, and no knowledge in programming, but this will top it off if confirmed.

And just so I give you some help on the topic, before I stop seeing any point in doing it: Have you ever declared a variable with the name Conn?

(not trying to sound important, but this is slowly getting.. call it demotivating)
broken
S3 licensed
Let's be straight and honest here - I think he only wants to get code & disappear, until he needs some again.

smcsc, this is not going to happen. Either put some effort in it yourself, or pay a programmer to do the job for you. Or find one to do it for free (if you think you're that lucky). The problem you're having is not that hard to solve - it just needs a little bit of thinking, a little bit of logic, and a little bit of knowledge of how the C# syntax works.

In case you prefer the "put some effort in it yourself" method:
As a start, I would suggest that you google "C# beginners guide" or something like that, and find the tutorial you find the easiest to learn from. OR - the way you've started is also not bad(experimenting, aka trial and error). It's more fun too, but you just need to practice a lot, and to accept that there are going to be more problems like this one, which you will most likely have to figure out yourself. And of course, the more experience you gain, the harder the problems will become.
broken
S3 licensed
Quote from jwardy :That's better English than 99% of Bradford.

There is no such word as "thats", as far as my non-English-self is aware.
Quote from Cornys :Sadly there is a whole generation of human beings on (this planet / the Earth)(I think there's only one Earth. At least you didn't miss the capital letter.) who don't care about grammar and just want to get their point across as quickly and easily as possible.

It's rather annoying

Sorry guys, but you discuss just that, and yet, you don't really care about your grammar? If I make such mistakes in an English test, I'm definitely going to lose some points.

@Cornys: Actually, if you didn't end your post with "It's rather annoying", I'd probably retain myself from posting. It was just too funny. I know my English is far from perfect too, but wow, the irony, dude..

Aaand, sorry for the off-topic.
broken
S3 licensed
Quote from skywatcher122 :E: I fixed the problem

How?

You can't just request help and retreat as soon as your question has been resolved. And if you have replaced the problematic code with the new one - note it somewhere.
broken
S3 licensed
Quote from Dygear :I can see it now! Set a cone on each node, set a cone behind the client as he drives around ... Some silly fun can be had here!

Confirmed:


<?php 
                        
if (CC.Speed 91.02 50)
                        {
                            
short X = (short)(MCI.Info[i].4096);
                            
short Y = (short)(MCI.Info[i].4096);

                            
short Z = (short)(MCI.Info[i].16384);

                            
byte Heading = (byte)(MCI.Info[i].Heading 256 192);

                            
Processor.Send1Object(XYZHeading128);
                        }
?>

Send1Object is provided above, if you need it.

T3charmy was first though, using PRISM, because it had all this working before InSim.NET. DarkTimes, we've lost this race!
broken
S3 licensed
Awesome! Thanks a lot for the update, the example, the fix, everything!

Tested it, and it works like a charm! :lovies3d:


Also, if anyone is curious or needs to transfer coords from MCI to AXM, here is how:

AXM X coord = MCI X / 4096 | & conversion to short
AXM Y coord = MCI Y / 4096 | & conversion to short
AXM Z coord = MCI Z / 16384 | & conversion to short
AXM Heading = MCI Heading / 256 | & conversion to byte
FGED GREDG RDFGDR GSFDG