The online racing simulator
Searching in All forums
(970 results)
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?
sinanju
S3 licensed
Quote from petercollins :Michelangelo painted the roof of the Sistine Chapel in five years.

And Duke Nukem Forever spent about fifteen years in the making - and that wasn't just a couple of people working on it.
sinanju
S3 licensed
It looks like if Z of slab is 2.25m above arrow spawn point then you spawn on ground.

I did more tests where ground was 10.25 and slab was 12.50 and car spawns on ground, but if slab was lowered to 12.25, then car spawns on slab.
sinanju
S3 licensed
Having no problems if pitbox arrow placed just below (where Z height of ground is above 0) or on ground.

Did you click the 'place on ground' button?

Edit: Just tested, and if pit arrow placed 0.5m above ground, then you will pit on slab above.
sinanju
S3 licensed
If you look in the /docs folder, you'll see that Krayy did dump of these...

Player Vars in 'playerVars.txt' and 'playerInfo.txt'.

Lapper Events in 'Lapper Events.txt'.

Your 2 recent contact Events should be added to this last file.

EDIT:

Just a thought; As you're taking over lapper programming, you should apply to become 'Section moderator'.
Last edited by sinanju, . Reason : An additional thought
sinanju
S3 licensed
Mistake in changes.doc regarding Pitstops.
Quote :+----------------------------------------+
|Changes from v5.844 to 5.845 |
+----------------------------------------+
2 Add 1 player var
pitStops = Number of pitstop do by a player

GetCurrentPlayerVar("pitStops");
or
GetPlayerVar("nickname","pitStops");

"pitStops" will not work; needs to be "PitStops". Upper case P and S.

Can use any of following;

GetCurrentPlayerVar("PitStops");

GetPlayerVar("NickName","PitStops");

$currPly["PitStops"]

Such as in

$PitStops = GetCurrentPlayerVar("PitStops");
GlobalMsg ("PitStops = ".$PitStops);

$currPly = getplayerinfo($userName );
GlobalMsg ("PitStops = ".$currPly["PitStops"]);

$PitStops = $currPly["PitStops"];
GlobalMsg ("PitStops = ".$PitStops);

sinanju
S3 licensed
Was using your updated files to do testing on something else I'm working on, with 2 AI cars on track, when I hit one, and lapper crashed.

Did it few more times to test, and lapper always crashes, then quickly restarts. I get same error message each time in my 127.0.0.1-29999-ERR error log;

-----------------------------------------------------------------------------
2/17/2016 4:07:10 PM

Lapper Instance 127.0.0.1/29999 abort!

Object reference not set to an instance of an object.
LFSLapper
at LFSLapper.LFSClient.managePacket(CON con)
at LFSLapper.LFSClient.Loop(Connect insimConnection)
at LFSLapper.LFSClient.doloop()
at LapperInstances.LapperInstance.doConnection()
Void managePacket(CON)
Closing Instance...
-----------------------------------------------------------------------------

As it's only an issue when local racing AI, not sure if much of a problem?
sinanju
S3 licensed
I've written an alternative, and very verbose description, using most of the 'blurb' put together by Scawen, but hopefully in a better way to make it more obvious in what order things should be done, and why.

In a Word document these instructions would fill about 3 x A4 pages.

Quote from felplacerad :May I suggest migrating these instructions to the LFS Wiki? The Wiki syntax allows for better text, image and code samples plus it's easier to collaborate while keeping the progress in-place.

http://en.lfsmanual.net/wiki/Training_Lesson_Editor, perhaps?

(But don't look at me, I've done enough edits for a while Smile)

Don't look at me either. I have no idea how to edit a wiki, and I don't have the necessary create privilages. Schwitz
sinanju
S3 licensed
Not certain, but I don't think so.

You have to make a text file to go with your layout, etc, but that text is only shown when you get onto 1st screen.

Its only on checking that I realised that the hashes within the file, which I thought were to replace blank lines, are actually there to fit within the Objective / Purpose / Tips that appear when you get into 1st screen of training/lesson before you hit GO.

EDIT: If I'd ready the revised instructions properly then I'd have found this out.



Screenie shows 1st para is for the Objective, 2nd for Purpose and 3rd for Tips.
Last edited by sinanju, . Reason : I'm an idiot!
sinanju
S3 licensed
Thanks.

Can almost follow the list and how you group objects Smile

Can 'Scenery Object' be called 'Trackside Object'? Or something more relevant? Scenery sounds like you hit a tree.

Can the turn markers be grouped too?

if (newCfg.varsLapper.DetectHitObject.Contains("All_TurnMarkers") && (obh.Index > 63 && obh.Index < 78))
sinanju
S3 licensed
Testing something else in lapper today and noticed that unless you use "All_Objects", you don't get message when hitting a 'scenery object'.

Because I don't want message when driving on concrete slabs and ramps on my skytrack layouts, I basically have long list that includes everything else but slabs and ramps, but if you use same list on a proper track, with no added Autocross objects, the only things that records a 'hit' are marker boards. This is in my list, but so are cones and tyres, and these don't get hit message when they're part of proper track scenery.

Can a 'scenery object' be added as a choice?

Of no real interest, but my list:
Spoiler - click to reveal
$DetectHitObject = "All_Tires+All_Cones+All_Markers+All_DistMarkers+All_Post+All_Railings+All_Barriers+Bale+Banners+SpeedBumps+KeepSigns+SpeedSigns+Concrete_Walls+Concrete_Pillars+Concrete_SlabWalls+Concrete_RampWalls+Concrete_ShortSlabWalls+Concrete_Wedges";


Also.

If you drive on a normal track with "All_Objects" enabled, you will only get message when you hit an object that can move (cones, tyres, marker boards), but not if you hit fence, wall, rubber covered barrier, and other non-moving objects.

Can a non-moving object be added?

As it's mainly needed for walls and barriers, maybe "wall barrier", "barrier wall", "wall/barrier" or "barrier/wall"? Or something else you can think of that explains better.
sinanju
S3 licensed
Quote from Gutholz :I wrote my thoughts/problems with lessons editor here ...... Another small problem I encountered is ...

Wish I'd noticed your problem posts - you're way ahead in the use of the training lessons.

Quote from Gutholz :It would just need a way to somehow pack all the files (picture, .lyt, .lsn file, entry in lessons.lll) for easy sharing on forum.

As the .lyt, lsn, .txt and .jpg files will all be put in the \data\training folder, these could all just be zipped up, and downloader told where they should be placed.

The difficult part for most users, due to lack of knowledge / experience, will be the need to SHIFT T into List Editor mode, and then move this downloaded Lesson up the list to the top, so it becomes the first lesson.

Not sure uploaders of lessons should be supplying downloaders with uploaders own lessons.lll file as downloader may have already added one or more training lessons into their list, and uploaders file may have non-standard lessons in it too.

I still think a separate forum section for these 'extra' training lessons should be made, and the first couple of posts could be sticky's giving step by step instructions - one on how to make your own, another if downloading (where to put files, and SHIFT T list, etc). Possibly another section for 'real' training layouts, and another for autocross event training/competition layouts, like your images.

An aide-memoir for myself - if loading lessons onto forum, best to make clear in some way what license level is required (demo, S1, S2, S3) as not all layouts will be available for all license types (not much good demo user downloading S1, S2, or S3 lessons, or S1/S2 users loading S3, etc).
FGED GREDG RDFGDR GSFDG