The online racing simulator
Searching in All forums
(879 results)
Bass-Driver
S3 licensed
Event guests can execute that command.
Just for test. Create a command and place this function within that command.


Case "!loadlayout":
cmdLFS("/axload <Layoutname>");
BREAK;

Bass-Driver
S3 licensed
Hello S0S,

This is possible.
For a votesystem, you could use this script as a base.

For loading a layout, you could use this command/function in Lapper.

cmdLFS("/axload <Layoutname>");
Bass-Driver
S3 licensed
Have you seen the text?

Dear racers, our master server is currently experiencing DDoS attacks.
We are working towards a better protection, although that may take a few more days to get right.
We apologise for the inconvenience, but our services will be back in full force soon!
Your patience and support are and have always been greatly appreciated.

Bass-Driver
S3 licensed
Thanks Smile

New version available: See first post.
This update contains more minor bugfixes.

V0.5: More Minor bugfixes. (02-04-2018)
  • -Fix: !socceroff , playerbuttons doesnt disappear
  • -Fix: Error when entering the adminpanel.
  • -Fix: Upper TeamName buttons didnt change after changing Teamname
  • -Fix: Some commands could be executed by non-admins
  • -Fix: SpawnToCenter command could be executed by guests
  • -Fix: Could start a soccergame without a ball.
  • -Fix: Could start a soccergame without any players in the teams.
  • -Fix: Error while stopping the soccergame.
  • -Fix: VoteWindow: Buttons with playernames didnt close.
Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
After some requests to help with this socceraddon. I took a quick look if i could find any bugs. And to see if it working with the latest versions of Lapper.

Go to the first post for the updated version.

V0.4: Minor bugfixes. (01-04-2018)
-Fix: Error while loading stored GoalCoordinates
-Fix: Error while start Socceraddon with !socceron
-Fix: Error when "The Ball" respawns to the center
-Update: Disabled Next/Previous page button in Load GoalCoordinates

If you find more bugs, post your findings in THIS topic. Do not PM me please.

-Add a picture of the bug.
-How to reproduce it.
Bass-Driver
S3 licensed
well i could give some idea's:
Some of them are recently build with Lapper or is still in development.

Cruise-Server: Most popular one, and most time-consuming one
Time-Attack: Build by Bass-Driver in dev stage
Rally: Build by Bass-Driver in dev stage
Drag: Build by Bass-Driver
Soccer/Football: Build by Bass-Driver
BangerRacing: Last seen on 'LFS Banger Roleplay' server, still in dev stage
Destruction Derby:
Tag:
Cops&Robbers:
Find the checkpoint/Object:
Bass-Driver
S3 licensed
oke fair enough Smile, keep up the good work Scawen and the rest of the team. Thumbs up
Bass-Driver
S3 licensed
Are there any previews available yet? Like pics of the new updated tracks, and graphics improvements.
Bass-Driver
S3 licensed
While being inactive on LFSLapper development. I've decided to upload the first the Public Test version.
Download the version in the first post

This version contains many bugfixes and a few new interesting features.

See the details in the changelog in the first post.
Bass-Driver
S3 licensed
First version of the ZoneBuilder is available.
Bass-Driver
S3 licensed
Thats true Thumbs up
Bass-Driver
S3 licensed
Sorry for bumping this topic but uhm.

After looking into the sourcecode, after a Lapper function that didnt exist for some reason. I might have found a function for Cross-Server messages.

I have tested it i received the text on all my Server within the server ID-Group.

Function: groupcmdlfs("");

This function does exist in the list of Lapperfunctions but not explained how it works. Just like the rest of the functions.
in Lapper V7.0.4.10, you will notice a delay of 1 seconds of each message that will be sent to the server. This is improved in V7.0.4.11.

The fun part is that i already started with creating a new function for crossmessages. So that is not needed anymore.
Last edited by Bass-Driver, .
W.I.P: ZoneBuilder
Bass-Driver
S3 licensed
Hello,

==============================================================================
NOTE: If you dont know how to create zones or doesnt know what a zone is, please read the topic below.

https://www.lfs.net/forum/thread/89860-Nodes-and-Zones
Shoutout to Sinanju for making this tutorial
==============================================================================

This script is build within version 7.0.4.11. And havent used any new features that arent compatible with the older versions of lapper.
There are still a few things left todo. Please report bugs.

Since Publishing Lapper 7.0.4.6, someone asked me, if it is possible to set zones/area's more easily.
I have build a script that will store the Zones you saved within a menu.
Since the team doesnt exist anymore and the servers are off. I have decided to make this script public.

Features:

