The online racing simulator
Searching in All forums
(970 results)
'Warning packet not catched' Error Messages
sinanju
S3 licensed
Having problems with lots of error messages appearing in my <ip><port>MSG log files.

Most read
Quote :5/23/2015 5:18:01 PM -> Warning packet not catched (ACR)

but sometimes the occasional
Quote :5/23/2015 6:10:11 PM -> Warning packet not catched (57)

I assume that "catched" actually means 'cached' (as in stored)?

I have no idea what the "ACR" and "57" refer to.

Doing some experiments on my code, I >think< this may have something to do with the functions I'm using in some of my subs.

For instance, I might have sub like

Sub DoSomething($KeyFlags,$id )
blah
EndSub

and the 'ACR' may refer to the '$KeyFlags,$id' part.

Tried using
Sub DoSomething()
Sub DoSomething( $userName )
Sub DoSomething( $KeyFlags )

These all give the following error message (in my ERR file - not MSG file);
Syntax error in cfg file: Number of function argument not matche at line #nn in function 'DoSomething' script aborted

Also tried
Sub DoSomething( $KeyFlags,$id )
Sub DoSomething( $id, $argv )
Sub DoSomething( $KeyFlags,$userName )
Sub DoSomething( $KeyFlags,$argv )
Sub DoSomething( $KeyFlags,$status )

but these all gave the following error message (in MSG file);
Warning packet not catched (ACR)

I usually get minimum 2 of these messages, but normally 3.

So. Are the errors to do with the functions specified in the Sub header line? Or is it something else, and if so, what?

Is it because i'm using a sub with option to call multiple subs, which may have option to call other sub(s)?

Or am I using the wrong function(s) in previous subs to the one that actually causes the error message?

For instance, in the attached file, I start with a CASE command to get things going, which in turn lead to various subs to show a Yellow flag, as in (much simplified);

CASE "!rc":
DoRCM();
BREAK;

Sub DoRCM()
openPrivButton( "rcm_menumanager",35,71,24,5,5,-1,32, langEngine( "%{rcm_menumanager}%"),DoMenu);
EndSub

Sub DoMenu( $KeyFlags,$id)
openPrivButton( "rcm_track",35,62,24,5,6,-1,32, langEngine( "%{rcm_track}%"),DoRCtrack );
EndSub

Sub DoRCtrack($KeyFlags,$id )
openPrivButton( "rcm_track_yellowflag",36,60,21,5,5,-1,16, langEngine( "%{rcm_yellowflag}%"),DoRCyellowflag );
EndSub

Sub DoRCyellowflag($KeyFlags,$id )
globalRcm( langEngine( "%{rcm_yellowflagmessage}%" ));
EndSub

In this instance, the errors only happen when I click the button to show the Yellow flag message - this is the last sub in the chain..



My actual code is attached - much cut down to only show the Yellow flag message - once you've clicked the correct buttons, in sequence.

Anyone tell me where I'm going wrong?

Thanks.
Top Times and Drift Scores as @ 21 May 2015
sinanju
S3 licensed
Just over 100 timed laps on the server, so top times per car type, top 18 fastest times overall and top drift scores are...

sinanju
S3 licensed
You can't change the 'tilt' of a normal wall, but you can change its height. A ramp wall is already tilted, but you can't change it's height (its always 0.75m high).

In edit mode, the 'height' of a ramp wall refers to how much of a tilt you will have - if you choose 0.5m then one end will be 0.5m higher at one side than the other - regardless of length of wall).

When you use a normal wall, it is not placed perpendicular to the ground - it is placed horizontally (flat), 'Z' metres above zero (where Z can be from zero to 60m). But the ground you are trying to place it on may be 2m at one end and 3m at another. That means placing a 1m high wall could result in touching ground at one end, but being 1m above ground ("floating") at other end, or if you lower the wall 1m, one end 1m high above ground and other end disappearing into ground.

