The online racing simulator
Searching in All forums
(377 results)
fujiwara
S3 licensed

Although i reallt don't waste too much time watching figure skating , al least they have more control than the guys dressed with mediavel armors...
About the real issue here, yup, tired of reading about drift setups, drift tracks, 1/4 mile setups, stunting, etc...it seems that racing is no longer the purpose of this game.
Quote from boosterfire :I say... figure skating is actually very similar to drift! Both are worse than the real sport possible to do with the same equipment (that is racing and hockey), and both have to use the other's field to do it!

fujiwara
S3 licensed
I have V5 and V versions on my laptop, using V at the moment.
Yesterday downloaded a spr file and opened in the V5 version, it was in window mode already and the replay got freezed, although i still could hear the sound "dragging".
I can switch between other windows ok.
I'm playing in a:

intel M Processor 740
15.4" WXGA TFT LCD
Ati Mobility Radeon X700
1GB DDR2
80 GB HDD
fujiwara
S3 licensed
Fantastisco Fantastisco Fantastisco Fantastisco
Dude, i wanna see your next work.
You can't stop after this...let's say a movie per month is fair enough .
fujiwara
S3 licensed
He's not an hotlapper, i guess he only does hotlaps as a way to qualification, don't know much about the rulez in Oz.
What i can tell you is: he's fast, very fast, consistent and doesn't lose often.
Charles Wakefield is a very talented racer, bad thing about him is that he doesn't connect to euro or american servers.
Duck, Davo, Glenn plz help here
fujiwara
S3 licensed
Ok.
Since almost no one knows this guy, i'll say just this:

You can put him on the same level as MacEST, Norbi, Lefty ....
fujiwara
S3 licensed
I know his fame although i never meet him on track , just saw lots of replays.
It's an amazingingly fast racer.
I remember one race on Kyoto Long with the FOX, where he beats the WR on lap 15 or 16 and got disconnected on the next .
I't really bad that he doesn't join european servers.
fujiwara
S3 licensed
Quote from Da Hoe :are you able to make a "who drove what the most" out of it?

that would take a lot of data to process.
fujiwara
S3 licensed
Quote from tiagolapa :LOL post your UF1 stats...

NOOO.
Don't be mean .
fujiwara
S3 licensed
Quote from Da Hoe :
Blackwood GP 10573 laps 22203 miles 35733 km
XRT 25277 laps 51228 miles 82443 km
edit: oops, did something wrong it seems

Damn .
2 laps around the world with the XRT !!!!!
fujiwara
S3 licensed
Quote from JTbo :Track Environments Track Configurations Car Names
What I did wrong?

I got your results:
http://www.spdoracing.org/lfsw/quick_script.php?racer=jtbo
Must had been the idkey tarpit...
fujiwara
S3 licensed
Quote from joshdifabio :Hmm, is the 5 second tarpit based on the ident key being used or the IP making the request?

i think it's about the idkey, the premium idkey has this 5 second tarpit removed.
fujiwara
S3 licensed
yes, if it suports php scrips.
Damn...well you could ask your T7 mates to provide you some special location where you could place this scrips...only you would know where to acess them.
Last edited by fujiwara, .
fujiwara
S3 licensed
Can you host this test scripts at your team web site?
fujiwara
S3 licensed
What problems are you having?
fujiwara
S3 licensed
Cool, can i see the script after completed?
Ps: Why the Autocross miles are 0, even if there's laps over there?
fujiwara
S3 licensed
Quote from joshdifabio :Well, the script is pretty simple but I have been unable to get the correct lap counts until now. Turns out there was a bug in the old LFSWorldSDK and I had to update .

http://www.spdoracing.org/lfsw ... _script.php?racer=danowat

Tell me if you are interested in getting the script. I might add the distances in a little while, however that requires an array with the length of every track config in LFS and I can't really be bothered to do that right now .

In the test script i sent, the array with the track names, has the track distance too, it's the last parameter.
fujiwara
S3 licensed
Hum...ok.
If you don't have a way to run php scripts:

Go to http://www.apachefriends.org/en/index.html
Install that bundle for windows or linux, see the readme for starting the server, you just need the php stuff, that bundle comes with a lot of stuff, but it's ready to roll, no need for extra configuration.

Place those two script i sent in "bundle installation dir"/htdocs/test, if you install the windows version the default dir is c:\xampp, just install it here, no need to extra configuration.

Go to http://www.lfsworld.net/, click on My LFSW settings, choose tab Pubstat access and generate an idkey, copy this idkey to test script,


<?php 
$SDK
->idkey ' place idkey here '
?>

Point you browser to http://localhost/test/testLFSSDK.php.

Hope this helps.
fujiwara
S3 licensed
I was doing this in a rush, don't have time to comment the code.

Well, if you have some way to run php scripts on your PC, you could just copy those scripts and use them, you have to get an idkey to access the pubstats from lfsworld.

If not you could ask someone to run for you or you could install a php bundle easly.
fujiwara
S3 licensed
This was the test script i used:

<?php 
php
include "LFSWorldSDK.php";

