The online racing simulator
Searching in All forums
(882 results)
Bass-Driver
S3 licensed
Here is a small explaination about the laptimes.

The Maximum laptime that is recorded to the database was 5 minutes, before V7.0.4.6.
I changed that to 30 minutes due to a request of Sinanju, because he made layouts that took longer than 5 minutes. I cannot find that topic anymore.

For P V L, i changed that parameter to 90 minutes, which is he testing now.

But i believe with the current database code, it cannot go higher than 60 minutes. Due to some Time format limitations.
For laptimes above 60 minutes, it requires a time format(HH:MM:SS.mm) change inside the database, as i can see at the code. I'm not gonna do that. That takes a lot of time/work. And makes all previous lappers imcompatible.


Honestly, i never drove a lap that was longer than 30 minutes. So these are rare laptimes.

Other option i told PVL is custom timing. Just set a starttime and endtime/splittime with GetlapperVar("RaceTime"), and calculate the time between them. Those times can be stored in the userstored database or inside a textfile.

EDIT: i'm talking about laptimes on layouts.
EDIT #2: 90 min laptime with the current lapper code works like a sharm.

Bye,
Smile
Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
Thank you,

There is a current limit of 1 receiving channel: Discordchannel > LFSLapper. Not sure why you need more.

Not the less, it requires a rewrite and will make the current Lapper event (OnReceiveDiscordMessage) and some other variables not compatible with older Lapper versions. I do not want make changes that aren't compatible that fast between Lapperversions.

I will consider this change, if there are more requests.

Don't know how many players using this Discord function right now.
I whould like to see their Lapper projects.
Bass-Driver
S3 licensed
no, its hardcoded.
but its text is grey and displays the current Lapper version, so not very noticable.
Release: LFSLapper V7.0.7.2
Bass-Driver
S3 licensed
Hello LFSLapper users,

Few days ago i've got a report about a not properly working joinrequest() function.
The direction of the car and the height wasn't the same of the current car position.

See the summary of the fixes/changes below:

+---------------------------------------------------------------+
|Changes from 7.0.7.1 to 7.0.7.2 | fixes/changes
+---------------------------------------------------------------+
=================================================
New:
=================================================

Nothing

=================================================
Changed:
=================================================

1: PlayerVar($userName,"Z"): Z-axis has now 2 decimals xx.yy
2: PlayerVar($userName,"Heading"); Heading values changed ((0 - 180 degrees) & (0 - -179) degrees) instead of 0-359 degrees
3: Message ingame when LFSLapper has been connected after (re)loading.
Handy when your LFSlapper instance is running like a service instead of an app for hosting services.

=================================================
Fix:
=================================================

1: JoinRequest(): Did not retreive the correct height from the player.
2: JoinRequest(): Cars heading not proper calculated.

Last edited by Bass-Driver, .
Velocity Motorsports
Bass-Driver
S3 licensed

Its time to introduce Velocity Motorsports after driving around in LFS for almost a couple of years.

Velocity Motorsports is a casual all-around simracing team founded 2/2/2019 by Dlocky (finland69) and Dutchshdw (Bass-Driver).

The Team at first was supposed to be for a few friends who wanted to drive and enjoy the game together,
but during the last year it has been growing more than any of us expected.
It have led us into starting new different servers, frequently updating our LFSLapper scripts and in general, being more active in LFS.

Instead of being the most competitive team out there, our main goal is to deliver friendly and easily accessible servers
for everyone to enjoy. We are not expecting our members to be the fastest/best drivers out there, but having friendly and mature attitude in any situations. We are active in several disciplines like Race/Drift/Cruise and you may see VM tags in any kind of Live For Speed Servers.

All our servers are powered by LFSLapper.





Leaders

VM.Dlocky ( finland69 )
VM.DutchShdw ( Bass-Driver )

Moderators

VM.Khaos ( Khaos453 )
VM.M7mD ( M7mD1467 )
VM.February ( Kentwolf )

Members

VM.Gytis ( duokzaiba )
VM.Carlz ( [CYP]Karlikcz )
VM.Ricky ( RichRicky )
VM.K3s ( khaledalshihry )
VM.aBo_KrooM ( abo-kroom )
VM.Tzu ( notraii )
VM.Niko ( twit )
VM.swf ( driloniloni110 )
VM.Thunder ( inacio_block)
VM.DejaVu ( laurynas683 )
VM.Deaky ( Vertti7 )
VM.F16 ( batya123 )
VM.DEEMz ( deemz167 )
VM.KeepTryin ( kr4d3c7f2 )
VM.Minve ( ka darai )
VM.January ( J-- )
VM.Error ( blackmafia. )
VM.B A D R ( KING_BADR )
VM.Triple ( Triple1 )
VM.Juanma ( jbntz )


