PDA

View Full Version : Bug Reports


Gai-Luron
17th May 2009, 15:36
Hello,

You can put here yours bugs reports.

I need:
- Lapper version
- Last errorlog entry
- An explanation on how i can reproduce the bug.
- The script if it's a personnal script who do the error

Thank's for your help

Gai-Luron

fireb0llch
18th June 2009, 21:17
Lapper Version: 5.842c
Last Error Log:

-----------------------------------------------------------------------------
6/18/2009 10:13:30 PM

Lapper Instance 85.25.152.158/29999 abort!

Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)
Mono.Data.SqliteClient
bei Mono.Data.SqliteClient.Sqlite.sqlite3_open16(Strin g dbname, IntPtr& handle)
bei Mono.Data.SqliteClient.SqliteConnection.Open()
bei LFSDbs.DbsAccess..ctor(Debug pmyDebug, String DbName) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\Dbs\DbsAccess.cs:Zeile 45.
bei LFSDbs.gripDbs..ctor(Debug pmyDebug, String puniqueConnectionId, String DbName, Int32 LapTimeUsedForPbPar, String FtpServer, String FtpLogin, String FtpPasswd, String FtpRemotePath, String dateFormat) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\Dbs\gripdbs.cs:Zeile 72.
bei LFSLapper.LFSClient.init(String pip, Int32 pport, String pWorkingDir, String pIniFile, String pSuperUsers) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\LFSClient\lfsclient.cs:Zeile 553.
bei LFSLapper.LFSClient..ctor(String pip, Int32 pport, String pWorkingDir, String pInifile, String pSuperUsers) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\LFSClient\lfsclient.cs:Zeile 249.
bei LFSLapper.LFSListen.Listen.goWorkMode() in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\LFSListen\Listen.cs:Zeile 82.
bei LFSLapper.LFSListen.Listen.startStbMode() in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\LFSListen\Listen.cs:Zeile 270.
Int32 sqlite3_open16(System.String, IntPtr ByRef)
Closing Instance...
-----------------------------------------------------------------------------

Explanation: After starting Lapper.exe file and typing ingame !start, Lapper just restarts again in Standby. And this Error will produced. :shrug:

Whats happening? I see in the Error D:\Dev..... <--- I dont have this folder.

Greetings,
Xcite | Fireball

fireb0llch
19th June 2009, 09:37
Ok I changed all D:\DEV folder called in LFSlapper.pdb into the correct directory. But There's still an error:

-----------------------------------------------------------------------------
6/19/2009 10:34:41 AM

Lapper Instance 85.25.152.158/29999 abort!

Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)
Mono.Data.SqliteClient
bei Mono.Data.SqliteClient.Sqlite.sqlite3_open16(Strin g dbname, IntPtr& handle)
bei Mono.Data.SqliteClient.SqliteConnection.Open()
bei LFSDbs.DbsAccess..ctor(Debug pmyDebug, String DbName)
bei LFSDbs.gripDbs..ctor(Debug pmyDebug, String puniqueConnectionId, String DbName, Int32 LapTimeUsedForPbPar, String FtpServer, String FtpLogin, String FtpPasswd, String FtpRemotePath, String dateFormat)
bei LFSLapper.LFSClient.init(String pip, Int32 pport, String pWorkingDir, String pIniFile, String pSuperUsers)
bei LFSLapper.LFSClient..ctor(String pip, Int32 pport, String pWorkingDir, String pInifile, String pSuperUsers)
bei LFSLapper.LFSListen.Listen.goWorkMode()
bei LFSLapper.LFSListen.Listen.startStbMode()
Int32 sqlite3_open16(System.String, IntPtr ByRef)
Closing Instance...
-----------------------------------------------------------------------------

For your information, im using Windows Server 2007 :shrug:

VK RACING
19th June 2009, 10:52
HELLO Everybody
I have problem with my lfs lapper
when i start it lfslapper gives me error log

78.139.174.88-29999-ERR.log
"
6/11/2009 3:30:31 PM
Lapper Instance 78.139.174.88/29999 abort!
The output byte buffer is too small to contain the encoded data, encoding 'US-ASCII' fallback 'System.Text.EncoderReplacementFallback'.
Parameter name: bytes
mscorlib
at System.Text.Encoding.ThrowBytesOverflow()
at System.Text.Encoding.ThrowBytesOverflow(EncoderNLS encoder, Boolean nothingEncoded)
at System.Text.ASCIIEncoding.GetBytes(Char* chars, Int32 charCount, Byte* bytes, Int32 byteCount, EncoderNLS encoder)
at System.Text.ASCIIEncoding.GetBytes(String chars, Int32 charIndex, Int32 charCount, Byte[] bytes, Int32 byteIndex)
at InSim.Encoder.ISI(String adminPass, Int32 portNum, Byte mciSeconds, String nameApp, Boolean local) in D:\Dev\DevInsim\lapper\LFSLapper5.840\LFSLapper\sr c\InSim4.cs:line 699
at InSim.Connect.insimConnectTCP(String host, Int32 port, String adminPassword, String mode, String nameApp, Boolean isLocal) in D:\Dev\DevInsim\lapper\LFSLapper5.840\LFSLapper\sr c\InSim4.cs:line 294
at InSim.Connect.insimConnect(String host, Int32 port, String adminPassword, String mode, String nameApp, Boolean isLocal, Boolean TCPmode) in D:\Dev\DevInsim\lapper\LFSLapper5.840\LFSLapper\sr c\InSim4.cs:line 255
at LFSLapper.LFSListen.Listen.openStbMode() in D:\Dev\DevInsim\lapper\LFSLapper5.840\LFSLapper\sr c\LFSListen\Listen.cs:line 98
at LFSLapper.LFSListen.Listen.startStbMode() in D:\Dev\DevInsim\lapper\LFSLapper5.840\LFSLapper\sr c\LFSListen\Listen.cs:line 197
at LFSLapper.LFSListen.Listen.start() in D:\Dev\DevInsim\lapper\LFSLapper5.840\LFSLapper\sr c\LFSListen\Listen.cs:line 153
Void ThrowBytesOverflow()"
can anybody help me?

Gai-Luron
19th June 2009, 15:42
Hello,


Can you try in XP? Maybe An issue with sqlite dll

Gai-Luron

fireb0llch
19th June 2009, 16:21
Hello,


Can you try in XP? Maybe An issue with sqlite dll

Gai-Luron

Ok thank you, it works on XP, so do you know any solutions that it works on Windows Server 2007 too?

Greetings,
Xcite | Fireball

Gai-Luron
19th June 2009, 18:25
Ok thank you, it works on XP, so do you know any solutions that it works on Windows Server 2007 too?

Greetings,
Xcite | Fireball

Try to recompile LFSLapper using microsoft C# in windows server

Bye

Gai-Luron
21st June 2009, 09:56
@ VK RACING (http://www.lfsforum.net/member.php?u=230852)

You server pass is too big. you can have a pass less than 16 char.Insim restriction!!


Gai-Luron

Yisc[NL]
22nd June 2009, 21:10
- Lapper version: 5.842c
- Last errorlog entry: (see below)

6/22/2009 2:39:23 PM -> SQL COMMAND :
UPDATE fi_driftpb SET nickName = '^7s0k3r ^1 ^3 ^1 ' ,nickNameStripped = 's0k3r ' ,driftPoints = 639,date ='2009/06/22',time = '14:39' WHERE idEpb = 2180

-----------------------------------------------------------------------------
6/22/2009 2:39:23 PM

Lapper Instance 127.0.0.1/29989 abort!

unrecognized token: "'^7s0k3r ^1"
LFSLapper
bij LFSDbs.DbsAccess.executeNonQuery2(String _command) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\Dbs\DbsAccess.cs:regel 191
bij LFSDbs.DbsAccess.executeNonQuery(String _command) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\Dbs\DbsAccess.cs:regel 152
bij LFSDbs.driftDbs.updateRow2(Boolean immediateUpload, String userName, String nickName, String carName, String trackName, DriverLapEntry driverLapInfo) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\Dbs\driftdbs.cs:regel 248
bij LFSDbs.driftDbs.updateRow(Boolean immediateUpload, String userName, String nickName, String carName, String trackName, DriverLapEntry driverLapInfo) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\Dbs\driftdbs.cs:regel 224
bij LFSDbs.driftDbs.updateRow(Boolean immediateUpload, infoPlayer currInfoPlayer, String trackName) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\Dbs\driftdbs.cs:regel 212
bij LFSLapper.LFSClient.managePacket(LAP lapDec) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\LFSClient\managePacket.cs:regel 289
bij LFSLapper.LFSClient.Loop(Connect insimConnection) in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\LFSClient\loop.cs:regel 913
bij LFSLapper.LFSClient.doloop() in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\LFSClient\lfsclient.cs:regel 625
bij LFSLapper.LFSListen.Listen.goWorkMode() in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\LFSListen\Listen.cs:regel 85
bij LFSLapper.LFSListen.Listen.startStbMode() in D:\Dev\DevInsim\lapper\LFSLapper5.842\LFSLapper\sr c\LFSListen\Listen.cs:regel 270
Int64 executeNonQuery2(System.String)
Closing Instance...
-----------------------------------------------------------------------------

Gai-Luron
23rd June 2009, 14:36
Hello,

Fixed, take a look at the new release ;)

Gai-Luron

Yisc[NL]
23rd June 2009, 16:56
Hello,

Fixed, take a look at the new release ;)

Gai-Luron

Thanks for the new release.
Just updated my 5 server to it.

I've found one small thing in the previous releases.
When typing: stop "serverID" on Lapper console, the following is displayed on the LFS console: IS_MTC - could not find destination

Don't seem to be much of a problem but I still want you to inform you about it.

fireb0llch
23rd June 2009, 18:00
Try to recompile LFSLapper using microsoft C# in windows server

Bye

Sry.. but I really dont know how to compile with microsoft C# ;) I tried it, but it always create an installation.exe file..
Can you please explain me?

Thx!

Gai-Luron
23rd June 2009, 19:14
@fireb0llch
open csproj with c# in src dir
type F6
Go to bin/release subfolder and get the new exe file

that'all!

@Yisc[NL]
this msg is because i cut a little hardly Lapper server, but this no cause problem.
Do you take a look to the translation mode. If you have time to add it to your Scripts ;) . Then i wrote french translation. Translation section must be in you script file it's better. Prefix each key with your own prefix to avoid conflict to other translation.
Ex: if you need a not allowed message in your pitboard script

notallowed = "You are not allowed";
better with
pitboard_notallowed = "You are not allowed";

bye

Gai-Luron

fireb0llch
24th June 2009, 17:40
@fireb0llch
open csproj with c# in src dir
type F6
Go to bin/release subfolder and get the new exe file

that'all!

@Yisc[NL]
this msg is because i cut a little hardly Lapper server, but this no cause problem.
Do you take a look to the translation mode. If you have time to add it to your Scripts ;) . Then i wrote french translation. Translation section must be in you script file it's better. Prefix each key with your own prefix to avoid conflict to other translation.
Ex: if you need a not allowed message in your pitboard script

notallowed = "You are not allowed";
better with
pitboard_notallowed = "You are not allowed";

bye

Gai-Luron

hm.. thats weird, im opening this file on the root Server, push F6 but nothing happening... dont know why.. :shrug:

Gai-Luron
24th June 2009, 18:19
Do you look in folder i say to you?

fireb0llch
24th June 2009, 18:40
yes, no new files were added there.

Gai-Luron
24th June 2009, 18:58
Try project->rebuild or something like

Yisc[NL]
25th June 2009, 12:24
- Lapper version: 5.843

I worked all day yesterday on implementing the langengine into the Pitboard code.
After a hard day of work I fired it up last night and ran into some troubles.
I've fixed most of them but two things aren't working so far.

Maybe those things aren't bugs in the end but as far as I do know now, they are.

First thing is about putting some text+values in a variable, where the text should be extracted for the language engine:


Sub OnSpbSplit1_Pitboard() # Player event
### Set colors when current S1 is best S1 or within set limit of best S1 ###
IF ( GetCurrentPlayerVar("isBestSectorSplit1") == 1)
THEN
$Color_split1 = "^2";
SetCurrentPlayerVar("Lastsplit1_color","^1" );
IF ( GetCurrentPlayerVar( "lost_gained_messages" ) == "yes")
THEN
IF ( GetCurrentPlayerVar("Information_2") == "")
THEN
SetCurrentPlayerVar("Information_2", langEngine( "%{pitboard_gained_time}%") . NumToMSH(GetCurrentPlayerVar( "DiffSectorSplit1" )) );
ENDIF
ENDIF
ENDIF
EndSub

Lang "EN"
pitboard_gained_time="^2you've gained^7: ";
EndLang


But when the event is displayed it shows: [[TranslateEngine]]-0.07.11
While it should say: You've gained : -0.07.11

--------

Second thing is about the same event but then with only text displayed.


### Text-mode when people choose not to use the Pitboard ###
IF ( GetCurrentPlayerVar("isBestSectorSplit1") == 1)
THEN
PrivMsg ( langEngine( "%{pitboard_text_current_sector_1}%") . $Color_split1 . NumToMSH(GetCurrentPlayerVar( "SectorSplit1" )) . langEngine( "%{pitboard_text_last_sector_1}%") . GetCurrentPlayerVar( "Lastsplit1_color" ) . GetCurrentPlayerVar( "Lastsplit1" ) . langEngine( "%{pitboard_text_best_sector_1}%") . NumToMSH(GetCurrentPlayerVar( "SectorSplit1" )) );
ELSE
PrivMsg ( langEngine( "%{pitboard_text_current_sector_1}%") . $Color_split1 . NumToMSH(GetCurrentPlayerVar( "SectorSplit1" )) . langEngine( "%{pitboard_text_last_sector_1}%") . GetCurrentPlayerVar( "Lastsplit1_color" ) . GetCurrentPlayerVar( "Lastsplit1" ) . langEngine( "%{pitboard_text_best_sector_1}%") . NumToMSH(GetCurrentPlayerVar( "BestSectorSplit1" )) );
ENDIF

Lang "EN"
pitboard_text_current_sector_1="^7CS1: ";
pitboard_text_last_sector_1=" ^7| LS1: ";
pitboard_text_best_sector_1=" ^7| BS1: ";
EndLang


