PDA

View Full Version : Execute command or script


misiek08
16th January 2010, 12:36
It is possible to execute command or script (like //offdd - execute offdd.lfs script from player computer) sending packet with InSim.

I need it to use on Cruise server and in Long Races. It will execute some script changing sets on players computers.

avetere
16th January 2010, 16:25
You want to execute scripts on somebody else's computer?!

Neither schould that be possible (via insim), nor would I want it to be ...

misiek08
16th January 2010, 22:47
Is it possible? MST packet or antoher one?

Yes. Someone is downloading a script from my website. Then he is entering my server. Server's InSim executes script on someone's computer.
That I need.

blackbird04217
17th January 2010, 02:39
I don't think it is possible, for commands to work you need to attach a local insim and use the MST? packet. Either way the only way to do it would be to have every client/player that joins your server to run your "clientSideInsimApp" and then that client would connect to your "serverSideInsimApp" which when the server wants to tell clients to load a set / run a script/command it would need to go to the correctly connected clientSideInsimApp and then use that insim connection to the local (players) LFS copy to invoke the command / script.

All in all, it is a long process, each player would need to run their clientSideInsimApp and it isn't very user friendly. I would urge against this idea because it seems a little intrusive, and players on your server systems would likely be lost when it tells them they can't join without first connecting the clientSideInsimApp.

misiek08
18th January 2010, 21:43
Thanks for replies. Is this MST packet sure?
I'll do and app for every client. I wonna do skins downloads and event reminder in it.

misiek08
20th February 2010, 11:55
Bump.

Question is: it's MST packet ?

Dygear
20th February 2010, 13:16
Bump.

Question is: it's MST packet ?

// MESSAGES IN (TO LFS)
// -----------

struct IS_MST // MSg Type - send to LFS to type message or command
{
byte Size; // 68
byte Type; // ISP_MST
byte ReqI; // 0
byte Zero;

char Msg[64]; // last byte must be zero
};

// You can send individual key presses to LFS with the IS_SCH packet.
// For standard keys (e.g. V and H) you should send a capital letter.
// This does not work with some keys like F keys, arrows or CTRL keys.
// You can also use IS_MST with the /press /shift /ctrl /alt commands.

struct IS_SCH // Single CHaracter
{
byte Size; // 8
byte Type; // ISP_SCH
byte ReqI; // 0
byte Zero;

byte CharB; // key to press
byte Flags; // bit 0 : SHIFT / bit 1 : CTRL
byte Spare2;
byte Spare3;
};


This packet has the car skin stuff:

struct IS_NPL // New PLayer joining race (if PLID already exists, then leaving pits)
{
byte Size; // 76
byte Type; // ISP_NPL
byte ReqI; // 0 unless this is a reply to an TINY_NPL request
byte PLID; // player's newly assigned unique id

byte UCID; // connection's unique id
byte PType; // bit 0 : female / bit 1 : AI / bit 2 : remote
word Flags; // player flags

char PName[24]; // nickname
char Plate[8]; // number plate - NO ZERO AT END!

char CName[4]; // car name
char SName[16]; // skin name - MAX_CAR_TEX_NAME
byte Tyres[4]; // compounds

byte H_Mass; // added mass (kg)
byte H_TRes; // intake restriction
byte Model; // driver model
byte Pass; // passengers byte

int Spare;

byte SetF; // setup flags (see below)
byte NumP; // number in race (same when leaving pits, 1 more if new)
byte Sp2;
byte Sp3;
};

misiek08
20th February 2010, 15:02
Thanks for fast reply.