$LFS_Tracks = array(
// LFSWorldName => Name, Configuration, Type, SortName, Length (In Miles).
'000' => array( "Blackwood""GP Track""Standard""BL1"2.1 ),
'001' => array( "Blackwood""GP Track""Reversed""BL1R"2.1 ),
'010' => array( "Blackwood""Rally Cross""Standard""BL2"1.2 ),
'011' => array( "Blackwood""Rally Cross""Reversed""BL2R"1.2 ),
'020' => array( "Blackwood""Car Park""Arena""BL3"0.2 ),
'100' => array( "South City""Classic""Standard""SO1"1.3 ),
'101' => array( "South City""Classic""Reversed""SO1R"1.3 ),
'110' => array( "South City""Sprint Track 1""Standard""SO2"1.3 ),
'111' => array( "South City""Sprint Track 1""Reversed""SO2R"1.3 ),
'120' => array( "South City""Sprint Track 2""Standard""SO3"0.8 ),
'121' => array( "South City""Sprint Track 2""Reversed""SO3R"0.8 ),
'130' => array( "South City""Long""Standard""SO4"2.5 ),
'131' => array( "South City""Long""Reversed""SO4R"2.5 ),
'140' => array( "South City""Classic""Standard""SO5"),
'141' => array( "South City""Classic""Reversed""SO5R"),
'200' => array( "Fern Bay""Club""Standard""FE1"),
'201' => array( "Fern Bay""Club""Reversed""FE1R"),
'210' => array( "Fern Bay""Green Track""Standard""FE2"1.9 ),
'211' => array( "Fern Bay""Green Track""Reversed""FE2R"1.9 ),
'220' => array( "Fern Bay""Gold Track""Standard""FE3"2.2 ),
'221' => array( "Fern Bay""Gold Track""Reversed""FE3R"2.2 ),
'230' => array( "Fern Bay""Black Track""Standard""FE4"4.1 ),
'231' => array( "Fern Bay""Black Track""Reversed""FE4R"4.1 ),
'240' => array( "Fern Bay""Rally Cross""Standard""FE5"1.3 ),
'241' => array( "Fern Bay""Rally Cross""Reversed""FE5R"1.3 ),
'250' => array( "Fern Bay""RallyX Green""Standard""FE6"0.5 ),
'251' => array( "Fern Bay""RallyX Green""Reversed""FE6R"0.5 ),
'300' => array( "Autocross""Autocross""Arena""AU1"0.3 ),
'310' => array( "Autocross""Slod Pad""Arena""AU2"0.1 ),
'320' => array( "Autocross""Drag Strip""Single Stage""AU3"0.7 ),
'330' => array( "Autocross""Eight Lane Drag""Single Stage""AU4"0.7 ),
'400' => array( "Kyoto Ring""Oval""Standard""KY1"1.9 ),
'401' => array( "Kyoto Ring""Oval""Reversed""KY1R"1.9 ),
'410' => array( "Kyoto Ring""National""Standard""KY2"3.2 ),
'411' => array( "Kyoto Ring""National""Reversed""KY2R"3.2 ),
'420' => array( "Kyoto Ring""GP Long""Standard""KY3"4.6 ),
'421' => array( "Kyoto Ring""GP Long""Reversed""KY3R"4.6 ),
'500' => array( "Westhill""International""Standard""WE1"3.2 ),
'501' => array( "Westhill""International""Reversed""WE1R"3.2 ),
'600' => array( "Aston""Cadet""Standard""AS1"1.2 ),
'601' => array( "Aston""Cadet""Reversed""AS1R"1.2 ),
'610' => array( "Aston""Club""Standard""AS2"1.9 ),
'611' => array( "Aston""Club""Reversed""AS2R"1.9 ),
'620' => array( "Aston""National""Standard""AS3"3.5 ),
'621' => array( "Aston""National""Reversed""AS3R"3.5 ),
'630' => array( "Aston""Historic""Standard""AS4"),
'631' => array( "Aston""Historic""Reversed""AS4R"),
'640' => array( "Aston""Grand Prix""Standard""AS5"5.5 ),
'641' => array( "Aston""Grand Prix""Reversed""AS5R"5.5 ),
'650' => array( "Aston""Grand Touring""Standard""AS6"),
'651' => array( "Aston""Grand Touring""Reversed""AS6R"),
'660' => array( "Aston""North""Standard""AS7"3.2 ),
'661' => array( "Aston""North""Reversed""AS7R"3.2 )
);  

function 
get_track_name($code)
{
    global 
$LFS_Tracks;
    
    
$track $LFS_Tracks[$code];
    
$n1 $track[0];
    
$n2 $track[1];
    
$n3 $track[2];
    
$ret $n1." ".$n2." ".$n3;
    
    return 
$ret;
    
}

$SDK = new LFSWorldSDK;
$SDK->idkey 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

/*echo "<pre>";
var_dump($SDK->get_pb('danowat'));
echo "</pre>";*/

$stats $SDK->get_pb('danowat');

foreach(
$stats as $key => $value)
{
    foreach(
$value as $key2 => $value2)
    {
        if(
$key2 == "track")
        {
            
//echo $key2;
            
$value2 get_track_name($value2);
        }    
        
$str .= $value2.", ";
    }
    
$str substr($str0, -2);
    echo 
$str."</br>";    
    
$str "";
}    


//Ord by track name
foreach($stats as $key => $value)
{
    foreach(
$value as $key2 => $value2)
    {
        if(
$key2 == "track")
        {
            
$ord_by_track[$value2][] = $value;
        }
    }
}

//Ord by car name
foreach($stats as $key => $value)
{
    foreach(
$value as $key2 => $value2)
    {
        if(
$key2 == "car")
        {
            
$ord_by_car[$value2][] = $value;
        }
    }
}