So, if you want a taller wall than a ramp wall, as Eclipsed said, sometimes you have to place a normal wall, then place a ramp wall on top, tilted to match ground

Building on Westhill is hard - I made a simple oval (see HERE) that on the normal AU1 Autocross map would have taken a few hours, but on Westhill, took about 16. And it's not unusual to think you've placed something on the 'ground', to find it's actually 'floating' in the air. Especially if the ground is grass. I've found that building something in mid-air, then lowering everything together, is sometimes better. But you're restricted to a group of 30 items.

You can always download my oval, then play around with it in Edit mode, especially the Z height of walls, to see what I mean.
sinanju
S3 licensed
Just caught up with the last 3 races - the first thing I noticed, is that all the female drivers who started the season, are gone, and permanently replaced with men. No female drivers at all left in this formula.

Wonder how Susie Wolff would have fared?
sinanju
S3 licensed
In my 'welcome section', all my buttons now start with the prefix "welc_" with an identifier as suffix, as in 'welc_backing'.

This is so I can use the line
closeButtonRegex (GetCurrentPlayerVar("UserName"), "welc_*");

to close all the buttons without worrying about missing any, or closing the wrong one(s).

All buttons now changed from a time of -1 (never close unless a sub-routine closes them) to about 12 seconds or so, so that message will disappear off screen in not too much time without having to click any buttons. The timer is just to show when it will disappear - for anyone that even bothers to read what's on screen.

The timer uses the %cpt% function (look in the docs/changes.txt file).

The timer does nothing but show a countdown time. The buttons will disappear anyway.
sinanju
S3 licensed
This is Bob Smith's VHPA (Vehicle Handling and Performance Analyser), which can be found HERE.

What it does
Allows you to open any LFS setup, analyse the effects of various parameters on vehicle handling and performance and, through understanding of the information presented, help alter setups to achieve the results you wish with minimal trial and error testing.
sinanju
S3 licensed
Look in the lfslapper.lpr file for 'main_welc1'. The first instance will be the code for the button, eg

openPrivButton( "welc",25,50,150,12,15,-1,ISB_NONE, langEngine("%{main_welc1}%", $NickName ) );

and the second instance will be in the language section - Lang "EN" - and will read something like

main_welc1 = "^7Welcome {0} ^7to this ^1LFSLapper ^7powered server !%nl%^2Type ^7!help ^2after leaving garage to see commands.";

Change the code in the language section to read what you like.

Language section code breakdown:
^7 is for white coloured text
{0} is for the drivers nickname
^1 red coloured text
%nl% is for new line - anything after this goes on next line - remember to put coloured text identifier (eg ^2) after, otherwise text will be gray

Different sized text just means that I've used different buttons, as in main_welc1, main_welc2, main_welc3, etc, and placed them one under another.

I'm flattered that you want to use my welcome message, but if you want to use lapper, then I'm not going to just give you the code - the welcome message is one of the very easiest things that you can change (was the very first thing I ever learned to do), and if you can change that, and make it look and work like you want, then that's a big step.

If you need help in what all the details (especially the numbers) mean in the code for making a button, then look at this POST.

Play around with the 'lite' version I made - you can even change the English to Portugese wording in the Lang "EN" section (this is the default for lapper to look in if no other languages specified), so you might change welc1 to

main_welc1 = "^7Bem-vindo a este servidor {0}%nl%^2escreva !help a ver comandos";

(Assuming google translate does what I asked!).
sinanju
S3 licensed
The one you may need is City Car Driving (webpage).

Lots of videos on youtube, like this...

sinanju
S3 licensed
Now over 400 timed laps, and the drivers at the top of each of the different car leaderboards, are...

LFSLapper6.014_v015
sinanju
S3 licensed
This is the most up to date version I have - LFSLapper6.014_v015
sinanju
S3 licensed
All 3 individual layouts (stages) attached.



Finish of 1 takes you to start of 2, finish of 2 takes you to start of 3, and finish of 3 takes you to start of 1.