-Create multiple files and multiple Zones within the file.
-It stores the X / Y / Z axis and the carheading , the carheading will only be used for testing.
-Test single Zone's (Button will displayed with the text: 'Entered Zone' / 'Leaving Zone')
-Test Entire files
-Delete Zones
-Delete files.(Under development

Couple of ideas that makes this script usefull.

-CruiseServers: Set/store your locations like : The Cardealer / The Store etc.
-Creating checkpoints. Respawn to your last checkpoint.
-Off/OnTrack Detection

How to start:
-Download the files and place them in the 'include' directory of the latest version of Lapper.
-Open Addonsused.LPR and add the line: include( "./ZoneBuilder/Global.LPR");
-Start or reload lapper and type the command !zb or !zonebuilder.


How to Create a zone:
-Drive to the location you want to create your zone.
-Enter a filename (existing or a new one)
-Enter the width of the zone.
-Enter ZoneID. Give it a propername so that you know for which zone it is. NO SPACES!!
-Enter the name of the Sub Callback when someone ENTERED the zone. NO SPACES!!
-Enter the name of the Sub Callback when someone LEAVES the zone. (You can keep this empty is necessary) NO SPACES!!
-Keep the X/Y/Z empty if you are already in the The Zone. Otherwise you can enter this manually, if you know the location.
-The ZoneBuilder will save your carheading at your current spot. You also can enter this manually.
-Click on SAVE ZONE.

How to load the entire file into my script:

-The zoneline inside the file will look like this:
#-148|39|10|2|testzoneid|tralala|trololol|329

#X-Axis | Y-Axis | Z-Axis | WidthOfArea | ZoneID | EnterZone | LeaveZone | CarHeading
#$Line[0] | $Line[1] | $Line[2] | $Line[3] | $Line[4] | $Line[5] | $Line[6] | $Line[7]

If you have saved zones into the file and you want to load it into your (Cruise)(Checkpoint) script. you could use the code below.


<?php 
CatchEvent OnLapperStart
()
    
GlobalVar $GetFileDir;
    
GlobalVar $GetFileName;      
    
$GetFileDir "includes/ZoneBuilder/Files/"#Folder of where the file of zones is saved
    
$GetFileName "Name Of The File Here";               #Name of the file that need to be loaded
    
    #Get zones from the files
    
UserGroupFromFile(""$GetFileName"" $GetFileDir"" $GetFileName".txt" );
    
#Convert them to a array
    
$GetListFromFile GetListOfUsersGroup(""$GetFileName );
    
#Calculate the amount of zones in the file.
    
$GetMaxLinesFromFile arrayCount$GetListFromFile );
    
#Get List from File
    #X-Axis | Y-Axis | Z-Axis | WidthOfArea | ZoneID |  EnterArea  | LeaveArea | CarHeading
    #$Line[0] | $Line[1] | $Line[2] | $Line[3] | $Line[4] | $Line[5] | $Line[6] | $Line[7]
        
FOR ($NrOfRows=0;$NrOfRows<$GetMaxLinesFromFile;$NrOfRows=$NrOfRows+1)
            
$Line SplitToArray($GetListFromFile[$NrOfRows], "|");
            
#Check if the Arrays aren't empty
            
IF (($Line[0] != "")||($Line[1] != "")||($Line[4] != "")) THEN
                RegisterZoneAction
("".$Line[4].""getLapperVar("ShortTrackName") , $Line[0] , $Line[1] , $Line[3], $Line[5], $Line[6]);
            ENDIF
        ENDFOR
EndCatchEvent
?>


Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
Try now, made a small mistake, played one of the ')' wrong

IF (GetPlayerVar($userName,"P_Tres") == ToNum(Round((247 - GetUserStoredValue($userName," 1XRT") / 2.86 ),0)))
Bass-Driver
S3 licensed
The Round function must contain two variables.
Round($Var,0)


First variable is a variable that need to be rounds. Could be a PlayerVar or everything that contains a numeric value.

The 2nd one rounds the first variable to a specified number of digits behind the comma.
Few examples:

$Number = 1.26456

$RoundedNumber = Round($Number,0);
Output: 1
$RoundedNumber = Round($Number,1);
Output: 1,3
$RoundedNumber = Round($Number,2);
Output: 1,26

Also try the code below. It will turn your Set value into a numeric value. I know its a numeric value but just to be sure.Lapper can go weird sometimes.

IF(GetPlayerVar($userName,"P_Tres") == ToNum(247 - Round(GetUserStoredValue($userName," 1XRT") / 2.86 ),0)) THEN

Bass-Driver
S3 licensed
Have you tried, which value GetPlayerVar($userName,"P_Tress") returns??
And i see one typo: its 'P_Tres' no 'P_Tress'. This could solve your problem?

@ lucaf: P_Tres (Air_Restriction) is one of the Playervalues you dont have to set first.
This value is retreived from LFS when someone joins the server
Bass-Driver
S3 licensed
Yeah lapper could act weird sometimes. Leaving us reproducing bugs while there arent any bugs at all. Thats what you have to deal with while you working on lapper scripts. Its frustrating and educational at the same time.
Its up to you, if you putt this topic in the 'W.I.P' or the 'Finished' Section of this Lapper forum.
Anyway thanks again for this script. Another great tool. It still suprises what you can build within the Lapper environment.
Bass-Driver
S3 licensed
Thanks for these bugfixes, and your hard work on this script.
At the first look, it works good. But i have discovered some small bugs. Just few small design faults.

