RicochetII Posted October 20, 2008 Report Share Posted October 20, 2008 I was wondering if anyone knows how to set something up so all of the player and/or team stats can be included in an image and automatically keep up to date? I was trying to find out and read some stuff about dynamics, scripts and RSS feeds and it was all german to me. I might be able to figure out code by copy, pasting and substitution, but I've don't have a clue how to just do it and even if I did, I don't know where I would get the statistics I want and be able to link them to the image. An example of what I mean. I want to create a signature image for a player, let's say Koivu, and have his goals, assists and points show up on that image as his current totals, without having to manually edit the numbers and upload a new image every time he gets a point. So if NHL.com, updates his stats at the end of every game, I want my image to check with their totals and update itself to what they say they are. I know it is possible, I just don't know how or what is involved. Link to comment Share on other sites More sharing options...
tmash Posted October 24, 2008 Report Share Posted October 24, 2008 I was wondering if anyone knows how to set something up so all of the player and/or team stats can be included in an image and automatically keep up to date? I was trying to find out and read some stuff about dynamics, scripts and RSS feeds and it was all german to me. I might be able to figure out code by copy, pasting and substitution, but I've don't have a clue how to just do it and even if I did, I don't know where I would get the statistics I want and be able to link them to the image. An example of what I mean. I want to create a signature image for a player, let's say Koivu, and have his goals, assists and points show up on that image as his current totals, without having to manually edit the numbers and upload a new image every time he gets a point. So if NHL.com, updates his stats at the end of every game, I want my image to check with their totals and update itself to what they say they are. I know it is possible, I just don't know how or what is involved. I'm making progress with this: The above image was created dynamically. I didn't write the code that made it, but it's a very important first step to getting dynamic signatures. Basically the way I'd write one for say Koivu's stats would involve a few steps 1.) Write a script which would run once a day, probably around 1am or so after sites have had time to update their stats. It would go and 'fish' the information we want from a site like TSN or NHL.com (this is much less malicious than it sounds: all we are doing is opening the page once a day) 2.) Store the information we want in a database on my host 3.) Write a script which dynamically pulls the database information and creates the signature 4.) (this is the tricky part) get that signature to print out as an image instead of a website. -------- My next step is to play around with the PHP image library to see if I can get a background on it (the main sig image) and then overlay it with specified text. If I can get that, the rest should be easy enough. Link to comment Share on other sites More sharing options...
RicochetII Posted October 24, 2008 Author Report Share Posted October 24, 2008 I'm making progress with this: The above image was created dynamically. I didn't write the code that made it, but it's a very important first step to getting dynamic signatures. Basically the way I'd write one for say Koivu's stats would involve a few steps 1.) Write a script which would run once a day, probably around 1am or so after sites have had time to update their stats. It would go and 'fish' the information we want from a site like TSN or NHL.com (this is much less malicious than it sounds: all we are doing is opening the page once a day) 2.) Store the information we want in a database on my host 3.) Write a script which dynamically pulls the database information and creates the signature 4.) (this is the tricky part) get that signature to print out as an image instead of a website. -------- My next step is to play around with the PHP image library to see if I can get a background on it (the main sig image) and then overlay it with specified text. If I can get that, the rest should be easy enough. Steps 1 and 2 may not be necessary. If you can find a site that tracks the stats and uses an RSS feed, it should update the information as it is updated on that site. I'm not alot of help with this stuff, I can only research and attempt, never having learned any computer related coding. As soon as it involves writing a script, it means I would first have to learn how to do that and I don't know how long that might take. Getting the image to show shouldn't be hard at all. If it is the forum itself preventing it, I know I had trouble initially getting my current gif to show, then it maybe this? Again, I have no experience. Can you create an image and put it on your own site and have that image convert to a static image between updates? Kind of like one image that is animated and scripted, and another image that is a copy of the first and is not animated or scripted, it simply mimics the last image shown by the animated one? I hope that's understandable. Link to comment Share on other sites More sharing options...
tmash Posted October 24, 2008 Report Share Posted October 24, 2008 Steps 1 and 2 may not be necessary. If you can find a site that tracks the stats and uses an RSS feed, it should update the information as it is updated on that site. I'm not alot of help with this stuff, I can only research and attempt, never having learned any computer related coding. As soon as it involves writing a script, it means I would first have to learn how to do that and I don't know how long that might take. The thing is player stats are unlikely to be in an RSS feed. And even if they are, I'm not sure if this is the best way to go about it: since the stats only change 82 times a year, it seems redundant to depend on streams. However, I should say I don't understand streams that well. Can you create an image and put it on your own site and have that image convert to a static image between updates? Kind of like one image that is animated and scripted, and another image that is a copy of the first and is not animated or scripted, it simply mimics the last image shown by the animated one? Not exactly as you describe it, but basically yes, and in fact that's what I'm planning to do, it's a nicer solution than forcing the script to execute every time someone views a page with your signature on it. So basically what I'd do is have this thing called a 'cron', which can automatically run programs at a certain time, run every night at say 1am. It would go, grab the updated stats, then print out the new signature and save it as a static image which the forum could link to Getting the image to show shouldn't be hard at all. If it is the forum itself preventing it, I know I had trouble initially getting my current gif to show, then it maybe this? Again, I have no experience. I wish that were true. The problem isn't so much getting the image to show up: I showed above I could do that (and this wasn't easy - much differen then a normal gif). The issue is using a script to create an image. If I could just create a small HTML file (website) as a signature and then turn this into an image, it would be relatively easy. The problem is you can't do this, you have to use the languages graphics library to try and output what you want. To give an example, this is the code to create the simple image above, from http://articles.techrepublic.com.com/5100-...11-5092227.html <? // Add values to the graph $graphValues=array(0,80,23,11,190,245,50,80,111,240,55); // Define .PNG image header("Content-type: image/png"); $imgWidth=250 $imgHeight=250; // Create image and define colors $image=imagecreate($imgWidth, $imgHeight); $colorWhite=imagecolorallocate($image, 255, 255, 255); $colorGrey=imagecolorallocate($image, 192, 192, 192); $colorBlue=imagecolorallocate($image, 0, 0, 255); // Create border around image imageline($image, 0, 0, 0, 250, $colorGrey); imageline($image, 0, 0, 250, 0, $colorGrey); imageline($image, 249, 0, 249, 249, $colorGrey); imageline($image, 0, 249, 249, 249, $colorGrey); // Create grid for ($i=1; $i<11; $i++){ imageline($image, $i*25, 0, $i*25, 250, $colorGrey); imageline($image, 0, $i*25, 250, $i*25, $colorGrey); } // Add in graph values for ($i=0; $i<10; $i++){ imageline($image, $i*25, (250-$graphValues[$i]), ($i+1)*25, (250-$graphValues[$i+1]), $colorBlue); } // Output graph and clear image from memory imagepng($image); imagedestroy($image); ?> This isn't so bad, I can understand all of it, but it could be significantly more complicated to get a decent looking signature. Link to comment Share on other sites More sharing options...
RicochetII Posted October 24, 2008 Author Report Share Posted October 24, 2008 Okay, so my next question is, what do I need to do to a signature to get it to include the script that allows me to show my own image and adjust the number placement, font, size, etc. as I see fit? Or are we talking about having one image with one way to display the statistics? I haven't used PS3 or Imageready to include HTML, but I presume it is possible as it does it automatically for .gifs. What I need, is the HTML to use to test it out. Just putting a couple of HTML tags on an image isn't going to do anything for me, because I wouldn't know how or what the outcome would be or what to look for it to do when completed. EDIT : Caught the code in the update. Didn't realize you were active in the topic. Can I take that code and attempt to add it to an image as is, or will it do nothing? Link to comment Share on other sites More sharing options...
tmash Posted October 24, 2008 Report Share Posted October 24, 2008 Okay, so my next question is, what do I need to do to a signature to get it to include the script that allows me to show my own image and adjust the number placement, font, size, etc. as I see fit? Or are we talking about having one image with one way to display the statistics? all you can do in your signature is link to an external image, or script that generates an image nothing more. So what can you do? Without webhosting, nothing. If I can get this working, I'll try to help you out. I haven't used PS3 or Imageready to include HTML, but I presume it is possible as it does it automatically for .gifs. What I need, is the HTML to use to test it out. Just putting a couple of HTML tags on an image isn't going to do anything for me, because I wouldn't know how or what the outcome would be or what to look for it to do when completed. That's something different as PS3 and Imageready involves a human user (plus I'm not sure if what you're talking about is even the same thing). We need a script to do this for us, and my limited research shows this probably can't be easily done EDIT : Caught the code in the update. Didn't realize you were active in the topic. Can I take that code and attempt to add it to an image as is, or will it do nothing? No. That is PHP code, it needs to be executed by PHP (a program) and creates an image. That creates an image, it isn't something to add to an image. The specific code there just creates the bar graph I have above. Link to comment Share on other sites More sharing options...
RicochetII Posted October 24, 2008 Author Report Share Posted October 24, 2008 How would you get a transparent color? (If possible) What I don't see here is a way to display numbers in font as opposed to a graph. While a graph is one way and could be interesting and a neat variation. Is it possible to insert an image or type in place of a point on the graph by defining it in the array? This might be a feasible way to adjust the locations of the numbers for different sig layouts though. I'm going to try to find some more information. Someone has to have done this kind of thing for another sports team at some point. EDIT : Okay, I understand now. I was on a whole different page. I'll drop back in after I look around a little. Link to comment Share on other sites More sharing options...
tmash Posted October 24, 2008 Report Share Posted October 24, 2008 How would you get a transparent color? (If possible) What I don't see here is a way to display numbers in font as opposed to a graph. While a graph is one way and could be interesting and a neat variation. Is it possible to insert an image or type in place of a point on the graph by defining it in the array? This might be a feasible way to adjust the locations of the numbers for different sig layouts though. I'm going to try to find some more information. Someone has to have done this kind of thing for another sports team at some point. EDIT : Okay, I understand now. I was on a whole different page. I'll drop back in after I look around a little. I'll look into all that stuff. Don't try to look off one example and just modify things. Basically there is a big library: http://www.php.net/gd There are probably functions to do what you're suggesting, but it will take some trial and error and time to find the proper functions. Link to comment Share on other sites More sharing options...
RicochetII Posted October 24, 2008 Author Report Share Posted October 24, 2008 http://www.msfn.org/board/dynamic-signature-IP-t47730.html This might work. I can probably follow the code and make changes if I research and double check steps as I do them, but really someone with php knowledge would be better. Such as yourself. I will look into grabbing the php program and see how far I can get and come back for help where necessary. Probably won't get to it until the weekend though. I'll let you know if I make any progress and visa versa. Meanwhile, I'll try to come up with some decent backgrounds. Link to comment Share on other sites More sharing options...
tmash Posted October 24, 2008 Report Share Posted October 24, 2008 http://www.msfn.org/board/dynamic-signature-IP-t47730.html This might work. That's actually the same basic thing I've been talking about, just another example of it I can probably follow the code and make changes if I research and double check steps as I do them, but really someone with php knowledge would be better. Such as yourself. You may be able to do this to a point, the problem is getting the data you need, that's a bit more complicated for a non-programmer. I will look into grabbing the php program and see how far I can get and come back for help where necessary. Probably won't get to it until the weekend though. I'll let you know if I make any progress and visa versa. it's not exaclty easy to just grab. You need to turn your computer into a server first, which involves installing apache, then installing php, then getting them to work together. But yes, I'll try to look at this more closely when I have a chance. For the first time, I have a good feeling I can get this working, but it will take awhile to code everything up. Link to comment Share on other sites More sharing options...
RicochetII Posted October 24, 2008 Author Report Share Posted October 24, 2008 Oh. I downloaded the php program, but I didn't realize I needed a server to even use it. :/ I thought I could use a free web hosting site or something that had apache/GD on it and supported php (assuming such a site exists). I guess I'll just track your progress and help where I can. Keep me posted. I can examine, edit and learn code all I want, but unless I can actually play around with it and test things out, it's kind of pointless. Link to comment Share on other sites More sharing options...
tmash Posted October 24, 2008 Report Share Posted October 24, 2008 Oh. I downloaded the php program, but I didn't realize I needed a server to even use it. :/ I thought I could use a free web hosting site or something that had apache/GD on it and supported php (assuming such a site exists). I guess I'll just track your progress and help where I can. Keep me posted. I can examine, edit and learn code all I want, but unless I can actually play around with it and test things out, it's kind of pointless. Well you can't install programs with web hosting, only host. But any good Linux web hosting will have PHP installed. But I don't know if you'll find any free ones, most cost a little bit. I have PHP installed on my own computer for testing (but while technically a 'server', it isn't accessible outside my own computer), so then I put the code on a web host to make it available. If you really want to try things out, this site tells you how to set everything up: http://www.ricocheting.com/server/ I could also set up an account on my web host and give you access to your own part if you'd like, let me know. Link to comment Share on other sites More sharing options...
RicochetII Posted October 24, 2008 Author Report Share Posted October 24, 2008 That site name can't be a coincidence, can it? If I look into it and determine it is something I might be able to use, I will definitely let you know and thanks for the offer. Link to comment Share on other sites More sharing options...
tmash Posted October 24, 2008 Report Share Posted October 24, 2008 That site name can't be a coincidence, can it? If I look into it and determine it is something I might be able to use, I will definitely let you know and thanks for the offer. haha didn't even notice that Link to comment Share on other sites More sharing options...
RicochetII Posted October 31, 2008 Author Report Share Posted October 31, 2008 Success! Now Koivu has yet another reason to keep putting numbers up. Link to comment Share on other sites More sharing options...
tmash Posted October 31, 2008 Report Share Posted October 31, 2008 yep, Richochet made the image, I did the coding, and I think it worked out well. So to do this, the code I ended up writing was: <?     function getStats() {         // remove old entries            $query = "delete from skaters";         $result = mysql_query( $query )or die("Query failed : " . mysql_error());         $query = "delete from goalies";         $result = mysql_query( $query )or die("Query failed : " . mysql_error());                 // get statistical information and break up         $url = "http://www.tsn.ca/nhl/teams/?hubname=nhl-canadiens";         $skaters = file_get_contents( $url);            $start = strpos($skaters, 'players/bio/?code=');         $spliter = strpos($skaters, "Goalies");         $goalies = substr ($skaters, $spliter);         $skaters = substr($skaters, $start, $spliter - $start);         $goaliesStart = strpos($goalies, 'players/bio/?code=');         $goaliesEnd = strpos($goalies, "tsnMedia");         $goalies = substr($goalies, $goaliesStart, $goaliesEnd - $goaliesStart);                 // fix up the skater information         $skaters = str_replace("</th><td>", ",", $skaters);         $skaters = str_replace("</td><th>", ",", $skaters);                $skaters = str_replace('</td></tr><tr class="bg1"><td class="alignLeft"><a href="/nhl/teams/players/bio/?code=', "?", $skaters);         $skaters = str_replace('</td></tr><tr class="bg2"><td class="alignLeft"><a href="/nhl/teams/players/bio/?code=', "?", $skaters);         $skaters = str_replace('&name=', ",", $skaters);         $skaters = str_replace('&hubname=nhl-canadiens">' ,",", $skaters);                $skaters = str_replace('</td><th class="hiLite">', ",", $skaters);         $skaters = str_replace('</a>', "", $skaters);         $skaters = str_replace('players/bio/?code=', "", $skaters);         $skaters = str_replace('</td></tr></tbody></table><br /><br /><h2>', "", $skaters);         $skaters = str_replace('\'', "", $skaters);                 // fix up goaltender information                $goalies = str_replace("</th><td>", ",", $goalies);         $goalies = str_replace("</td><th>", ",", $goalies);            $goalies = str_replace('&name=', ",", $goalies);         $goalies = str_replace('&hubname=nhl-canadiens">' ,",", $goalies);                $goalies = str_replace('</th><td class="hiLite">', ",", $goalies);         $goalies = str_replace('</a>', "", $goalies);                    $goalies = str_replace('</th></tr><tr class="bg2"><td class="alignLeft"><a href="/nhl/teams/players/bio/?code=', "?", $goalies);         $goalies = str_replace('players/bio/?code=', "", $goalies);         $newEnd = strpos($goalies, '</th>');         $goalies = substr ($goalies, 0, $newEnd);         $goalies = str_replace('\'', "", $goalies);                 // insert all skaters into database         $players= explode("?", $skaters);         for ($counterA = 0; $counterA < sizeof($players); $counterA++){             $statistics = explode(",", $players[$counterA]);                                        $query = 'insert into skaters values (';                 for ($counterB = 0; $counterB < sizeof($statistics); $counterB++){                     if ($counterB == 0){                         $query = $query . $statistics[$counterB];                     } elseif ($counterB == 1 || $counterB == 2 || $counterB == 3 || $counterB == 15 || $counterB == 16){                         $query = $query . ", '" . $statistics[$counterB] . "'";                     } else {                         $query = $query . ', ' . $statistics[$counterB];                     }                 }                 $query = $query . ')';                 $result = mysql_query( $query )or die("Query failed : " . mysql_error()); // store the result of the inerstion                            }             // insert all goalies into database         $players= explode("?", $goalies);         for ($counterA = 0; $counterA < sizeof($players); $counterA++){             $statistics = explode(",", $players[$counterA]);                                        $query = 'insert into goalies values (';                 for ($counterB = 0; $counterB < sizeof($statistics); $counterB++){                     if ($counterB == 0){                         $query = $query . $statistics[$counterB];                     } elseif ($counterB == 1 || $counterB == 2 || $counterB == 3 || $counterB == 5 || $counterB == 9 || $counterB == 17){                         $query = $query . ", '" . $statistics[$counterB] . "'";                     } else {                         $query = $query . ', ' . $statistics[$counterB];                     }                 }                 $query = $query . ')';                 $result = mysql_query( $query )or die("Query failed : " . mysql_error()); // store the result of the inerstion                            }            }                function createSkaterImage($playerID, $playerName){         $games = "";         $goals = "";         $points = "";         $assists = "";            $plusMinus = "";         $shots = "";         $shotPercent = "";         $pim = "";                     $query = "select * from skaters where id = $playerID";         $result = mysql_query( $query )or die("Query failed : " . mysql_error());                         if ( $result ){                 $row = mysql_fetch_array( $result );                     $games = $row[ 'gp' ];                     $goals = $row[ 'g' ];                                $assists = $row[ 'a' ];                            $points = $row[ 'pts' ];                                                    $plusMinus = $row[ 'plusMinus' ];                            $shots = $row[ 'sh' ];                            $shotPercent = $row[ 'pct' ];                            $pim = $row[ 'pim' ];                                                                    }             else {                 die ('Could not get results');             }                // Define .PNG image         header("Content-type: image/png");                 // Create image and define colors         $image = @imagecreatefrompng("./input/" . $playerName . ".png");         $black = imagecolorallocate($image, 0x00, 0x00, 0x00);         $habsRed = imagecolorallocate($image, 0x9F, 0x15, 0x12);                 // Path to our ttf font file         $fontFile = './arial.ttf';         $fontSize = 10;         $fontAngle = 0;         $fontColor = $habsRed;         $fontY = 138;         $padder = 0;                 // Draw the text 'PHP Manual' using font size 13         if ($games < 10) { $padder = 3; }         imagefttext($image, $fontSize, $fontAngle, 168 + $padder, $fontY, $fontColor, $fontFile, $games);         $padder = 0;         if ($goals < 10) { $padder = 3; }         imagefttext($image, $fontSize, $fontAngle, 204+ $padder, $fontY, $fontColor, $fontFile, $goals);         $padder = 0;         if ($assists < 10) { $padder = 3; }         imagefttext($image, $fontSize, $fontAngle, 241+ $padder, $fontY, $fontColor, $fontFile, $assists);         $padder = 0;         if ($points < 10) { $padder = 3; }         imagefttext($image, $fontSize, $fontAngle, 281 + $padder, $fontY, $fontColor, $fontFile, $points);         $padder = 0;                if ($plusMinus < 10 && $plusMinus > -10 ) { $padder = 3; }         imagefttext($image, $fontSize, $fontAngle, 314 + $padder, $fontY, $fontColor, $fontFile, $plusMinus);                $padder = 0;         if ($shots < 10) { $padder = 3; }         imagefttext($image, $fontSize, $fontAngle, 344 + $padder, $fontY, $fontColor, $fontFile, $shots);         $padder = 0;         imagefttext($image, $fontSize, $fontAngle, 373 + $padder, $fontY, $fontColor, $fontFile, $shotPercent);         $padder = 0;         if ($pim < 10) { $padder = 3; }         imagefttext($image, $fontSize, $fontAngle, 410 + $padder, $fontY, $fontColor, $fontFile, $pim);         $padder = 0;                     // Output to file         imagejpeg($image, "./output/" . $playerName . ".jpeg");         imagejpeg($image); // output to screen         imagedestroy($image);         return;     }                // set up database     $db = mysql_connect( 'localhost', REMOVED FOR SECURITY REASONS );         if ( !$db ){         die ( 'Could not connect to database, please try again later: ' . mysql_error() );     }         mysql_select_db( 'REMOVED FOR SECURITY REASONS' )or die("DB Select failed : " . mysql_error());    // McleanSpace     //mysql_select_db( 'REMOVED FOR SECURITY REASONS' )or die("DB Select failed : " . mysql_error());    // local server         getStats();             // createSkaterImage(518, "kovalev");     // createSkaterImage(577, "hamrlik");     // createSkaterImage(640, "brisebois");     // createSkaterImage(899, "lang");     // createSkaterImage(1316, "dandenault");     // createSkaterImage(1319, "laraque");     createSkaterImage(1341, "koivu");     // createSkaterImage(1646, "begin");     // createSkaterImage(1763, "tanguay");     // createSkaterImage(1932, "bouillion");     // createSkaterImage(2067, "kostopolous");     // createSkaterImage(2145, "markov");     // createSkaterImage(2843, "komisarek");     // createSkaterImage(3005, "plekanek");     // createSkaterImage(3348, "akostitsyn");     // createSkaterImage(3438, "lapierre");     // createSkaterImage(3492, "gorges");     // createSkaterImage(36fontY, "chipchura");     // createSkaterImage(3823, "latendresse");     // createSkaterImage(4032, "obyrne");     // createSkaterImage(4190, "skostitsyn");     // createGoalieImage(3734, "halak"); Won't work, must change database selected from     // createGoalieImage(3782, "price"); Won't work, must change database selectedFrom             // close the database     mysql_close();     ?> Link to comment Share on other sites More sharing options...
RicochetII Posted October 31, 2008 Author Report Share Posted October 31, 2008 Okay, that's a lot more code than I thought was necessary, must have been a bit of work. Thanks and much appreciated for doing it though. I've already messaged you about some things, but am I to understand that you've already coded for every player and created a database so if I create an image with the same number locations, it is a relatively simple matter to display a different player's statistics? Link to comment Share on other sites More sharing options...
tmash Posted October 31, 2008 Report Share Posted October 31, 2008 Okay, that's a lot more code than I thought was necessary, must have been a bit of work. Thanks and much appreciated for doing it though. The majority of that is just to get the statistics, once I've placed them in a database, making the image is relatively easy. It took me a couple hours, but it isn't as bad as it looks, PHP is a pretty easy language to code in. I've already messaged you about some things, but am I to understand that you've already coded for every player and created a database so if I create an image with the same number locations, it is a relatively simple matter to display a different player's statistics? Ya, as long as you keep the same statistics table (and place it in the exact same location), it is very simple to make new players. All I have to do is upload a file say "markov.png" to my server, and then in that code, remove two slashes and it should work. The only thing that will be a little more difficult is goalies, since we need a new stats table, but even that would take only like 15 minutes. Link to comment Share on other sites More sharing options...
RicochetII Posted October 31, 2008 Author Report Share Posted October 31, 2008 Thanks for the help. I might never have figured it out on my own. Looks more complicated than I suspected to do such a relatively simple thing. Good looking out in creating a database instead of coding seperately for each player too. Link to comment Share on other sites More sharing options...
franck5890 Posted October 31, 2008 Report Share Posted October 31, 2008 That's really awesome guys. Let me know if you're making any extras. Link to comment Share on other sites More sharing options...
RicochetII Posted October 31, 2008 Author Report Share Posted October 31, 2008 Thanks! I was going to wait until we had a few under our belt and offer them to everyone. Graeme is being generous enough to host them, and doesn't believe it will be an issue. He can sound off when he checks this thread again. I just sent the goaltenders for approval, and once everything is tinkered correctly with those (different stats = different code) then I'll begin on the rest of the roster. As long as there are no issues involved, I expect it will be okay for everyone who wishes to use their favorite player. That's the hope anyway. Link to comment Share on other sites More sharing options...
tmash Posted October 31, 2008 Report Share Posted October 31, 2008 That's really awesome guys. Let me know if you're making any extras. Thanks, and for my part, that code is ready for all players (need to add a bit for the goalies though), and Ricochet is planning to make sigs for all the players on the team, so we'll definately have 'extras'. Link to comment Share on other sites More sharing options...
GreekHockeyCoach Posted October 31, 2008 Report Share Posted October 31, 2008 Wow guys, that is totally impressive. Graeme, I had no idea you were a programmer, great job. Link to comment Share on other sites More sharing options...
tmash Posted October 31, 2008 Report Share Posted October 31, 2008 Wow guys, that is totally impressive. Graeme, I had no idea you were a programmer, great job. Thanks. And programming is basically what I've been learning about at school (and while working) the past few years, so writing something like this was relatively easy. Link to comment Share on other sites More sharing options...
King-Carey-31 Posted October 31, 2008 Report Share Posted October 31, 2008 WOW! That is impressive, Even more impressive would be a carey price one I would obvioulsy steal it and give credit Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.