The online racing simulator
Searching in All forums
(968 results)
sinanju
S3 licensed
First thing you have to do is hit the blue button 'Preview in Full Editor' under the box you are typing in, and then you will see an area under the part where you type your description that says 'Drag files here'.

You can drag various files into this area - type and size just below the 'Upload / Update' blue button.

I assume you want to put your .lyt file online. If so, that is where you put them.
sinanju
S3 licensed
Have you edited the default_1.ini file yet?
sinanju
S3 licensed
When signed into LFSWorld / My LFSWorld Settings / Pubstat Access tab, then scroll to bottom of window, then click on the 'my account balance' link, it tries take you to www.lfsworld.net/# and then in a bit, you get a 'A page-load time out occurred' message.
Last edited by sinanju, . Reason : whoops; wrong thread!
sinanju
S3 licensed
You can already set up music to play while in car.

Options/Audio

then you have choices of

Music in Setup screens
Music while racing
Music during replays

Pick an ingame Channel (1, 2 or 3) - in this case, Channel basically means which radio station you want playing.

Look at bottom right of screen and you will see a button called Channels - click it, and it takes you to a screen where you can pick music and set music per channel.

Any music you want in there, save as OGG music file in your LFS data/ogg directory.

Easy enough finding mp3 to ogg converter to download.

Or if all that is too much work, play your mp3's on your pc or audio equipment in background while playing LFS.

To be honest, last thing I would want is to have to listen to other peoples music blaring from their cars while racing. I've almost given up watching youtube movies because of the awful music people use as background. Especially true for drift videos.
sinanju
S3 licensed
Some companies that sell the software, and give info...HERE

Google 'video stitch' for further info.
sinanju
S3 licensed
For those whose computer failed the Oculus Rift test, as mine did with i7-3770 CPU / 12 Gb memory / GTX 580 (due to poor processor and graphix card), my pc passed the ValveVR test as 'Ready' (with caveat).



In other words, with pc spec like mine, you may not be able to use the OR, but you may have chance with other VR headset.
sinanju
S3 licensed
I've been struggling testing for few hours with a setup of 3 autox lights all side by side, and set identifiers to 0, 1 and 2.

Took me long time with nothing happening before I thought to actually enable lights first like I was about to start a race.

Once I'd finally got figured that out....

startlightcontrol(5,149,0,1);

to set 1 of the 3 lights to red. This worked.

I realise that you can have multiple start lights with same identifier, and code will work on all identified lights as one.


Got above image by running lapper 3 times, with idents 0,1,2,0,1,2,0,1,2


However, for the next bits I need help.

Can't work out how to enable more than 1 set of lights at a time.

Tried the following in 3 lines, one line after another
startlightcontrol(5,149,0,1);
startlightcontrol(5,149,1,2);
startlightcontrol(5,149,2,8);

All resulted in lapper crashing.

Also.

Tried setting sub to trigger a change in lights (say if green, trigger to amber), but lapper didn't like the vars I put in the sub header. Tried
Sub lights ()
Sub lights ($KeyFlags,$id)
Sub lights ($LightAction,$LightIndex,$LightIndentifier,$LightColor)

but these just resulted in lapper having a fit.

After testing, found that you can use Insim Circles as triggers, but these might be too big in certain circumstances
IF ( $CircleIndex == "1" )
THEN
startlightcontrol (5,149,1,2); # set all ident 1 lights to amber
ENDIF

and you can also use Insim Checkpoints as triggers too, although not sure if lapper can differentiate between one kind of checkpoint and another (eg Finish Line v 1st Checkpoint)

IF ( $Flags == "2" )
THEN
startlightcontrol (5,149,1,8); # set all ident 1 lights to green
ENDIF

although might be possible to fiddle about with IF ($LightColor = n) THEN ... ?

Help!
Last edited by sinanju, . Reason : further testing
sinanju
S3 licensed
What have you called this Event?