/*echo "<pre>";
var_dump($ord_by_track);
echo "</pre>";*/

/*echo "<pre>";
var_dump($ord_by_car);
echo "</pre>";*/


foreach($ord_by_track as $key => $value)
{
    
$combos $value;
    foreach(
$combos as $key2 => $value)
    {
        
$track_name get_track_name($key);
        
$laps += $value['lapcount'];
    }    
    echo 
$track_name.", ".$laps."</br>";
    
$laps 0;
}

echo 
"------------------------------------------------------------------</br>";
echo 
"------------------------------------------------------------------</br>";

foreach(
$ord_by_car as $key => $value)
{
    
$combos $value;
    foreach(
$combos as $key2 => $value)
    {
        
$laps += $value['lapcount'];
    }    
    echo 
$key.", ".$laps."</br>";
    
$laps 0;
}        


?>

I removed my idkey from this post, i don't know if it's good or bad to show it.

The SDK by Mark 'Dygear' Tomlin and Mikael 'filur' Forsberg:

<?php 
php
    
/**
     * @package        LFSWorldSDK
     */
    /**
     * Live For Speed World SDK, easily find what you need from the World of Live For Speed.
     *
     * @package        LFSWorldSDK
     * @since        2006/09/21 13:28
     * @author        Mark 'Dygear' Tomlin
     * @author        Mikael 'filur' Forsberg
     * @license        MIT License (http://opensource.org/licenses/mit-license.php)
     * @copyright    Copyright (C) 2006, Mark Tomlin
     * @version        1.00
     * @filesource
    */
    
    /* $Id: LFSWorldSDK.php,v 1.1 2006/10/04 09:05:40 lur Exp $ */
    
    