EDIT: While writing the list of bugs below, i couldnt reproduce them anymore. Even after a Lapper rebootFrown I think its something is on my end. But i will write the bugs anyway.


01: First textline error when type !chat <Text> again while chatwindow is opened.
02: When joining a another server, enter chatwindow and close it.
The textlines are still there while the background is gone. After Reentering the command and writing a another textmessage.
Everything is fine

Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
Welcome
Bass-Driver
S3 licensed
01.04.2018 bass-driver
01.04.2018 fgysg
01.04.2018 becko1

OHHH MAAAAAN Tongue.
Are we april fooling eachother or is this serious. We will never know.
Bass-Driver
S3 licensed
Hello,

Sorry, that it tooks so long for the results.
But here it is.

=======TEST METHODE=======

Version of LFSLapper : Experimental V7.0.4.11
Number of GroupsID's : 1
Number of Unique ID's : 3
Number of LFSServers: 3 dedicated servers
Version of LFSServers : 0.6R
============================

=======MY EXPERIENCES=======
When i tried to sent the message, i received an error that the database is locked.

2/20/2018 5:29:50 PM -> The database file is locked
database is locked :
COMMIT TRANSACTION
-----------------------------------------------------------------------------
2/20/2018 5:29:50 PM

Lapper Instance 192.168.178.14/29994 abort!

The database file is locked
database is locked
LFSLapper
bij LFSDbs.DbsAccess.executeNonQuery2(String _command)
bij LFSDbs.DbsAccess.executeNonQuery(String _command)
bij LFSDbs.storedDbs.updateRow2(String key, String value)
bij LFSDbs.storedDbs.updateRow(String key, String value)
bij LFSLapper.LFSClient.setstoredvalue(unionVal val, ArrayList args)
bij GLScript.GLApp.parseBackcall(SetOfVars GVAR, SetOfVars LVAR, unionVal val, ArrayList args)
bij GLScript.Parseur.getval(SetOfVars GVAR, SetOfVars LVAR, executeParsedFunction BC)
bij GLScript.GLApp.retrieveEvalVar(String funcName, TokenParse tkparse, TokenBuffer currTokenBuffer, SetOfVars GVAR, SetOfVars LVAR, Boolean breakFunc, Char& breakCar)
bij GLScript.GLApp.privExecuteTokensPart(Int32 level, String funcName, SetOfVars GCAR, SetOfVars LVAR, Boolean breakable, Boolean inSwitchCase, Int32 start, Int32 end)
bij GLScript.GLApp.privExecuteFunction(String funcName, String[] argsVals)
bij GLScript.GLApp.executeFunction(String funcName, String[] argsVals)
bij Configurator.lexConfigurator.executeFunction(String funcName, infoPlayer pcurrInfoPlayer, String[] par)
bij LFSLapper.LFSClient.managePacket(BTC btc)
bij LFSLapper.LFSClient.Loop(Connect insimConnection)
bij LFSLapper.LFSClient.doloop()
bij LapperInstances.LapperInstance.doConnection()
Int64 executeNonQuery2(System.String)
Closing Instance...
-----------------------------------------------------------------------------

Dont know if this happend on your side aswell.

After restarting Lapper with all the instances, it could sent a message and its displayed in the list, as it should be i think.
So, i joined my second server and typed !chat. The list is empty.
Entered a new message and again i received the same Database lock error. Reloaded lapper again and typed !chat. The list is filled with the saved messages from the other server.

I didnt look into the errormessage yet. Will wait for your response first.

Fun part: after spamming the cmdlfs command in the console. I found a ... is kicked for flooding message.
This is obviously a bug.
Last edited by Bass-Driver, .
Bass-Driver
S3 licensed
oke, i shall look into it.
To see, what i can do with it.
Bass-Driver
S3 licensed
Hey,

This is indeed a interesting proof of concept.
While "trying" to fix some old Console bugs. I ran into a consolecommand named 'cmdlfs'. This sents a message to all Lapper instances with the same Group-ID.

#DEF1|gr1|192.168.178.11|29999|./default|default_1.ini|autowork
#DEF1|gr1|192.168.178.12|29998|./default|default_1.ini|autowork
#DEF1|gr1|192.168.178.13|29997|./default|default_1.ini|autowork

Whould it be an idea to add something like this in Lapperscripts as a function like :

<?php 
 BlahFunction
($GroupID,$Text);
?>

And the output will be a Globalmsg() on each instance or something like that.

Let me know your thoughts about this.
Bass-Driver
S3 licensed
Well i have some idea's:

-Garage (AFK area) with working gates and payment system ( pay for how long you have been in the garage).
-GameCenter: play minigames (alone or together).with a earning system maybe?
FGED GREDG RDFGDR GSFDG