Recruits



--------------------------------------------------------------------
VM.TimeAttack

VM.Infected
--------------------------------------------------------------------
Velocity Motorsports Website

Velocity Motorsports Discord

Last edited by Bass-Driver, .
Release: LFSLapper V7.0.7.1 (New Discord Feature)
Bass-Driver
S3 licensed
Hello everyone.
Here a small LFSLapper update with a new Discord feature.


+---------------------------------------------------------------+
|Changes from 7.0.7.0 to 7.0.7.1 | Discord feature Update/Fix
+---------------------------------------------------------------+
=================================================
New:
=================================================

1: New function: SendDiscordEmbed(); #Create and send Discord Embed

#DiscordChannel to receive this embed.
$Channel = "";

#Set Title/Description and color of the discord embed
$Title = "Embed Title";
$Desc = "Embed Description";

#Prefix must contain '0x' Followed by 6 chars 0-9 and A-F
$Color = "0xFF0000"; #RED

#Field Values
## Use %nf% to create a new field. (Add %nf% to $FieldValue and $FieldInline aswell) ##
$FieldTitle = "Field_01 Title"; #Title of the Field
$FieldValue = "Field_01 Value"; #Value of the Field
$FieldInline = "True"; #Use 'True' or 'False' to set Inline Fields.

#Use %nf% to add a footer image URL !! Not an local(pc) image.
$Footer = "LFSLapper Footer: ".GetLapperVar("ShortTime");

#Small Image URL on the right side of the Embed box.
$ThumbnailUrl = "";

#The Entire EmbedBox will fit to the same size as the ImageUrl.
$ImageUrl = "";

#Function to send Discord Embed
SendDiscordEmbed($Channel,$Title,$Desc,$Color,$FieldTitle,$FieldValue,$FieldInline,$Footer,$ThumbnailUrl,$ImageUrl);

=================================================
Fix:
=================================================

1: Couldn't use '\n' in discord messages


Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
Thanks for your request,
Its a nice addition to the current Lapper discord system.

I think it could use the same system as what Insim is using:
Ignore messages/command with a '!' prefix.
In Discord it should delete your message.

This could take a while to find out how it exacly works, and how code it properly, if possible. I might look into that in the future, but its not a must have for now.
Bass-Driver
S3 licensed
Thanks for testing.
its a mistake on my end.
I haven't explained it in the changelog.
Bass-Driver
S3 licensed
Thanks for the report, will look into it.
I'm also not a programmer. Just doing this for fun. Google is your friend Razz

Edit: Could you create a message within the sub
PlayerDetection()

privmsg($DetectedPlayer);

I think with multiple players within the field of view it should look like this
player1+player2

i haven't tested this in a while (since Sun 3 Mar 2019), and i didn't get any feedback from it, so before changing any code i want to know what happends.
Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
New betaversion:

This contains some fixes when some variables are empty.

Download the LFSLapper directory from the first post and grab the .exe from this post.
Bass-Driver
S3 licensed
Thank you,

Please let me know if everything works, so i can build the official version of LFSLapper.
Beta: LFSLapper V7.0.7.1 (New Discord Feature)
Bass-Driver
S3 licensed
Hello Lapper users.

I've been working on a new discord feature for LFSLapper.
Feature is been called Discord Embed. You can create multiple messages within a single messagebox.

EDIT:
New betaversion: (Only.exe)
This contains some fixes when some variables are empty.
Download the LFSLapper directory from the first post and grab the .exe from this post.



+---------------------------------------------------------------+
|Changes from 7.0.7.0 to 7.0.7.1 Beta #1 |
+---------------------------------------------------------------+

- A Discordbot must be created to communicate between LFSLapper and Discord.
- In 'bin/default/includes/myInc.LPR' you can enter the 'DiscordToken' and the 'Discordchannel' to receive the messages from.
- Link to create a discordbot: https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token
- Set DeveloperMode in your discordsettings to "ON' to copy the channel ID ( rightclick on the channel)


=================================================
New:
=================================================
1: New function: SendDiscordEmbed(); #Create and send Discord Embed

=================================================
Fix:
=================================================

1: Couldn't use '\n' in discord messages

