<?php
###################################
#Event triggered when lapper start#
###################################
Event OnLapperStart()
#Create Global variables
Globalvar $Loop_On; $Loop_On = 0;
EndEvent
#################
#Command actions#
#################
Event OnMSO( $userName, $text ) # Player event
$idxOfFirtsSpace = indexOf( $text, " ");
IF( $idxOfFirtsSpace == -1 ) THEN
$command = $text;
$argv = "";
ELSE
$command = subStr( $text,0,$idxOfFirtsSpace );
$argv = trim( subStr( $text,$idxOfFirtsSpace ) );
ENDIF
SWITCH( $command )
#Stop loop & close button for all players
CASE "!loopoff":
$Loop_On = 0;
#Get list of players sorted by Username
$Racers = GetListOfPlayers("U");
#FOREACH Loop
FOREACH( $Var IN $Racers )
closeButton( $Var["value"], "speed");
ENDFOREACH
BREAK;
#Start loop
CASE "!loopon":
$Loop_On = 1;
globalmsg("execute sub Set_Loop()");
Set_Loop(); #Goto Set_Loop Sub-routine
BREAK;
ENDSWITCH
EndEvent
Sub Set_Loop()
IF ($Loop_On == 1) THEN
#Get list of players sorted by Username
$Racers = GetListOfPlayers("U");
FOREACH( $Var IN $Racers ) #For each player in the server
#$Var["value"] = Username
openButton( $Var["value"], "speed",175,124,25,5,5,2,96,"^7" . GetPlayerVar( $Var["value"], "InstantSpeed") . " " . GetPlayerVar( $Var["value"], "UnitSpeed")."^8 (".GetPlayerVar( $Var["value"], "Car").")");
DelayedCommand( 1, Set_Loop); #1 second delay
ENDFOREACH
ENDIF
EndSub
?>
<?php
Sub semaforo1( $userName,$ZoneID)
#privmsg("Sub semaforo1"); #Debug message
startlightcontrol(5,149,22,1);
HostDelayedCommand( 5, semaforo3 );
EndSub
Sub semaforo3($keyflags) #This is not a priv sub-routine anymore
#globalmsg("Sub semaforo3"); #Debug message
startlightcontrol(5,149,22,8);
EndSub
?>
<?php
Sub semaforo1( $userName,$ZoneID)
startlightcontrol(5,149,22,1);
HostDelayedCommand( 5, semaforo3 );
EndSub
Sub semaforo3()
startlightcontrol(5,149,22,8);
EndSub
?>
#closeprivbutton("DAM_YLoc_X_Axis&DAM_YLoc_Y_Axis");
#closeprivbutton("DAM_Bgddark&DAM_BgdLight&DAM_Title&DAM_YLoc_Title&DAM_YLoc_X_Title&DAM_YLoc_Y_Title&DAM_YLoc_XY");
#closeprivbutton("DAM_Cfg_Title&DAM_Cfg_FileName&DAM_Cfg_ButtonID&DAM_Cfg_WoA&DAM_Cfg_SubEnter&DAM_Cfg_SubLeave&DAM_Cfg_X-Axis&DAM_Cfg_Y-Axis");
#closeprivbutton("DAM_Cfg_FileName_01&DAM_Cfg_ButtonID_01&DAM_Cfg_WoA_01&DAM_Cfg_SubEnter_01&DAM_Cfg_SubLeave_01&DAM_Cfg_X-Axis_01&DAM_Cfg_Y-Axis_01");
#closeprivbutton("DAM_Test&DAM_Edit&DAM_Save&DAM_Close&DAM_Expand&DAM_GoTo&DAM_Spare1");
closeButtonRegex (GetCurrentPlayerVar("UserName"), "DAM_*");
<?php
Sub SetLanguage( $KeyFlags,$ButtonID )
#Cut the first 5 chars of the buttonID , result = 'en'
$language = trim( subStr( $ButtonID,5 ) );
#When the value/string of $language is equal to 'en'
IF ($language == "en") THEN
#Set player language to English
SetCurrentPlayerVar("IdLang","en");
#DEBUG MESSAGE
privmsg("Language selected");
#Display Text
openPrivButton( "example",75,111,50,10,5,-1,ISB_DARK, langEngine("%{example}%"));
ENDIF
EndSub
Lang "EN"
example = "This text is an exampletext";
EndLang
?>
SMALL_LCS, // 9 - instruction : set local car switches (lights, horn, siren)
// CAR SWITCHES
// ============
// To operate the local car's lights, horn or siren you can send this IS_SMALL :
// ReqI : 0
// SubT : SMALL_LCS (Local Car Switches)
// UVal : Switches (see below)
// Switches bits
// Bits 0 to 7 are a set of flags specifying which values to set. You can set as many
// as you like at a time. This is to allow you to set only the values you want to set
// while leaving the others to be controlled by the user.
#define LCS_SET_SIGNALS 1 // bit 0
#define LCS_SET_FLASH 2 // bit 1
#define LCS_SET_HEADLIGHTS 4 // bit 2
#define LCS_SET_HORN 8 // bit 3
#define LCS_SET_SIREN 0x10 // bit 4
// Depending on the above values, InSim will read some of the following values and try
// to set them as required, if a real player is found on the local computer.
// bits 8-9 (Switches & 0x0300) - Signal (0 off / 1 left / 2 right / 3 hazard)
// bit 10 (Switches & 0x0400) - Flash
// bit 11 (Switches & 0x0800) - Headlights
// bits 16-18 (Switches & 0x070000) - Horn (0 off / 1 to 5 horn type)
// bits 20-21 (Switches & 0x300000) - Siren (0 off / 1 fast / 2 slow)
SetStoredValue("varname", $value) - sets a variable
GetStoredValue("varname") - returns variable as a string
GetStoredNum("varname") - returns variable as a numeric (or as -1 if it's not a number), so you don't need to do a ToNum($var) conversion if you're doing numeric comparisons
SetUserStoredValue($username, "varname", $value) - Sets a variable
GetUserStoredValue($username, "varname") - returns variable as a string
GetUserStoredNum($username, "varname") - returns variable as a numeric
Event OnDistDone( $userName ) # Player event
EndEvent
SetUserStoredValue($username,"TotalDistance",GetUserStoredValue($username,TotalDistance)+100);
string user = StrMsg[1];
// Split string on spaces.
// ... This will separate all the words.
string[] username = user.Split(' ');
string UName = username[0] + " " + username[1];
if (C.Username == StrMsg[1])
{
blah
}
else if (C.Username == UName)
{
blahblah
}
else
{
InSim.Send_MTC_MessageToConnection("^4|^7 Username not found.", MSO.UCID, 0);
}
V1.08 (02-07-2017)
New: PlayerHud: Contains Racetimer/Messages/Penalty's etc
New: Classes/Air restriction system
Update: Penaltysystem: Add Scenery objects to Penaltylist
Update: Helpmenu: Add new Tab :Serverinfo ( for now Penalty's and Car restiction)
$ListOfPlayers = getListOfPlayers("U");
Sub SortArray($DisplayedStage)
################Sort Times###############
#Add a '0' to the number to create a 2 to 7 digit number
#This will also converts string to Numeric character
UserGroupFromFile( "RallyUserTime".$DisplayedStage,"includes/RallySystem/Times/Times".$DisplayedStage.".txt" ); # Load File
$ListOfTimes = GetListOfUsersGroup("RallyUserTime".$DisplayedStage); #Which stage has to be displayed
$Count_GetNumber = arrayCount( $ListOfTimes );
FOR ($i=0;$i<=$Count_GetNumber;$i=$i+1)
$GetDataFromLine = SplitToArray($ListOfTimes[$i],"|");
IF (IsNum($GetDataFromLine[4])== TRUE) THEN
### Array with values from 0 - 10 ###
IF ((ToNum($GetDataFromLine[4]) > 0) && (ToNum($GetDataFromLine[4]) < 10)) THEN
$GetData[$i,4] = "000000".$GetDataFromLine[4];
ENDIF
### Array with values from 9 - 100 ###
IF ((ToNum($GetDataFromLine[4]) > 9) && (ToNum($GetDataFromLine[4]) < 100)) THEN
$GetData[$i,4] = "00000".$GetDataFromLine[4];
ENDIF
### Array with values from 99 - 1000 ###
IF ((ToNum($GetDataFromLine[4]) > 99) && (ToNum($GetDataFromLine[4]) < 1000)) THEN
$GetData[$i,4] = "0000".$GetDataFromLine[4];
ENDIF
### Array with values from 999 - 10000 ###
IF ((ToNum($GetDataFromLine[4]) > 999) && (ToNum($GetDataFromLine[4]) < 10000)) THEN
$GetData[$i,4] = "000".$GetDataFromLine[4];
ENDIF
### Array with values from 9999 - 100000 ###
IF ((ToNum($GetDataFromLine[4]) > 9999) && (ToNum($GetDataFromLine[4]) < 100000)) THEN
$GetData[$i,4] = "00".$GetDataFromLine[4];
ENDIF
### Array with values from 99999 - 1000000 ###
IF ((ToNum($GetDataFromLine[4]) > 99999) && (ToNum($GetDataFromLine[4]) < 1000000)) THEN
$GetData[$i,4] = "0".$GetDataFromLine[4];
ENDIF
$GetData[$i,1] = $GetDataFromLine[1].""; #String (UserName)
$GetData[$i,2] = $GetDataFromLine[2].""; #String (NickName)
$GetData[$i,3] = $GetDataFromLine[3].""; #String (Car)
$GetData[$i,5] = $GetDataFromLine[5].""; #Num (Penalty)
$GetData[$i,6] = $GetDataFromLine[6].""; #Num (maxSpeed)
$GetData[$i,7] = $GetDataFromLine[7].""; #String (Splittimes)
ENDIF
ENDFOR
$SaveString_One = ""; #String (NickName)
$SaveString_Two = ""; #String (NickName)
$SaveString_Three = ""; #String (Car)
$SaveNumber_Four = 0; #Num (Time)
$SaveNumber_Five = 0; #Num (Penalty)
$SaveNumber_Six = 0; #Num (maxSpeed)
$SaveNumber_Seven = 0; #String (maxSpeed)
#######################
###Ascending sorting###
#######################
FOR ($LineOfFileOne=0;$LineOfFileOne<=$Count_GetNumber;$LineOfFileOne=$LineOfFileOne+1)
FOR ($LineOfFileTwo=$LineOfFileOne;$LineOfFileTwo<=$Count_GetNumber;$LineOfFileTwo=$LineOfFileTwo+1)
IF (($GetData[$LineOfFileOne,4]) > ($GetData[$LineOfFileTwo,4])) THEN
#Temperary Saved vars
$SaveString_One = $GetData[$LineOfFileTwo,1].""; #String (NickName)
$SaveString_Two = $GetData[$LineOfFileTwo,2].""; #String (NickName)
$SaveString_Three = $GetData[$LineOfFileTwo,3].""; #String (Car)
$SaveNumber_Four = $GetData[$LineOfFileTwo,4].""; #Num (Time)
$SaveNumber_Five = $GetData[$LineOfFileTwo,5].""; #Num (Penalty)
$SaveNumber_Six = $GetData[$LineOfFileTwo,6].""; #Num (MaxSpeed)
$SaveNumber_Seven = $GetData[$LineOfFileTwo,7].""; #String (Splits)
$GetData[$LineOfFileTwo,1] = $GetData[$LineOfFileOne,1]."";
$GetData[$LineOfFileTwo,2] = $GetData[$LineOfFileOne,2]."";
$GetData[$LineOfFileTwo,3] = $GetData[$LineOfFileOne,3]."";
$GetData[$LineOfFileTwo,4] = $GetData[$LineOfFileOne,4]."";
$GetData[$LineOfFileTwo,5] = $GetData[$LineOfFileOne,5]."";
$GetData[$LineOfFileTwo,6] = $GetData[$LineOfFileOne,6]."";
$GetData[$LineOfFileTwo,7] = $GetData[$LineOfFileOne,7]."";
$GetData[$LineOfFileOne,1] = $SaveString_One."";
$GetData[$LineOfFileOne,2] = $SaveString_Two."";
$GetData[$LineOfFileOne,3] = $SaveString_Three."";
$GetData[$LineOfFileOne,4] = $SaveNumber_Four."";
$GetData[$LineOfFileOne,5] = $SaveNumber_Five."";
$GetData[$LineOfFileOne,6] = $SaveNumber_Six."";
$GetData[$LineOfFileOne,7] = $SaveNumber_Seven."";
ENDIF
ENDFOR
ENDFOR
##########################################################
#FILTER CARS OR PLAYERS
##########################################################
#Save sorted array to List
IF ((GetCurrentPlayerVar("RallyTimeTableFilterCar") == "")&&(GetCurrentPlayerVar("RallyTimeTableFilterUserName") == "")) THEN
FOR ($i=0;$i<=$Count_GetNumber;$i=$i+1)
$showlist[ToNum($i),1] = $GetData[$i,1]."";
$showlist[ToNum($i),2] = $GetData[$i,2]."";
$showlist[ToNum($i),3] = $GetData[$i,3]."";
$showlist[ToNum($i),4] = $GetData[$i,4]."";
$showlist[ToNum($i),5] = $GetData[$i,5]."";
$showlist[ToNum($i),6] = $GetData[$i,6]."";
$showlist[ToNum($i),7] = $GetData[$i,7]."";
ENDFOR
ELSE
#Something must be Filtered
$showline = 1;
#Clear data from previous array
FOR ($Line=0;$Line<=$Count_GetNumber;$Line=$Line+1)
#Clear Arrays
$showlist[ToNum($Line),1] = "";
$showlist[ToNum($Line),2] = "";
$showlist[ToNum($Line),3] = "";
$showlist[ToNum($Line),4] = "";
$showlist[ToNum($Line),5] = "";
$showlist[ToNum($Line),6] = "";
$showlist[ToNum($Line),7] = "";
ENDFOR
#Car Filter
IF (GetCurrentPlayerVar("RallyTimeTableFilterCar") != "") THEN
$CarsString = SplitToArray(GetCurrentPlayerVar("RallyTimeTableFilterCar"),"+");
$CarsCount = arrayCount($CarsString);
FOR ($c=0;$c<=$CarsCount;$c=$c+1)
FOR ($Car=1;$Car<=20;$Car=$Car+1)
FOR ($Line=0;$Line<=$Count_GetNumber;$Line=$Line+1)
IF ((ToUpper($GetData[ToNum($Line),3]) == ToUpper($CarsString[$c]))&&($Car_TimeTable[$Car] == ToUpper($CarsString[$c]))) THEN
$showlist[ToNum($showline),1] = $GetData[ToNum($Line),1]."";
$showlist[ToNum($showline),2] = $GetData[ToNum($Line),2]."";
$showlist[ToNum($showline),3] = $GetData[ToNum($Line),3]."";
$showlist[ToNum($showline),4] = $GetData[ToNum($Line),4]."";
$showlist[ToNum($showline),5] = $GetData[ToNum($Line),5]."";
$showlist[ToNum($showline),6] = $GetData[ToNum($Line),6]."";
$showlist[ToNum($showline),7] = $GetData[ToNum($Line),7]."";
$showline = $showline+1;
ENDIF
ENDFOR
ENDFOR
ENDFOR
ENDIF
#PlayerName Filter
IF (GetCurrentPlayerVar("RallyTimeTableFilterUserName") != "") THEN
$PlayerString = SplitToArray(GetCurrentPlayerVar("RallyTimeTableFilterUserName"),"+");
$PlayerCount = arrayCount($PlayerString);
FOR ($p=0;$p<=$PlayerCount;$p=$p+1)
FOR ($Line=0;$Line<=$Count_GetNumber;$Line=$Line+1)
IF (ToLower($GetData[ToNum($Line),1]) == ToLower($PlayerString[$p])) THEN
$showlist[ToNum($showline),1] = $GetData[ToNum($Line),1]."";
$showlist[ToNum($showline),2] = $GetData[ToNum($Line),2]."";
$showlist[ToNum($showline),3] = $GetData[ToNum($Line),3]."";
$showlist[ToNum($showline),4] = $GetData[ToNum($Line),4]."";
$showlist[ToNum($showline),5] = $GetData[ToNum($Line),5]."";
$showlist[ToNum($showline),6] = $GetData[ToNum($Line),6]."";
$showlist[ToNum($showline),7] = $GetData[ToNum($Line),7]."";
$showline = $showline+1;
ENDIF
ENDFOR
ENDFOR
ENDIF
ENDIF
#############################
#Set Fastest/Slowest Time
#############################
$WorstTime = 0;
$BestTime = 999999;
FOR ($Line=0;$Line<=$Count_GetNumber;$Line=$Line+1)
IF( IsNum($showlist[ToNum($Line),4]) == TRUE) THEN
IF (ToNum($BestTime) > ToNum($showlist[ToNum($Line),4])) THEN #FASTER THAN
$BestTime = $showlist[ToNum($Line),4]; #Save Current BestTime
ENDIF
IF (ToNum($WorstTime) < ToNum($showlist[ToNum($Line),4])) THEN #SLOWER THAN
$WorstTime = $showlist[ToNum($Line),4]; #Save Current WorstTime
ENDIF
ENDIF
ENDFOR
DisplayList(Getcurrentplayervar("RallyTimeStage"),getcurrentplayervar("RallyTimeTablePage")*15);
EndSub
CatchEvent OnLapperStart()
OnLapperStart_Test();
EndCatchEvent
Sub OnLapperStart_Test()
GlobalVar $number_array;
GlobalVar $new_number_array;
$number_array[0] = 1;
$number_array[1] = 2;
$number_array[2] = 3;
$number_array[3] = 4;
$number_array[4] = 5;
$number_array[5] = 6;
$number_array[6] = 7;
$number_array[7] = 8;
EndSub
CatchEvent OnMSO( $userName, $text ) # Player event
$idxOfFirtsSpace = indexOf( $text, " ");
IF( $idxOfFirtsSpace == -1 ) THEN
$command = $text;
$argv = "";
ELSE
$command = subStr( $text,0,$idxOfFirtsSpace );
$argv = trim( subStr( $text,$idxOfFirtsSpace ) );
ENDIF
SWITCH( $command )
CASE "!testarr":
testarr ( $KeyFlags , $argv );
BREAK;
ENDSWITCH
EndCatchEvent
Sub testarr( $KeyFlags,$id )
####NEW VAR####
$NewArray = $number_array;
dumpVar ($NewArray);
$counter=0;
FOREACH( $val IN $NewArray)
writeline ( "DEBUG ARR: " . $val["value"] );
IF ($val["value" ] != 3)
THEN
$new_number_array[$counter] = $val["value" ];
ENDIF
$counter=$counter+1;
ENDFOREACH
dumpVar ($new_number_array);
EndSub