All text parts coming from the language engine are displayed as: [[TranslateEngine]]

--------

Third thing is about the button for text input.


### Set value (in milliseconds) when split has to be shown in yellow. ###
openPrivButton( "config_pb_split_setting_txt",$lr_coordinate+1,$tb_coordinate+51,48,5,5,-1,32,langEngine( "%{pitboard_config_yellow_split_setting}%") );
IF ( GetCurrentPlayerVar ("split_setting") == "")
THEN
openPrivTextButton( "config_pb_split_setting_value",$lr_coordinate+1,$tb_coordinate+56,48,5,5,32,lang Engine( "%{pitboard_config_time_milliseconds_long}%"),langEngine( "%{pitboard_config_time_milliseconds_short}%"),5,config_pb_split_setting_value );
ELSE
openPrivTextButton( "config_pb_split_setting_value",$lr_coordinate+1,$tb_coordinate+56,48,5,5,32,lang Engine( "%{pitboard_config_time_milliseconds_long}%"),"^3".GetCurrentPlayerVar ("split_setting"),5,config_pb_split_setting_value );
ENDIF
### End ###


The button is working as intended but the title of the button is again displayed [[TranslateEngine]] (see screenshots below)

Gai-Luron
25th June 2009, 13:27
pitboard_gained_time="^2you've gained^7: {0}";

When you use langEngine give one parameter for replacing {0}
langEngine( "%{pitboard_gained_time}%",NumToMSH(GetCurrentPlayerVar( "DiffSectorSplit1" ))

Lapper replace {0} in string with NumToMSH(GetCurrentPlayerVar( "DiffSectorSplit1" )

you can add more {0} {1}...{n} and give to langEngine the prarameter to be used for replace this. Take a look a LFSLapper.cfg, i use it in most case.

I think same issue for the rest of your exemple ;)

Gai-Luron

Yisc[NL]
25th June 2009, 13:45
Thanks for the quick answer, will take a look at it again.
Must admit I wanted to kill someone last night because of all the work done and the result not showing :(
But I will go on with the project ;)

Yisc[NL]
25th June 2009, 14:40
Well the results are even worse now and I decided to give up.
Maybe it's a good system for translations, but I seem to be too stupid to understand it.
Waste of time to get it all working in such a hugh and complicated script as the Pitboard.

Gai-Luron
25th June 2009, 16:45
Hello,

give me you work done ( script file ) and i try to correct then and explain more to you. No you aren't stupid, it's a system like programmation similar to string.format in c#. A little time is needed to understand how it work :). Don't worry, i am sure you understand quickly how is work :smileypul

Gai-Luron

fireb0llch
25th June 2009, 16:52
Try project->rebuild or something like
I just cant find any rebuild options here, look at my screeni ;) :shrug:

Gai-Luron
25th June 2009, 17:48
it's not visual basic you need to use but visual c#

sinanju
2nd July 2009, 13:30
Currently the !drf leaderboard table has smaller scores at top, with larger scores taking next positions.

This is wrong way round.

Can table be changed so largest score at top, then down in descending order?

Gai-Luron
2nd July 2009, 18:08
Hello,


it's a bug, Sorted :)

Download corrected release. Replace only exe file.


Bye

Gai-Luron

fireb0llch
5th July 2009, 08:12
it's not visual basic you need to use but visual c#

Hi there, i downloaded and installed visual C# and open the project. But after pushing F6 nothing happens again :shrug:

revolucio
7th July 2009, 12:53
Hi there, i downloaded and installed visual C# and open the project. But after pushing F6 nothing happens again :shrug:

To compile is F5

fireb0llch
7th July 2009, 17:10
To compile is F5
Thank you! Ok I got the new exe file, but there's still the same error:

-----------------------------------------------------------------------------
7/7/2009 6:09:25 PM

Lapper Instance 85.25.152.158/29999 abort!

Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)
Mono.Data.SqliteClient
bei Mono.Data.SqliteClient.Sqlite.sqlite3_open16(Strin g dbname, IntPtr& handle)
bei Mono.Data.SqliteClient.SqliteConnection.Open()
bei LFSDbs.DbsAccess..ctor(Debug pmyDebug, String DbName)
bei LFSDbs.gripDbs..ctor(Debug pmyDebug, String puniqueConnectionId, String DbName, Int32 LapTimeUsedForPbPar, String FtpServer, String FtpLogin, String FtpPasswd, String FtpRemotePath, String dateFormat)
bei LFSLapper.LFSClient.init(String pip, Int32 pport, String pWorkingDir, String pIniFile, String pSuperUsers)
bei LFSLapper.LFSClient..ctor(String pip, Int32 pport, String pWorkingDir, String pInifile, String pSuperUsers)
bei LFSLapper.LFSListen.Listen.goWorkMode()
bei LFSLapper.LFSListen.Listen.startStbMode()
Int32 sqlite3_open16(System.String, IntPtr ByRef)
Closing Instance...
-----------------------------------------------------------------------------

Is there any other possibilitys? :shrug:

Gai-Luron
7th July 2009, 18:42
Hello,

Mono.Data.SqliteClient.dll won't work in Vista. I am not the writer of this DLL and i don't have vista to try another solution. I can't do anything for you,

sorry!

fireb0llch
7th July 2009, 19:47
Hello,

Mono.Data.SqliteClient.dll won't work in Vista. I am not the writer of this DLL and i don't have vista to try another solution. I can't do anything for you,

sorry!

Ok, then I will stay at the old Release ;) I will try to install VMware on Vista and run XP, hope this will work.

Again, Thanks for your help. :thumb:

fireb0llch
12th July 2009, 16:28
Ok I got it worked now, Lapper is on Workingmode, but if you drive a time, no time will saved.

What's the problem? :shrug:

Gai-Luron
12th July 2009, 17:29
Do you have your base created. Extension is .dbs. If yes, do you have set the default car with your current car

Gai-Luron

fireb0llch
12th July 2009, 19:00
Do you have your base created. Extension is .dbs. If yes, do you have set the default car with your current car

Gai-Luron

lol right sry, my fault ;)

But I have then next problem now, see Screenshot plz.

What problem is this? I only modified the Welcome window from Yisc I think. :shrug:

Gai-Luron
12th July 2009, 20:04
Coordonate of pit windows or pitboard overlap i think. Try to start with a fresh config

Fire_optikz001
20th July 2009, 07:05
Bug in my config i have seen this in 843 too

it says show spliting info =/

(see bug.jpg)

sinanju
21st July 2009, 13:12
Drifting Options Section of Lapper

Not really bugs, as just a bit of housekeeping required.

Event OnDriftPB() # Player event
globalRcm( langEngine( "%{main_newdriftpb}%" , GetCurrentPlayerVar("Nickname"),GetCurrentPlayerVar("DriftScore") . " ^3pts!") );
EndEvent

At the end of this code, you have ^3pts! But under the language engine, you have main_newdriftpb = "{0}^3 made new PB: ^7{1} ^3pts!";

This is duplicating the pts!

Also.

You have some slight duplication with this Event OnDriftPB() coding. First (as above) is a globalRcm, but then this is followed with same code but with globalMsg.

If both required, then surely could have:

Event OnDriftPB() # Player event
globalRcm( langEngine( "%{main_newdriftpb}%" , GetCurrentPlayerVar("Nickname"),GetCurrentPlayerVar("DriftScore")));
globalMsg( langEngine( "%{main_newdriftpb}%" , GetCurrentPlayerVar("Nickname"),GetCurrentPlayerVar("DriftScore")));
EndEvent

emit-nl
31st July 2009, 10:18
I get the same message as Yisc[NL]; IS_MTC - could not find destination.
But I don't get this message when i stop LFSLapper.. but I get it when a player leaves the server..

I can see this in the server:
player disconnected << lfs host message
IS_MTC - could not find destination << lfs host message
player left the server << main_left_server message from lapper

I don't understand what you said to Yisc[NL], could you explain this to me? It is not a hard error, but I like to know why it is and if I can fix this?

Thx:thumb:

Tim



@Yisc[NL]
this msg is because i cut a little hardly Lapper server, but this no cause problem.
Do you take a look to the translation mode. If you have time to add it to your Scripts ;) . Then i wrote french translation. Translation section must be in you script file it's better. Prefix each key with your own prefix to avoid conflict to other translation.
Ex: if you need a not allowed message in your pitboard script

notallowed = "You are not allowed";
better with
pitboard_notallowed = "You are not allowed";

bye

Gai-Luron

edit:
Maybe I have found the reason of the message..
After that a player disconnects the server, the host says something like 'player disconnected'.
Thereafter lapper says 'player has left'.

From an other programmer I heard this message is something like; lapper wants to say something about the person who left, but he is allready gone..
I think thats why the error message is there.

I think i put a # before the lines that are meaned for the 'has left messages', because it only says again what the host allready said.
(host says 'player disconnected' and lapper says 'player has left'.. so the 2 messages are exactly the same meaning i think)

If I'm wrong with my thoughts about the error messages, I'd like to hear it from you :)

Sorry if my English isn't that good btw!

Tim - Sinsanity racing team

Tim NL
2nd August 2009, 16:09
Hi,
I found a small bug in 5.844
The new LapperVar's in release 5.844 will not work so fine.

RaceLaps = number or laps for a race
QalMins = number or minute in a qual
racelapsleft = Race lap left before end of race

getLapperVar( "RaceLaps" );
getLapperVar( "QalMins" );


The number of race laps are only show when you in a race and the QualMins don't show anything.

I tested white the next script.
Type !test in a qual session gives RaceLaps :0 and QalMins :
Type !test in a race session gives RaceLaps :6 (OK,is number of racelaps ) and QalMins :
After a race or when race is not started ( nobody on the track) the number of race laps will stay on 0.
The getLapperVar( "QalMins" ) stay always empty.

CASE "!test":
cmdLFS( "/msg RaceLaps :" . getLapperVar( "RaceLaps" ));
cmdLFS( "/msg QalMins :" . getLapperVar( "QalMins" ));
BREAK;

Krayy
2nd August 2009, 22:05
Hi,
I found a small bug in 5.844
The new LapperVar's in release 5.844 will not work so fine.

RaceLaps = number or laps for a race
QalMins = number or minute in a qual
racelapsleft = Race lap left before end of race

getLapperVar( "RaceLaps" );
getLapperVar( "QalMins" );
The number of race laps are only show when you in a race and the QualMins don't show anything.

I tested white the next script.
Type !test in a qual session gives RaceLaps :0 and QalMins :
Type !test in a race session gives RaceLaps :6 (OK,is number of racelaps ) and QalMins :
After a race or when race is not started ( nobody on the track) the number of race laps will stay on 0.
The getLapperVar( "QalMins" ) stay always empty.

CASE "!test":
cmdLFS( "/msg RaceLaps :" . getLapperVar( "RaceLaps" ));
cmdLFS( "/msg QalMins :" . getLapperVar( "QalMins" ));
BREAK;
Hey there Tim,

I think you have a spelling mistake, in that the var is "qualMins", with a "u" in it.

Here's a summary of how it works after the modifications to the code for the Car Reset functions:

When you start a qual or race, InSim sends an RST packet. If its a qual session, then the QualMins variable is set to the number of minutes, and RaceLaps will be 0. These vars are transposed into the currRace object and can be used to determine if a race is in progress. The qual session will run until the time runs out.

If it is an actual race, then RaceLaps & RaceLapsLeft will be set based on the number of laps or time that is set out in the InSim.txt file (cut & pasted here), and QualMins is used slightly differently.
// RaceLaps (rl) : (various meanings depending on range)

// 0 : practice
// 1-99 : number of laps... laps = rl
// 100-190 : 100 to 1000 laps... laps = (rl - 100) * 10 + 100
// 191-238 : 1 to 48 hours... hours = rl - 190


Now if the race is lap dependant, currRace.raceLaps will contain the original value, and currRace.raceLapsLeft will contain the ACTUAL number of laps remaining (decreased when leader passes the finish line).

Things get tricky when it's a timed race. When that is started, currRace.raceLaps will contain the original value, currRace.qualMins will contain the ACTUAL time remaining (we could change that to a raceMins var easily enough), which again is decreased when the leader passes the line (in fact we should decrease it after anyone passes the line).

If the race time is LESS THAN 5 MINS, then raceLapsLeft is set to 1. This is due to the uncertainty of how long a given lap would take when accounting for last few lap crashes or other unforseen incidents.

Does that sort of explain it?

Tim NL
3rd August 2009, 15:38
Hey there Tim,

I think you have a spelling mistake, in that the var is "qualMins", with a "u" in it.


Hi,

Thanks for quick answer.
I tried qualMins , QualMins qualmins and Qualmins but the qualMins will stay empty.:shrug:

I wanted to use this vars in the configGui to set automatic the nummer of laps and the qual time.
At the moment the number of laps and qual time is set in the configGui script so the configGui shows the correct values.

### SET THE FOLLOWING VAR'S TO SETUP YOUR SERVER WHEN LFSLAPPER (RE)START ####
$GUI_Lap_hour_number = 5 ; #Number of race laps
$GUI_qual = 10 ; #Number of qual minutes
$GUI_wind = 0 ; #0=no wind 1=low wind 2=hard wind
$GUI_weather = 1 ; #set type of wheather 0,1 or 2
$GUI_mustpit = "no" ; #need to pit yes or no
$GUI_fcv = "no" ; #Force cockpit view yes or no
$GUI_drift = "no" ; #Drift option yes or no ( see the part at end of this script)
$GUI_midrace = "yes" ; #Join midrace yes or no
$GUI_start = "finish" ; #Race start order : fixed/finish/reverse/random
$GUI_current_car = "?" ; #You can set here the default car. If not set,the first time when the config GUI start its show's a "?".
### END ###

Using getLapperVar( "RaceLaps" ) will not work for the configGui because the number of racelaps is not always the correct number ( sometimes 0 if there is a qual ).

So i dont change this in the configGui :) and leave it like it is.

Krayy
3rd August 2009, 21:39
I've just submitted a patch to Gai Luron for inclusion of the qualMins var, as well as changing the Car Reset and LapsLeft code to use a new raceMins var.

sinanju
20th August 2009, 23:47
Lapper v 5.844

