Naam van toepassing met fout: DCon.exe, versie: 0.0.0.0, tijdstempel: 0x5c89394e
Naam van module met fout: DCon.exe, versie: 0.0.0.0, tijdstempel: 0x5c89394e
Uitzonderingscode: 0xc0000005
Foutoffset: 0x0001c053
Id van proces met fout: 0xac0
Starttijd van toepassing met fout: 0x01d4ed5b34cecc9b
Naam van toepassing met fout: DCon.exe, versie: 0.0.0.0, tijdstempel: 0x5c89394e
Naam van module met fout: DCon.exe, versie: 0.0.0.0, tijdstempel: 0x5c89394e
Uitzonderingscode: 0xc0000005
Foutoffset: 0x0001c053
Id van proces met fout: 0xac0
Starttijd van toepassing met fout: 0x01d4ed5b34cecc9b
01: Changed hardcoded visible records in Toplist/UserTop/Drifttop from 24 to 10000
$list = GetListTop( getConfigVar( DefaultTopCar ), 0, 0 );
Note: Users must edit theire script to see the max visible Records. This can be done with a FOR loop:
<?php
FOR( $i=0;$i<25;$i=$i+1)
ENDFOR
?>
Event OnCrossingChecker($userName,$Flags,$Time,$Object,$UserSpeed,$CircleIndex) # Player event
#############################################$#
#Splitting (general action when passing split)#
###############################################
Event OnSplit1( $userName ) # Player event
EndEvent
Event OnSplit2( $userName ) # Player event
EndEvent
Event OnSplit3( $userName ) # Player event
EndEvent
Event OnLap( $userName ) # Player event
EndEvent
<?php
===============================
UCO insimpacket
===============================
// OK For Insim 8
public class UCO // Size 28 Bytes: report InSim checkpoint / InSim circle
{
public CarContOBJ C = new CarContOBJ();
public ObjectInfo OBJInfo = new ObjectInfo();
public readonly int PLID; // player's unique id
public readonly int Sp0; //Spare 0
public readonly int UCOAction;
public readonly int Sp2; //Spare 2
public readonly int Sp3; //Spare 3
public readonly int Time; //hundredths of a second since start (as in SMALL_RTP)
public UCO(byte[] packet)
{
//byte Size of packet; // 28
//byte Type of packet; // ISP_UCO
//byte ReqI; // 0
PLID = pakGetByte(packet, 3); //1 Byte PlayerID
Sp0 = pakGetByte(packet, 4); //1 Byte Spare
UCOAction = pakGetByte(packet, 5); //1 Byte Flag
Sp2 = pakGetByte(packet, 6); //1 Byte Spare
Sp3 = pakGetByte(packet, 7); //1 Byte Spare
Time = pakGetInt(packet, 8); //4 Bytes [RaceTime hundredths of a second since start (as in SMALL_RTP) GetLapperVar("RaceTime)"]
//Info of PlayerCar
C.Direction = pakGetByte(packet, 12); //1 Byte
C.Heading = pakGetByte(packet, 13); //1 Byte
C.Speed = pakGetByte(packet, 14); //1 Byte
C.PlayerPosZ = pakGetByte(packet, 15); //1 Byte
C.PlayerPosX = pakGetShort(packet, 16); //2 Bytes
C.PlayerPosY = pakGetShort(packet, 18); //2 Bytes
//Info of object(Checkpoint/Circle)
OBJInfo.X = pakGetShort(packet, 20); //2 Bytes
OBJInfo.Y = pakGetShort(packet, 22); //2 Bytes
OBJInfo.Z = pakGetByte(packet, 24); //1 Byte
OBJInfo.Flags = pakGetByte(packet, 25); //1 Byte
OBJInfo.Index = pakGetByte(packet, 26); //1 Byte
OBJInfo.Heading = pakGetByte(packet, 27); //1 Byte
}
}
===============================
SPX insimpacket
===============================
/// <summary>
/// Split X time decoder
/// </summary>
// SPX OK for insim 4
public class SPX
{
public readonly int PLID;
public readonly long STime;
public readonly long ETime;
public readonly int Split;
public readonly int Penalty;
public readonly int NumStop;
public readonly int Sp3;
public SPX(byte[] pak)
{
//byte Size of packet; // 28
//byte Type of packet; // ISP_SPX
//byte ReqI; // 0
PLID = pakGetByte(pak, 3); //1 Byte Player ID
STime = pakGetUnsigned(pak, 4); //4 Bytes Split time (ms)
ETime = pakGetUnsigned(pak, 8); //4 Bytes Total time (ms)
Split = pakGetByte(pak, 12); //1 Byte split number 1, 2, 3
Penalty = pakGetByte(pak, 13); //1 Byte current penalty value
NumStop = pakGetByte(pak, 14); //1 Byte number of pit stops
Sp3 = pakGetByte(pak, 15); //1 Byte Spare
}
}
?>
GetLapperVar("racetime");
GetLapperVar("elapsedms");
GetLapperVar("elapsedsecs");
GetLapperVar("elapsedmins");
-send the valuerequest to Lapper. It might take longer when the Lapperserver is hosted on a another computer
-calculating the time.
-convert the value to MSH: NumtoMSH();
-send the value back on screen (privmsg/button)
<?php
//Get date and time when the race has been started.
//GetLapperVar("dateracestarted");
case "dateracestarted":
val.typVal = GLScript.typVal.str;
val.sval = utils.quote(currRace.started.ToString("yyyy-MM-dd-hh-mm-ss"));
return;
//Elapsed racetime (in Minutes) after the race has been started
//GetLapperVar("elapsedmins");
case "elapsedmins":
TimeSpan interval = DateTime.Now.Subtract(currRace.started);
val.typVal = GLScript.typVal.num;
val.fval = (float)interval.TotalMinutes;
return;
//Elapsed racetime (in Seconds) after the race has been started
//GetLapperVar("elapsedsecs");
case "elapsedsecs":
TimeSpan interval2 = DateTime.Now.Subtract(currRace.started);
val.typVal = GLScript.typVal.num;
val.fval = (float)interval2.TotalSeconds;
return;
//Elapsed racetime (in Milliseconds) after the race has been started
//GetLapperVar("elapsedms");
case "elapsedms":
TimeSpan intervalms = DateTime.Now.Subtract(currRace.started);
val.typVal = GLScript.typVal.num;
val.fval = (float)intervalms.TotalMilliseconds;
return;
//Current racetime (in Milliseconds) after the race has been started
//GetLapperVar("racetime");
case "racetime":
TimeSpan intervalm = DateTime.Now.Subtract(currRace.started);
double RaceTimer = long.Parse(Math.Round(intervalm.TotalMilliseconds).ToString());
val.typVal = GLScript.typVal.num;
val.fval = (float)RaceTimer;
return;
?>
=================================================
Changed:
=================================================
1:NumtoMSH(); returns values in HH:mm.ss format, was HH.mm.ss before.
2:Event oncrossingchecker: returns now which insim checkpoint you crossed.
3:Event oncrossingchecker: returns time in H:mm:ss format.
=================================================
Fix:
=================================================
1: No returning value when accidently applying NumtoMSH(); twice
currentplayerlfsworldpb();
currentplayerlfsworldpbfrom();
+--------------------------------+
|Changes from v5.840 to 5.841 RC |
+--------------------------------+
1. Add new GLScrip command
CurrentPlayerlfsWorldPB( $argv );
Display a screen table with the lfs world PB for the current player
$argv cant contain a car or a track or the two values
$argv = "XRT" -> Display all LFS world PB for the XRT Car
$argv = "BL1" -> Display all LFS world PB for the BL1 Track
$argv = "BL1 XRT" -> Display LFS world PB for the XRT car and BL1 Track
This feature need the pubStatIdk setted in config file
Due to the tarpit that forces you to wait 5 seconds between two call to pubstat
( if two player join in less than 5 sec the server ), you need to wait few second
before retry command.
2. Add new function in LFS chat
!mypb to view your LFS world PB
example:
!mypb XRT
!mypb BL1
CASE "!myconfig":
myConfig( );
BREAK;
removeprivdelayedcommand();
privdelayedcommand();
removehostdelayedcommand();
hostdelayedcommand();
removedelayedcommand();
delayedcommand();
RegisterNodeAction ("NodeID_01","AS1", 123, RadarTrap1, "" );
RegisterZoneAction ("ZoneID_01", "BL1", -40,123, 5 , RadarTrap1, "" );
Sub RadarTrap1($userName,$ID)
IF($ID == "NodeID_01") THEN
ENDIF
IF($ID == "ZoneID_01") THEN
ENDIF
EndSub