It does mean in some cases you have to go over the same route twice, however at least 2nd time, its in reverse.

Any of the 3 stages can be covered in a UF1 in about 4 mins 30 secs.

Alpha 1 stage has some challenging turns, and Alpha 3 has more opportunity to cut corners, though in each layout, you have to follow the route, else you will be spec'd for missing correct route checkpoint.

Alpha 1 currently on one of my servers - road cars only.

Approx layout lengths;

1 - 6,100 metres / 3.79 miles
2 - 5,705 metres / 3.55 miles
3 - 5,780 metres / 3.59 miles
Last edited by sinanju, .
sinanju
S3 licensed
Quote from Kyance :.. currently all the "bots" do is drive in straight lines & ignore you/ram you.

Press 4 to toggle race line, and you can see where AI will drive, as this is their racing line.
sinanju
S3 licensed
Do you mean the handbrake symbol?



Put car in gear (if you have wheel with gear lever, depress clutch, move gear lever into first), then press the accelerator while lifting clutch - same as you would do in real car. If using keys or mouse, check which key is bound to changing up a gear, and press that, then press accelerator key.

If the car will only go to certain speed, change to 2nd, 3rd, etc. If car doesn't go any faster after changing gear, then make sure the speed limiter (L key) isn't toggled on. If on, pressing L will toggle it off, and if off, L will toggle it on.
sinanju
S3 licensed
A privMsg (message) and a GlobalRCM (Race Control Message) are two kinds of buttons without coloured backgrounds. You can do same with private and global buttons. Just make the number after the timer number a zero.

The values that can be used for this part of the button format, are;

0 - transparent button
16 - light button
32 - dark button
64 - transparent button with text aligned left
128 - transparent button with text aligned right

If you want to make a light colored button with text aligned to the left, combine the codes to one new code, for example 16+64 = 80

In my example, I used 32 (to put the text on a dark button).

Also, you need to discover difference between a Msg and a RCM. A Msg displays exactly same as if you were chatting to someone on a server (ie top left corner), whereas a RCM displays in large letters in middle of screen.

To quickly see difference in action, type the following in LFS;

/msg this is the first test

then try;

/rcm_all this is the second test
sinanju
S3 licensed
Type !drag to enable drag system (assuming drag.lpr is in the /includes directory, and has been added into the addonused.lpr file).
sinanju
S3 licensed
No idea what that error means.

