PDA

View Full Version : LFSLapper Cruise Addon (Final Release)


Pages : 1 [2]

bananas111
18th June 2011, 19:13
Hi,
How I can make a timer like /msg Hi and then 1min go /msg Hello.

sinanju
19th June 2011, 00:15
Use the RegisterScheduleAction and make up a couple of sub-routine to go with it that show the text you want as clear buttons.

Something like

RegisterScheduleAction( "0 0 1 * * * *", RSA_hi );
RegisterScheduleAction( "0 1 1 * * * *", RSA_hello );

Sub RSA_hi()
globalRcm( "Hi" );
EndSub

Sub RSA_hello()
globalRcm( "Hello" );
EndSub

If I've got it right (long time since I used this method) that should probably put "Hi" on screen every hour, followed by "Hello" a minute later, but from experience, it'll get annoying.

The first number in the sequence is seconds, then next is minutes, then hours, .....etc. Nothing to stop you changing from every 1 hour to every 2, 3, 4 or more hours.

bananas111
19th June 2011, 07:34
Hello,
I try to do then I go to cordinates when timer start going but I don't understand how do that. This is my make script Sub RSA_hi()
IF ( $Mode == "Cruise" )
THEN
IF ( GetCurrentPlayerVar( "IdZone" ) == "TOKO" )
THEN
privmsg( "^7Welcome to ^6" . GetCurrentPlayerVar( "IdZone") );
ENDIF
ENDIF
EndSubBut he don't work...

sinanju
19th June 2011, 11:37
Ok.

What you're looking for is a message to appear when someone is in a predetermined part of the track, rather than a message that happens at a predetermined time.

RegisterScheduleAction is for time based events.
RegisterZoneAction & RegisterNodeAction are for place based events.

In this case, what you need to do is set up a RegisterZoneAction, e.g.

RegisterZoneAction( "TOKO" , "BL1", 36,402, 5 , RSA_hi,"" );Basically, when you get to a place (specific ZONE on the track), which you call 'TOKO' at Blackwood, at the zone you've defined (I've just picked 2 numbers at random [36 + 402]) then the sub-routine RSA_hi will start.

At the moment you have a "welcome" message, but you can add other messages or buttons in that code.

Also.

If you want to use the same messages, etc, when you get to other zones, then you can re-use the same bit of sub-routine, but just extend it with some more IF statements, such as

Sub RSA_hi()
IF ( $Mode == "Cruise" )
THEN
IF ( GetCurrentPlayerVar( "IdZone" ) == "TOKO" )
ELSE
IF ( GetCurrentPlayerVar( "IdZone" ) == "HERE" )
ELSE
IF ( GetCurrentPlayerVar( "IdZone" ) == "THERE" )
THEN
privmsg( "^7Welcome to ^6" . GetCurrentPlayerVar( "IdZone") );
ENDIF
ENDIF
ENDIF
ENDIF
EndSub

LFSCruise
19th June 2011, 12:04
Not quite sure what it is you mean here.

Do you mean when a player changes their nickname?

As in something like

Event OnNameChange($userName,$oldNickName,$newNickName) # Player event
cmdLFS("/kick " . GetCurrentPlayerVar("UserName") );
EndEvent

This is, I know. I need as a player, the player takes over the car and then kicked Lapper and I have not found such a system.

----------------------------------
NickName took over from NickName
cmdLFS("/kick " . GetCurrentPlayerVar("UserName") );
------------------------------------

Here it must be done to stop pens and both players use the "T" letters, and thus take over the car. I think that there is need to develop a new system.

LFSCruise
19th June 2011, 12:27
Use the RegisterScheduleAction and make up a couple of sub-routine to go with it that show the text you want as clear buttons.

Something like

RegisterScheduleAction( "0 0 1 * * * *", RSA_hi );
RegisterScheduleAction( "0 1 1 * * * *", RSA_hello );

Sub RSA_hi()
globalRcm( "Hi" );
EndSub

Sub RSA_hello()
globalRcm( "Hello" );
EndSub

If I've got it right (long time since I used this method) that should probably put "Hi" on screen every hour, followed by "Hello" a minute later, but from experience, it'll get annoying.

The first number in the sequence is seconds, then next is minutes, then hours, .....etc. Nothing to stop you changing from every 1 hour to every 2, 3, 4 or more hours.


Would not it be possible to apply this principle in traffic lights?

sinanju
19th June 2011, 13:19
Very easily.

Something like....

RegisterScheduleAction( "0 1 * * * * *", RSA_green );
RegisterScheduleAction( "20 1 * * * * *", RSA_amber );
RegisterScheduleAction( "40 0 * * * * *", RSA_red );

Sub RSA_green()
closeGlobalButton( "tlight_bg&tlight_bga&tlight_colour");
openGlobalButton( "tlight_bg",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_bga",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_colour",84,0,20,20,1,6,0,"^2•" );
EndSub

Sub RSA_amber()
closeGlobalButton( "tlight_bg&tlight_bga&tlight_colour");
openGlobalButton( "tlight_bg",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_bga",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_colour",84,0,20,20,1,6,0,"^3•" );
EndSub

Sub RSA_red()
closeGlobalButton( "tlight_bg&tlight_bga&tlight_colour");
openGlobalButton( "tlight_bg",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_bga",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_colour",84,0,20,20,1,6,0,"^1•" );
EndSubHowever!

Everyone will see the lights wherever they are on track.

I did make a set of traffic lights before - I'll see if I still have the code somewhere - but I think they worked on Zone system.

LFSCruise
19th June 2011, 15:00
Very easily.

Something like....

RegisterScheduleAction( "0 1 * * * * *", RSA_green );
RegisterScheduleAction( "20 1 * * * * *", RSA_amber );
RegisterScheduleAction( "40 0 * * * * *", RSA_red );

Sub RSA_green()
closeGlobalButton( "tlight_bg&tlight_bga&tlight_colour");
openGlobalButton( "tlight_bg",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_bga",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_colour",84,0,20,20,1,6,0,"^2•" );
EndSub