The !drf table will overlay someone's name on top of another if both have same score.

x > EDIT

Have since found that 2 or more people with same score don't get overlaid.

Instead, someone has strange user- or nick-name.

[F
F]ROY[RP]

Somehow they've got their name to appear on 2 lines, so it's taking up 2 line/cell spaces, and the 2nd line is overlaying cell underneath.

Clever of them to do that with their name, but pain in the rear still the same! :)

At top of 2nd attachement, you will see that 2 people have same score, but names aren't overlaying.

Haven't looked, but I've probably got same issue with !top table.


=> Further edit

Checked database entry, and found that racer is ^2[F&F]^7ROY^1[RP]

Would appear that Lapper is treating the ampersand (&) symbol as a script item and putting everthing afterwords on new line!

At least I can now edit database to get rid of problem (change & to +).

Fire_optikz001
22nd August 2009, 02:05
lol wow that must be a pain

Silox
22nd August 2009, 08:33
Hi Gai-Luron,

We run our FPRS Demoserver now with a huge swearlist that is located in an external file. We pointed to that file through the config and all works fine.

There only is a single problem:
In the swearlist we have the word 'bastard', just as an example. When someone shouts 'bastard', he gets kicked for swearing. But when someone shouts 'Bastard' of 'BASTARD', they don't get kicked. I think a simple .ToLower should do the trick here?

sinanju
22nd August 2009, 08:54
Hi Gai-Luron,

We run our FPRS Demoserver now with a huge swearlist that is located in an external file. We pointed to that file through the config and all works fine.

There only is a single problem:
In the swearlist we have the word 'bastard', just as an example. When someone shouts 'bastard', he gets kicked for swearing. But when someone shouts 'Bastard' of 'BASTARD', they don't get kicked. I think a simple .ToLower should do the trick here?
You also need to think about phone-like texting variations, such as
b4st4rd, p1ss, pr1ck, etc.

Silox
23rd August 2009, 13:37
You also need to think about phone-like texting variations, such as
b4st4rd, p1ss, pr1ck, etc.

Yeah, I had that in mind but if you get kicked for pr1ck, but not for PRI1CK I would have to add an immense list which would slow the lapper down a bit.

Gai-Luron, I also have a rather more annoying and important bug:

In the last week we found out that more then 9000 pb's got cleared from the PB.txt file. We started this month with over 13000 pb's but now there are only 4000 left. We haven't made any changes to the file or to the lapper. Is there a possibility that the lapper cleared them or that some bug has occured?

sinanju
29th August 2009, 22:44
I've been playing around a lot recently with the countdown facility, and have noticed a problem.

Example coding for starting countdown, sub-routine after started and another subroutine at end.

CASE "!count":
openGlobalButton( "counter_text1",80,55,40,40,5,3,0,"^7( ^1READY ^7)", onfinishopenstart);
BREAK;

Sub onfinishopenstart($KeyFlags,$id)
closePrivButton("counter_text1");
openGlobalButton( "lone_counter",80,55,40,40,5,6,0,"^3> %cpt% <", endcounter );
EndSub

Sub endcounter($KeyFlags,$id)
closePrivButton("counter_text1&lone_counter");
openGlobalButton( "circle_GO",80,55,40,40,5,4,0,"^2! GO !");
EndSubHowever I seem to do countdown, it always starts correctly, but misses 2nd number of countdown; i.e. if set to 6 (like above code) it goes
6
4
3
2
1

If I set it to 10, it goes - 10, 8, 7, 6....
Set it to 5, goes - 5, 3, 2...

Anyone else having this problem?

Fire_optikz001
29th August 2009, 22:46
yep :(

EDIT: not any more :)

EDIT 2: oh now it does again seems that the first time it skips after that it dont idk

Krayy
31st August 2009, 00:15
<snip>
If I set it to 10, it goes - 10, 8, 7, 6....
Set it to 5, goes - 5, 3, 2...

Anyone else having this problem?
The problem that you are experiencing looks to me like its due to latency in the lapper code itself. The doCountDown function subtracts the current time in seconds from the predicted button visible time in seconds then updates the text. The problem is that when doing time subtractions in seconds, there is some rounding going on that may cause the function to skip a second. So if you open the button the first time at 3.9 second past the minute, the text wont update till at least 1 second has passed. If the code gets executed 1.2 seconds later, then you are now at 5.1 seconds past the minute. Second 4 has effectively disappeared. This time slip will be cumulative, so I would suspec that if you have a button counting down from 20 or 30, you would see 3 or 4 numbers missed. Give it a test if you can and see what the outcome is.

So the problem could occur at any time, not just for the second number. It also depends on several other factors, like how many buttons are visible, how many of them are countdowns, and if lapper is doing some other things as well.

One possible fix may be to do the time subtractions in milliseconds rather than seconds to make it more accurate. Other things we could is to go through the code and do some tuning to see if the number of system calls, functions and other bits around the countdown stuff can be made faster.

Fire_optikz001
31st August 2009, 03:05
The problem that you are experiencing looks to me like its due to latency in the lapper code itself. The doCountDown function subtracts the current time in seconds from the predicted button visible time in seconds then updates the text. The problem is that when doing time subtractions in seconds, there is some rounding going on that may cause the function to skip a second. So if you open the button the first time at 3.9 second past the minute, the text wont update till at least 1 second has passed. If the code gets executed 1.2 seconds later, then you are now at 5.1 seconds past the minute. Second 4 has effectively disappeared. This time slip will be cumulative, so I would suspec that if you have a button counting down from 20 or 30, you would see 3 or 4 numbers missed. Give it a test if you can and see what the outcome is.

So the problem could occur at any time, not just for the second number. It also depends on several other factors, like how many buttons are visible, how many of them are countdowns, and if lapper is doing some other things as well.

One possible fix may be to do the time subtractions in milliseconds rather than seconds to make it more accurate. Other things we could is to go through the code and do some tuning to see if the number of system calls, functions and other bits around the countdown stuff can be made faster.

hmm that makes me wonder why can we do that kind of thing with drift? update every millisecond rather then after drift?

sinanju
31st August 2009, 10:39
One possible fix may be to do the time subtractions in milliseconds rather than seconds to make it more accurate. Other things we could is to go through the code and do some tuning to see if the number of system calls, functions and other bits around the countdown stuff can be made faster.
I can tell you for a fact, that my lapper.lpr file is a complete mess - full of lines starting with a #

Some ideas I've implemented, and gave up on, or changed, or moved, or testing, etc. Not forgetting the sub-routines that go with these, and are left cluttering up the place.

One day, when it's no longer a WIP!

-----------------

Countdown with larger number - tried a few, and hit and miss, but it misses at least 1 second, but more normally 2.
(20,18,17,16....)

Krayy
20th September 2009, 03:31
Found a slight bug which was enough to stuff up my car reset stuff.

In the ListPlayers.cs file, there is a function called "RaceRestart" which is meant to zero out a number of race related values for each player. Some values aren't included in the reset code like the ones below:

(currInfoPlayer as infoPlayer).bestSpeed = 0;
(currInfoPlayer as infoPlayer).currSplit = 0;
(currInfoPlayer as infoPlayer).currVote = (int)InSim.vtn.VOTE_NONE;
(currInfoPlayer as infoPlayer).drivethroughcount = 0;
(currInfoPlayer as infoPlayer).finishedPos = 0;
(currInfoPlayer as infoPlayer).lapTime = 0;
(currInfoPlayer as infoPlayer).lastSplitTime = -1;
(currInfoPlayer as infoPlayer).maxLapSpeed = 0;
(currInfoPlayer as infoPlayer).pitTime = 0;
(currInfoPlayer as infoPlayer).racePBTime = 0;
(currInfoPlayer as infoPlayer).raceTotalTime = 0;


Also, the patch below will update the parseEvents.cs file to always return a valiue for the "finishedpos" variable (as peviously it only returned a value if the user had actually finsihed a race), and also adds a new GL function "userisadmin". This is to allow all admin functions to work if the UCID of the user is 0, which is the host. To use this, replace any IF clause in your lapper file that uses 'UserinGroup("admin", $userName)', with 'UserIsAdmin($userName)', Like this:

CASE "!ban":
IF ( UserIsAdmin( $userName ) == 1 )
THEN
privMsg ( langEngine( "%{main_ban}%", GetCurrentPlayerVar( "Nickname" ), GetPlayerVar( $argv, "Nickname" ) ) );
cmdLFS ( "/ban " . $argv . " 1" );
ENDIF
BREAK;

PS: If you do use this function to determine Admin status, you can then comment out the UserGroupFromFile( "admin", "./admin.txt" ); function in the oNmso event so that you're not reading in that file and populating the admin group stuff every time you do any Lapper command.

Gai-Luron
20th September 2009, 09:41
Hello,

I apply your modification on SVN repository. Get the freshen file. I Add a new config Var

Add $AdminFile in LFSLapper.lpr file to specify what file is used
for UserIsAdmin function


#################
#General options#
#################

$AdminFile = "./admin.txt"; # Name of the file containing admin lfsname player
...



Thank you

Gai-Luron

Krayy
24th September 2009, 22:17
Dang,

I should have double checked the RaceRestart variables I pasted here...I made an error with FinishedPos. it should be -1, not 0:

(currInfoPlayer as infoPlayer).finishedPos = -1;

Also, in the ParseEvent.cs file, the code to return the finishedpos var needs to be changed slightly, else it won't return a value:

case "finishedpos":
val.typVal = GLScript.typVal.num;
val.fval = (float)currInfoPlayer.finishedPos + 1;
break;

Tur8o
28th September 2009, 22:49
Hey Guys
Web Commands Thread Started...
9/28/2009 10:37:30 PM -> Connection unavailable or lost on 127.0.0.1/17468, retry in 1mn
9/28/2009 10:37:30 PM -> Connecting to 127.0.0.1 / 17468
Connection OK
9/28/2009 10:38:27 PM -> Connecting to 127.0.0.1 / 17468
Connection OK
9/28/2009 10:40:25 PM -> Connecting to 127.0.0.1 / 17468
Connection OK
i dont get what this means :/ could someone help please..

Thanks Tur8o

Gai-Luron
29th September 2009, 12:19
Hello,

LFS try, in accordance to your host file, to connect on your localhost port 17468 and can't

Gai-Luron