class LFSWorldSDK {
        
/**
         * @ignore
         * Premium pubstat access
         */
        
var $ps;
        
/**
         * @ignore
         * Pubstat id-key
         */
        
var $idkey;
        
/**
         * @ignore
         * Pubstat script version
         */
        
var $version;
        
/**
         * @ignore
         * Holds time of last request in order to honor tarpit limits (internal)
         */
        
var $lasthit;
        
/**
         * @ignore
         * Holds value for pubstat query component <i>action=</i>
         */
        
var $action;
        
/**
         * @ignore
         * Holds value for pubstat query component <i>racer=</i>
         */
        
var $racer;
        
/**
         * @ignore
         * Holds value for pubstat query component <i>track=</i>
         */
        
var $track;
        
/**
         * @ignore
         * Holds value for pubstat query component <i>car=</i>
         */
        
var $car;
        
/**
         * @ignore
         * Holds value for pubstat query component <i>racer=</i>
         */
        
var $control;
        
/**
         * @ignore
         * Holds value for pubstat query component <i>log_filter=</i>
         */
        
var $log_filter;
        
/**
         * @ignore
         * Holds value for pubstat query component <i>lines=</i>
         */
        
var $lines;
        
/**
         * @ignore
         * Holds value for pubstat query component <i>starttime=</i>
         */
        
var $starttime;
        
/**
         * @ignore
         * Holds value for pubstat query component <i>format=</i>
         */
        
var $format;
        
/**
         * @ignore
         * Holds value for pubstat query compression type
         */
        
var $c;
        
/**
         * Class construct, defines settings for each query performed by
         * the created instance
         *
         * @example construct.php Constructor
         * @param string Pubstat id-key
         * @param bool Premium pubstat access
         * @param string Pubstat script version
         */
        
function LFSWorldSDK($IdKey NULL$Premium 0$Version '1.2') {
            
$this->ps $Premium;
            
$this->idkey  $IdKey;
            
$this->version$Version;
            
$this->lasthit0;
            
$this->query  null;
        }
        
/**
         * @ignore
         * Assembles the complete http request string for a pubstat query.
         */
        
function make_query_string() {
            
$vars = array();
            foreach (
$this->get_option_set() as $key => $item) {
                
$vars[$key] = "{$key}={$item}";
            }
            foreach (
$this->get_request_vars() as $key => $item) {
                
$vars[$key] = "{$key}={$item}";
            }
            return 
'http://www.lfsworld.net/pubstat/get_stat2.php?' implode('&'$vars);
        }
        
/**
         * @ignore
         * Returns array holding keys and values corresponding to pubstat query settings.
         */
        
function get_option_set() {
            return array(
                
'version' => $this->version,
                
'idk' => $this->idkey,
                
'ps' => $this->ps,
            );
        }
        
/**
         * @ignore
         * Returns array holding keys and values of query-specific variables.
         */
        
function get_request_vars() {
            return array(
                
'action' => $this->action,
                
'racer' => urlencode($this->racer),
                
'car' => $this->car,
                
'track' => $this->track,
                
'control' => $this->control,
                
'log_filter' => $this->log_filter,
                
'lines' => $this->lines,
                
'starttime' => $this->starttime,
                
'format' => $this->format,
                
'c' => $this->c,
            );
        }
        
/**
         * @ignore
         * Performs and returns the result of a single query, also handles
         * honoring the tarpit limit if not using premium access, and decompression
         * if compression is used.
         */
        
function get_query_results() {
            if (
$this->ps === || time() - $this->lasthit >= 5) {
                
$this->lasthit time();
                if (
$str file_get_contents($this->make_query_string())) {
                    if (
$this->== 1) {
                        
$tmpfile tmpfile();
                        if (
file_put_contents($tmpfile$str)) {
                            
$gz gzopen($tmpfile"rb");
                            
$str gzpassthru($gz);
                            
gzclose($tmpfile);
                            return 
preg_replace("/\n$/"""$str);
                        }
                    }
                    elseif (
$this->== 2)
                        return 
preg_replace("/\n$/"""gzuncompress($str));
                    elseif (
$this->== 3)
                        return 
preg_replace("/\n$/"""gzinflate($str));
                    else {
                        if (
count(explode("\n"$str)) == 1)
                            Throw New 
Exception($str);
                        else
                            return 
preg_replace("/\n$/"""$str);
                    }
                }
            }
            else {
                
sleep(1);
                return 
$this->get_query_results();
            }
        }
        
/**
         * Request a complete or filtered set of hotlap results for a single racer.
         *
         * @example get_hl.php Example use of get_hl()
         * @param string Racer (LFS username)
         * @param int optional Track
         * @param string optional Car
         * @return array
         */
        
function get_hl($racer$track NULL$car NULL) {
            
$this->action 'hl';
            
$this->racer $racer;
            foreach (
explode("\n"$this->get_query_results()) as $line => $data) {
                
$fragment explode(' '$data);
                
$iteration = array(
                    
'id_hl' => $fragment[0],
                    
'track' => $fragment[1],
                    
'car' => $fragment[2],
                    
'time' => $fragment[3],
                    
'flags_hlaps' => $fragment[4]
                );
                if (
$track != NULL || $car != NULL) {
                    if (
$iteration['track'] == $track && $car == NULL)
                        
$result[] = $iteration;
                    if (
$iteration['car'] == $car && $track == NULL)
                        
$result[] = $iteration;
                    if (
$iteration['track'] == $track && $iteration['car'] == $car)
                        return 
$iteration;
                }
                else
                    
$result[] = $iteration;
            }
            return 
$result;
        }
        
/**
         * Request a complete or filtered set of personal bests for a single racer.
         *
         * @example get_pb.php Example use of get_pb()
         * @param string Racer (LFS username)
         * @param int optional Track
         * @param string optional Car
         * @return array
         */
        
function get_pb($racer$track NULL$car NULL) {
            
$this->action 'pb';
            
$this->racer $racer;
            foreach (
explode("\n"$this->get_query_results()) as $line => $data) {
                
$fragment explode(' '$data);
                
$iteration = array(
                    
'track' => $fragment[0],
                    
'car' => $fragment[1],
                    
'time' => $fragment[2],
                    
'lapcount' => $fragment[3]
                );
                if (
$track != NULL || $car != NULL) {
                    if (
$iteration['track'] == $track && $car == NULL)
                        
$result[] = $iteration;
                    if (
$iteration['car'] == $car && $track == NULL)
                        
$result[] = $iteration;
                    if (
$iteration['track'] == $track && $iteration['car'] == $car)
                        return 
$iteration;
                }
                else
                    
$result[] = $iteration;
            }
            return 
$result;
        }
        
/**
         * Request a complete set of basic online statistics for a single racer.
         *
         * @example get_stats.php Example use of get_stats()
         * @param string Racer (LFS username)
         * @return array
         */
        
function get_stats($racer) {
            
$this->action 'pst';
            
$this->racer $racer;
            
$data explode("\n"$this->get_query_results());
            
$result = array(
                
'distance' => $data[0],
                
'fuel' => $data[1],
                
'laps' => $data[2],
                
'hosts' => $data[3],
                
'wins' => $data[4],
                
'second' => $data[5],
                
'third' => $data[6],
                
'finished' => $data[7],
                
'quals' => $data[8],
                
'pole' => $data[9],
                
'credits' => $data[10],
                
'drags' => $data[11],
                
'dragwins' => $data[12],
                
'online' => $data[13],
                
'hostname' => $data[14]
            );
            return 
$result;
        }
        
/**
         * Request a complete hotlap chart optionally filtered by control method.
         *
         * @example hotlap_chart.php Example use of hotlap_chart()
         * @param string Racer (LFS username)
         * @param int optional Controller
         * @return array
         */
        
function hotlap_chart($track$car$control NULL) {
            
$this->action 'ch';
            
$this->track $track;
            
$this->car $car;
            if (
$control != NULL)
                
$this->control $control;
            foreach (
explode("\n"$this->get_query_results()) as $line => $data) {
                
$fragment explode(' '$data);
                
$result[] = array(
                    
'time' => $fragment[0],
                    
'flags_hlaps' => $fragment[1],
                    
'racername' => $fragment[2]
                );
            }
            return 
$result;
        }
        
/**
         * Request the complete list of world records
         *
         * @example get_wr.php Example use of get_wr()
         * @return array
         */
        
function get_wr() {
            
$this->action 'wr';
            foreach (
explode("\n"$this->get_query_results()) as $line => $data) {
                
$fragment explode(' '$data);
                
$result[] = array(
                    
'id_wr' => $fragment[0],
                    
'track' => $fragment[1],
                    
'car' => $fragment[2],
                    
'time' => $fragment[3],
                    
'flags_hlaps' => $fragment[4],
                    
'racername' => $fragment[5]
                );
            }
            return 
$result;
        }
        
/**
         * Request the complete list of online hosts.
         *
         * @example get_hosts.php Example use of get_hosts()
         * @return array
         */
        
function get_hosts() {
            
$this->action 'hosts';
            
$string $this->get_query_results();
            
$result = array();
            for (
$pointer 0$i 0$pointer <= strlen($string); $i++) {
                
$NumberOfRacers = @unpack("c"substr($string$pointer 521));
                
$NumberOfRacers $NumberOfRacers[1];
                
$NumberOfRacersLen $NumberOfRacers 24;
                
$PointerPast $NumberOfRacersLen 53;
                
$result[$i] = array();
                if ((
$result[$i] = @unpack("a32hostname/A4tmlt/A4tcrm/icars/irules/claps/cqual/cspare1/cspare2/cnrofracers/a{$NumberOfRacersLen}racernames"substr($string$pointer$PointerPast)))) {
                    
$result[$i]['racernames'] = preg_split("/\\0/"$result[$i]['racernames'], -1PREG_SPLIT_NO_EMPTY);
                    
$result[$i]['tmlt'] = unpack("ctype/cmain/a1letter/ctestId"$result[$i]['tmlt']);
                    
$result[$i]['tcrm'] = unpack("ctrack/cconfig/creversed/cmax"$result[$i]['tcrm']);
                }
                else
                    unset(
$result[$i]);
                
$pointer += $PointerPast;
            }
            return 
$result;
        }
        
/**
         * Request the complete team database.
         *
         * @example get_teams.php Example use of get_teams()
         * @return array
         */
        
function get_teams() {
            
$this->action 'teams';
            
$string $this->get_query_results();
            
$result = array();
            for (
$pointer 0$i 0$pointer <= strlen($string); $i++) {
                
$infoLen = @unpack("S"substr($string$pointer 1702));
                
$infoLen $infoLen[1];
                
$nrMembers = @unpack("S"substr($string$pointer 172 $infoLen2));
                
$nrMembers $nrMembers[1] * 24;
                
$PointerPast 174 $infoLen $nrMembers;
                
$result[$i] = array();
                if ((
$result[$i] = @unpack("a64team/a6tag/a32country/a64url/Ibits/Sinfo_len/a{$infoLen}info/Snr_members/a{$nrMembers}members"substr($string$pointer$PointerPast)))) {
                    
$result[$i]['members'] = preg_split("/\\0/"$result[$i]['members'], -1PREG_SPLIT_NO_EMPTY);
                    
$result[$i]['info'] = $result[$i]['info'];
                }
                else
                    unset(
$result[$i]);
                
$pointer += $PointerPast;
            }
            return 
$result;
        }
        
/**
         * Request entries from the hotlap upload log.
         *
         * @example get_hlog.php Example use of get_hlog()
         * @param int optional, filter: 1=WR's - 2=top10 - 3=top50 - 4=ALL.
         * @param int Amount of results to retrieve (1-150).
         * @param int optional, filter by control method "w", "m", "ks" or "kn".
         * @param int optional, only return results newer then $starttime (unix timestamp).
         * @return array
         */
        
function get_hlog($log_filter NULL$lines NULL$control NULL$starttime NULL) {
            
$this->action 'hl_log';
            
$this->format 3;
            if (
$log_filter != NULL)
                
$this->log_filter $log_filter;
            if (
$lines != NULL && $lines >= && $lines <= 150)
                
$this->lines $lines;
            if (
$control != NULL)
                
$this->control $control;
            if (
$starttime != NULL)
                
$this->starttime $starttime;
            
$string $this->get_query_results();
            
$result = array();
            for (
$pointer 0$i 0$pointer <= strlen($string); $i++) {
                
$result[$i] = array();
                if ((
$result[$i] = @unpack("itime/a24racer/a32country/A4tcrc/i4split/Spos/Sflags/iid_hl"substr($string$pointer88)))) {
                    
$result[$i]['tcrc'] = unpack("ctrack/cconfig/creversed/ccar"$result[$i]['tcrc']);
                }
                else
                    unset(
$result[$i]);
                
$pointer += 88;
            }
            return 
$result;
        }
    }