Sub RSA_amber()
closeGlobalButton( "tlight_bg&tlight_bga&tlight_colour");
openGlobalButton( "tlight_bg",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_bga",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_colour",84,0,20,20,1,6,0,"^3•" );
EndSub

Sub RSA_red()
closeGlobalButton( "tlight_bg&tlight_bga&tlight_colour");
openGlobalButton( "tlight_bg",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_bga",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_colour",84,0,20,20,1,6,0,"^1•" );
EndSubHowever!

Everyone will see the lights wherever they are on track.

I did make a set of traffic lights before - I'll see if I still have the code somewhere - but I think they worked on Zone system.

I think that should be used openPrivButton and how it needs to be done on the track?
It must be that if in one side of the red and green in another fired as vice versa, and it requires self-timer.

bananas111
19th June 2011, 15:28
One question. Do this script work like traffic?
RegisterZoneAction( "Traffic" , "BL1", 36,402, 5 , RSA_green,"" );
RegisterZoneAction( "Traffic" , "BL1", 36,402, 5 , RSA_amber,"" );
RegisterZoneAction( "Traffic" , "BL1", 36,402, 5 , RSA_red,"" );

RegisterScheduleAction( "0 1 * * * * *", RSA_green );
RegisterScheduleAction( "20 1 * * * * *", RSA_amber );
RegisterScheduleAction( "40 0 * * * * *", RSA_red );

Sub RSA_green()
closeGlobalButton( "tlight_bg&tlight_bga&tlight_colour");
openGlobalButton( "tlight_bg",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_bga",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_colour",84,0,20,20,1,6,0,"^2•" );
EndSub

Sub RSA_amber()
closeGlobalButton( "tlight_bg&tlight_bga&tlight_colour");
openGlobalButton( "tlight_bg",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_bga",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_colour",84,0,20,20,1,6,0,"^3•" );
EndSub

Sub RSA_red()
closeGlobalButton( "tlight_bg&tlight_bga&tlight_colour");
openGlobalButton( "tlight_bg",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_bga",91,6,18,9,1,6,32," ");
openGlobalButton( "tlight_colour",84,0,20,20,1,6,0,"^1•" );
EndSub

LFSCruise
19th June 2011, 20:48
Is it possible to do as a player votes for the race start or end of the race kicked him?

sinanju
19th June 2011, 22:01
Sorry, you're jumping from one thing to another, and I can't keep up.

bananas111
20th June 2011, 17:39
Hello,
How can I make a street's names and speed zone?

sinanju
20th June 2011, 18:13
Hello,
How can I make a street's names and speed zone?

Street Names
Find a node on a track you want the name to appear.

Then you need to make up a RegisterNodeAction with short track name, node number, and a sub-routine, e.g.

RegisterNodeAction( "SO2R" , 84 , SN_Odeon,"" );

Then make up sub-routine that will show name, e.g.

Sub SN_Odeon( $userName )
openPrivButton( "location",2,20,24,6,2,4,96,"^7ODEON TURN -->");
EndSub

This is what I use on my server to show the turn at the Odeon Cinema at South City, and shows for up to 4 seconds.

If you give another location the same button name, it will overwrite your original button, which can be good in this case as faster cars may be at next corner before name changes.

Speed Zone
Same as above, but add another button with a number and/or description in it, e.g.

Sub SN_Odeon( $userName )
openPrivButton( "location",2,20,24,6,2,4,96,"^7ODEON TURN -->");
openPrivButton( "speed",2,30,24,6,2,4,96,"^140MPH");
EndSub

To get the node number, drive to the bit of the track you want sign to appear, and type !node.

Assuming you're the admin, you will be shown the node number.

LFSCruise
20th June 2011, 18:18
How to do that as a player votes for the race start or end of the race that he then kicked out?

LFSCruise
20th June 2011, 19:00
Street Names
Find a node on a track you want the name to appear.

Then you need to make up a RegisterNodeAction with short track name, node number, and a sub-routine, e.g.

RegisterNodeAction( "SO2R" , 84 , SN_Odeon,"" );

Then make up sub-routine that will show name, e.g.

Sub SN_Odeon( $userName )
openPrivButton( "location",2,20,24,6,2,4,96,"^7ODEON TURN -->");
EndSub

This is what I use on my server to show the turn at the Odeon Cinema at South City, and shows for up to 4 seconds.

If you give another location the same button name, it will overwrite your original button, which can be good in this case as faster cars may be at next corner before name changes.

Speed Zone
Same as above, but add another button with a number and/or description in it, e.g.

Sub SN_Odeon( $userName )
openPrivButton( "location",2,20,24,6,2,4,96,"^7ODEON TURN -->");
openPrivButton( "speed",2,30,24,6,2,4,96,"^140MPH");
EndSub

To get the node number, drive to the bit of the track you want sign to appear, and type !node.

Assuming you're the admin, you will be shown the node number.

I'm sorry for the impatience but how to do that work on AS5Y?

bananas111
20th June 2011, 19:16
Street Names
Find a node on a track you want the name to appear.

Then you need to make up a RegisterNodeAction with short track name, node number, and a sub-routine, e.g.

RegisterNodeAction( "SO2R" , 84 , SN_Odeon,"" );Then make up sub-routine that will show name, e.g.

Sub SN_Odeon( $userName )
openPrivButton( "location",2,20,24,6,2,4,96,"^7ODEON TURN -->");
EndSubThis is what I use on my server to show the turn at the Odeon Cinema at South City, and shows for up to 4 seconds.

If you give another location the same button name, it will overwrite your original button, which can be good in this case as faster cars may be at next corner before name changes.

Speed Zone
Same as above, but add another button with a number and/or description in it, e.g.

Sub SN_Odeon( $userName )
openPrivButton( "location",2,20,24,6,2,4,96,"^7ODEON TURN -->");
openPrivButton( "speed",2,30,24,6,2,4,96,"^140MPH");
EndSubTo get the node number, drive to the bit of the track you want sign to appear, and type !node.

Assuming you're the admin, you will be shown the node number.

I don't understand node numbers can you help?

sinanju
20th June 2011, 19:56
I'm sorry for the impatience but how to do that work on AS5Y?
Are Demo'ers allowed on Aston?

I don't think you get nodes on any of the X or Y configs.

Try typing !node at various points going round Blackwood - you should get different numbers showing as you move on. This "node" goes from one side of track to other.

LFSCruise
20th June 2011, 20:02
Yes, I have another account. I write !node AS5Y across the track shows the 0th.

sinanju
20th June 2011, 23:12
Just checked and !node will not work in open track configuration mode.

But !zone will.

Instead of using !node try using !zone on the racing line.

Then code might be something like

RegisterZoneAction( "AS5Y" , -619,-439, 5 , SN_Odeon,"" );
then exactly same sub-routine I showed earlier
Sub SN_Odeon( $userName )
openPrivButton( "location",2,20,24,6,2,4,96,"^7ODEON TURN -->");
EndSub

If you find that you're not 'catching' people in your zone and they go past it, then nothing to stop you having a zone at either side, but all having the same sub-routine, like

RegisterZoneAction( "AS5Y" , -619,-429, 5 ,SN_Odeon,"" );
RegisterZoneAction( "AS5Y" , -619,-439, 5 ,SN_Odeon,"" );
RegisterZoneAction( "AS5Y" , -619,-449, 5 ,SN_Odeon,"" );

I use this system quite a bit, but usually only take the zone details for the racing line as it's not important if they miss it.

Edit
----

If you're doing something for cruise use, of course you will not be interested in the racing line, so you may have to do multiple zones, or put barriers up so that you have to go through the specified zone.

LFSCruise
20th June 2011, 23:18
Just checked and !node will not work in open track configuration mode.

But !zone will.

Instead of using !node try using !zone on the racing line.

Then code might be something like


RegisterZoneAction( "AS5Y" , -619,-439, 5 , SN_Odeon,"" );
then exactly same sub-routine I showed earlier

Sub SN_Odeon( $userName )
openPrivButton( "location",2,20,24,6,2,4,96,"^7ODEON TURN -->");
EndSub


If you find that you're not 'catching' people in your zone and they go past it, then nothing to stop you having a zone at either side, but all having the same sub-routine, like


RegisterZoneAction( "AS5Y" , -619,-429, 5 ,SN_Odeon,"" );
RegisterZoneAction( "AS5Y" , -619,-439, 5 ,SN_Odeon,"" );
RegisterZoneAction( "AS5Y" , -619,-449, 5 ,SN_Odeon,"" );


I use this system quite a bit, but usually only take the zone details for the racing line as it's not important if they miss it.

I think that would be better RegisterNodeAction.

How to do that as a player votes for the race start or end of the race that he then kicked out?

sinanju
20th June 2011, 23:25
How to do that as a player votes for the race start or end of the race that he then kicked out?
Not sure that can be done unless the standard lapper code

Event OnVoteRestartChange($PlayerOnTrack, $Vote , $Need) # Lapper Event
openGlobalButton( "bargr1",40,1,10,6,6,30,96,langEngine( "%{main_vote_restart1}%"));
openGlobalButton( "bargr2",50,1,20,6,6,30,96,langEngine( "%{main_vote_restart2}%",$Vote,$PlayerOnTrack,$Need ) );
EndEventcan be changed to something like

Event OnVoteRestartChange($PlayerOnTrack, $Vote , $Need) # Lapper Event
cmdLFS( "/kick " . $PlayerOnTrack );
EndEvent

bananas111
21st June 2011, 07:48
Streets and speed zones work! thanks you :)