Check for the variables and function below:

<?php 
#DiscordChannel to receive this embed.
            
$Channel     "";
            
        
#Set Title/Description and color of the discord embed    
            
$Title         "Embed Title";
            
$Desc          "Embed Description";
            
        
#Prefix must contain '0x' Followed by 6 chars 0-9 and A-F
            
$Color         "0xFF0000"#RED

        #Field Values
        ## Use %nf% to create a new field. (Add %nf% to $FieldValue and $FieldInline aswell) ##
            
$FieldTitle "Field_01 Title";    #Title of the Field     
            
$FieldValue "Field_01 Value"#Value of the Field
            
$FieldInline "True";             #Use 'True' or 'False' to set Inline Fields. 
            
        #Use %nf% to add a footer image URL !! Not an local(pc) image. 
            
$Footer "LFSLapper Footer: ".GetLapperVar("ShortTime");
                
        
#Small Image URL on the right side of the Embed box.
            
$ThumbnailUrl "";
            
        
#The Entire EmbedBox will fit to the same size as the ImageUrl. 
            
$ImageUrl "";
            
        
#Function to send Discord Embed 
            
SendDiscordEmbed($Channel,$Title,$Desc,$Color,$FieldTitle,$FieldValue,$FieldInline,$Footer,$ThumbnailUrl,$ImageUrl);
?>

Code Example of the Attached Image.

<?php 
CASE "!embed":
            
#DiscordChannel to receive this embed.
            
$Channel     "";
            
            
#Set Title/Description and color of the discord embed
                
$Title         "LFSLapper Embed Title";
                
$Desc          "Embed Description";
                
            
#Prefix must contain '0x' Followed by 6 chars 0-9 and A-F
                
$Color         "0xFF0000"#RED

            #Field Values
            ## Use %nf% to create a new field. (Add %nf% to $FieldValue and $FieldInline aswell) ##
                
$FieldTitle 
                     
"Field_01 Title"
                    
."%nf%Field_02 Title"
                    
."%nf%Field_03 Title"
                    
."%nf%Field_04 Title";
                
$FieldValue 
                    
"*Field_01 Value*\n*Field_01 Value*"
                   
."%nf%Field_02 Value"
                   
."%nf%```New BlockLine_01\nNew BlockLine_02\nNew BlockLine_03\nNew BlockLine_04\nNew BlockLine_05\nNew BlockLine_06\nNew BlockLine_07```"
                   
."%nf%**Field_04 Value**\n**Field_04 Value**\n**Field_04 Value**\n**Field_04 Value**";
                   
                
$FieldInline "True%nf%True%nf%False%nf%False"
            
            
#Use %nf% to add a footer image URL !! Not an local(pc) image. 
                
$Footer "LFSLapper Footer: ".GetLapperVar("ShortTime")." %nf% https://velocitymsports.com/home/vmlogo.png ";
                
            
#Small Image URL on the right side of the Embed box.
                
$ThumbnailUrl "https://velocitymsports.com/home/vmlogo.png";
            
            
#The Entire EmbedBox will fit to the same size as the ImageUrl. 
                
$ImageUrl "";
            
            
#Function to send Discord Embed 
            
SendDiscordEmbed($Channel,$Title,$Desc,$Color,$FieldTitle,$FieldValue,$FieldInline,$Footer,$ThumbnailUrl,$ImageUrl);
        BREAK;
?>

Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
Working on a new discord feature aswell.

Bass-Driver
S3 licensed
Hello,
I have found a fix for this and will be available in the next "small" lapper update.
Release: LFSLapper V7.0.7.0
Bass-Driver
S3 licensed
Hello everyone,

It has been a while, but it's finally here. The official release of the new LFSLapper version.
Version 7.0.7.0.

This will be probably the last version of LFSLapper i'll release.
My apologies for the stuff that still isn't working or i didn't fix the last couple of releases.


Note: Event OnPlayerFlags has been changed. See the changelog

+---------------------------------------------------------------+
|Changes from 7.0.6.3 to 7.0.7.0 |
+---------------------------------------------------------------+
=================================================
New:
=================================================
1: New function: PlayerDelayedcommand(); #Start delayedcommand for a specific player

$UserName = "Bass-Driver";
$NameOfDelay = "CloseButton";
$DelayInSeconds = 3;
$SubCallBack = "ThisSub";

PlayerDelayedcommand($UserName,$NameOfDelay,$DelayInSeconds,$SubCallBack);