Krayy
5th October 2009, 20:05
I found a bug that got in from one of my updates (d'oh) that can overwrite the DefaultTopCar. This change needs to made to the TopGrip function so it will not overwrite teh CarName if it has already been set:

Index: cmdLapper.cs
================================================== =================
--- cmdLapper.cs (revision 12)
+++ cmdLapper.cs (working copy)
@@ -96,6 +96,11 @@

infoPlayer currPly = listOfPlayers.getPlayerByUCID(UCID);

+ if (carName == "" && currPly.CName != "") // Set default car to current car if no default set in the lapper config
+ {
+ carName = currPly.CName;
+ }
+
closeAllTop(currPly);

string[] splitCmd = cmd.Split(' ');

Andy King
10th November 2009, 23:44
Hi Gai,
You have broke the GetCurrentPlayerVar("UNameBefore") in the version you sent me. The GetCurrentPlayerVar("UNameBehind") works fine.

Gai-Luron
11th November 2009, 10:04
Hello,

Okay, my mistake, i fix for the next Release. It's a lowercase case issue in N

use for Now before my next release ( soon )

GetCurrentPlayerVar("UnameBefore") the N is in wrong Lowercase in you LFSLapper beta version.

Sorry!

Gai-Luron

Andy King
12th November 2009, 17:59
Hi Gai,
Can you check...
SUB TRI_split1_0($UserName) # Player EVENT
SUB TRI_split1_1($UserName) # Player EVENT
SUB TRI_split1_2($UserName) # Player EVENT

as I am getting errors from it....
Syntax error in cfg file: Number of function argument not matche at line #1363 in function 'tri_split1_2' script aborted

Gai-Luron
12th November 2009, 21:20
SUB TRI_split1_2 it's your add, do you define it and where. it need username in args


Sub TRI_split1_0( $userName ) # Player event
globalMsg( langEngine( "%{main_great1}%", NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) );
EndSub

Sub TRI_split1_1( $userName ) # Player event
globalMsg( langEngine( "%{main_good1}%",NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) );
EndSub

Sub TRI_split2_0( $userName ) # Player event
globalMsg( langEngine( "%{main_great2}%", NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) );
EndSub

Sub TRI_split2_1( $userName ) # Player event
globalMsg( langEngine( "%{main_good2}%",NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) );
EndSub

Sub TRI_split3_0( $userName ) # Player event
globalMsg( langEngine( "%{main_great3}%", NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) );
EndSub

Sub TRI_split3_1( $userName ) # Player event
globalMsg( langEngine( "%{main_good3}%",NumToMSH(GetCurrentPlayerVar("SplitTime")),GetCurrentPlayerVar("Nickname") ) );
EndSub

Sub TRI_lap_0( $userName ) # Player event
globalMsg( langEngine( "%{main_greatlap}%",NumToMSH( GetCurrentPlayerVar("LapTime") ), GetCurrentPlayerVar("Nickname" ) ) );
EndSub

Sub TRI_lap_1( $userName ) # Player event
globalMsg( langEngine( "%{main_goodlap}%", NumToMSH( GetCurrentPlayerVar("LapTime") ), GetCurrentPlayerVar("Nickname") ) );
EndSub

Andy King
12th November 2009, 22:15
Hi Gai, I added.......
Split1Action = TRI_split1_0:TRI_split1_1:TRI_split1_2
Split2Action = TRI_split2_0:TRI_split2_1:TRI_split2_2
Split3Action = TRI_split3_0:TRI_split3_1:TRI_split3_2
LapTimeAction = TRI_lap_0:TRI_lap_1:TRI_lap_2
to Trackinfo.cfg and it worked, it was a long time ago and don't think I defined it anywhere.

EDIT: Found it Gai it was my points system causing the issue, sorry.

Andy King
19th November 2009, 11:01
Hi Gai,
Can you take a look at the CPU Usage before running Lapper and then while running Lapper. After a Lapper crash it seems to be causing 100% CPU Usage after closing it down and restarting.

CPU Usage: My Server after a reboot with LFS Running....
96243

CPU Usage: My Server after a reboot with LFS & Lapper running....
96244

Will add screenshot after lapper crash to show CPU Usage locked at 100% after it happens and will attach error log.

Gai-Luron
19th November 2009, 13:12
Hello,

The crash is not a CPU usage's consequence but CPU usage is crash's consequence. When LFSLapper crash, C# release all memory, release all thread , then it restart and C# allocate all things. This is why the 100 cpu usage.
Normaly, the cpu usage slow down after reload of lapper


Gai-Luron

Andy King
19th November 2009, 18:10
Hi Gai, it remains at 100% until you reboot the machine. I left it overnight after a Lapper crash and in morning it was still at 100%. I rebooted machine and CPU was at 1-2% then started LFS and Lapper which took it up for 30 seconds and then its went back to 2-4% until it crashed. The crash has to be a Stack Type empty crash where Lapper tells you to look in the log within the dos screen.

I will try and reproduce the crash. and save all logs to show you.

Fire_optikz001
19th November 2009, 18:56
Hi Gai, it remains at 100% until you reboot the machine. I left it overnight after a Lapper crash and in morning it was still at 100%. I rebooted machine and CPU was at 1-2% then started LFS and Lapper which took it up for 30 seconds and then its went back to 2-4% until it crashed. The crash has to be a Stack Type empty crash where Lapper tells you to look in the log within the dos screen.

I will try and reproduce the crash. and save all logs to show you.


:P it dont do that for me i think it might be ur pc :P

Gai-Luron
19th November 2009, 20:24
Hello,

Take a look on what is the process who take 100% of cpu. Take a look also in your script if there is an infinite loop in one of this. In next release i can try to make an timeout on each event or sub to limit this crash possibility.

Without the log for view the error, i can't do anything :(

Gai-Luron

Andy King
19th November 2009, 21:08
:P it dont do that for me i think it might be ur pc :P

I reinstalled the OS on my server on Tuesday because evalution period expired lol and it was still doing it yesterday. Also Dean from 500Servers told me about the CPU usage because I said my Servers hosted with him were laggy so it was him that put me onto it.

I may have a loop Gai but if I reboot my local Server and start my Testing LFS and Lapper and connect and use it it's all fine until I make an error scripting and it crashes then I can't even start Lapper for a while as it just comes up with DOS screen and no version number etc etc. I have to wait maybe 2 - 3 minutes before it will start properly and connect.

I haven't had time to make it crash but will try when I get in from work.

Gai-Luron
19th November 2009, 21:46
Hello,

Take a look if it crash if LFSLapper.exe still running looking at process. Because you think lapper is crashed but it is in infinite loop and work. In this case it can take 100% cpu and second Lapper started take very much time to start because .NET is very busy with the first one.

i hope this can help you!

Gai-Luron

Andy King
21st November 2009, 13:42
Hi Gai,
Can you take a look at posabs as it doesn't seem to be working.

Andy King
23rd November 2009, 22:43
Hi Gai,
v5.9.0.3RC end pit message says can't find "id main_pit notfound" and I don't use the language files so it must be hard coded or something. Anyway thats the message received making a pitstop.

Gai-Luron
24th November 2009, 08:42
if i remember it is in one include, defpit.lpr. you must add in this file the part of lang definition used

Gai-Luron

Andy King
25th November 2009, 12:58
Hi Gai,
Can you take a look at posabs as it doesn't seem to be working.

Hi Gai, any ideas on why its not working.

Gai-Luron
25th November 2009, 18:10
DefaultTopCar not set correctly


Gai-Luron

Andy King
25th November 2009, 21:20
Hi Gai,
I haven't touched DefaultTopCar and it worked fine in earlier releases.

$DefaultTopCar = "FXR";

Andy King
26th November 2009, 01:41
Hi Gai,
v5.9.0.4 is doubling RegisterScheduledAction I am getting 2 messages per single action. It's as if I have 2 lappers running.

EDIT: The reason I think its Lapper is because I am also getting doubled private messages. I have the ScheduledActions in a SUB but just moved them to OnLapperStart and they still double but not at beggining look at screenshots.

v5.9.0.4 - SheduledActions in SUB 96543

v5.9.0.4 - SheduledActions not in SUB 96544

v5.9.0.3 - SheduledActions in SUB 96546

I never touched or sent any !Commands to Lapper just restarted Lapper.exe and as you can see it sends 1 ADMIN message and then starts doubling up without any intervention from me.

Can you also take a look at the Private Messages as don't need 4 lines everytime a PM is sent.

Gai-Luron
26th November 2009, 06:20
Strange, in my test i haven't this issue!! i take a look tonite, but can you try to see if there is 2 scheduled action are calling the same sub? or duplicate schedule action?

Gai-Luron

Yisc[NL]
26th November 2009, 09:37
I want to report a long standing bug (but never reported it before).
When you use arrow up on the Lapper console to use a previous command, the commands are confused (see screenshot).
After that it's very hard to execute the correct command since it keeps doing previous commands.

Yisc[NL]
26th November 2009, 10:56
I can confirm that every scheduled action is executed twice.


Event OnLapperStart()
RegisterScheduleAction( "myTest","0 * * * * * *", Check_schedule );
EndEvent

Sub Check_schedule() # Lapper Event
cmdLFS( "/msg Next race:" . $date_next_race );
EndSub

Andy King
26th November 2009, 13:32
;1317081']I can confirm that every scheduled action is executed twice.


Event OnLapperStart()
RegisterScheduleAction( "myTest","0 * * * * * *", Check_schedule );
EndEvent

Sub Check_schedule() # Lapper Event
cmdLFS( "/msg Next race:" . $date_next_race );
EndSub

Thanks Yisc I thought it was only me lol was getting paranoid lol

Gai-Luron
26th November 2009, 13:56
No,

thinking about, i know what's happened. Il div a loop by 2 to implement blinking button. In this case, 2 loop per second. In this case scheduled function are called 2 time in one second, not one. I correct this tonite

Thank's for report

Gai-Luron

Fire_optikz001
26th November 2009, 14:34
gai, when i do !stop or any other thing ex reload insim crashes idk if its just me or weather its a bug please help

Gai-Luron
26th November 2009, 14:57
what is message on log file?

Fire_optikz001
26th November 2009, 17:45
11/26/2009 11:41:55 AM -> Syntax error in cfg file "" at line #583
Time Out in Event or Sub 2000 ms
Function 'onconnect' script aborted

Gai-Luron
26th November 2009, 20:58
You have an infinite loop, or cross calling sub, you got a timeout

Tim NL
7th December 2009, 00:02
Hi Gai,
I found a bug in version 5.906rc
When i use

CASE "!rank":
nearUser( "Points System","ps_points_total","DESC",argv );
BREAK;
Lapper quit working and the console closed. The next error show up in the log file.

Lapper Instance 127.0.0.1/29996 abort!
Column does not exist.
Mono.Data.SqliteClient
at Mono.Data.SqliteClient.SqliteDataReader.GetOrdinal (String name)
at LFSDbs.storedDbs.GetTable(String key, Int32 from, String relativeToUserName, Int32 nbRead, String Filter, Boolean flagDesc) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\Dbs \storeddbs.cs:line 393
at LFSLapper.LFSClient.TopStoredUser(Int32 UCID, String title, String key, String pusername, String pnickname, String pcmd, Boolean flagNear, Boolean flagDesc) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\cmdLapper.cs:line 882
at LFSLapper.LFSClient.nearuser(unionVal val, ArrayList args) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\scriptFunctions.cs:line 772
at GLScript.GLApp.parseBackcall(SetOfVars GVAR, SetOfVars LVAR, unionVal val, ArrayList args) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 1253
at GLScript.Parseur.getval(SetOfVars GVAR, SetOfVars LVAR, executeParsedFunction BC) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\ParseExpr.cs:line 604
at GLScript.GLApp.retrieveEvalVar(String funcName, TokenParse tkparse, TokenBuffer currTokenBuffer, SetOfVars GVAR, SetOfVars LVAR, Boolean breakFunc, Char& breakCar) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 995
at GLScript.GLApp.privExecuteTokensPart(Int32 level, String funcName, SetOfVars GCAR, SetOfVars LVAR, Boolean breakable, Boolean inSwitchCase, Int32 start, Int32 end) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 252
at GLScript.GLApp.privExecuteTokensPart(Int32 level, String funcName, SetOfVars GCAR, SetOfVars LVAR, Boolean breakable, Boolean inSwitchCase, Int32 start, Int32 end) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 382
at GLScript.GLApp.privExecuteFunction(String funcName, String[] argsVals) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 176
at GLScript.GLApp.executeFunction(String funcName, String[] argsVals) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 147
at Configurator.lexConfigurator.executeFunction(Strin g funcName, infoPlayer pcurrInfoPlayer, String[] par) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\cfg Parser\readCfg.cs:line 346
at LFSLapper.LFSClient.managePacket(MSO mso) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\managePacket.cs:line 742
at LFSLapper.LFSClient.Loop(Connect insimConnection) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\loop.cs:line 1079
at LFSLapper.LFSClient.doloop() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\lfsclient.cs:line 560
at LFSLapper.LFSListen.Listen.goWorkMode() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Listen\Listen.cs:line 85
at LFSLapper.LFSListen.Listen.start() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Listen\Listen.cs:line 126
Int32 GetOrdinal(System.String)
Closing Instance...

With topUser its works ok.

A other thing.
When i want to auto restart the race after the finish.
The Sub start_race dont work with only cmdLFS( "/restart" );
in it.
But when i put a extra line in it ( cmdLFS( "/msg Sub start_race" ); ) the extra line show up 3 times.:shrug:


Sub start_race( 0,0 )
cmdLFS( "/msg Sub start_race" );
cmdLFS( "/restart" );
EndSub
CatchEvent OnResult( $userName,$flagConfirm ) # Player event

SWITCH( GetCurrentPlayerVar("FinishedPos") )
CASE 1:
IF(( $flagConfirm == 2 )||( $flagConfirm == 18 )||( $flagConfirm == 34 ))
THEN
openGlobalButton( "point900",$point_L,$point_T-4,40,3,3,-1,96,"^7 Race on ^3" . GetLapperVar("LongDate") . " (CET)" );
openGlobalButton( "point910",$point_L+40,$point_T-4,6,3,3,-1,32,"^7points" );
openGlobalButton( "point920",$point_L+46,$point_T-4,10,3,3,-1,32,"^7License" );
openGlobalButton( "point001",$point_L,$point_T-1,40,3,3,-1,96,"^7 1 : " . GetCurrentPlayerVar("NickName") );
openGlobalButton( "point101",$point_L+40,$point_T-1,6,3,3,-1,32,"^3" . GetCurrentPlayerVar( "ps_race_points" ) );
openGlobalButton ("test1",40,0,28,4,4,90,16,"^3Next Race in^2 (%cpt%) ^3second(s)",start_race );
.
.
.

Gai-Luron
7th December 2009, 17:21
Stored value bug fixed

Do you have LFSLapper vote system on?

Gai-Luron

Tim NL
7th December 2009, 18:46
Hi Gai,
Thx for update.
I have now ver5.910 (very nice job :thumb:)
The vote option in lapper is set to default ( -1)
I just want to do is a auto restart 90 sec. after the race.

I have in the dedi server
// no restart within X seconds of race finish
/rstend=89

So no restart is allowd till the timer is ready.
This works ok in ver 5.84x. but in ver 5.910 the Sub start_race runs twice and it looks like the second restart cancelled the first restart.:shrug:
I see in the log from the dedi

Dec 07 14:44:28 [NLR]Tim^L finished
Dec 07 14:45:57 /msg Sub start_race
Dec 07 14:45:57 Sub start_race
Dec 07 14:45:57 /restart
Dec 07 14:45:57 /msg Sub start_race
Dec 07 14:45:57 Sub start_race
Dec 07 14:45:57 /restart

part of script.

Sub start_race( 0,0 )
cmdLFS( "/msg Sub start_race" );
cmdLFS( "/restart" );
EndSub
CatchEvent OnResult( $userName,$flagConfirm ) # Player event

SWITCH( GetCurrentPlayerVar("FinishedPos") )
CASE 1:
IF(( $flagConfirm == 2 )||( $flagConfirm == 18 )||( $flagConfirm == 34 ))
THEN
openGlobalButton ("test1",40,0,28,4,4,90,16,"^3Next Race in^2 (%cpt%) ^3second(s)",start_race );
openGlobalButton( "point900",$point_L,$point_T-4,40,3,3,-1,96,"^7 Race on ^3" . GetLapperVar("LongDate") . " (CET)" );
.
.
.

Gai-Luron
7th December 2009, 18:57
Who call sub Sub start_race( 0,0 ) ? your script is incomplete! i can't test it

Tim NL
7th December 2009, 19:46
Who call sub Sub start_race( 0,0 ) ? your script is incomplete! i can't test it




Hi,
The sub is called by the red line.
openGlobalButton ("test1",40,0,28,4,4,90,16,"^3Next Race in^2 (%cpt%) ^3second(s)",start_race );

I have now /rstend=85 in the dedi and the autorestart works now. maybe lapper was to quick to restart the race.

But the sub is still called twice. ( sometimes 3x )

[EDIT] Race restart only when 1 or 3 times the cub is called wit 3 times no restart.



CatchEvent OnResult( $userName,$flagConfirm ) # Player event

SWITCH( GetCurrentPlayerVar("FinishedPos") )
CASE 1:
IF(( $flagConfirm == 2 )||( $flagConfirm == 18 )||( $flagConfirm == 34 ))
THEN
openGlobalButton ("test1",40,0,28,4,4,90,16,"^3Next Race in^2 (%cpt%) ^3second(s)",start_race );
openGlobalButton( "point900",$point_L,$point_T-4,40,3,3,-1,96,"^7 Race on ^3" . GetLapperVar("LongDate") . " (CET)" );
.



It runs on [NLR]NL Racing Test.

Gai-Luron
7th December 2009, 20:54
Hello,

Don't use global button as timer to call subroutine, because global button create a duplicate privbutton for each player and then a one call to sub for each player present on track. In this case one restart for each player.
Use instead delayedcommand for your purpose for the winner and globalbutton with timer to have countdown but without call to sub.
Maybe i'll have to create builtin delayed command for openGlobalButton in this case, i take a look if i can do that in next release, for now use this:

openGlobalButton ("test1",40,0,28,4,4,90,16,"^3Next Race in^2 (%cpt%) ^3second(s)" );
DelayedCommand( 90, start_race );





Gai-Luron

Tim NL
7th December 2009, 21:05
Hello,

Don't use global button as timer to call subroutine, because global button create a duplicate privbutton for each player and then a one call to sub for each player present on track. In this case one restart for each player.
Use instead delayedcommand for your purpose for the winner and globalbutton with timer to have countdown but without call to sub.
Maybe i'll have to create builtin delayed command for openGlobalButton in this case, i take a look if i can do that in next release, for now use this:

openGlobalButton ("test1",40,0,28,4,4,90,16,"^3Next Race in^2 (%cpt%) ^3second(s)" );
DelayedCommand( 90, start_race );


Gai-Luron

Thanks, its works like a charm now :thumbsup::thumbsup:

Tim NL
10th December 2009, 20:44
Hi Gai,
I found a other bug in lapper version 5.910.

If $DefaultTopCar = "XFG"; ( one single car) then no problems but when set to multiple cars like If $DefaultTopCar = "XFG+XRG"; lapper goes in standby mode
The following error appear in the error file.

10-12-2009 21:38:55 -> Error on web command
-----------------------------------------------------------------------------
12/10/2009 9:38:55 PM
Lapper Instance 127.0.0.1/29997 abort!
Object reference not set to an instance of an object.
LFSLapper
at LFSLapper.LFSClient.GetVarPlayer(unionVal val, String idVar, String userName) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\GLSPlayerVars.cs:line 323
at LFSLapper.LFSClient.CBget(String id, String userName) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\GLSPlayerVars.cs:line 214
at GLScript.SetOfVars.Get(String id) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\SetOfVars.cs:line 154
at LFSLapper.LFSClient.GetVarPlayer(unionVal val, String idVar, String userName) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\GLSPlayerVars.cs:line 729
at LFSLapper.LFSClient.getcurrentplayervar(unionVal val, ArrayList args) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\scriptFunctions.cs:line 576
at GLScript.GLApp.parseBackcall(SetOfVars GVAR, SetOfVars LVAR, unionVal val, ArrayList args) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 1288
at GLScript.Parseur.getval(SetOfVars GVAR, SetOfVars LVAR, executeParsedFunction BC) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\ParseExpr.cs:line 539
at GLScript.Parseur.getval(SetOfVars GVAR, SetOfVars LVAR, executeParsedFunction BC) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\ParseExpr.cs:line 550
at GLScript.GLApp.retrieveEvalVar(String funcName, TokenParse tkparse, TokenBuffer currTokenBuffer, SetOfVars GVAR, SetOfVars LVAR, Boolean breakFunc, Char& breakCar) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 1030
at GLScript.GLApp.privExecuteTokensPart(Int32 level, String funcName, SetOfVars GCAR, SetOfVars LVAR, Boolean breakable, Boolean inSwitchCase, Int32 start, Int32 end) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 253
at GLScript.GLApp.privExecuteFunction(String funcName, String[] argsVals) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 173
at GLScript.GLApp.executeFunction(String funcName, String[] argsVals) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 144
at Configurator.lexConfigurator.executeFunction(Strin g funcName, infoPlayer pcurrInfoPlayer, String[] par) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\cfg Parser\readCfg.cs:line 346
at LFSLapper.LFSClient.managePacket(NCN newConnection) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\managePacket.cs:line 73
at LFSLapper.LFSClient.Loop(Connect insimConnection) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\loop.cs:line 1028
at LFSLapper.LFSClient.doloop() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\lfsclient.cs:line 551
at LFSLapper.LFSListen.Listen.goWorkMode() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Listen\Listen.cs:line 85
at LFSLapper.LFSListen.Listen.start() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Listen\Listen.cs:line 126
Void GetVarPlayer(GLScript.unionVal, System.String, System.String)
Closing Instance...
-----------------------------------------------------------------------------

Tim NL
10th December 2009, 21:20
I found also some small faults in the defPitInfo.lpr file
Here is a updated one.:)

