Results 1 to 4 of 4

Thread: server scripting

  1. #1
    tdev
    tdev is offline
    tdev's Avatar


    Developer
    Join Date
    Apr 2007
    Location
    Germany
    Age
    29
    Posts
    10,443
    Blog Entries
    75
    Country: Germany

    Post server scripting

    just added the first scripting basics to the server code. Below is a small example of how it looks like so far. I added a new commandline argument "-script" that will load angelscript scripts
    [code=cpp]float time=0;

    // shortcut for us here
    string userString(int uid)
    {
    string res = server.getUserName(uid) + " (" + uid + ")";
    return res;
    }

    // called when script is loaded
    void main()
    {
    server.log("hello world!");
    server.say("Hello!", -1, 0);
    }

    // called when a player disconnects
    void playerDeleted(int uid, int crash)
    {
    if(crash==1)
    server.log("player " + userString(uid) + " crashed D:");
    else
    server.log("player " + userString(uid) + " disconnected.");
    }

    // called when a player connects and starts playing (already chose truck)
    void playerAdded(int uid)
    {
    server.log("new player " + userString(uid) + " ");
    server.say("Hey Player, welcome here!",

  2. #2
    tdev
    tdev is offline
    tdev's Avatar


    Developer
    Join Date
    Apr 2007
    Location
    Germany
    Age
    29
    Posts
    10,443
    Blog Entries
    75
    Country: Germany

    Post Re: server scripting

    much improved, handling users positions now:
    [code=cpp]
    float time=0;
    int trackuser=-1;

    int aspen_race_len = 16;
    vector3[] aspen_points(aspen_race_len);
    void init_race_points()
    {
    aspen_points[*] = vector3(1788.565918, 13.523803, 2188.309326);
    aspen_points[1] = vector3(1272.392822, 52.455555, 2639.341553);
    aspen_points[2] = vector3(976.396179, 139.362503, 2253.451660);
    aspen_points[3] = vector3(610.334473, 122.214699, 2292.108643);
    aspen_points[4] = vector3(425.260101, 154.688690, 1892.544434);
    aspen_points[5] = vector3(326.887360, 175.461609, 1637.232178);
    aspen_points[6] = vector3(207.137665, 190.209656, 1017.338806);
    aspen_points[7] = vector3(598.222473, 204.074921, 721.008057);
    aspen_points[8] = vector3(871.652405, 185.921021, 887.720337);
    aspen_points[9] = vector3(1244.441284, 101.542374, 1086.691650);
    aspen_points[10] = vector3(1534.553711, 88.164223, 755.955933);
    aspen_points[11] = vector3(1659.338379, 114.786842, 259.588989);
    aspen_points[12] = vector3(1745.098389, 125.204323, 457.132690);
    aspen_points[13] = vector3(1959.770996, 95.293251, 363.643250);
    aspen_points[14] = vector3(2001.199341, 41.409641, 802.094543);
    aspen_points[15] = vector3(2251.579834, 13.595664, 1292.946655);
    }

    // shortcut for us here
    string formatPos(vector3 pos)
    {
    return pos.x + "," + pos.y + "," + pos.z;
    }

    string userPosition(int uid)
    {
    vector3 pos = server.getUserPosition(uid);
    return formatPos(pos);
    }
    string userString(int uid)
    {
    string res = server.getUserName(uid) + " (" + uid + ")";
    return res;
    }

    // called when script is loaded
    void main()
    {
    server.log("hello world!");
    server.say("Hello!", -1, 0);
    init_race_points();
    }

    // called when a player disconnects
    void playerDeleted(int uid, int crash)
    {
    if(crash==1)
    server.log("player " + userString(uid) + " crashed D:");
    else
    server.log("player " + userString(uid) + " disconnected.");

    if(uid == trackuser) trackuser=-1;
    }

    // called when a player connects and starts playing (already chose truck)
    void playerAdded(int uid)
    {
    server.log("new player " + userString(uid) + " ");
    server.say("Hey Player, welcome here!",

  3. #3
    kevinmce
    kevinmce is offline
    kevinmce's Avatar

    Moderator
    Join Date
    May 2007
    Location
    Eindhoven, Nederland
    Posts
    1,352
    Country: Ireland

    Post Re: server scripting

    This is a great addidtion to the server stuff tom.

    Would it be possible to read the race positions and info from the map data and re-work it for the MP races?

    That way we could already have many races in MP starting today
    Its all mad!

  4. #4
    tdev
    tdev is offline
    tdev's Avatar


    Developer
    Join Date
    Apr 2007
    Location
    Germany
    Age
    29
    Posts
    10,443
    Blog Entries
    75
    Country: Germany

    Post Re: server scripting

    the aspen race is nearly complete:
    http://rorserver.svn.sourceforge.net...as?view=markup

    if you have questions, just ask
    i will try to collect some time here to expand the wiki...

Similar Threads

  1. How do I set up a server for 36.3?
    By burbdetdrive in forum General Multiplayer Chat
    Replies: 1
    Last Post: 05-02-10, 02:35 PM
  2. Editor for scripting
    By Lepes in forum Scripting
    Replies: 2
    Last Post: 11-10-09, 07:27 PM
  3. [Fixed]error message when trying to join server my server
    By BJYTECH in forum Game Support (windows)
    Replies: 4
    Last Post: 12-17-07, 11:36 PM
  4. 0.33d sp1 server..
    By hotrod1345 in forum Game Support (windows)
    Replies: 3
    Last Post: 11-27-07, 06:44 PM
  5. My new server (not 24/7)
    By Hawk233 in forum General Multiplayer Chat
    Replies: 0
    Last Post: 11-12-07, 09:47 PM

Posting Permissions



About Rigs of Rods

    Rigs of Rods is a unique soft body physics simulator.


Some Tools


Partners

SourceForge.net

Follow us

Twitter youtube Facebook RSS Feed


impressum