2: New function: RemovePlayerDelayedCommand(); #Remove delayedcommand for a specific player

$UserName = "Bass-Driver";
$NameOfDelay = "CloseButton";

RemovePlayerDelayedCommand($UserName,$NameOfDelay);

3: New function: RegisterPlayerDetection(); #Detect player within a fieldofview and distance.

#Example
#$userName = Set Player for the detector
$userName = "Bass-Driver"; #The Detector is now enabled for Bass-Driver

#$FieldOfView = Set range of the view to detect players. (degrees)
$FieldOfView = 30; #view will be 0 to 30 and 0 to -30

#$Distance = Max distance of detection (Meters)
$Distance = 25;

#$NameofSubDetected = Execute Subcallback when 1 or more players are detected.
$NameofSubDetected = "PlayerDetected";

RegisterPlayerDetection($userName,$FieldOfView,$Distance,$NameofSubDetected);

#==========================================
#Sub callback
#==========================================

#If there are multiple players in the field of view, $detectedPlayer outputs Player1+Player2+......
#This means you have to split the string into seperated players.

Sub PlayerDetected($userName,$DetectedPlayer)
OpenButton( $userName, "PlayerName",170,115,30,5,2,5,96, "^3Player: ^7".GetPlayerVar($DetectedPlayer,"NickName"));
OpenButton( $userName, "Speed",170,120,30,5,2,5,96, "^3Speed: ^7".GetPlayerVar($DetectedPlayer,"InstantSpeed")." km/h");
OpenButton( $userName, "Distance",170,125,30,5,2,5,96, "^3Heading: ^7".GetPlayerVar($DetectedPlayer,"Heading"));
EndSub

4: New Function: SetCarHandicap();
#This function applies handicap to all drivers using a particular car model
$Car = "XRT";
$H_Mass = 100; CarMass 0 - 200 in KG
$H_Tres = 10; Car AirIntake in %

SetCarHandicap($Car,$H_Mass,$H_Tres);

##################################################################################
#DISCORDBOT FEATURES
##################################################################################
5: New Event :

- This event will be executed when someone sends a discord message to LFSLapper.
- A Discordbot must be created to communicate between LFSLapper and Discord.
- In 'bin/default/includes/myInc.LPR' you can enter the 'DiscordToken' and the 'Discordchannel' to receive the messages from.
- Link to create a discordbot: https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token
- Set DeveloperMode in your discordsettings to "ON' to copy the channel ID ( rightclick on the channel)

Event OnReceiveDiscordMessage($DiscordUname,$Text) # Player event
#Your code
EndEvent

#This function sends messages to your selected discordchannel.
#The discordbot must be connected while using this function

6: New Function: sendmessagetodiscord();
$DiscordChannel = "000000000000000000";
$Message = "Hello";
sendmessagetodiscord($DiscordChannel,$Message);

7: New setconfigvar() value: "DiscordBotStatus"
setconfigvar("DiscordBotStatus",$argv); #change the status of the discordbot
##################################################################################

8: New Playervar: 'CurrLap' GetPlayerVar($userName,"CurrLap");
retreive players current lap.


=================================================
Changed:
=================================================
1:Hostname now visible when lapper succesfully connected to a server.
2:New errormessages to MSS file before Lapper starting (faulty adminpass)
3:Realtime driftscore refreshrate is set to 5 times a second instead of 10.
4:NumtoMSH(); returns values in HH:mm.ss format, was HH.mm.ss before.
5:Event oncrossingchecker: returns now which insim checkpoint you crossed.
Checkpoint >>
1st checkpoint
2nd checkpoint
3rd checkpoint
Finish line

6:Event oncrossingchecker: returns time in H:mm:ss format.
7:GetWr(); allows 1 parameter "CAR". Example below
CASE "!getwr":
IF($argv != "")THEN
$GetWRInfo = GetWR($argv);
ELSE
$GetWRInfo = GetWR();
ENDIF
privmsg("^7============================");
privmsg("^3WR Info:");
privmsg("^7============================");
privmsg("^7Car: ^8".$GetWRInfo["CName"]);
privmsg("^7Track: ^8".$GetWRInfo["Track"]);
privmsg("^7Racer: ^8". $GetWRInfo["racerName"]);
privmsg("^7Time: ^8".NumToMSH($GetWRInfo["WRTime"]));
privmsg("^7Sp1: ^8".NumToMSH($GetWRInfo["Split1"]));
privmsg("^7Sp2: ^8".NumToMSH($GetWRInfo["Split2"]));
privmsg("^7Sp3: ^8".NumToMSH($GetWRInfo["Split3"]));
privmsg("^7Last: ^8".NumToMSH($GetWRInfo["SectorLast"]));
BREAK;
8:GetWR(); Added 2 new values: Date & Time. Date/Time of WR
$GetWRInfo["Date"]);
$GetWRInfo["Time"]);