?>

fujiwara
S3 licensed
Quote from danowat :And how did you get that data from the original data?

- foreach - is my friend, since i have the raw data that comes from the server, all i have to do is work it.
fujiwara
S3 licensed
Quote from Renku :How did you add the commas there? I got the results without them, like in the first post.

i have to work the data that come from the request, it's fairly easy.
I can post the test script i used to make this if someone wants it.
fujiwara
S3 licensed
Laps by Track:

[HTML]
Fern Bay Club Standard, 543
South City Classic Standard, 1050
South City Sprint Track 1 Standard, 226
Blackwood GP Track Standard, 1455
Fern Bay Gold Track Standard, 412
South City Long Standard, 124
Fern Bay Green Track Standard, 345
Blackwood GP Track Reversed, 516
Fern Bay Green Track Reversed, 64
Autocross Eight Lane Drag Single Stage, 38
Fern Bay Club Reversed, 225
Fern Bay Rally Cross Standard, 30
Kyoto Ring Oval Standard, 322
Westhill International Standard, 459
Aston National Standard, 669
Aston Cadet Standard, 396
Aston Club Standard, 1215
South City Sprint Track 2 Standard, 106
Blackwood Car Park Arena, 371
South City Classic Standard, 213
Aston Historic Standard, 98
Kyoto Ring National Standard, 161
Fern Bay Black Track Standard, 29
Kyoto Ring GP Long Standard, 9
South City Sprint Track 2 Reversed, 125
South City Long Reversed, 149
South City Classic Reversed, 49
Blackwood Rally Cross Standard, 40
Kyoto Ring National Reversed, 37
Westhill International Reversed, 40
Aston Grand Prix Standard, 42
Fern Bay RallyX Green Reversed, 49
Aston Grand Touring Standard, 3
Aston North Reversed, 8
Aston North Standard, 64
Aston National Reversed, 14
South City Sprint Track 1 Reversed, 100
Aston Club Reversed, 54
South City Classic Reversed, 115
Fern Bay Rally Cross Reversed, 11
Fern Bay Gold Track Reversed, 68
Fern Bay RallyX Green Standard, 53
Blackwood Rally Cross Reversed, 21
Aston Cadet Reversed, 78
[/HTML]