LFSCruise
21st June 2011, 10:31
Not sure that can be done unless the standard lapper code

Event OnVoteRestartChange($PlayerOnTrack, $Vote , $Need) # Lapper Event
openGlobalButton( "bargr1",40,1,10,6,6,30,96,langEngine( "%{main_vote_restart1}%"));
openGlobalButton( "bargr2",50,1,20,6,6,30,96,langEngine( "%{main_vote_restart2}%",$Vote,$PlayerOnTrack,$Need ) );
EndEventcan be changed to something like

Event OnVoteRestartChange($PlayerOnTrack, $Vote , $Need) # Lapper Event
cmdLFS( "/kick " . $PlayerOnTrack );
EndEvent

It does not work.

LFSCruise
21st June 2011, 10:36
Do you know how to do that openPrivButton show a direct and variable speed?

sinanju
21st June 2011, 12:59
If you look in the /docs folder, you'll see a file called playerVars.txt.

In that file, you'll see there's a number of player variables you can use to get speed, such as

UnitSpeed...........// km/h or mph relative to the player choice
AvgSpeed...........// Avg Speed on last Lap Time
InstantSpeed......// Instant speed for the player
BestSpeed..........// Best Speed done on this combo by player

If you want to see how to use these type of variables, look at Event OnAcceleration.

I'm not going to show you how to use it, because this is probably the fifth easiest button to make.

You should teach yourself the following;

How to make a..