Checking LFSLapper.lpr between your V7.030 and V7.031, the only difference I can see is that the explanation for breakdown of using Private Buttons has been copied under the #Action when a new Gapping Info is available# section.

Also, in the managePacket.cs file

Object[96] = "Short Railing"; Object[97] = "Medium Railing"; Object[98] = "Long Railing"; // Not moveable Railing

if (newCfg.varsLapper.DetectHitObject.Contains("All_Railings") && (obh.Index > 95 && obh.Index < 99))

Is this the file that should have these railings changed to Armco?
sinanju
S3 licensed
Thumbs up

Looks like you'll have to change your teamname from Impact to DISCO!
Last edited by sinanju, .
Buttons - Learn how to use them - Advanced (Symbols/Glyphs)
sinanju
S3 licensed
Advanced Button Making - Escape Codes and symbol Glyphs

List of available colours, language Code Pages and Special Characters:


= Colours

As you should already be well aware by now, caret/circumflex (^) in front of a number in a text string will colour the text, e.g. "^1 test" will output test.



openPrivButton( "test_colours",50,70,20,6,6,8,96,"^0 - black%nl%^1 - red%nl%^2 - green%nl%^3 - yellow%nl%^4 - blue%nl%^5 - violet%nl%^6 - cyan%nl%^7 - white%nl%^8 - no color");

= Special Characters

A caret/circumflex in front of certain lower case letters will output special characters.



openPrivButton( "test_characters1",50,70,10,6,6,8,96,"^1^v%nl%^1^d%nl%^1^s%nl%^1^t%nl%^1^a%nl%^1^q%nl%^1^l%nl%^1^r");