[EDIT] Only this will not work yet for all splits and lap. So the color of the differance of the splittimes stay red.

IF( GetCurrentPlayerVar("isBestSectorSplit2") == 1 )

Fire_optikz001
10th December 2009, 22:50
Hi Gai,
I found a other bug in lapper version 5.910.

If $DefaultTopCar = "XFG"; ( one single car) then no problems but when set to multiple cars like If $DefaultTopCar = "XFG+XRG"; lapper goes in standby mode
The following error appear in the error file.

10-12-2009 21:38:55 -> Error on web command
-----------------------------------------------------------------------------
12/10/2009 9:38:55 PM
Lapper Instance 127.0.0.1/29997 abort!
Object reference not set to an instance of an object.
LFSLapper
at LFSLapper.LFSClient.GetVarPlayer(unionVal val, String idVar, String userName) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\GLSPlayerVars.cs:line 323
at LFSLapper.LFSClient.CBget(String id, String userName) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\GLSPlayerVars.cs:line 214
at GLScript.SetOfVars.Get(String id) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\SetOfVars.cs:line 154
at LFSLapper.LFSClient.GetVarPlayer(unionVal val, String idVar, String userName) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\GLSPlayerVars.cs:line 729
at LFSLapper.LFSClient.getcurrentplayervar(unionVal val, ArrayList args) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\scriptFunctions.cs:line 576
at GLScript.GLApp.parseBackcall(SetOfVars GVAR, SetOfVars LVAR, unionVal val, ArrayList args) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 1288
at GLScript.Parseur.getval(SetOfVars GVAR, SetOfVars LVAR, executeParsedFunction BC) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\ParseExpr.cs:line 539
at GLScript.Parseur.getval(SetOfVars GVAR, SetOfVars LVAR, executeParsedFunction BC) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\ParseExpr.cs:line 550
at GLScript.GLApp.retrieveEvalVar(String funcName, TokenParse tkparse, TokenBuffer currTokenBuffer, SetOfVars GVAR, SetOfVars LVAR, Boolean breakFunc, Char& breakCar) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 1030
at GLScript.GLApp.privExecuteTokensPart(Int32 level, String funcName, SetOfVars GCAR, SetOfVars LVAR, Boolean breakable, Boolean inSwitchCase, Int32 start, Int32 end) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 253
at GLScript.GLApp.privExecuteFunction(String funcName, String[] argsVals) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 173
at GLScript.GLApp.executeFunction(String funcName, String[] argsVals) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 144
at Configurator.lexConfigurator.executeFunction(Strin g funcName, infoPlayer pcurrInfoPlayer, String[] par) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\cfg Parser\readCfg.cs:line 346
at LFSLapper.LFSClient.managePacket(NCN newConnection) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\managePacket.cs:line 73
at LFSLapper.LFSClient.Loop(Connect insimConnection) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\loop.cs:line 1028
at LFSLapper.LFSClient.doloop() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\lfsclient.cs:line 551
at LFSLapper.LFSListen.Listen.goWorkMode() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Listen\Listen.cs:line 85
at LFSLapper.LFSListen.Listen.start() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Listen\Listen.cs:line 126
Void GetVarPlayer(GLScript.unionVal, System.String, System.String)
Closing Instance...
-----------------------------------------------------------------------------

i use 9.10 and dont have this ihave it set to all cars also :P

Gai-Luron
11th December 2009, 19:24
Hi Gai,
I found a other bug in lapper version 5.910.

If $DefaultTopCar = "XFG"; ( one single car) then no problems but when set to multiple cars like If $DefaultTopCar = "XFG+XRG"; lapper goes in standby mode
The following error appear in the error file.

10-12-2009 21:38:55 -> Error on web command
-----------------------------------------------------------------------------
12/10/2009 9:38:55 PM
Lapper Instance 127.0.0.1/29997 abort!
Object reference not set to an instance of an object.
LFSLapper
at LFSLapper.LFSClient.GetVarPlayer(unionVal val, String idVar, String userName) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\GLSPlayerVars.cs:line 323
at LFSLapper.LFSClient.CBget(String id, String userName) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\GLSPlayerVars.cs:line 214
at GLScript.SetOfVars.Get(String id) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\SetOfVars.cs:line 154
at LFSLapper.LFSClient.GetVarPlayer(unionVal val, String idVar, String userName) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\GLSPlayerVars.cs:line 729
at LFSLapper.LFSClient.getcurrentplayervar(unionVal val, ArrayList args) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\scriptFunctions.cs:line 576
at GLScript.GLApp.parseBackcall(SetOfVars GVAR, SetOfVars LVAR, unionVal val, ArrayList args) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 1288
at GLScript.Parseur.getval(SetOfVars GVAR, SetOfVars LVAR, executeParsedFunction BC) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\ParseExpr.cs:line 539
at GLScript.Parseur.getval(SetOfVars GVAR, SetOfVars LVAR, executeParsedFunction BC) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\ParseExpr.cs:line 550
at GLScript.GLApp.retrieveEvalVar(String funcName, TokenParse tkparse, TokenBuffer currTokenBuffer, SetOfVars GVAR, SetOfVars LVAR, Boolean breakFunc, Char& breakCar) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 1030
at GLScript.GLApp.privExecuteTokensPart(Int32 level, String funcName, SetOfVars GCAR, SetOfVars LVAR, Boolean breakable, Boolean inSwitchCase, Int32 start, Int32 end) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 253
at GLScript.GLApp.privExecuteFunction(String funcName, String[] argsVals) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 173
at GLScript.GLApp.executeFunction(String funcName, String[] argsVals) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\GLS cript\GLScript.cs:line 144
at Configurator.lexConfigurator.executeFunction(Strin g funcName, infoPlayer pcurrInfoPlayer, String[] par) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\cfg Parser\readCfg.cs:line 346
at LFSLapper.LFSClient.managePacket(NCN newConnection) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\managePacket.cs:line 73
at LFSLapper.LFSClient.Loop(Connect insimConnection) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\loop.cs:line 1028
at LFSLapper.LFSClient.doloop() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\lfsclient.cs:line 551
at LFSLapper.LFSListen.Listen.goWorkMode() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Listen\Listen.cs:line 85
at LFSLapper.LFSListen.Listen.start() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Listen\Listen.cs:line 126
Void GetVarPlayer(GLScript.unionVal, System.String, System.String)
Closing Instance...
-----------------------------------------------------------------------------
Can't reproduce it! all time you have this issue?
if yes, send me your dbs ansd config files

EDIT : FIXED, occur only when player have no car selected in some case only


Gai-Luron

nl2dav
13th December 2009, 01:51
Still running 5.8.4.6...

Database getting too big...? ;

Unhandled Exception: System.ArgumentOutOfRangeException: startIndex + length > this.length
Parameter name: length
at System.String.Substring (Int32 startIndex, Int32 length) [0x00000]
at LapperThreads.ftpDbsUpload.SendGripDbsToFtp () [0x00000]

I don't make use of FTP uploading anyway!?? What is that doing there.

Deleting the database and starting all over again is not a solution. That is Microsoft language. How can you throw months of data away, thats no fix :really:

Size in bytes;

-rw-r--r-- 1 root root 2520064 Dec 13 01:52 GripPB.dbs
-rw-r--r-- 1 root root 3608 Dec 13 01:52 GripPB.dbs-journal
-rw-r--r-- 1 root root 1204224 Dec 13 01:52 GripPB.elp

===

LFSLapper Version=5.8.4.6 => LFSLapper Version=5.8.5.2 ... Doesn't help either :/

Has this been solved in 5.9.x.x? If I read the changelog then I don't think so.

Gai-Luron
13th December 2009, 16:45
The FTP thread create the elp file to.

You have a field "date" in wrong format in your DBS, maybe empty, try to find it in your DBS with an sqllite utility. Table are fi_epb or fi_lpb

Gai-Luron

nl2dav
13th December 2009, 17:18
You are correct :thumb::thumb:

You know why this happened? I think because of the username of the last driver :x

http://www.plaatjesupload.nl/bekijk/2009/12/13/1260719197-570.jpg

Gai-Luron
13th December 2009, 19:14
I think this occured with a player having a one or more single quote in username or nickname. In new version this can't occur

Try to use last version, i know you need to do many change in script, but your version it's obsolete and no more mantained.

Gai-Luron

sinanju
22nd December 2009, 00:11
Hi Gai

Just having a play and trying to get my head round your new v5.915 lapper, and notice error in the driftmeter.lpr file.

Where you have
driftmeter_driftcombotext = "??";

It should be
driftmeter_driftcombotext = "^7{0}";

Also.

In the drift meter section, where you have

CatchEvent OnDriftScore( $userName ) # This is the section for displaying the Drift Meter and Drift Messages
.......
ENDIFBecause you've changed my original colour coding from green and yellow to a standard white, you could probably get away with removing the

openPrivButton( "driftscoretext",16,160,9,5,3,-1,0,langEngine( "%{driftmeter_driftscoretext}%" , $LastDriftScore ) );
openPrivButton( "driftcombotext",17,150,9,7,3,-1,0,langEngine( "%{driftmeter_driftcombotext}%" , $DriftScore ) );lines from both the THEN and ELSE statements, and moving lines up beside the first lot of openPrivButtons, as this THEN/ELSE statement is only now used to differentiate the arrows and placement of the degree symbol.

The $LastDriftScore and $DriftScore don't now change colour or position in the driftmeter as before.

Gai-Luron
22nd December 2009, 08:20
Hello, i change nothing in your lpr file, just catchEvent :razz:. Maybe i have take an old version, not terminated, or bad cut and paste by me.

I take a look tonight to correct this error, but if you have this file corrected, put an attachment, i get it and i install in next release

Gai-Luron

sinanju
22nd December 2009, 16:56
Copy of amended driftmeter file with combo score enabled.

Saved as driftmeter.txt as won't upload as .lpr

Can't do anything with the 2 lines ($driftscore / $lastdriftscore), as without them where I originally placed them, no score appears!





EDIT

Apologies, but when I tested script, I tested it on carpark just to make sure driftmeter scores worked. Now tested it on LAN and found that some language files (end of lap and new PB mainly) missed from all driftmeter.lpr versions. I've now added them back into English and French language sections.

Newer file uploaded.

Tim NL
28th December 2009, 19:57
Hi,