Laps by car:
[HTML]
XFG, 1397
RB4, 308
FXO, 2034
XRT, 185
LX6, 328
XRG, 508
LX4, 526
MRT, 340
FO8, 362
FZR, 364
XFR, 1019
UFR, 1193
UF1, 763
RAC, 157
FXR, 30
XRR, 74
FOX, 416
FZ5, 154
BF1, 38
[/HTML]

I think this is correct, but might be worth to check.
fujiwara
S3 licensed
Ok.
I think this will do now:

[HTML]
Fern Bay Club Standard, XFG, 50520, 308
South City Classic Standard, RB4, 57310, 104
South City Sprint Track 1 Standard, RB4, 58240, 48
South City Sprint Track 1 Standard, FXO, 62290, 26
Blackwood GP Track Standard, XRT, 85550, 22
Fern Bay Gold Track Standard, RB4, 112680, 4
South City Classic Standard, FXO, 56040, 564
Blackwood GP Track Standard, RB4, 96340, 17
Blackwood GP Track Standard, FXO, 84300, 96
Fern Bay Gold Track Standard, FXO, 93850, 176
Fern Bay Club Standard, FXO, 51240, 10
Fern Bay Club Standard, RB4, 55610, 7
South City Long Standard, FXO, 117020, 14
Fern Bay Green Track Standard, FXO, 79370, 161
South City Classic Standard, LX6, 49770, 56
Blackwood GP Track Standard, XRG, 95400, 97
South City Classic Standard, LX4, 53340, 10
Fern Bay Green Track Standard, RB4, 82460, 24
South City Classic Standard, MRT, 53540, 71
Blackwood GP Track Reversed, MRT, 0, 1
Fern Bay Green Track Reversed, XRG, 94240, 14
Fern Bay Green Track Standard, MRT, 81820, 24
South City Sprint Track 1 Standard, MRT, 56870, 96
South City Classic Standard, XFG, 60420, 49
Fern Bay Club Standard, MRT, 45930, 87
Blackwood GP Track Standard, XFG, 93460, 726
Blackwood GP Track Standard, MRT, 87940, 37
South City Sprint Track 1 Standard, XFG, 68430, 11
Fern Bay Green Track Standard, XFG, 92080, 28
Autocross Eight Lane Drag Single Stage, LX6, 12680, 23
Autocross Eight Lane Drag Single Stage, XRG, 16130, 10
Fern Bay Gold Track Standard, XRT, 97140, 19
Fern Bay Club Reversed, XFG, 54060, 42
Fern Bay Gold Track Standard, XFG, 110410, 7
Fern Bay Green Track Standard, LX4, 80950, 30
Blackwood GP Track Standard, LX6, 82030, 52
Fern Bay Rally Cross Standard, RB4, 78260, 15
Kyoto Ring Oval Standard, FO8, 36510, 288
Kyoto Ring Oval Standard, FZR, 39000, 10
Westhill International Standard, FZR, 94190, 29
Blackwood GP Track Standard, XFR, 76960, 25
Aston National Standard, FZR, 102380, 271
Aston Cadet Standard, UFR, 53310, 146
Fern Bay Club Standard, UF1, 53740, 88
Aston Club Standard, UFR, 66890, 247
Blackwood GP Track Standard, UFR, 76790, 258
Fern Bay Club Standard, UFR, 44440, 20
Aston National Standard, FO8, 108580, 5
South City Sprint Track 1 Standard, UFR, 55070, 10
Aston Club Standard, RAC, 91200, 1
South City Sprint Track 2 Standard, UF1, 51460, 18
Aston Cadet Standard, UF1, 67750, 79
Fern Bay Rally Cross Standard, UF1, 88680, 9
Autocross Eight Lane Drag Single Stage, FXR, 11040, 3
Autocross Eight Lane Drag Single Stage, XRR, 11680, 1
Autocross Eight Lane Drag Single Stage, FZR, 11780, 1
Aston National Standard, FXR, 111290, 13
Kyoto Ring Oval Standard, UF1, 68450, 8
Blackwood Car Park Arena, UF1, 15870, 368
Blackwood Car Park Arena, UFR, 20270, 3
South City Classic Standard, UFR, 50660, 5
South City Classic Standard, FOX, 43950, 59
Blackwood GP Track Standard, FZR, 70350, 50
Aston National Standard, FOX, 111990, 21
South City Classic Standard, FOX, 75830, 73
Aston Club Standard, XFR, 65520, 431
South City Long Standard, FOX, 97980, 7
Aston Historic Standard, FOX, 159330, 5
Aston Club Standard, FOX, 61560, 202
Fern Bay Gold Track Standard, UFR, 88730, 108
Fern Bay Club Reversed, UF1, 55470, 36
Aston National Standard, XRR, 105100, 68
Westhill International Standard, UFR, 108750, 198
Fern Bay Gold Track Standard, FOX, 82320, 7
South City Sprint Track 1 Standard, XFR, 53440, 16
Kyoto Ring National Standard, UFR, 113420, 52
Fern Bay Black Track Standard, RB4, 183960, 10
Aston Cadet Standard, RB4, 60130, 20
Blackwood GP Track Standard, FOX, 71540, 24
Aston National Standard, UFR, 119230, 46
South City Long Standard, UF1, 140510, 3
Blackwood GP Track Reversed, UFR, 79370, 88
Kyoto Ring GP Long Standard, FOX, 152530, 1
Fern Bay Green Track Standard, UFR, 79770, 4
Fern Bay Green Track Standard, XFR, 77770, 2
Blackwood GP Track Standard, FXR, 80910, 2
South City Sprint Track 2 Reversed, UF1, 51120, 11
Aston Club Standard, FXO, 72330, 93
Fern Bay Green Track Standard, FO8, 59690, 28
Fern Bay Gold Track Standard, LX4, 113020, 7
Aston National Standard, UF1, 164410, 6
South City Long Reversed, FXO, 113280, 149
South City Classic Reversed, UFR, 0, 1
Aston Cadet Standard, FXO, 57320, 34
Aston National Standard, XFR, 116050, 173
Aston Cadet Standard, XFG, 63660, 58
Blackwood Rally Cross Standard, XRG, 74640, 39
Blackwood Rally Cross Standard, RB4, 0, 1
Kyoto Ring National Reversed, XFR, 113580, 17
Westhill International Standard, FXO, 117000, 166
Westhill International Reversed, FXR, 99690, 12
Aston Club Standard, UF1, 90680, 26
Westhill International Standard, FO8, 105020, 3
Blackwood GP Track Reversed, FXO, 84640, 256
Blackwood GP Track Reversed, XFG, 94180, 31
Aston Grand Prix Standard, FO8, 183550, 4
Fern Bay Club Reversed, LX4, 46550, 103
Fern Bay RallyX Green Reversed, RB4, 32640, 22
Fern Bay Green Track Standard, XRT, 81310, 9
Kyoto Ring National Standard, FZR, 110040, 3
Kyoto Ring National Standard, XRR, 103050, 5
Aston Historic Standard, XFR, 164110, 87
Aston Cadet Standard, FO8, 47210, 11
Aston Cadet Standard, FZ5, 59340, 4
Aston Cadet Standard, RAC, 72930, 1
Aston National Standard, RAC, 122130, 49
Aston Grand Touring Standard, BF1, 134890, 3
Aston North Reversed, BF1, 143640, 1
South City Long Standard, BF1, 83390, 5
Blackwood GP Track Standard, BF1, 60130, 4
Kyoto Ring National Standard, FXO, 119990, 59
Aston North Standard, RAC, 139250, 27
South City Classic Standard, FXO, 91830, 70
Aston National Standard, BF1, 89130, 6
South City Sprint Track 2 Reversed, XRG, 47900, 108
Kyoto Ring GP Long Standard, FXO, 173900, 4
South City Classic Standard, UF1, 63320, 22
Aston North Standard, UFR, 128960, 7
Aston North Standard, XFR, 129210, 3
Aston Grand Prix Standard, FXO, 201800, 38
Fern Bay Green Track Standard, XRG, 91040, 23
Aston Cadet Standard, XRG, 66590, 10
Kyoto Ring National Standard, FOX, 102490, 12
Kyoto Ring National Standard, FO8, 0, 1
Blackwood GP Track Standard, FZ5, 82670, 39
South City Long Standard, FZ5, 111090, 9
South City Long Standard, RAC, 113910, 6
South City Long Standard, MRT, 113560, 3
Aston National Reversed, FO8, 107970, 2
South City Sprint Track 1 Reversed, FZ5, 58780, 7
Fern Bay Green Track Reversed, FZ5, 91230, 2
Fern Bay Green Track Reversed, LX6, 84260, 7
South City Classic Standard, FO8, 39910, 9
Kyoto Ring National Standard, FZ5, 117970, 6
Fern Bay Club Standard, XRG, 52300, 17
Fern Bay Rally Cross Standard, FZ5, 80450, 6
South City Long Standard, XFR, 101740, 52
Kyoto Ring National Standard, LX6, 120320, 3
South City Classic Standard, XFG, 101520, 62
Aston Club Standard, XFG, 82270, 75
South City Sprint Track 1 Reversed, XRG, 66060, 62
Kyoto Ring National Standard, RB4, 137550, 2
Fern Bay Gold Track Standard, FZ5, 98750, 5
Kyoto Ring National Standard, XFR, 111350, 2
Aston North Reversed, XRG, 157800, 7
Aston Club Reversed, XFR, 88120, 2
South City Classic Standard, XFR, 47710, 17
Kyoto Ring National Reversed, RB4, 127050, 4
Kyoto Ring National Reversed, FXO, 122330, 16
South City Classic Reversed, FO8, 72490, 2
Westhill International Reversed, FZ5, 121840, 12
South City Classic Reversed, XRG, 60520, 21
Fern Bay Green Track Standard, FOX, 67450, 5
Aston Club Standard, RB4, 73970, 16
South City Sprint Track 1 Reversed, FXO, 58840, 17
Fern Bay Rally Cross Reversed, RB4, 84250, 5
Fern Bay Gold Track Reversed, XRT, 99590, 19
Fern Bay RallyX Green Standard, FXO, 31130, 53
Aston Cadet Standard, LX4, 59480, 13
Aston Club Standard, MRT, 76580, 11
South City Sprint Track 1 Reversed, XFR, 54180, 2
Aston Historic Standard, BF1, 133960, 3
Kyoto Ring Oval Standard, BF1, 32040, 16
Fern Bay Gold Track Standard, XFR, 84030, 66
Westhill International Standard, XFR, 105530, 55
Aston Cadet Standard, XRT, 61980, 2
Blackwood Rally Cross Reversed, FZ5, 72770, 13
Fern Bay Gold Track Reversed, FZ5, 0, 1
Blackwood GP Track Reversed, XFR, 77250, 45
South City Classic Reversed, XFR, 84450, 24
Fern Bay Club Reversed, XRG, 52230, 32
Fern Bay Gold Track Reversed, XRG, 112980, 14
South City Sprint Track 2 Standard, FXO, 42830, 32
Kyoto Ring National Standard, LX4, 123890, 9
Fern Bay Black Track Standard, UF1, 320300, 3
Aston North Standard, FO8, 102610, 9
Aston Cadet Reversed, UF1, 71010, 13
Fern Bay Gold Track Reversed, LX6, 95840, 20
Aston Club Standard, LX4, 72640, 77
South City Sprint Track 2 Reversed, MRT, 41500, 6
Aston Historic Standard, LX4, 187690, 3
Fern Bay Black Track Standard, RAC, 0, 1
Aston National Standard, LX6, 122580, 11
Aston North Standard, LX6, 134340, 12
Fern Bay Club Standard, LX6, 44550, 6
Aston National Reversed, LX6, 125040, 6
Blackwood GP Track Reversed, LX6, 82780, 28
Aston Club Reversed, LX6, 70350, 25
Aston Cadet Standard, LX6, 55940, 18
South City Classic Standard, FZ5, 51060, 26
Aston North Standard, FZ5, 231490, 2
South City Classic Standard, RAC, 50410, 38
Fern Bay Gold Track Standard, LX6, 94000, 3
Aston Cadet Reversed, MRT, 59690, 4
Fern Bay Club Reversed, LX6, 45390, 12
Aston Club Standard, LX6, 69920, 6
South City Classic Reversed, LX6, 50710, 25
Blackwood GP Track Reversed, FZ5, 84230, 11
Blackwood GP Track Reversed, RAC, 84490, 9
Fern Bay Rally Cross Reversed, XRG, 85140, 6
Fern Bay Black Track Standard, LX6, 171280, 15
Aston Club Reversed, UF1, 92030, 23
South City Classic Reversed, UF1, 63720, 43
Fern Bay RallyX Green Reversed, XRG, 35800, 9
Fern Bay Green Track Standard, UF1, 96830, 7
Blackwood GP Track Reversed, XRG, 99370, 6
South City Classic Standard, XRG, 59410, 10
South City Sprint Track 1 Standard, XRG, 65660, 7
South City Long Standard, XRG, 131290, 6
Fern Bay Gold Track Standard, XRG, 107050, 10
South City Classic Standard, XRT, 54260, 10
Aston Cadet Reversed, XRT, 59950, 30
South City Sprint Track 2 Standard, XRT, 44650, 23
South City Classic Reversed, XRT, 54060, 7
Westhill International Standard, XRT, 129530, 3
Westhill International Reversed, XRT, 121150, 7
South City Classic Reversed, RB4, 55700, 4
Aston Cadet Reversed, RB4, 61290, 5
South City Sprint Track 2 Standard, LX4, 44200, 22
Aston Cadet Reversed, LX4, 58170, 26
South City Long Standard, LX4, 113060, 19
Blackwood GP Track Standard, LX4, 88060, 6
Fern Bay RallyX Green Reversed, LX4, 34900, 18
South City Sprint Track 1 Reversed, LX4, 57400, 12
Fern Bay Gold Track Reversed, LX4, 96760, 14
South City Classic Reversed, LX4, 52200, 6
Aston Club Reversed, XRT, 75380, 4
Aston Club Standard, XRT, 73540, 30
Kyoto Ring GP Long Standard, LX4, 173350, 4
South City Classic Reversed, LX4, 92290, 16
South City Classic Standard, LX4, 98100, 8
Westhill International Reversed, LX4, 119210, 9
Blackwood GP Track Reversed, LX4, 85510, 41
Aston National Reversed, LX4, 138910, 6
Aston North Standard, LX4, 154460, 4
Fern Bay Green Track Reversed, LX4, 80440, 38
Westhill International Standard, LX4, 122150, 5
Blackwood Rally Cross Reversed, LX4, 75690, 8
South City Sprint Track 2 Standard, FZ5, 44880, 11
South City Classic Reversed, RAC, 97230, 6
South City Classic Reversed, RAC, 59980, 9
Kyoto Ring National Standard, RAC, 127410, 7
Fern Bay Green Track Reversed, RAC, 87260, 3
South City Sprint Track 1 Standard, LX4, 60640, 12
[/HTML]

Hope it helps, there's the possibility to change the Standard to nothing and Reverse to R or just the abreviation, ex: FE2R, if you like.
fujiwara
S3 licensed
See my 1st post, csv format is comma-separated, so Excel should import that ok.
Now i just need to find the track codes table
FGED GREDG RDFGDR GSFDG