Best thing to do is to look in all the log files that lapper collects - there will be 2 /logs directories, possibly with 2 files in each (you've found at least one). Really, you are looking for one that ends ERR.log, and see if that has details of a .lpr file that has error, e.g.

8/30/2014 6:32:06 PM -> Error: Unclosed string on file : "./flags.lpr" at line #2584

(This is one of my error messages where I somehow missed a " symbol near end of a line).

If you are lucky, it will be something like that causing the disconnect, and it will point you to correct file and likely coding line, else all I could suggest is that you check everything you have changed from original lapper installation. If you haven't changed anything, then ...????

It may be, as you play around with lapper, that you will get error messages that point to a line of code in a .lpr file. MS Notepad does not (I'm sure) give line numbers, so may be worth downloading a text editor that does - PSPad is the one I use (see post HERE for further details) - see this post HERE to see how coding will be displayed if you follow Tim's instructions.
sinanju
S3 licensed
Drag system - you have to type !drag to enable.

Whisper messages - to do with RegisterScheduleAction events in the lfslapper.lpr file.

So long since I used this, I forget about how the timing works, but you have to set time for a sub to appear, e.g.

RegisterScheduleAction( "0 1 * * * * *", SA_timetest );

Sub SA_timetest
openGlobalButton( "timetest",25,40,150,10,10,8,32,"^1This is a Whisper test message%nl%^1Hopefully it worked!" );
globalRcm("^7This is a test of a Whisper message");
EndSub

I can't remember if "0 1 * * * * *" means every minute, or 1 minute past midnight every Sunday - you may have to play around with it.

I've specified, in the test, for 2 messages to appear - globally, as you want everyone to see them? First in a button in the high up vertically, middle of screen horizontally, with red coloured text, 2nd a global message in middle of screen (will look like a button) with white coloured text. Wording displayed will also tell you which is which. You likely only want one, but you can decide if you want button or broadcast message. Button you can place in a location of your choice, whereas message always appears in middle of screen (and can only be certain number of characters in message). You can play around with private and global buttons, private and global messages, and button/text colours as you want.

In the openGlobalButton line, the 8 in the line of numbers refers to the amount of seconds the message appears. Change to suit. If it was -1, it would mean the message never clears - unless you have another sub to close it.
sinanju
S3 licensed
Find the lfslapper.lpr file, open with Notepad, or similar, and search for
Event OnConnect( $userName ) # Player event

To disable: You can either delete the things between Event/EndEvent, or put hash (#) in front of each line for lapper to ignore these lines.

To change: The buttons refer to 'main_welc1', 'main_welc2', etc. Look in the Language sections (English is in Lang "EN", French in Lang "FR", etc) for these names and change wording to suit.

You could even change the wording from English to Portuguese if you want Smile
sinanju
S3 licensed
It's no big deal.

One way, which I've done, would be to set up a GlobalVar such as $driftmeter_on_off

Event OnLapperStart()
GlobalVar $driftmeter_on_off; # For turning driftmeter on and off
$driftmeter_on_off = "on"; # driftmeter option turned on, unless driver wants to switch off
EndEvent

So the driftmeter will show, unless offered the choice for it not to.

CASE "!drift":
OnClickDriftQuery(0,0);
BREAK;

So driver types !drift and

Sub OnClickDriftQuery( $KeyFlags,$id )
openPrivButton( "dq_instruct",65,66,70,9,9,-1,32,"^6Do you wish to use the Drift Meter?" );
openPrivButton( "dq_instruct1",65,75,70,6,6,-1,32,"^8(Drifting Scoreboard Facility)" );
openPrivButton( "dq_driftyes",80,85,18,10,10,-1,32," Yes ",OnClickYesDrift );
openPrivButton( "dq_driftno",102,85,18,10,10,-1,32," No ",OnClickCloseDM );
EndSub

If they want NO, then

Sub OnClickCloseDM( $KeyFlags,$id )
SetCurrentPlayerVar( "drift_on_off","off" ); # Set drift "off"
closeButtonRegex (GetCurrentPlayerVar("UserName"), "dq_*"); # close drift query buttons
closeButtonRegex (GetCurrentPlayerVar("UserName"), "drift_*"); # closedriftboard
EndSub

This closes the query buttons and sets your global variable to off.

If they want YES, then

Sub OnClickYesDrift( $KeyFlags,$id )
SetCurrentPlayerVar( "drift_on_off","on" ); # Set drift "on"
closeButtonRegex (GetCurrentPlayerVar("UserName"), "dq_*"); # close drift query buttons
EndSub

The global variable is set to on, because the driver may have previously set to off previously while still on track.

So if Yes, when a driftscore is made (and even a BF1 in a race will make drifts if driver slides car), you first query if the drift scoreboard is on.

Event OnDriftScore( $userName ) # This is the section for displaying the Drift Meter
IF ( GetCurrentPlayerVar( "drift_on_off") == "on" )
THEN
> blah, deblah, deblah
ENDIF
EndEvent

Because you set global variable at very start to be on, and you query when a drift is done, and IF statement is true, then all drift scores will show. If player turned it off, then the IF statement will not be true, so nothing happens (shows).

You do this IF true query for every EVENT Ondrift, such as

Event OnGoodDrift( $userName ) # Player event
IF ( GetCurrentPlayerVar( "drift_on_off") == "on" )
THEN
> blah
ENDIF
EndEvent

or

Event OnDriftTooLow( $userName ) # Player event
IF ( GetCurrentPlayerVar( "drift_on_off") == "on" )
THEN
> blah
ENDIF
EndEvent

etc, etc.

Then all you have to do, is go through all the events where driver leaves track, such as pitting, spectating, leaving, etc, and turn buttons off (but not touch your global variable), and when they rejoin, turn buttons back on.

If driver leaves server, and returns, the global variable is set to on when they join, so they have to go through the process of turning off again.

I've done a big explanation here, as this global variable (with IF query) is a good way of doing stuff where you want things to show/not show. I've used this for my new Pace Notes add-on.

If driver goes through a Zone, which i've set up in RegisterZoneAction, then each zone sub has the IF on query. If not switched on, then driver doesn't see anything. Its as if the RegisterZoneAction is not there. But if it is on, then driver sees a Pace Note.

The global variable i've shown is great for easy things like the driftmeter (as detailed) and Pace Notes, and such. Where it gets difficult, is when you want to save the on/off settings, then you have to start dealing with set/get variables and values - have a look at Yisc's pitboard.lpr if you want to see how it's done properly.
sinanju
S3 licensed
Look for a file called setup.cfg, open it, and you will see a line after // host name, usually;

/host=Host Name

Change to suit, eg;

/host=MemoPedra
Westhill WE2X Alpha 1, 2 & 3 Layouts
sinanju
S3 licensed
All 3 layouts available in Post 3.

This post is about a new short course (easily sub 5 mins in UF1) I made, and which I've put on my Sin'rs server, along with a new Pace Notes system.

Layout is approx 3.79 miles / 6.1 km long.

ROUTE:


START:


PACE NOTES:


Would be interested in some feedback on the system.

Is it obvious how it works?
Does it work as expected?
Too big/too small?
Does it make sense?
Are corners graded properly (where 1 is almost a u-turn, to 6, which is just a slight kink)?
Could any the pace note lines be better written (included text file that has every pace note line [eg pn_27 = start of Sector 3])

Slightly changed the Pace Notes system, and put as Head Up Display (HUD) rather at the side, which meant you had to keep glancing away from what was unfolding in front of you, and in reality, it's not something you are likely to use more than twice, to help with route and hazards.
Last edited by sinanju, .
sinanju
S3 licensed
I've mucked about with your pitboard.lpr file a bit, so would be grateful if you can check if the backing and 'pitboard <nickname>' are shown when you join a X or Y configuration track? Doesn't on mine. I'm using your pitboard on my two WE2X servers.

Not a problem, as I've got these to pop up when you do !cfgsplits command, but if missing, would useful to be done if you ever do another update.
sinanju
S3 licensed
Quote from szympat :For what version of LFS are this layouts? And if its for 0.6H how to use it? I dont see it on the list

You'll need to buy an S2 license, as Westhill, along with Aston and Kyoto, only available with this license, along with a number of additional cars.

See LFS wiki for details.
sinanju
S3 licensed
Apologies for hijacking this thread, but I've actually started work on making some Pace Notes for a new completed layout I've made. This is because for the 2 servers I'm running with long rally type layouts, lots of people get lost first few times they try it - in fact, what happens is, they start, get lost, restart, get bit further, lost, restart, further still, lost, disconnect.

This, even when I have lots of signs.

Made a video of start of my new layout with Pace Notes, as still a long lot of notes to go.



And still not quite sure what I want to show, and how I want to show it, and I'm having real problems trying to decide what severity number rating I give a corner, where 6 is barely a kink, and 1 is almost a u-turn.



And, of course, everything will be in English.
sinanju
S3 licensed
No, and if you try it, the others will be renumbered, but likely in wrong sequence. For instance, if you have route circles 1 to 8, add an additional circle between 4 and 5, then this circle will be named 9. If you change that to 5, and change the existing 5, which is now renumbered to 6, back to 5, then 4 might become 6.
FGED GREDG RDFGDR GSFDG