I have a problem to ver.5.918 get working.

Everything works ok with ver.5.916 now but when try the latest version 5.918 lapper will crash.
It was working for a couple of hours without any problems. (With 3 servers ) :)

After a reload , lapper crashed.
There are no erros in the log files ( ERR and MSS ).
There is a message in the lapper console but i cant read it. The box will close immediately when the error apear.:Looking_a

When i restart lapper, the console is open ,a error popup in the console and the console is closed again. Still no erros in the log files ( ERR and MSS ).:really:

I have download a new copy of 5.918 and unzip in a new folder.
I have only set the minimum requirements to start up lapper ( only admin pwd and the right port number and all scripts are default) but have the same problem.

When i reboot my server it works for a short while but after a reload its gone.:shrug:

Everthing works now ok on 5.916 but would be nice if 5.918 also is working.:tilt:

Krayy
28th December 2009, 20:23
doin a !reload is randomly crashing my Lapper instances too. And I thought is was just me ;-)

No logged errors or anything either.

Gai-Luron
28th December 2009, 21:17
Hello,

all instances close and console close also?

Gai-Luron

EDIT: Can't reproduce, can i have more infos on how it crash, do you have message in MSS log files

Krayy
28th December 2009, 21:51
Console terminates

Gai-Luron
28th December 2009, 21:59
"Stopped - LFSLapper Version="

Do you look at

LFSLapper-ERR.log
LFSLapper-MSS.log

in logs directory in LFSLapper.exe folder

I have made lot of !reload without issue

Gai-Luron

Try the 917 and tell me if crash like 918

http://www.lfs-lapper.org/download/lapper/LFSLapper5.917.zip

Fire_optikz001
28th December 2009, 23:18
Hello,

all instances close and console close also?

Gai-Luron

EDIT: Can't reproduce, can i have more infos on how it crash, do you have message in MSS log files

i had this in previous versions with upd i havent tested upd with .18

Tim NL
29th December 2009, 16:00
"Stopped - LFSLapper Version="

Do you look at

LFSLapper-ERR.log
LFSLapper-MSS.log

in logs directory in LFSLapper.exe folder

I have made lot of !reload without issue

Gai-Luron

Try the 917 and tell me if crash like 918


Hi,

I have now 4 servers running on 5.917 and all are ok. no problems :)

I will replace tommorow morning the LFSLapper.exe with the one from 5.918 and test again.

Fire_optikz001
29th December 2009, 18:10
i noticed upd seems to have this when i was running the sorce and i did !reload it pointed out return null; but it works out fine with tcp

sinanju
4th January 2010, 11:46
I'm currently testing v5.920b lapper, and adding some of my stuff from previous versions.

However, the $PBDrift doesn't appear to work properly.

The default lapper script has;
openPrivButton( "pbdrift",25,105,150,10,8,-1,ISB_NONE, langEngine("%{main_welc3}%",$PBDrift ) );

main_welc3 = "^7Your actual friendly Drift Position (all visitors + vehicles): ^2{0}";but if you have $DefaultTopCar set up with multiple cars (as I do), then it shows your position as 0, but if you have it set for only single car, then instead of the position, you are given the score.

See attached screen dumps.

Would it be possible to have both a $PBDriftPosition and a $PBDriftScore function?

Gai-Luron
4th January 2010, 14:46
$PBDrift must be

$PBDrift = GetCurrentPlayerVar( "PbDrift");


PbDrift is the score not the position, for multiple car, i take a look

sinanju
4th January 2010, 15:17
$PBDrift = GetCurrentPlayerVar( "PbDrift"); is one of the lines under Event OnConnect( $userName ).

If $PBDrift is for score not position, then the language file maybe should read-

main_welc3 = "^7Your highest Drift Score (all visitors + vehicles): ^2{0}";

Gai-Luron
4th January 2010, 16:13
You are rigth, a unfortunate Cut and Paste :razz:

sinanju
5th January 2010, 00:17
If you open the pitwindow_gui.lpr (via !pitwindow command), it will not close.

And mouse cursor does not appear on screen.

Using unchanged v5.920b.

sinanju
5th January 2010, 00:31
Tried to use !dstats, !distance and !laps, but all blank on game screen, but !distance and !laps show problems in ERR log.

Using unchanged v5.920b.

!dstats

Nothing happens when this is typed.

I've got some old .dbs files that I use to test with, but although they work with !drf command, won't work with !dstats command.

!distance

Script and EN Language file:
CASE "!distance":
privMsg(langEngine( "%{main_dist}%"
,GetCurrentPlayerVar( "Car" )
,getLapperVar("ShortTrackName")
,ToPlayerUnit( GetCurrentPlayerVar("Dist") )
,GetCurrentPlayerVar("UnitDist")
,ToPlayerUnit( GetCurrentPlayerVar("SessDist") )
,GetCurrentPlayerVar("UnitDist")));
BREAK;

main_dist = "Distance done on {0}/{1} = {2} {3}, session = {4} {5}";Error Log:
1/5/2010 12:12:59 AM -> Syntax error in cfg file "LFSLapper.lpr" at line #848
Token not catched
Function 'onmso' script aborted

Line #848 = privMsg(langEngine( "%{main_dist}%"

!laps

Script and EN Language file:
CASE "!laps":
privMsg( langEngine( "%{main_lapdone}%"
,GetCurrentPlayerVar("Car")
,getLapperVar("ShortTrackName")
,GetCurrentPlayerVar("Laps")
,GetCurrentPlayerVar("SessLaps")));
BREAK;

main_lapdone = "Laps done on {0}/{1} = {2}, session = {3}";Error Log:
1/5/2010 12:12:55 AM -> Syntax error in cfg file "LFSLapper.lpr" at line #858
Token not catched
Function 'onmso' script abortedLine #858 = privMsg( langEngine( "%{main_lapdone}%"

Fire_optikz001
5th January 2010, 01:39
Tried to use !dstats, !distance and !laps, but all blank on game screen, but !distance and !laps show problems in ERR log.

Using unchanged v5.920b.

!dstats

Nothing happens when this is typed.

I've got some old .dbs files that I use to test with, but although they work with !drf command, won't work with !dstats command.

!distance

Script and EN Language file:
CASE "!distance":
privMsg(langEngine( "%{main_dist}%"
,GetCurrentPlayerVar( "Car" )
,getLapperVar("ShortTrackName")
,ToPlayerUnit( GetCurrentPlayerVar("Dist") )
,GetCurrentPlayerVar("UnitDist")
,ToPlayerUnit( GetCurrentPlayerVar("SessDist") )
,GetCurrentPlayerVar("UnitDist")));
BREAK;

main_dist = "Distance done on {0}/{1} = {2} {3}, session = {4} {5}";Error Log:


Line #848 = privMsg(langEngine( "%{main_dist}%"

!laps

Script and EN Language file:
CASE "!laps":
privMsg( langEngine( "%{main_lapdone}%"
,GetCurrentPlayerVar("Car")
,getLapperVar("ShortTrackName")
,GetCurrentPlayerVar("Laps")
,GetCurrentPlayerVar("SessLaps")));
BREAK;

main_lapdone = "Laps done on {0}/{1} = {2}, session = {3}";Error Log:
Line #858 = privMsg( langEngine( "%{main_lapdone}%"

its some thing to do with the line breaks i removed em and it worked fine...

Gai-Luron
5th January 2010, 07:00
If you open the pitwindow_gui.lpr (via !pitwindow command), it will not close.

And mouse cursor does not appear on screen.

Using unchanged v5.920b.


Same subroutine name in different module, try to prefix subroutine with file name to haven't this issue

For the line break, i take a look. Probably due to the recent parser rewrite

EDIT : FOR NOW PUT MULTILINE PARAMETER FUNCTION IN ONE LINE, BUG HARD TO FIX

Gai-Luron

sinanju
5th January 2010, 23:40
CASE "!tpb":
privMsg( GetCurrentPlayerVar("Tpb"));
BREAK;

This needs to be changed to:

CASE "!tpb":
privMsg(NumToMSH (GetCurrentPlayerVar("Tpb")));
BREAK;

sinanju
8th January 2010, 22:03
The settings that I put into the driftmeter (minimum speed, angles, etc)., differ from what is in the default lfslapper.lpr file.

For instance;
LFSLapper.lpr
$MinimumDriftSpeed = 50;
$MinimumDriftAngle = 15;
$MaximumDriftAngle = 100driftmeter.lpr
$MinimumDriftSpeed = 25;
$MinimumDriftAngle = 5;
$MaximumDriftAngle = 75;Does this cause any conflict? And which one is used?

And both .lpr files refer to the $DriftDatabase = "./DriftPB";

Does this cause conflict?

Also

Just noticed slight mistake in driftmeter.lpr file - it still refers to a
main_ongooddrift. This should be driftmeter_ongooddrift.

Gai-Luron
8th January 2010, 22:51
Last defined var is used, in this case your var. It's the same for event. New event overlap previous defined

Michalxo
10th January 2010, 10:29
Hello!
Reporting a bug:
I am unable to reset my spb session. !razspb is not working at all.
version is.. hm.. very new one :-) on AB.nl servers

Gai-Luron
10th January 2010, 10:37
Hello,

Do you select session PB in !myconfig?

Michalxo
10th January 2010, 11:25
Hello,

Do you select session PB in !myconfig?
Nope, i've never heard of that...

Gai-Luron
10th January 2010, 13:56
razspb is only for session pb, no saved PB

emit-nl
31st January 2010, 17:37
Hi,

For a while, I have a problem with the IdleExclude function in LFSLapper.
I'm using the newest version of LFSLapper, v5.9.2.5.
I'm not sure how long I'm dealing with this issue, so I can't say in which version of LFSLapper it was still working. (after v5.844 I remade my serverscript)

Explanation of the bug:

When I ('emit-nl') am the only one racing on the server, the IdleExclude function works fine!
When 'Seafalcon' is the only one racing on the server, it is working fine too.
When we are racing together on the server, we will both get the warning message after 60seconds and we will be spectated after being idle for 70seconds..


Could this be a bug in LFSLapper or have I made an error in my code?

My code:
##################################
#Options for idle player on track#
##################################

$IdleExclude = "emit-nl, Seafalcon"; # Usernames excluded for idle check

$OnIdleTimeout1 = 60; # Idle timeout for OnIdleAction1 in seconds

Event OnIdle1( $userName ) # Player event
privMsg( langEngine( "%{main_idle1}%" ) );
EndEvent

$OnIdleTimeout2 = 70; # Idle timeout for OnIdleAction2 in seconds

Event OnIdle2( $userName ) # Player event
cmdLFS( "/spec " . GetCurrentPlayerVar("NickName") );
privMsg( langEngine( "%{main_idle2}%" ) );
EndEvent


Thanks in advance! ;)

Tim

Tim NL
28th February 2010, 17:46
Hi,
I have installed ver6.00 everything works super :thumb:.
Only the new !who script work not ok.
It shows only one player incase of the complete list of players.:shrug:

Fire_optikz001
28th February 2010, 19:25
Hi,
I have installed ver6.00 everything works super :thumb:.
Only the new !who script work not ok.
It shows only one player incase of the complete list of players.:shrug:
i have noticed this too i was wondering what happened idk if it was just me tho

Gai-Luron
28th February 2010, 19:35
Bug in who.lpr

Add line unset( $currPly ); near line 105 in who.lpr


$currUserName = $ListOfPlayersDoWho[$i];
unset( $currPly );
$currPly = getplayerinfo($ListOfPlayersDoWho[$i] );

Krayy
28th February 2010, 19:51
Bug in who.lpr

Add line unset( $currPly ); near line 105 in who.lpr


$currUserName = $ListOfPlayersDoWho[$i];
unset( $currPly );
$currPly = getplayerinfo($ListOfPlayersDoWho[$i] );

My bad...I couldn't use a FOREACH as the FOR loop is required to print from user 16 to 32 on a 2 page output.

Also, the line above that unset ($currUserName = $ListOfPlayersDoWho[$i];) is not required at all.

Gai-Luron
28th February 2010, 20:26
I also do a modification to avoid use of unset for var if it's assigned with getOfxxxxxx function.

Bass-Driver
14th March 2010, 10:10
hi
i think i found a bug in: GetLapperVar("LongDate")
it must show the date of the current day right.
i have made some tests few min ago and it shows the date from yesterday.

i have running lapper 24/7
and current version is:5.925

edit:
it change to the next day around 12:00 AM
i think lapper has lil problem with AM and PM

Gai-Luron
16th March 2010, 07:43
This function return server date, it's not really a Lapper Function, but system function

How is set your server date?

Gai-Luron

Fire_optikz001
16th March 2010, 13:06
hi
i think i found a bug in: GetLapperVar("LongDate")
it must show the date of the current day right.
i have made some tests few min ago and it shows the date from yesterday.

i have running lapper 24/7
and current version is:5.925

edit:
it change to the next day around 12:00 AM
i think lapper has lil problem with AM and PM

you have to restart LFSLapper.EXE to change time :P

Bass-Driver
16th March 2010, 14:04
This function return server date, it's not really a Lapper Function, but system function

How is set your server date?

Gai-Luron

thx it solved
i have checked the pc where lapper is running on and it seems that the time is wrong, it was 3:00(am) and not 15:00(pm)
i dont know whats happend but i thinks it works fine now

Krayy
30th March 2010, 20:36
Okay, so I am defining an array using some Consts as the index like this:

consts.lpr:
# Membership status
const MEMBERTYPE_UNKNOWN -1; # Player has not been here before
const MEMBERTYPE_VISITOR 0; # Player is a visitor
const MEMBERTYPE_GUEST 1; # Player is a vouched for guest
const MEMBERTYPE_JUNIOR 2; # Player is Junior Member and subject to review
const MEMBERTYPE_FULL 3; # Player is a full member
const MEMBERTYPE_MAX 4; # Used as a upper limit for iterators

utils.lpr:
CatchEvent OnLapperStart()
### Global vars for Membership names ####
GlobalVar $MemberTypes;
$MemberTypes[MEMBERTYPE_VISITOR] = "Visitor";
$MemberTypes[MEMBERTYPE_GUEST] = "Guest";
$MemberTypes[MEMBERTYPE_JUNIOR] = "Junior";
$MemberTypes[MEMBERTYPE_FULL] = "Full";
$MemberTypes[MEMBERTYPE_MAX] = "MAX";
EndCatchEvent