9: Reduced IS_BTN Packetsize with 16 Bytes
10: Reduced IS_MTC Packetsize with 8 Bytes
11: Event: OnPlayerFlags

Changed Variables: Event OnPlayerFlags($userName,$YellowFlag,$BlueFlag,$Value,$Time) # Player event
-Removed Lag Variable : it spammed the event alot in certain cases.

#Explaination of '$Value'
When $YellowFlag = 1
$Value : 1 == $userName is causing a Yellowflag
$Value : 0 == Clear

When $BlueFlag = 1
$Value : username == Faster Driver (username) is behind $userName
$Value : 0 == Faster Driver (username) overtook $userName

=================================================
Fix:
=================================================
1: WriteLine() :Lapper crash when try to convert special LFS characters
2: Write() :Lapper crash when try to convert special LFS characters
3: LFSLapper.LPR : one of the debugoption turned on
4: LFSLapper.LPR : debugmessages
5: No returning value when accidently applying NumtoMSH(); twice
6: Changed hardcoded visible records in Toplist/UserTop/Drifttop from 24 to 10000
7: Linux/mono users couldnt start Lapper on their computer
8: GetWR(); Couldnt get RO11 WRtime
9: Lappercrash when running 2 lapper instances with the same remoteport.
10: Lappercrash on Joinrequest() when Playerheight is lower than 0.
11: Returning Webrequests didnt execute.

Last edited by Bass-Driver, . Reason : Edited the changelog: RegisterPlayerDetection()
Bass-Driver
S3 licensed
Velocity Motorsports



Bass-Driver
S3 licensed
That feature doesnt exist yet.
Currently, you be able to sent 1 line at a time.


EDIT: Test sendmessagetodiscord("1234","hello \n hello");
Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
its possible, but i'm not sure if it works.

EDIT: Doesn't work, the zones/nodes will be set after setting them in the 'Set Lines' menu.

-Open Drag_Global.LPR
-Go to line: 105 - 111

-Replace the '-' into a node number
So it should look like this:$PreStageLineNode = "-"; >>> $PreStageLineNode = "5"; (number of node)
-Save the file and restart lapper.


The rest of the Drag Addon is outdated, when it becomes to timings and lines etc/
Feel free to change the drag addon.
Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
Seems so.
Live For Speed: The Neverending Project.
If Scawen still need to work on the tyre physics.

Maybe a release next year.
Bass-Driver
S3 licensed
was expecting a another progress report after 2 months, with more pics about south city or fern bay. Or some technical stuff.
Bass-Driver
S3 licensed
Do you host your own server or did you bought a server?

If you bought one. You need to find the IP of that server, and also set the insimport somewhere on their config page ( probably a serverrestart is required)
Bass-Driver
S3 licensed
did you set the insimport on your server aswell.

you can set the port in setup.cfg on your dedicated server.
// optional: InSim port
/insim=INSIMPORT

Or when you are the host of the server type the command ingame
/insim=INSIMPORT

This should be same port as the port you set in LFSServers.cfg

DEF1|gr1|LFSServer IP|INSIMPORT|./default|default_1.ini|autowork

Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
wow oke, didnt know about this.
i know nothing about php or web development at all.

So thank you for the feedback, and the example.
What do you suggest to prevent XSS for this small code as an example.
Bass-Driver
S3 licensed
OK another lesson learned, after some experimenting.

The person who own the website, putt the phpcode between HTML tags. I didnt know that.
So Lapper sees the string differently when its between HTML tags.

like this for example:


<?php 
<!DOCTYPE html>
<
html>
<
body>

<
h1>Blah Blah Blah</h1>

<?
php
if(isset($_GET["uname"])) 
{
    echo 
'GlobalMsg("Welcome '.$_GET["uname"].'");';
    echo 
'privMsg("Welcome '.$_GET["uname"].'");';
    echo 
'cmdLFS("/msg Welcome '.$_GET["uname"].'" );';    
}
?>

</body>
</html>
?>

FGED GREDG RDFGDR GSFDG