 .
.
<?php 
privmsg("Your Nickname: '".GetPlayerVar($userName,"NickName")."'!" );
?>
<?php 
privmsg("Your Nickname: ".GetPlayerVar($userName,"NickName")."^t qoute ^t qoute" );
?>
<?php 
$allowed_list = array(
    "TechEdison" => "yes",
    "Bass-Driver" => "no"
    );
    $username = $_GET["u"];
    if($allowed_list[$username] == "yes")
    {
        echo '1';
    }
    else
    {
        echo '0';
    }
?>
<?php 
Event OnConnect($userName)
    $Allowed = http("http://myurl.com/script.php?u=".$userName);
    IF($Allowed == 0)
    THEN
        cmdLFS("/kick ".$userName);
        GlobalMsg("Kicked: ".$userName.". Reason: Not Alowed");
    ELSE
        GlobalMsg("Welcome Back: ".$userName);
    ENDIF
EndEvent
?>
<?php 
#Display list of players in the chatlog
CASE "!lop":
    $LoP = GetListOfPlayers("U");
    privmsg("-----[List of connected players]-----");
    FOREACH ($Player IN $LoP)
        $PLYuserName = $Player["value"];
        privmsg(GetPlayerVar($PLYuserName,"NickName")." ^8(".$PLYuserName.")");                        
    ENDFOREACH
BREAK;
#Create a list of buttons with the playernames.
CASE "!lop":
    $hgt = 80;
    $LoP = getListOfPlayers("U");
    privmsg("-----[List of buttons with connected players]-----");
    FOREACH($Player IN $LoP)
        $PLYuserName = $Player["value"];
        openButton($userName,"Btn_".$PLYuserName,170,$hgt,30,4,1,-1,16+64,GetPlayerVar($PLYuserName,"NickName")." ^8(".$PLYuserName.")");
        $hgt=$hgt+4;
    ENDFOREACH
BREAK;
?>
<?php 
getlistoflayouts($Filter,$Sort,$TypeSort);
?>
<?php 
# UserToplist
include( "./AutoLayoutChanger.lpr");
?>
<?php 
$LayoutFolder = "";      #LFSLapper must be on the same machine as the LFS Server.
                        #Set Path to the layoutfolder of your LFSServer
                        #$LayoutFolder = ""; #Example : C:\LFS_0.6R\data\layout
                        #The layouts in your Layoutfolder must also exist in the default Layoutfolder of your LFS directory.
CatchEvent OnLapperStart()
    GlobalVar $Timelimit; $Timelimit = 90;      #This is the time in minutes
    GlobalVar $ElapsedTime; $ElapsedTime = 0;    #Reset Value to (re)start the timer.
    GlobalVar $NrOfLayout; $NrOfLayout = 1;        #Reset Value to start from the top of the layout list.
    
    #ss mm hh dayOfWeek dd MM YYYY
    RegisterScheduleAction( "0 * * * * * *", RSA_Time ); #Execute this action each minute
    
EndCatchEvent
                        
Sub RSA_Time() # Lapper Event
    $ElapsedTime = $ElapsedTime + 1;
    
    #IF $ElapsedTime is bigger or equal than the timelimit
    #Reset $ElapsedTime and goto Load layout sub
    IF ($ElapsedTime >= $Timelimit) THEN
        $ElapsedTime = 0;
        LoadLayout();
    ENDIF
EndSub
Sub LoadLayout()
#The vars below are needed to retreive the layout from the layoutfolder
    $Filter = "";
    $Sort = "LAYOUTNAME";
    $TypeSort = "ASC";
    #Try to retreive the layouts from the layoutfolder you have set above
    $layoutlist = getlistoflayouts($Filter,$Sort,$TypeSort);
    
    #Get numberoflayouts from the current track
    $MaxNumberOfLayouts = $layoutlist["NumberOfLayouts"];
    #Load the layout
    privmsg("Loading Layout:".$layoutlist[$NrOfLayout,"LayoutName"]);
    cmdLFS("/axload ".$layoutlist[$NrOfLayout,"LayoutName"]);
    
    #Set numberoflayout for the next action
    $NrOfLayout = $NrOfLayout + 1;
    #IF $NrOfLayout is bigger or equal than the number of layouts in your layoutfolder
    #Reset $NrOfLayout
    IF ($NrOfLayout >= $MaxNumberOfLayouts) THEN
        $NrOfLayout = 1;
    ENDIF
EndSub                        
?>
=================================================
Updates: 
=================================================
  01: Add/Removeobject: Non-floating input values will now be converted into floating values
  02: Lapper no longer returns $userName converted to lowercase format
  03: UserGroupToFile no longer converts usernames to lowercase format
=================================================
Updates: 
=================================================
01: It is now possible to not allow AI drivers to join race. MANY THANKS TO LakynVonLegendaus
    ####################
    #Disable AI drivers#
    ####################
    # Enable (1) or disable (-1) $DisableAI option
    # If enabled, LFS will not allow AI drivers to join race (/ai) and all AI drives that are already on 
     track will be spectated on Lapper start/reload
     $DisableAI = -1;
02: Add/Removeobject: Floating values for X / Y / Z axis are now possible
    ExampleCode:
    GlobalVar $GateOpen; $GateOpen = "19.38:-654.38:0.75:208:175:-70";
    GlobalVar $GateClosed; $GateClosed = "21.38:-654.38:0.75:5:174:-70";
=================================================
Fixes: 
=================================================
01: Add/Removeobject: Heading value wasnt calculated correctly. And negative values werent possible.
=================================================
New: 
=================================================
  01: New Lappervar: 'Lapperstate'
        -Check which state your lapper is. Stable or experimental etc
=================================================
Updates: 
=================================================
  01: Update TrackList.cfg . Thanks Sinanju :)
  02: Event OnObjectInfo($userName,$NumO,$Action,$X,$Y,$Z,$Type,$InDex,$Heading) # Player event
    //Added new value for $Action
    //Get GroundLevel ZByte.
=================================================
Fix: 
=================================================
  01: (Priv/Host)Delayedcommand: Cannot be executed when settime is not equal with the current time. 
        The Delayedcommand task stays in the list and will never be executed. 
        Continues loops could hang. And had to be resetted manually.