When I try to use that array like this:
$mName = $MemberTypes[2];
, I get a NULL string. Turns out that I have to explicitly cast the Const as a number to initialise the aray like this:

utils.lpr:
CatchEvent OnLapperStart()
### Global vars for Membership names ####
GlobalVar $MemberTypes;
$MemberTypes[ToNum(MEMBERTYPE_VISITOR)] = "Visitor";
$MemberTypes[ToNum(MEMBERTYPE_GUEST)] = "Guest";
$MemberTypes[ToNum(MEMBERTYPE_JUNIOR)] = "Junior";
$MemberTypes[ToNum(MEMBERTYPE_FULL)] = "Full";
$MemberTypes[ToNum(MEMBERTYPE_MAX)] = "MAX";
EndCatchEvent

Hmm. Is this a problem with the parser not realising tha the Const is a numeric? Because as far as I can tell, all of the Const.lpr entries are numbers, not strings.

Gai-Luron
31st March 2010, 16:24
I think ( i am not sure ) const don't work in array Index. You can bypass it using

GlobalVar $MemberTypes;
$idx = MEMBERTYPE_VISITOR;
$MemberTypes[$idx] = "Visitor";
$idx = MEMBERTYPE_GUEST;
$MemberTypes$idx] = "Guest";
...
and so on

Gai-Luron

Krayy
31st March 2010, 22:33
I think ( i am not sure ) const don't work in array Index. You can bypass it using

GlobalVar $MemberTypes;
$idx = MEMBERTYPE_VISITOR;
$MemberTypes[$idx] = "Visitor";
$idx = MEMBERTYPE_GUEST;
$MemberTypes$idx] = "Guest";
...
and so on

Gai-Luron
Looks like the same applies to CASE statements as well, where I need to explicitly cast a const to be able to use it...i.e:
SWITCH( $mType )

CASE ToNum(MEMBERTYPE_VISITOR):
...
etc

emit-nl
3rd May 2010, 20:49
I found a little bug a while ago. On the begin of a pitstop the pitwork must be showed, but it isn't. pitWork has to be changed to PitWork. (capital P)

privMsg( langEngine( "%{main_pitwork}%", GetCurrentPlayerVar("pitWork") ) );

must be:

privMsg( langEngine( "%{main_pitwork}%", GetCurrentPlayerVar("PitWork") ) );


Regards
Tim

iOL(Qc)
6th June 2010, 06:12
I'm about to show my work on the lapper to friends when i have errors leading to stand-by mode.

Everything worked great just before i went to eat about an hour ago.

I redownload the lapper, and see that its a new version.
Could this be the cause of all the sudden error's?

There is no more: Sub DisplaySpeed( $userName ) , so i cant use: RegisterNodeAction( "XXX" , 300 , DisplaySpeed,ExitDisplaySpeed );
I tryed to create it and got error's.
Node's does not exist anymore?
We cannot create variables no more?

My work seems unusable now?

What am i suposed to do?
Im confused.


I had:

Sub DisplaySpeed( $userName )
$topSpeed = GetCurrentPlayerVar("topSpeed");
$speed = GetCurrentPlayerVar("InstantSpeed");
IF ($topSpeed == 0)
THEN
setCurrentPlayerVar( "topSpeed",$speed );
$topSpeed = GetCurrentPlayerVar("topSpeed");
privMsg( langEngine( "^7Première passe: ^3{0} ^7{1} " , $speed,GetCurrentPlayerVar("UnitSpeed") ) );
ENDIF
IF ($topSpeed != 0 && $speed > $topSpeed)
THEN
$difference = $speed - $topSpeed;
setCurrentPlayerVar( "topSpeed",$speed );
$topSpeed = GetCurrentPlayerVar("topSpeed");
privMsg( langEngine( "^7N o u v e a u t o p s p e e d: ^3{0} ^7{1} ^2+{2}",$topSpeed,GetCurrentPlayerVar("UnitSpeed"),$difference));
ENDIF
IF ($topSpeed != 0 && $speed < $topSpeed)
THEN
$difference = $topSpeed - $speed;
privMsg( langEngine("^7Vitesse: ^3{0} ^7{1} ^1-{2}",$speed,GetCurrentPlayerVar("UnitSpeed"),$difference));
ENDIF
EndSub
Sub ExitDisplaySpeed( $userName )
PrivMsg( "Sorti du Speedtrap" );
/* 302 to 1019
$listOfPlayers = GetListOfPlayers();
$currTopSpeed = GetStoredValue( "GlobaltopSpeed" );
$newTopSpeed = 0;
FOREACH( $currUname IN $listOfPlayers )
{
$currTopSpeed = getPlayerVar( $currUname,"topSpeed" );
IF($currTopSpeed > $newTopSpeed)
{
$newTopSpeed = $currTopSpeed;
$unit = GetPlayerVar( "$currUname","UnitSpeed" );
$nom = getPlayerVar( "$currUname","NickName" );
}
ENDIF
}
ENDFOREACH
IF($newTopSpeed > GetStoredValue( "GlobaltopSpeed" ))
{
SetStoredValue( "GlobaltopSpeed", $newTopSpeed );
globalMsg( langEngine( "F a s t e s s s p e e d t r a p: {0} {1}{2}", $nom,$newTopSpeed,$unit ) );
}
*/
ENDIF
EndSub
Event OnLapperStart()

RegisterNodeAction( "BL1" , 300 , DisplaySpeed,ExitDisplaySpeed );
RegisterNodeAction( "BL1R" , 300 , DisplaySpeed,ExitDisplaySpeed );
RegisterNodeAction( "BL2" , 300 , DisplaySpeed,ExitDisplaySpeed );
RegisterNodeAction( "BL2R" , 300 , DisplaySpeed,ExitDisplaySpeed );
RegisterNodeAction( "FE1" , 300 , DisplaySpeed,ExitDisplaySpeed );
RegisterNodeAction( "FE1R" , 300 , DisplaySpeed,ExitDisplaySpeed );
RegisterNodeAction( "FE2" , 300 , DisplaySpeed,ExitDisplaySpeed );
RegisterNodeAction( "FE2R" , 300 , DisplaySpeed,ExitDisplaySpeed );
...

Gai-Luron
6th June 2010, 11:00
Hello,

First Check if you have error in log file. ( Log files are on log folder )

Gai-Luron

iOL(Qc)
6th June 2010, 17:02
I reinstalled the same version now :5.841. Yesterday i downloaded the 5.716 in an hurry wich seems very different that's why i was so confused.
But now i cant even start the lapper. In lfs i have the message LFS Lapper In Stand By state. There is no error messages.

(I think at the first launch i had a message like can't connect to 127.0.0.1 in console.) But now nothing.

Here is the log
LFSLapper-MSS.log:
6/6/2010 11:41:19 AM -> Started - LFSLapper Version=5.8.4.1
6/6/2010 11:42:08 AM -> Started - LFSLapper Version=5.8.4.1
6/6/2010 11:43:02 AM -> Started - LFSLapper Version=5.8.4.1
6/6/2010 11:45:34 AM -> Started - LFSLapper Version=5.8.4.1
6/6/2010 11:51:35 AM -> Started - LFSLapper Version=5.8.4.1

EDIT: LFSLapper.exe is added in my firewall exceptions.
EDIT: I'v set the LFSserver.cfg to autowork and i have a lapper instance abord
LFSLapper-MSS.log:
15/02/2010 21:18:37 -> Not a connexion packet! Close connection




What am i doiing wrong?


Olivier

Bass-Driver
6th June 2010, 18:32
did u try to start lapper manual ingame
or try the latest version of lapper

iOL(Qc)
6th June 2010, 19:15
problem solved: the only version that work for me is 5.926

I use windows 7

Olivier

Gai-Luron
6th June 2010, 22:11
Or 6.00

Fire_optikz001
4th July 2010, 16:31
i have 6.0.1.0 and UserIsAdmin( $userName ) no longer works o.o
also you cant use {0:0.00%} in the languages for some reason

sinanju
4th July 2010, 17:16
New version of lapper (6.010) still has bug in driftmeter.lpr.

Has main_ongooddrift - should be driftmeter_ongooddrift

Fire_optikz001
9th July 2010, 22:30
in 6.0.1.0 and 6.0.1.1 when you use the {0:C} stuff in the language things it just outputs the strings asif they were just entered as {0}

emit-nl
14th July 2010, 19:41
Hi,

I think there is a bug in the pitwindow function.

I can set the pitwindows in !pwgui and see them in !pitwindow, but in the pitboard there is only: 'No Pitwindow'.
There has got to be information for the laps when the pitwindow starts/stops and how many stops you have made.

I tested it in LFSLapper v6.0.1.1 with default settings.

Is this a bug or is there something I'm doing wrong?

Kind Regards,
Tim

EDIT: I found another bug.
When you type '!mypb' and go to the last page, the button to go to the next page is still there. When you click on it, the following happens (see attachment). When this happens and you click on the previous page button, nothing happens. When you click on the OK button the menu will close, but the previous button stays. When you click the next page button, the first page will open and everything is fine again.

Regards,
Tim

emit-nl
29th July 2010, 08:55
Hi,
Could anyone confirm if this is a bug or not? Cause then I can be sure it has nothing to do with my LFSLapper script.

Thanks.

Tim

Tim NL
29th July 2010, 18:35
Hi,

I think there is a bug in the pitwindow function.

I can set the pitwindows in !pwgui and see them in !pitwindow, but in the pitboard there is only: 'No Pitwindow'.
There has got to be information for the laps when the pitwindow starts/stops and how many stops you have made.

I tested it in LFSLapper v6.0.1.1 with default settings.

Is this a bug or is there something I'm doing wrong?

Kind Regards,
Tim

EDIT: I found another bug.
When you type '!myconfig' and go to the last page, the button to go to the next page is still there. When you click on it, the following happens (see attachment). When this happens and you click on the previous page button, nothing happens. When you click on the OK button the menu will close, but the previous button stays. When you click the next page button, the first page will open and everything is fine again.

Regards,
Tim

Hi Tim,

I have the same bug with lapper version 6.0 but its with !mypb incase of !myconfig.

When you go to the last page and click on ">" the OK button goes to above and you cant close !mypb when clicking the OK button.
When typing !mypb again and click OK the "<" stays on the screen.:schwitz:

emit-nl
29th July 2010, 20:27
Hi Tim,

I have the same bug with lapper version 6.0 but its with !mypb incase of !myconfig.

When you go to the last page and click on ">" the OK button goes to above and you cant close !mypb when clicking the OK button.
When typing !mypb again and click OK the "<" stays on the screen.:schwitz:

Oops! Sorry, I meant !mypb :Looking_a
Changed it! :)

Thanks for confirming, do you think we can solve this in some lpr file or is it in the LFSLapper coding itself?

Tim

Tim NL
29th July 2010, 22:59
Oops! Sorry, I meant !mypb :Looking_a
Changed it! :)

Thanks for confirming, do you think we can solve this in some lpr file or is it in the LFSLapper coding itself?

Tim

I think its hard coded and im not a genius with C# :Looking_a

Fire_optikz001
30th July 2010, 07:31
also you cant use {0:0.00%} in the languages for some reason

in 6.0.1.0 and 6.0.1.1 when you use the {0:C} stuff in the language things it just outputs the strings asif they were just entered as {0}
bumping this

emit-nl
30th July 2010, 07:58
I think its hard coded and im not a genius with C# :Looking_a

Me neither :shrug:
I hope Gai-Luron can fix this, that would be nice :)

@Fire_optikz001; Don't know why this is, but why do you need it? Can't you use a '-' or '_' instead of a ':'? :)

Regards,
Tim

Fire_optikz001
30th July 2010, 09:38
Me neither :shrug:
I hope Gai-Luron can fix this, that would be nice :)

@Fire_optikz001; Don't know why this is, but why do you need it? Can't you use a '-' or '_' instead of a ':'? :)

Regards,
Tim
no I'm trying to get currency and percentage of the input but it isn't working right

emit-nl
30th July 2010, 11:40
no I'm trying to get currency and percentage of the input but it isn't working right

Ahh OK, sorry.
Now I get it.
But I have no idea.. :(

Hope someone will reply on this soon :)

sinanju
21st August 2010, 22:02
When you get new PB on a LFSLapper server, it comes up with a message

Friendly xxx Rank: n/nn


where xxx is the car name and n/nn is your overall ranking (e.g. 1 of 10, 3 of 20, 9 of 28, etc).

However, if you've driven other cars on that circuit and posted a time, then the message always refers to your best rank overall and maybe not your ranking with current car.

For instance, if you'd posted a lap with BF1 and it was fastest on that track, and you were ranked say something like 1 of 100, then you post new PB lap with something like UF1 and it's the slowest (is now 101 of 101), the message that will come up is Friendly UF1 Rank: 1 of 101.

This also happens if you use Posabs.

It always takes your best ever ranking regardless of which car you do a new PB in.

Maybe there should be 2 types of Posabs; 1 for overall server ranking (current track and any car) , and 1 for ranking current track in current car.

PosAbsAll / PosAbsCar?

Austin Hedley
18th October 2010, 21:05
I am using lapper ver6.011 with Krayys Membership gui v1.0.1 and Yiscs pitboard.lpr ver 2.04f.
When I set myself or a member to AFFILIATE or above then they/I type !pbconfig they/I get the pitboard config light background with the title text, a dark box with display mode, then nothing else till the save settings and close buttons.
Any idea why this is happening?
Has anyone else experienced this?

Screenshot of empty config box attached.

Yisc[NL]
18th October 2010, 22:24
... When I set myself or a member to AFFILIATE or above then they/I type ...

What do you mean with that?
Sorry about the maybe stupid question, but english isn't my main language.

Austin Hedley
18th October 2010, 22:49
Krayys membership gui script allows you to set a player as VISITOR,GUEST,AFFILIATE,FULL or ADMIN.
If I set AFFILIATE or FULL or ADMIN then your pitboard config looks wrong.

Yisc[NL]
19th October 2010, 07:08
Krayys membership gui script allows you to set a player as VISITOR,GUEST,AFFILIATE,FULL or ADMIN.
If I set AFFILIATE or FULL or ADMIN then your pitboard config looks wrong.