For instance, if you want to output a special character such as the hash sign (#) you would use "^h" within your text string.

In truth, most of these special characters are not required to be used in lapper as these symbols appear on a normal keyboard and you can just type the symbols in between quotes and the text will be output as you've typed it. However, some characters are required, such as the single quotation mark. If you try outputting a text string like

openPrivButton( "test_characters2",70,70,50,6,6,8,96,"^1 this string wants to use the "quote" marks");

then lapper will actually output



You would have to use

openPrivButton( "test_characters2",70,70,50,6,6,8,96,"^1 this string wants to use the ^tquote^t marks");

which outputs as



= Code Pages

A caret/circumflex in front of certain upper case letters will change the Code Page (language lookup).

Lapper appears to use Latin 1 as standard for most European languages, but it is possible to use the characters and symbol glyphs as used in other language Code Pages.

For instance, if you want to use some symbol glyphs that you find in the Traditional Chinese Character A1 set, then, with your lapper script open and LFS running;

- In LFS, type "t" to open message window, click on Latin 1, and change to Traditional Chinese, and click OK. Message window should expand down to show all the standard characters, along with a huge number of buttons with numbers/letters and buttons with numbers under the rows of normal Latin text and greyed out buttons.

If these additional characters don't appear, click the triangular up arrow.

Click on the A1 button, and then click the symbol you want to use in your script. This will now appear in the message.

CTRL C (copy) this symbol then go to your lapper script and paste into a button text string. When you do this, the symbol you copied will have changed into different text.

In front of this text, you will have to put the Code Page letter, in this case, ^H (for Traditional Chinese), and then ^9. The ^9 converts any subsequent buttons back to default code page, e.g. Latin 1. If you don't use this, then other buttons appearing after your new button may not show text as expected.

After the ^H^9, put your colour number, e.g. ^1, then the text message you want to display.

It is possible to mix the order of Code Pages / Convert and still have text display properly. Putting colour first will result in grey (no colour) text. However, for bug fixing I would recommend you keep to same convention throughout, as the text strings will make little sense on a quick look.



openPrivButton( "test_characters2",70,70,50,6,6,8,96,"^1 this string wants to uses the ^tquote^t marks");
openPrivButton( "test_characters3",70,76,50,6,6,8,96,"^0^H ¢R ¡ø ¡¹ ¢g - test char 3");
openPrivButton( "test_characters4",70,82,50,6,6,8,96,"^2^H^9 ¢R ¡ø ¡¹ ¢g - test char 4"); # outputs no colour instead of green
openPrivButton( "test_characters5",70,88,50,6,6,8,96,"^H^1 ¢R ¡ø ¡¹ ¢g - test char 5");
openPrivButton( "test_characters6",70,94,50,6,6,8,96,"^H^9^2 ¢R ¡ø ¡¹ ¢g - test char 6");
openPrivButton( "test_characters7",70,100,50,6,6,8,96,"^H^3 ¢R ¡ø ¡¹ ¢g - test char 7^9");

Although in the above examples, the ^H (for Traditional Chinese) works with the symbols I chose, there is no guarantee that all symbols will work for any language choice. I was unable to use some ^J (Japanese) and ^G (Greek) symbols during my limited tests.
Last edited by sinanju, .
sinanju
S3 licensed
Thanks for that.

I thought I'd tried 'TrackSide_Objects' and it hadn't worked, but I've just tried again, and now it does work Tilt My bad.

Railing - That was already in. I just wanted to differentiate between that and the Armco.

Rest of objects are fine.
sinanju
S3 licensed
Manor front wing looks lot more 'basic' than all the other cars.
sinanju
S3 licensed
Next time you update lapper, can you change few things?

The objecthit.txt file needs edited.

'All_Markers' should be 'All_TurnMarkers'.

Request; can 'railings' in your code be changed to 'Armco'?

You have
All_Railings // (Short/Medium/Long Railing)

Think would be better if
All_Armco // (Short/Medium/Long Armco)

Keeps these separate from the small pedestrian railing.

Plus, in $DetectHitObject, I can't get 'scenery' to work (as described in objecthit.txt file), nor 'Trackside_Object', 'Trackside_Objects' or even 'TrackSide_Objects'.
sinanju
S3 licensed
Just another demo user with no money to pay for a license Cool
sinanju
S3 licensed
Quote from RaZMorocco :Demo for years now ....

Like a lot of other demo racers, some of whom likely have no intention of ever buying a license, as happy enough with the free game they've got.
Quote from RaZMorocco :i suggest this doesnt actually happen or you'll kill the game just like many famous old racing games that used this technique

Most 'old' racing game demos came on a cd, when you bought a computer game magazine. How many of these games still exist? Some were unlimited, but some had time constraints, or track/car constraints.
Quote from RaZMorocco :not everyone can afford the game nor pay through the internet

I understand that not everyone can afford even an S1 licence, and that there are purchasing issues. But, again, not LFS developers fault.
I don't have a tv - it broke, and I can't afford a replacement, not even 2nd hand. I have experience of having had and used one, so when I can ever afford a replacement, I'll likely get one. In mean time, I do without.
Quote from RaZMorocco :i suggest they add more stuff into the Demo version

So even less incentive to actually buy a license.

And where does the "add more stuff" end?

It seems to me that a lot of people have forgot, or have never known, what "demo" actually means.

In a game, as in other things, its a demonstration of a product to show the capabilities of what you would be getting if you paid for it, as in (especially) does it work on your pc, does it look / play sufficiently well, do you like it?

3 to 6 months and/or 1000 lap limit is more than sufficient for a 'demo' in my opinion.
sinanju
S3 licensed
For some reason, last 2 links take me to my own dropbox account Smile
sinanju
S3 licensed
Yes, I appreciate the work you've put in too. Thumbs up

Now about these Autocross start lights.... Nod
sinanju
S3 licensed
Quote from Yisc[NL] :As soon as any event within Lapper is triggered, you can use the several variables within that event, to do different things.

I may have made the connection few years ago, but my scripts tend to be simple and don't use these Event variables.

I thought they were only used because you couldn't use $UserName, $Keyflags, $ID, etc., or you made up your own variables.

As in
$myShortTrackName = getLapperVar( "ShortTrackName" );
IF ( $myShortTrackName == "BL1".....

which is just shorthand way of writing getLapperVar( " ...
as in
IF( getConfigVar("ShortTrackName") ....

At least now, I've got it more straight in my head. Thanks for confirmation.

Quote from Yisc[NL] :You can do that as in your example, but it's even possible to combine variables and do different things.

Yes, as in your Pitboard.lpr script for using || as OR, as in

IF ( $myShortTrackName == "BL1" || $myShortTrackName == "BL1R" || ......
sinanju
S3 licensed
Have edited post to add this info, although some of it in image.

Object 'Circle' = Insim Circle
Object 'Checkpoint' = Insim Checkpoint (1st, 2nd, 3rd checkpoint lines, and finish line available)
sinanju
S3 licensed
General query about the variables in any Event On... line, (something I probably should know by now!) such as

Event OnCrossingChecker($userName,$Flags,$Time,$Object,$UserSpeed) # Player event

Can each of these vars be used as 'triggers' do to something?

For example

IF ( $Flags == "3" )
THEN
> say or do something, like spec user
ENDIF

IF ( $Time < "0.30.00" )
THEN
> say or do something, like congrat user for doing something within certain time
ENDIF

IF ( $Object == "Checker" )
THEN
> say or do something, like tell user they are going right/wrong direction
ENDIF

IF ( $UserSpeed < "100" )
THEN
> say or do something, like tell user they are too slow
ENDIF

I ask, because I'm more used to using player and lapper vars, such as

IF( GetCurrentPlayerVar( "LapsDone" ) > 0 )
THEN....

IF( getConfigVar("MaxCarResets") > 0 )
THEN....

I have tested with $Flags in the above quoted Event, but haven't tested with the others.
sinanju
S3 licensed
Great work - much appreciated.

There are about 2 of you that understand how to use the code you show straight out of the box, so to speak, and maybe a few others that can use lapper but never get involved on this part of forum. For a few of us, especially me, it takes some experimentation and testing to understand how it works.

For instance, your
privmsg("Time: ".$Time);

just outputs a large number, whereas if you want to use it properly, you have to use
privmsg("Time: ".NumToMSH($Time);

To help people like me to understand it bit better, my experimental test code, and on-screen results;
Spoiler - click to reveal##########################################################
#Actions to do on Insim Checker/Checkpoint (AutoX object)#
##########################################################
#When $Flags(bits) returns a value
#UCO_CIRCLE_ENTER, //0 (00) User entered a Checker
#UCO_CIRCLE_LEAVE, //1 (01) User left a Checker
#UCO_CP_FWD, //2 (10) User crossed Checkpoint in forward direction
#UCO_CP_REV, //3 (11) User crossed Checkpoint in reverse direction

Event OnCrossingChecker($userName,$Flags,$Time,$Object,$UserSpeed) # Player event

privmsg("Username: "getplayervar($userName,"NickName"));
privmsg("Flag No ".$Flags);
privmsg("Time: ".NumToMSH($Time)." after crossing S/F line");
privmsg("Object: ".$Object);
privmsg("Speed: ".$UserSpeed." ".getplayervar($userName,"UnitSpeed"));
GlobalMsg ("=============================");
$NickName = getplayervar($userName,"NickName");
$SpeedUnit = getplayervar($userName,"UnitSpeed");

IF ( $Flags == "0" )
THEN
privmsg("".$NickName."^3 entered ".object." circle at ".(NumToMSH($Time)));
privmsg("^3travelling at ".$UserSpeed." ".$SpeedUnit);
ELSE

IF ( $Flags == "1" )
THEN
privmsg("".$NickName."^3 left ".object." circle at ".(NumToMSH($Time)));
privmsg("^3travelling at ".$UserSpeed." ".$SpeedUnit);
ELSE

IF ( $Flags == "2" )
THEN
privmsg("".$NickName."^3 crossed ".object." line at ".(NumToMSH($Time)));
privmsg("^3travelling at ".$UserSpeed." ".$SpeedUnit);
privmsg("^3Going in correct direction");
ELSE

IF ( $Flags == "3" )
THEN
privmsg("".$NickName."^3 crossed ".object." line at ".(NumToMSH($Time)));
privmsg("^3travelling at ".$UserSpeed." ".$SpeedUnit);
privmsg("^1Spec'd for going in wrong direction");
cmdLFS( "/spec " . GetCurrentPlayerVar("UserName") );
ELSE
ENDIF
ENDIF
ENDIF
ENDIF

EndEvent




Grey text is just to output the variables, and coloured text is to output variables in more meaningful way / use.

Flags 0 and 1 used same Insim Circle (first flag for entering, next for exiting - Circle Index 1). Flag 2 used a Finish Line pointing correct way, and Flag 3 used Finish Line turned 180 deg to direction I was travelling.

As you can see, I've used the $flags as 'triggers' in IF statements to do things - mainly just show info, but in flag 3, because i've crossed insim checkpoint wrong way, I've used that to trigger /spec.

PS Don't forget to update info in /docs folder Smile
Last edited by sinanju, . Reason : Added circle / checkpoint data
sinanju
S3 licensed
I've changed the wording slightly and added few more things.

If anyone thinks any part of it should be edited (correct an error, add, remove, etc), let me know, and (if relevant), I'll edit.

If someone's got good example of global button, I'd like to add an image, please. And a replacement Welcome to show their nickname instead of mine Smile
Last edited by sinanju, .
sinanju
S3 licensed
Can you add this new Event to its own Thread please?

Best if you just copy (don't delete post) whole body of post text about it to thread, including lapper file and image (may be no need to copy image - just click on it, note http link and imbed link into new post as image).

Would be good to keep discussions about each of your new Events separate, as easier to find things.
Last edited by sinanju, .
sinanju
S3 licensed
I keep telling my sons that us 56 year old's are just awesome!
sinanju
S3 licensed
Not sure in which lapper version 7 it started, but if you look in the ERR.log file, it now shows the password that appears in the default_1.ini file.

At least it does in my local 127.0.0.1-29999-MSS.log file. I haven't updated my server lappers yet, which are still v6 as still playing around with few things.

Extract:

2/19/2016 8:55:56 AM
-----------------------------------------------------------------------------
2/19/2016 8:55:56 AM -> Parsing config file...Ok
2/19/2016 8:55:57 AM -> Loading WR...Ok
2/19/2016 8:55:57 AM -> Loading swearwords...Ok
2/19/2016 8:55:57 AM -> Connecting to 127.0.0.1 / 29999
2/19/2016 8:55:57 AM -> LFSLapperInsimVersion 0
Connection OK
2/19/2016 8:55:57 AM -> InsimInit Lenght: password_here
19/02/2016 08:55:57 -> 2/19/2016 8:55:57 AM -> InSImReceive Thread Started...
Product:S3 Version:0.6M InSim Version:7
19/02/2016 08:55:57 -> Ftp Upload grip DB Thread Started...
19/02/2016 08:55:57 -> Ftp Upload drift DB Thread Started...
19/02/2016 08:55:57 -> Web Commands Thread Started...
2/19/2016 8:55:57 AM -> 19/02/2016 08:55:57 -> 19/02/2016 08:55:57 -> LFSLapper is running...
PubStat Thread Started...
Register Web Thread Started...

It's the line
2/19/2016 8:55:57 AM -> InsimInit Lenght: password_here

Not my password, but it is shown where I have "password_here".

And. 'Lenght' should be 'Length'.

For security, can this line be removed, or at least the password?
FGED GREDG RDFGDR GSFDG