..button with no text (as used in a background)
..button with text built directly into the button code
..button with text via Lang(uage) file
..button with sub-routine appended (like the ones for the street names)
..button with player variable (look for {} brackets in the language files to give you ideas on how they're used).

Until you can do these easy buttons, I don't think you should be going much further.

Sorry for being bit negative, but I feel I'm spoon feeding you here, and making up a whole server script line by line. And you won't be learning much if you can't see how one piece of code, with slight changes, can be used for so many different situations.

Read the playerVars.txt, changes.txt, and lfslapper.lpr files as they've all got coding help comments that are useful for doing fairly easy coding.

bananas111
21st June 2011, 13:14
Hi,
Do lfs lapper have a jobs? Like a pizza bringer, hamburger bringer, pizza boy :shy:

LFSCruise
21st June 2011, 13:47
If you look in the /docs folder, you'll see a file called playerVars.txt.

In that file, you'll see there's a number of player variables you can use to get speed, such as

UnitSpeed...........// km/h or mph relative to the player choice
AvgSpeed...........// Avg Speed on last Lap Time
InstantSpeed......// Instant speed for the player
BestSpeed..........// Best Speed done on this combo by player

If you want to see how to use these type of variables, look at Event OnAcceleration.

I'm not going to show you how to use it, because this is probably the fifth easiest button to make.

You should teach yourself the following;

How to make a..

..button with no text (as used in a background)
..button with text built directly into the button code
..button with text via Lang(uage) file
..button with sub-routine appended (like the ones for the street names)
..button with player variable (look for {} brackets in the language files to give you ideas on how they're used).

Until you can do these easy buttons, I don't think you should be going much further.

Sorry for being bit negative, but I feel I'm spoon feeding you here, and making up a whole server script line by line. And you won't be learning much if you can't see how one piece of code, with slight changes, can be used for so many different situations.

Read the playerVars.txt, changes.txt, and lfslapper.lpr files as they've all got coding help comments that are useful for doing fairly easy coding.

Can you help? Man does not go do the button to show the speed.

Yisc[NL]
21st June 2011, 17:18
Sorry for being bit negative, but I feel I'm spoon feeding you here, and making up a whole server script line by line. And you won't be learning much if you can't see how one piece of code, with slight changes, can be used for so many different situations.

Well said and to be honest, I was thinking the same seeing question after question answered by you. The best way to learn this (but it goes for everything) is by doing it yourself, making mistakes, crying over it, start again and then slowly you'll get the hang of it, only to discover what a great environment Gai-Luron created for us (and Kravy too with his patches).

LFSCruise
21st June 2011, 17:41
I think that it is impossible to do openPrivButton to show the speed does not directly.

openPrivButton( "speed",1,118,27,4,4,-1,32,"{0}" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) );
openPrivButton( "speed",1,118,27,4,4,-1,32,"{0:1}" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) );
Does not work. Why?

sinanju
21st June 2011, 17:53
And as a follow up - if you were to show us some code to show what you were doing but couldn't get to work, people would be willing to show you where you're going wrong.

If you think we're being a bit hard on you, then look at other parts of the forum. For most of your questions you would have got 1 of the following 3 answers.

No / Yes / Originally Posted by Dygear
Help != Programming for you.

Give a man a fish he eats for a day, teach a man to fish he eats for a life time.


Assuming they were polite of course!

sinanju
21st June 2011, 18:10
I think that it is impossible to do openPrivButton to show the speed does not directly.

openPrivButton( "speed",1,118,27,4,4,-1,32,"{0}" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) );
openPrivButton( "speed",1,118,27,4,4,-1,32,"{0:1}" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) );
Does not work. Why?
Because you have got {0} in one line, and {0:1} in the other.

Where you have these should start with
langEngine( ... etc.

The {0} should be in the language file, and means the first player variable asked for (in this case, InstantSpeed) goes where the 0 is.

Look at the Event OnAcceleration part of the code again, and you'll see that it'll have as part of it's line
langEngine( "%{main_accel}%" ,GetCurrentPlayerVar("AccelerationTime"),GetCurrentPlayerVar("AccelerationEndSpeed"),GetCurrentPlayerVar("UnitSpeed") ) );If you look for main_accel in the language file, it will have
main_accel = "^8Accelerated in ^3{0}^8 seconds to {1} {2}!";{0} is the first of the player variables in the coding line, {2} is 2nd variable, and {3} is 3rd variable.

LFSCruise
21st June 2011, 18:20
main_speed = "{0} {1}";

openPrivButton( langEngine( "speed",1,118,27,4,4,-1,32,"%{main_speed}%" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) );

Tell what's wrong?

sinanju
21st June 2011, 19:47
main_speed = "{0} {1}";

openPrivButton( langEngine( "speed",1,118,27,4,4,-1,32,"%{main_speed}%" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) );

Tell what's wrong?

openPrivButton( langEngine( "speed",1,118,27,4,4,-1,32,"%{main_speed}%" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) );should be laid out like