Ah, now it makes sense to me :)
Must be something in his script which interfears with mine, since I've never heard of this problem before, while the pitboard is a long time around.

Austin Hedley
21st October 2010, 16:05
I am using lapper ver6.011 with Krayys Membership gui v1.0.1 and Yiscs pitboard.lpr ver 2.04f.
When I set myself or a member to AFFILIATE or above then they/I type !pbconfig they/I get the pitboard config light background with the title text, a dark box with display mode, then nothing else till the save settings and close buttons.
Any idea why this is happening?
Has anyone else experienced this?

Screenshot of empty config box attached.

I think I have a solution to the situation. :thumb:
In gui_admin_membership.lpr look for (line 174-178)
Sub LoginMember($userName)
$NickName = GetPlayerVar($userName, "NickName");
privMsg ("^7Hi there, ^8" . $NickName);
globalMsg ($NickName . "^8 has logged in");
EndSub

And change to

Sub LoginMember($userName)
$NickName = GetPlayerVar($userName, "NickName");
privMsg ("^7Hi there, ^8" . $NickName);
globalMsg ($NickName . "^8 has logged in");
OnConnectClose_Pitboard();
EndSub

I am still testing this solution to see if it may cause other problems, but so far things seem good.:)
Hunting this problem down has done wonders for my understanding of GL script. I also spent far too long examining how the storedvalue.dbs worked, as I was sure thats where the problem was.
Steep learning curve, but I'm getting there.

Thanks to Gai, Krayy, sinanju ,TimNL and Yisc for your hard work!

Fire_optikz001
11th December 2010, 18:37
UserIsServerAdmin always returns 1(for a diffrent user) if you are logged in as server Admin

sinanju
19th February 2011, 01:18
Is anyone else having problem with PosQual and GroupQual?

As in
GetCurrentPlayerVar("PosQual")
GetCurrentPlayerVar("GroupQual")

Gai-Luron
19th February 2011, 11:18
Hello,

Does your qualification file containing def of qual and usernames who participate in qual is set?

$RefreshQualUsers = true;
#$QualUsers = "&./your_file.flt";
#$QualUsers = "@DefGroup:5:5:2,Gai-Luron,MataGyula,nesrulz,gwendoline,_-ALUCARD-_,lagamel,lister88,c-quad,shimanofr,bruno7529,boby5,kevinb,edgar,berlio z,la tortue,neron59,eur-can,stff,2psbob,oliv76000";

Gai-Luron

sinanju
19th February 2011, 11:42
Hello,

Does your qualification file containing def of qual and usernames who participate in qual is set?

$RefreshQualUsers = true;
#$QualUsers = "&./your_file.flt";
#$QualUsers = "@DefGroup:5:5:2,Gai-Luron,MataGyula,nesrulz,gwendoline,_-ALUCARD-_,lagamel,lister88,c-quad,shimanofr,bruno7529,boby5,kevinb,edgar,berlio z,la tortue,neron59,eur-can,stff,2psbob,oliv76000";
Gai-Luron
Whoops!
Forgot you had to specify users.

loconstant
8th March 2011, 18:05
Hi Gai Luron,

We have an issue with the Lapper on LFSFrance, we are on version 6.0.11, and after 1 or 2 days the Memory usage is growing and growing until our Linux server crash.
The only solution is to restart the Lapper processes before everything is full, Did you experiment this before?

Cheers,
Fred

schwab
4th April 2011, 19:29
Just tried your tool for some restriction management and found a small typ0 in the default/LFSLapper.lpr (Version 6.0.1.2):


globalMsg( langEngine( "%{main_tolowhand2}%",GetCurrentPlayerVar( "H_Mass" ), GetCurrentPlayerVar("H_TRes")) );


TRes won't work cause of the big R ;)


globalMsg( langEngine( "%{main_tolowhand2}%",GetCurrentPlayerVar( "H_Mass" ), GetCurrentPlayerVar("H_Tres")) );


works fine.

sinanju
7th April 2011, 20:04
My LFSLapper on my server keeps rebooting itself.

I get the following message:
-----------------------------------------------------------------------------
4/7/2011 7:57:53 PM

Lapper Instance 84.45.52.144/17560 abort!

This property cannot be set to an empty string.
Parameter name: value
System
at System.Net.Mail.SmtpClient.set_Host(String value)
at UTILS.utils.sendErrorMail(String email, String smtpServer, String loginMail, String passMail, String scripFileName, Exception ex) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\Uti ls.cs:line 164
at LFSLapper.LFSClient.doloop() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\lfsclient.cs:line 552
at LapperInstances.LapperInstance.doConnection() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Instances\LapperInstance.cs:line 247
Void set_Host(System.String)
Closing Instance...
-----------------------------------------------------------------------------

Line 164 of Utils.lpr is
IF ( GetPlayerVar( $Pid["value"], "OnTrack" ) == "1" )

as in

Sub SpecAll()
$LoP = GetListOfPlayers( );
FOREACH ( $Pid IN $LoP )
IF ( GetPlayerVar( $Pid["value"], "OnTrack" ) == "1" )
THEN
cmdLFS( "/spec " . $Pid["value"] );
ENDIF
ENDFOREACH
EndSub

Any ideas?

Gai-Luron
8th April 2011, 21:03
You have incompletely set this value in LFSLapper.lpr smtpServer seem void

# To receive a notification via mail when an error occur on Lapper
$adminEmail = "";
$smtpServer = "";
$loginMail = "";
$passMail = "";

Gai-Luron

LFSCruise
22nd June 2011, 17:09
Welcome,

Version: 6.0.1.1

Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Syntax error in cfg file "./Cruise.lpr" at line #3708
Token not catched
Function 'cruise_wel_close' script aborted
Lapper Instance ***/29999 abort!
Object reference not set to an instance of an object.
LFSLapper
at LFSLapper.ListZoneEvent.getCommandZoneLeave(String trackName, Int32 idx) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\ZoneEvent.cs:line 121
at LFSLapper.LFSClient.managePacket(DateTime datRecvPacket, MCI mci) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\managePacket.cs:line 988
at LFSLapper.LFSClient.Loop(Connect insimConnection) in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\loop.cs:line 1098
at LFSLapper.LFSClient.doloop() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Client\lfsclient.cs:line 557
at LapperInstances.LapperInstance.doConnection() in D:\Dev\DevInsim\lapper\LFSLapper\LFSLapper\src\LFS Instances\LapperInstance.cs:line 247
System.String getCommandZoneLeave(System.String, Int32)
Closing Instance...

I would like to ask what to do about for Lapper Instance abort?
They are often repetitive.
Only bumps into someone or ascend into the air is abort?
How do I stop it?
How to prevent it?

And maybe you know of any program is programmed to show the errors as shown by C#?

sinanju
17th July 2011, 02:20
Not sure if it's a lapper issue or due to the recent LFS updates, but my lapper scripts now showing error with AU1 track.

Long Track Name [Short Track Name] should give me AutoCross [AU1], instead it gives me Autocross 8 lane drag [AU1].

Code extract
getLapperVar("LongTrackName"),getLapperVar("ShortTrackName"),

Can anyone check if they're having same problem?

lysergic
19th July 2011, 22:55
Hello,

Does your qualification file containing def of qual and usernames who participate in qual is set?

$RefreshQualUsers = true;
#$QualUsers = "&./your_file.flt";
#$QualUsers = "@DefGroup:5:5:2,Gai-Luron,MataGyula,nesrulz,gwendoline,_-ALUCARD-_,lagamel,lister88,c-quad,shimanofr,bruno7529,boby5,kevinb,edgar,berlio z,la tortue,neron59,eur-can,stff,2psbob,oliv76000";

Gai-Luron

Same problem here, but I specify drivers with an external file:

$RefreshQualUsers = true;
$QualUsers = "&./qualusers2009.txt";
#$QualUsers = "@DefGroup:5:5:2,Gai-Luron,MataGyula,nesrulz,gwendoline,_-ALUCARD-_,lagamel,lister88,c-quad,shimanofr,bruno7529,boby5,kevinb,edgar,berlio z,la tortue,neron59,eur-can,stff,2psbob,oliv76000";


external file looks like:

@DefGroup:3:36:2
AriPetrol
dmav
Egon-est
freestylei974
GreyBull [CHA]
Hoitjes
Il Nonno
Logan 5
lysergic
racer hero
RamboJunior
rockclan
thereaperlt
Tukko


Can anybody help me?

Krayy
19th July 2011, 23:24
Not sure if it's a lapper issue or due to the recent LFS updates, but my lapper scripts now showing error with AU1 track.

Long Track Name [Short Track Name] should give me AutoCross [AU1], instead it gives me Autocross 8 lane drag [AU1].

Code extract
getLapperVar("LongTrackName"),getLapperVar("ShortTrackName"),Can anyone check if they're having same problem?
Remove the extra AU1 line from the trackList.cfg file in your main Lapper directory

sinanju
20th July 2011, 10:48
Do you mean remove the last 3 lines from the 4 in the file?

AU1,Autocross,Autocross Autocross,0
AU1,Autocross,Autocross Skid Pad,0
AU1,Autocross,Autocross Drag Strip,0
AU1,Autocross,Autocross 8 Lane Drag,0

Krayy
21st July 2011, 08:45
Yep, because they are overriding the first line
Do you mean remove the last 3 lines from the 4 in the file?

AU1,Autocross,Autocross Autocross,0
AU1,Autocross,Autocross Skid Pad,0
AU1,Autocross,Autocross Drag Strip,0
AU1,Autocross,Autocross 8 Lane Drag,0

sinanju
21st July 2011, 09:20
Just been looking at the LFS Wiki page, and the AU tracks should have individual numbers

Autocross................AU1....N/A
Skid Pad.................AU2....N/A
Drag Strip...............AU3....0.402 km (0.250 mi)
Eight Lane Drag.......AU4....0.402 km (0.250 mi)and instead of the zero at the end of the drag strips, should be 0.402.

Therefore the track list should be

AU1,Autocross,Autocross Autocross,0
AU2,Autocross,Autocross Skid Pad,0
AU3,Autocross,Autocross Drag Strip,0.402
AU4,Autocross,Autocross 8 Lane Drag,0.402

Krayy
21st July 2011, 21:10
Sounds good

johan628
3rd August 2011, 00:42
Hello Gai .

I run lapper 6.0.1.1 on a local host with multi language is it possible to send the message and commands to the player in his language?

lysergic
3rd August 2011, 21:40
Same problem here, but I specify drivers with an external file:

$RefreshQualUsers = true;
$QualUsers = "&./qualusers2009.txt";
#$QualUsers = "@DefGroup:5:5:2,Gai-Luron,MataGyula,nesrulz,gwendoline,_-ALUCARD-_,lagamel,lister88,c-quad,shimanofr,bruno7529,boby5,kevinb,edgar,berlio z,la tortue,neron59,eur-can,stff,2psbob,oliv76000";


external file looks like:

@DefGroup:3:36:2
AriPetrol
dmav
Egon-est
freestylei974
GreyBull [CHA]
Hoitjes
Il Nonno
Logan 5
lysergic
racer hero
RamboJunior
rockclan
thereaperlt
Tukko


Can anybody help me?

no help 4 me?

Krayy
26th August 2011, 01:42
Here's an oldie but a gooide...the GetListOfPlayers function returns an array that only contains the player vars that are strings. Replace the code for the function below and it will include numeric fields as well as strings.

In scriptFunctions.cs:
public void getlistofplayers(GLScript.unionVal val, ArrayList args)
{
string ident = val.nameFunction;
ArrayList lply = new ArrayList();

val.typVal = GLScript.typVal.setOfVar;
val.setVars = new GLScript.SetOfVars( );
foreach (DictionaryEntry de in listOfPlayers.playersUCID)
{
InfoPlayer CI = (InfoPlayer)de.Value;
if (CI.UCID == 0)
continue;
lply.Add(new LOP(CI.userName, Utils.stripLFSColor( CI.nickName )));
}
lply.Sort(new sortByUName());
if (args.Count == 1)
{
string sort = (string)args[0];
if (sort.ToLower() == "n")
lply.Sort(new sortByNName());
}
for (int i = 0; i < lply.Count; i++)
{
val.setVars.Set(i.ToString(), new GLScript.unionVal(0, Utils.quote((lply[i] as LOP).userName), GLScript.typVal.str));
}
}

lysergic
29th September 2011, 22:38
Here's an oldie but a gooide...the GetListOfPlayers function returns an array that only contains the player vars that are strings. Replace the code for the function below and it will include numeric fields as well as strings.

In scriptFunctions.cs:
public void getlistofplayers(GLScript.unionVal val, ArrayList args)
{
string ident = val.nameFunction;
ArrayList lply = new ArrayList();

val.typVal = GLScript.typVal.setOfVar;
val.setVars = new GLScript.SetOfVars( );
foreach (DictionaryEntry de in listOfPlayers.playersUCID)
{
InfoPlayer CI = (InfoPlayer)de.Value;
if (CI.UCID == 0)
continue;
lply.Add(new LOP(CI.userName, Utils.stripLFSColor( CI.nickName )));
}
lply.Sort(new sortByUName());
if (args.Count == 1)
{
string sort = (string)args[0];
if (sort.ToLower() == "n")
lply.Sort(new sortByNName());
}
for (int i = 0; i < lply.Count; i++)
{
val.setVars.Set(i.ToString(), new GLScript.unionVal(0, Utils.quote((lply[i] as LOP).userName), GLScript.typVal.str));
}
}


Is this the answer to my question?

Tim NL
1st October 2011, 18:40
no help 4 me?
In the lpr file is this: separated with ':'
#You can specify the scheme of group of this qualification using a special username called DefGroup
#Defgroup Take 3 argument separated with ':'
#1 - Is the number Max of Group for this qualification
#2 - Is the number max of user per group
#3 - Is the minimum of user in the last group, recalc previous group as possible if number is low
#If you ommit scheme of groups, the group of qualification do not appear

But i checked it on my server and there i have :

DefGroup:4;12;8
tim nl
next user
a other one
and so on

Here was it working for a long time. Maybe you can give it a try.

lysergic
2nd October 2011, 11:18
@Tim (NL): thx I'll try it