openPrivButton( "speed",1,118,27,4,4,-1,32,langEngine( "%{main_speed}%" , ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") ) );

LFSCruise
21st June 2011, 20:33
I was successful. However, speed does not change, no change, why?
How to make a motion that he would change and it would appear directly?

sinanju
21st June 2011, 22:43
Maybe because in your button with numbers as follows

1,118,27,4,4,-1,32

the -1 is where time is put, and -1 means leave button up until lapper told to close it or it gets overwritten by same button if there's a change.

Or to put it another way (as detailed in the default lfslapper.lpr file)

"Duration in seconds for the button to be displayed (use -1 if you don't want an automatic close)".

Try changing -1 to something like 4.

Can I remind you to look HERE (http://www.lfsforum.net/showthread.php?p=1608619#post1608619).

LFSCruise
21st June 2011, 23:33
If exchanging -2 disappear and only if the Appears -3 or -4 is the same.
+4 If it moves immediately disappears.
If you are replacing Their 10 to the Same effect as with -1.

Maybe instead of langEngine should be used strFormat?

sinanju
22nd June 2011, 11:22
Kaip jau sakiau anksčiau, jums tikrai reikia sužinoti, kaip padaryti paprastas mygtukai pirma prieš pradėdami galvoti apie StrFormat pertvarkos, ypač vis tiek galite naudoti kalbos failus, nepriklausomai nuo formato tipo jūs naudojate.

Translation courtesy of Google Translate.

Tim NL
22nd June 2011, 11:59
I was successful. However, speed does not change, no change, why?
How to make a motion that he would change and it would appear directly?

Hi,
You can show the current speed for a player when he/she passing a point on the track. (start/finish line or sp1/sp2/sp3 or a point like a speed trap)

You cant show the current speed all the time in lapper for all the players.
Why should you do that anyway? every car have a speedo meter in lfs.

LFSCruise
22nd June 2011, 12:12
Hi,
You can show the current speed for a player when he/she passing a point on the track. (start/finish line or sp1/sp2/sp3 or a point like a speed trap)

You cant show the current speed all the time in lapper for all the players.
Why should you do that anyway? every car have a speedo meter in lfs.

So that on the C# indicates the speed directly.
Why is it that the LFS Lapper impossible?

And it is well done for one reason.
How does the COP to see if the players are above and start capturing.
Because it is very awkward to write !clock and UserName.
http://www.part.lt/img/f4f8e863b84ce9fd0390390385d58cb9461.jpg (http://www.part.lt/perziura/f4f8e863b84ce9fd0390390385d58cb9461.jpg)

LFSCruise
22nd June 2011, 12:25
If exchanging -2 disappear and only if the Appears -3 or -4 is the same.
+4 If it moves immediately disappears.
If you are replacing Their 10 to the Same effect as with -1.

Maybe instead of langEngine should be used strFormat?

I thought about strFormat because I like the car is running it will be a variable value.

bananas111
22nd June 2011, 15:09
Hi,
How make a licenses? :Looking_a

sinanju
22nd June 2011, 15:29
How does the COP to see if the players are above and start capturing?
Bit like real life really.

In real life, a cop might be close to a point where speed zone changes from one value to lower value. In some places, electronic signs measure your cars speed as it goes past camera, and displays it. If someone still stays at same speed (doesn't slow down), cop chases.

In Lapper, choose a node or zone (or number of zones)
when car passes that point, then get lapper via GLOBAL button to show speed of driver at that point
If speed is higher than allowed speed get lapper via global button to advise driver is speeding
If COP is able to see speeding driver, then COP chases driver (or not)
If you make button(s) time sensitive, then if not chased while buttons appeared, then you don't get penalty.

sinanju
22nd June 2011, 15:37
Hi,
How make a licenses? :Looking_a
I use MS Word (sometimes Visio, sometimes Paint), then print them off. Depending on how intricate I want to make it, I sometimes scan stuff in, or download stuff from the internet.

If I want coloured licence, I copy document onto my pen drive, and use the colour printer at work (and hope I don't get caught!). If it's just b&W, I print it at home.

Last one I made was for my dog. Looks like a British Kennel license, but it's just a fake one. The dog's happy though, as she hasn't seen a real one to compare it to. I'm not intending to show it to anyone to try pass her off a thoroughbred breed, so I think it's ok. :shrug:

LFSCruise
22nd June 2011, 15:42
Bit like real life really.

In real life, a cop might be close to a point where speed zone changes from one value to lower value. In some places, electronic signs measure your cars speed as it goes past camera, and displays it. If someone still stays at same speed (doesn't slow down), cop chases.

In Lapper, choose a node or zone (or number of zones)
when car passes that point, then get lapper via GLOBAL button to show speed of driver at that point
If speed is higher than allowed speed get lapper via global button to advise driver is speeding
If COP is able to see speeding driver, then COP chases driver (or not)
If you make button(s) time sensitive, then if not chased while buttons appeared, then you don't get penalty.

Little understand.

It would be better to show all the players are within 200 meters.
And as it exceeds the speed zone in which it is its speed changes to red and then you start to catch and when it stops press caught and said, fine, and if it starts if it does not pay the fine.

The last sentence of the causes of errors.

If he stops and pays the fine to run it.
If you refuse to pay a fine if he take away the money and punish.

And yet I would like to ask why the COP, anyone can wear and activated?
There should be a list that includes a consumer would only be activated.

bananas111
22nd June 2011, 16:52
I use MS Word (sometimes Visio, sometimes Paint), then print them off. Depending on how intricate I want to make it, I sometimes scan stuff in, or download stuff from the internet.

If I want coloured licence, I copy document onto my pen drive, and use the colour printer at work (and hope I don't get caught!). If it's just b&W, I print it at home.

Last one I made was for my dog. Looks like a British Kennel license, but it's just a fake one. The dog's happy though, as she hasn't seen a real one to compare it to. I'm not intending to show it to anyone to try pass her off a thoroughbred breed, so I think it's ok. :shrug:
No :D I'm talking about lfs licenses. Like a when I got a 20 license and 10k $ when I can buy xrg or when I got 1000 license and 100k $ when I buy fxr, understand?

sinanju
22nd June 2011, 17:00
...understand?
No, but I am losing the will to live, so that probably explains it.

LFSCruise
22nd June 2011, 17:19
However, it is unable to do that show the speed?

LFSCruise
22nd June 2011, 19:04
How to connect the player Throws a welcome window.

I would like the button to accept to appear after only 10 seconds.

How do I do?

Tim NL
22nd June 2011, 19:34
However, it is unable to do that show the speed?

Hi,
Here just a example for a lasergun for the cops.
Its just a small example. I did not tested it but i think its working.

Type !laser username to check the speed of a driver , if the driver is to far you cant see the speed. (in this example)


CASE "!laser":
IF ( UserInGroup( "Police_O",$userName ) == 1 )
THEN
IF GetPlayerVar( $argv,"CurrNode" ) >= GetCurrentPlayerVar( "CurrNode" )-1 && GetPlayerVar( $argv,"CurrNode" ) <= GetCurrentPlayerVar( "CurrNode" )+1
THEN
privMsg( $argv . " driving " . ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") );
ELSE
privMsg( "To far for Laser gun" );
ENDIF
ENDIF
BREAK;

Tim NL
22nd June 2011, 19:49
How to connect the player Throws a welcome window.

I would like the button to accept to appear after only 10 seconds.

How do I do?


Event OnConnect() # Player event
$NickName = GetCurrentPlayerVar("NickName");
$Posabs = GetCurrentPlayerVar("Posabs");
$Groupqual = GetCurrentPlayerVar("Groupqual");
openPrivButton( "welc",25,50,150,15,12,-1,0, langEngine("%{main_welc1}%", $NickName ) );
openPrivButton( "pos",25,80,150,10,8,-1,0,langEngine("%{main_welc2}%",$Posabs,$Posqual,$Groupqual ) );
http("http://www.frh-team.net/reglapper/getserver2.php" );
DelayedCommand( 10, OSB ); #10 sec delay and jump to OSB
EndEvent

Sub OSB () #Show the buttons
openPrivButton( "clos",78,120,20,10,10,-1,32,langEngine("%{main_accept}%"),OnConnectClose );
openPrivButton( "ref",103,120,20,10,10,-1,32,langEngine("%{main_deny}%"),OnConnectCloseKick );
EndSub

Sub OnConnectClose( $KeyFlags,$id )
closePrivButton("welc&pos&clos&ref");
IF ( $enable_pitboard == "true" )
THEN
OnConnectClose_Pitboard();
ENDIF
EndSub

Sub OnConnectCloseKick( $KeyFlags,$id )
closePrivButton("welc&pos&clos&ref");
cmdLFS("/kick " . GetCurrentPlayerVar("UserName") );
EndSub

LFSCruise
22nd June 2011, 19:55
Hi,
Here just a example for a lasergun for the cops.
Its just a small example. I did not tested it but i think its working.

Type !laser username to check the speed of a driver , if the driver is to far you cant see the speed. (in this example)


CASE "!laser":
IF ( UserInGroup( "Police_O",$userName ) == 1 )
THEN
IF GetPlayerVar( $argv,"CurrNode" ) >= GetCurrentPlayerVar( "CurrNode" )-1 && GetPlayerVar( $argv,"CurrNode" ) <= GetCurrentPlayerVar( "CurrNode" )+1
THEN
privMsg( $argv . " driving " . ToPlayerUnit( GetCurrentPlayerVar( "InstantSpeed" ) ),GetCurrentPlayerVar("UnitSpeed") );
ELSE
privMsg( "To far for Laser gun" );
ENDIF
ENDIF
BREAK;


You probably read what was written previously.
I need that speed to be displayed during openPrivButton.

LFSCruise
22nd June 2011, 20:08
Event OnConnect() # Player event
$NickName = GetCurrentPlayerVar("NickName");
$Posabs = GetCurrentPlayerVar("Posabs");
$Groupqual = GetCurrentPlayerVar("Groupqual");
openPrivButton( "welc",25,50,150,15,12,-1,0, langEngine("%{main_welc1}%", $NickName ) );
openPrivButton( "pos",25,80,150,10,8,-1,0,langEngine("%{main_welc2}%",$Posabs,$Posqual,$Groupqual ) );
http("http://www.frh-team.net/reglapper/getserver2.php" );
DelayedCommand( 10, OSB ); #10 sec delay and jump to OSB
EndEvent

Sub OSB () #Show the buttons
openPrivButton( "clos",78,120,20,10,10,-1,32,langEngine("%{main_accept}%"),OnConnectClose );
openPrivButton( "ref",103,120,20,10,10,-1,32,langEngine("%{main_deny}%"),OnConnectCloseKick );
EndSub

Sub OnConnectClose( $KeyFlags,$id )
closePrivButton("welc&pos&clos&ref");
IF ( $enable_pitboard == "true" )
THEN
OnConnectClose_Pitboard();
ENDIF
EndSub

Sub OnConnectCloseKick( $KeyFlags,$id )
closePrivButton("welc&pos&clos&ref");
cmdLFS("/kick " . GetCurrentPlayerVar("UserName") );
EndSub


Somehow, the button does not appear at all.
I Think That The DelayedCommand not work.

My welcome windows are gui_admin_membership.lpr

Event OnConnect( $userName ) # Player event
$NickName = GetCurrentPlayerVar("NickName");
$Posabs = GetCurrentPlayerVar("PosAbs");
$Groupqual = GetCurrentPlayerVar("GroupQual");

IF ( GetUserStoredNum("MemberType") >= $MEMBERTYPE_AFFILIATE )
THEN
LoginMember($userName);
ELSE
openPrivButton( "welc",25,50,150,15,12,-1,ISB_NONE, langEngine("%{main_welc1}%", $NickName ) );
openPrivButton( "pos",25,80,150,10,8,-1,ISB_NONE,langEngine("%{main_welc2}%",$Posabs,$Posqual,$Groupqual ) );
openPrivButton( "clos",78,120,20,10,10,-1,ISB_DARK,langEngine("%{main_accept}%"),OnConnectClose );
openPrivButton( "ref",103,120,20,10,10,-1,ISB_DARK,langEngine("%{main_deny}%"),OnConnectCloseKick );
ENDIF
EndEvent

But thank you.

LFSCruise
22nd June 2011, 22:14
How to make a car that is moving at speeds greater than 10 km / h close windows if at a lower speed to opens the windows again?

I would like to ask what does this value: $argv = substr( $id,6,strlen($id)); ?

Tim NL
22nd June 2011, 22:23
You probably read what was written previously.
I need that speed to be displayed during openPrivButton.

Hi,
Your free to change the PrivMSG into a button, its only a example how to show the speed.

Sinanju wrote some time ago a nice post how to use and make buttons.
Read it and play with it. This makes it more easy to understand how to make something by your own.

http://www.lfsforum.net/showthread.php?p=1494891#post1494891 (http://www.lfsforum.net/showthread.php?p=1494891#post1494891)


In you Lapper map is also a map called "doc" with the file changes.txt
in this file you can find almost everything how and when to use something.
Its good the read it.

LFSCruise
22nd June 2011, 22:41
Hi,
Your free to change the PrivMSG into a button, its only a example how to show the speed.

Sinanju wrote some time ago a nice post how to use and make buttons.
Read it and play with it. This makes it more easy to understand how to make something by your own.

http://www.lfsforum.net/showthread.php?p=1494891#post1494891 (http://www.lfsforum.net/showthread.php?p=1494891#post1494891)


In you Lapper map is also a map called "doc" with the file changes.txt
in this file you can find almost everything how and when to use something.
Its good the read it.

I could not find what want to I .Thank you very much.

How to make a car that is moving at speeds greater than 10 km / h close windows if at a lower speed to opens the windows again?

LFSCruise
23rd June 2011, 15:58
Do you know how to make.
Joined as a player and hit CTRL + U
That he could not save the layout?
It would not allow to save the layout.

sinanju
23rd June 2011, 16:07
As far as I'm aware, you can't stop anyone from copying a layout, regardless of the InSim you're using.

If you want to keep it private, it probably means you have to only use it in leagues, etc, where the server is either private and/or password entry only.

LFSCruise
23rd June 2011, 16:15
The server must be open but can anyone save the layout and arrangement of the papules may be in the wrong hands.

It could be any exercise insim hide the save button?

sinanju
23rd June 2011, 16:25
Found couple of threads on this issue HERE (http://www.lfsforum.net/showthread.php?t=63369) and HERE (http://www.lfsforum.net/showthread.php?t=66765&highlight=Layouts) that discuss about copying layouts.

LFSCruise
23rd June 2011, 16:35
Is it possible to do that only by standing on the buttons appear and disappear while moving?

bananas111
23rd June 2011, 20:35
Hi,
1. How make a jobs?
2. How make this script to work?
openPrivButton( "Cruise_HUD3",50,0,100,5,5,-1,32, "strFormat( ^7Health: {0:0.00%}",GetCurrentPlayerVar( "Health" )
. "%nl%" . strFormat( "^7Bonus: {0:0.00%}",ToNum( GetCurrentPlayerVar("BonusMeter") / $Refund["dist"] ) );

Yisc[NL]
23rd June 2011, 21:31
@LFSCruise and bananas111: you both keep asking questions and expecting help from people while doing nothing your self. This is no way to learn programming within Lapper. Create your own code, test it, discover the flaws, learn from them and then you will slowly get the hang of it. Start by making simple things, read the documention and create code to test what a a variable does under certain events.

The other thing is, why ask so many questions about creating a cruise mod while you are actualy posting in a thread of someone who already created a whole working cruise mod. Simply download the script, install it on your Lapper and your done. You can also use the code as future reference, so when you know enough about coding yourself, you can modify the script to your likings are start creating one yourself.

But please stop all the questions now and start to learn things on your own. If you really can't find why something isn't working, post the code you made, post all the thing you tried to make it working and then the more experienced people are more then willing to help you out or at least into the right direction.

@More experienced coders: don't answer these all these questions any more, unless they followed the learning curve as mentioned above and when presented with code created on their own in combination with all the solutions tried to make it working.

LFSCruise
23rd June 2011, 21:58
What I'm looking for the following script will create hardly to be found.
From heaven to me does not information.
How do I know if this is possible or not.
I think that it is impossible that a openPrivButton to display speed.
I have day and night I try in every way but not in ANY way to fail.

I think that there is need to create new value.
Because that's the thing I do not think they will succeed.

As the player votes for the beginning or the end I do not think it's possible to do that kicked him.

Jug over C# is somehow done.
I want to ask and maybe you can pick from C# code and another one to add to LFSLapper.


How are the numbers:
SetCurrentPlayerVar ("Numbers", round (ToNum (RandomNum (100000,999999)), 0));

Yes I would be very interesting to do with the letters that should be something or do not know:
SetCurrentPlayerVar (lettersSorts ", round (ToNum (RandomNum (AAA, ZZZ)), 0));
or
SetCurrentPlayerVar (lettersSorts ", round (ToNum (RandomNum (A, Z)), 0));
or
SetCurrentPlayerVar (lettersSorts ", round (ToNum (RandomLet (AAA, ZZZ)), 0));
or
SetCurrentPlayerVar (lettersSorts ", round (ToNum (RandomSor (AAA, ZZZ)), 0));

It is very interesting to do random sorts(a,b,c)

bananas111
23rd June 2011, 22:04
;1609566']@LFSCruise and bananas111: you both keep asking questions and expecting help from people while doing nothing your self. This is no way to learn programming within Lapper. Create your own code, test it, discover the flaws, learn from them and then you will slowly get the hang of it. Start by making simple things, read the documention and create code to test what a a variable does under certain events.

The other thing is, why ask so many questions about creating a cruise mod while you are actualy posting in a thread of someone who already created a whole working cruise mod. Simply download the script, install it on your Lapper and your done. You can also use the code as future reference, so when you know enough about coding yourself, you can modify the script to your likings are start creating one yourself.

But please stop all the questions now and start to learn things on your own. If you really can't find why something isn't working, post the code you made, post all the thing you tried to make it working and then the more experienced people are more then willing to help you out or at least into the right direction.

@More experienced coders: don't answer these all these questions any more, unless they followed the learning curve as mentioned above and when presented with code created on their own in combination with all the solutions tried to make it working.
I reading docs but when I make script's it work but this script doesn't work and I don't found informacion how do it so please say how.

LFSCruise
24th June 2011, 00:48
Where there would be a mistake because I think there is an error where add color to red.

$Chase[$argv] = "^7Player: " . GetPlayerVar( $argv, "NickName" ) . "%nl%" . GetCurrentPlayerVar( "NickName") . "%nl%^7Distance: ".DistFromUser($userName,$argv)." ^7m%nl%^7Speed: " . GetPlayerVar( $argv , "InstantSpeed" ) . " " . GetPlayerVar( $argv , "UnitSpeed" ) ) . " . %nl%" . "%at%" . "^7Player: " . GetCurrentPlayerVar( "Chase" ) . "%nl%" . GetCurrentPlayerVar( "NickName") . "%nl%^7Distance: ".DistFromUser($userName,$argv)." ^7m%nl%^7Speed: " . GetPlayerVar( $argv , "InstantSpeed" ) . " " . GetPlayerVar( $argv , "UnitSpeed" ) ) " . %nl%";
How do I fix it?

bananas111
5th July 2011, 10:29
Hi,
How make that. Then chase start start timer with minutes and seconds?

Matthewrobinson
11th July 2011, 01:06
Right here we go

1) all of commands dont work i anit listing them to many and i forgot which ones work and which ones dont

2) cop system, bust people even tho they havent even stop and could do with a fineing system cant get people to !pay that dont work and could do with focrce fine (could do with a clickable fineing system easyer to understand to new users
and even if your 5 meters away will not bust

3) there people out there with version 6.0.1.3 and i can only get 6.0.1.1 can i have link to 6.0.1.3 please



4) could do with all updating like the open track config had to change some of the insim code

5) could do with more commands like refunding if cop fine wrong and all the commands in the !help only for admins and mods

6) !hc commands when you go to membership i dont think that work tryed putting my self to admin didnt do nothing

thanks matt

shahroch
13th August 2011, 14:10
hi guys

i want to know how to add an welcome message to the server cruise lfslapper? please help

shahroch
19th August 2011, 18:48
Just checked and !node will not work in open track configuration mode.

But !zone will.

Instead of using !node try using !zone on the racing line.

Then code might be something like

RegisterZoneAction( "AS5Y" , -619,-439, 5 , SN_Odeon,"" );
then exactly same sub-routine I showed earlier
Sub SN_Odeon( $userName )
openPrivButton( "location",2,20,24,6,2,4,96,"^7ODEON TURN -->");
EndSub

If you find that you're not 'catching' people in your zone and they go past it, then nothing to stop you having a zone at either side, but all having the same sub-routine, like

RegisterZoneAction( "AS5Y" , -619,-429, 5 ,SN_Odeon,"" );
RegisterZoneAction( "AS5Y" , -619,-439, 5 ,SN_Odeon,"" );
RegisterZoneAction( "AS5Y" , -619,-449, 5 ,SN_Odeon,"" );

I use this system quite a bit, but usually only take the zone details for the racing line as it's not important if they miss it.

Edit
----

If you're doing something for cruise use, of course you will not be interested in the racing line, so you may have to do multiple zones, or put barriers up so that you have to go through the specified zone.


thx i added it but i get an error on my screen! because i do add it in AS1Y SN Odeon and then i add it into the registerzoneaction and then i add the Sub that u added there and then i edit the location with the first -318 not the other one after it and then i do that with !zone and then i do restart my server insim. and then if i go to the exit of the pit where i added that it wont appear does it work or do i do it wrong can u please help me?

bananas111
4th September 2011, 10:49
Hi,
How make that when officer on duty show for him private button?

T3charmy
14th October 2011, 00:05
Hello guys, I am back! I am currently debating on whether I am gonna either scrap the whole project, and re code from scratch, or get rid of crummy code, and make it 1000x better...

Dygear
14th October 2011, 07:49
Release what you have. And then work on version 2.0. It's how the world works :), just look at PRISM's core.

speed8619
14th October 2011, 17:11
Hello guys, I am back! I am currently debating on whether I am gonna either scrap the whole project, and re code from scratch, or get rid of crummy code, and make it 1000x better...

Can you get me a new web with these files, becose this website don't work!

T3charmy
14th October 2011, 20:32
Release what you have. And then work on version 2.0. It's how the world works :), just look at PRISM's core.

What I have is released.... And as for new link, its coming soon. :)

LFSCruise
30th October 2011, 23:30
Is it possible to make each player to show only those cars which he has have?

As
ISP_PLC, // 53 - instruction : player cars

Krayy
30th October 2011, 23:50
Is it possible to make each player to show only those cars which he has have?

As
ISP_PLC, // 53 - instruction : player cars
Very soon it will be..watch the forums

bananas111
9th December 2011, 18:49
Hi :smileypul
I need to do something like that then I drived 50km I can buy xfg when I drived 200km I can drive xrg how I can do that?? I need simple code nothing else.

Yisc[NL]
9th December 2011, 20:01
Hi :smileypul
I need to do something like that then I drived 50km I can buy xfg when I drived 200km I can drive xrg how I can do that?? I need simple code nothing else.

Well here we go:

- declare a uservar on first connect, set it to 0 and store it in the database (new user)
- retrieve an already stored value from the database (already registered user)
- measure the distance driven and when a user disconnects, add it to the created/retrieved value and store that value into the database
- when distance driven is bigger then 50km, make a buy button for xfg available
- when distance driven is bigger then 200km, make a buy button for xrg available

Not too hard to code and certainly a very good way to learn a program like Lapper.

bananas111
10th December 2011, 11:46
;1661863']Well here we go:

- declare a uservar on first connect, set it to 0 and store it in the database (new user)
- retrieve an already stored value from the database (already registered user)
- measure the distance driven and when a user disconnects, add it to the created/retrieved value and store that value into the database
- when distance driven is bigger then 50km, make a buy button for xfg available
- when distance driven is bigger then 200km, make a buy button for xrg available

Not too hard to code and certainly a very good way to learn a program like Lapper.
Can you make that code when bigger then 50km xfg is available. Next codes I make by me self. Thank's :)

Yisc[NL]
10th December 2011, 18:11
Can you make that code when bigger then 50km xfg is available. Next codes I make by me self. Thank's :)

No I won't.
When you have a clear goal of what you want to make, it is an excelent opportunity to start and learn coding your self.
I learned it when coding the pitboard.
Make some code, debug it and when you really get stuck, show us the code you have and we are happy to help.

bananas111
10th December 2011, 19:31
;1662183']No I won't.
When you have a clear goal of what you want to make, it is an excelent opportunity to start and learn coding your self.
I learned it when coding the pitboard.
Make some code, debug it and when you really get stuck, show us the code you have and we are happy to help.
I think I need to use something like that IF ( ToNum( GetCurrentPlayerVar( "KM" ) > 100)
THEN
openPrivButton( "XRG",45,54,110,6,5,-1,32,strFormat( "^7{0}",Format_Car_Cash_Needed( "XRG" ) ),Buy_Car ); but it didn't work :really:

T3charmy
10th December 2011, 21:56
Is it possible to make each player to show only those cars which he has have?

As
ISP_PLC, // 53 - instruction : player cars

Very soon it will be..watch the forums

Once Krayy finishes new packets I plan to rewrite a decent amount of Plugin Code, and fix all of the bugs found in this forum. :)

bananas111
14th December 2011, 19:11
I think I need to use something like that IF ( ToNum( GetCurrentPlayerVar( "KM" ) > 100)
THEN
openPrivButton( "XRG",45,54,110,6,5,-1,32,strFormat( "^7{0}",Format_Car_Cash_Needed( "XRG" ) ),Buy_Car ); but it didn't work :really:
Can you help?

T3charmy
15th December 2011, 02:47
Can you help?

Not sure ... haven't used Lapper since the last version of this add-on was released.. but I will surely help you once I look over my code again. :)

joordy599
16th December 2011, 22:02
You probably read what was written previously.
I need that speed to be displayed during openPrivButton.
Well I have a old insim with a welcome displayed messenger, I will search for it, if I can find it i will post it on here ;)


Greetings