Results 1 to 2 of 2
Thread: Fantasy Baseball Script
-
12-27-2003, 02:44 PM #1Newbie
- Join Date
- Mar 2003
- Posts
- 16
Need a Fantasy Baseball Script
Basically we need a script written preferably in PHP/Java (as it will be running on a linux) You can find all the details of our customers script request below. Unfortunately our programmer has left town for a while and we need this script (site) ready for our customer in 2 weeks. The person (programmer) that takes on this job may receive even more work in the future if it is done well.
Absolutely necessary for Fantasy Baseball:
Player pool - divided into pitchers and hitters.
Hitters divided into: C, 1B, 2B, SS, 3B, OF, DH - positions determined by minimum games played stat at each defensive position. Players can be more than one eligible. Example: PLAYER A plays 50 games at 1B and 50 at SS - He is eligible to play either.
Pitchers divided into Starting pitchers and relief pitchers.
Usually based on stat: Games Started (GS)
The player pool will have plenty of additions during the season. Each player will need a unique player number and I'd like to include their career numbers and profile on a separate page that opens when you click on their name link. Additionally there will be a database column for their TEAM stat - an abbreviation of the major league team they play for. In the schedule column it should show the team they will be playing against next based upon the SCHEDULE that will be imported. If they change teams it should automatically reflect it in the TEAM AGAINST column. Additionally, there will be a STARTING PITCHER page which will list pitching matchups a few days in advance. If a pitcher's name appears on this page, it should create a symbol of some kind along with the TEAM AGAINST to indicate that pitcher starts that day. This will allow CLIENT (FANTASY CLIENT) to change their pitcher slots in accordance with that pitcher's starts. In other words, here is an example:
SP (starting pitcher) Bob Smith: Jan 1 Jan 2 Jan 3
ATL *ATL ATL
This indicates he will start on Jan. 2 so that this CLIENT can make sure to
change Bob SMith from Bench to one of his allotted SP slots for Jan 2, but
he can also make sure he goes back to BENCH for Jan. 3 (and also today). A
simple choice form should do where:
Bench
SP
can be chosen. If he also qualified as RP (relief pitcher) it would be:
Bench
SP
RP
For Batters:
Bench
OF
or
Bench
OF
SS
Depending on qualifications we will make on the CONFIGURATION page (for position eligibility part of STAT PACKAGE under defensive stats.)
Additionally, the stats will be imported to a central database which will tally all players stats, which stats will be imported will be in STAT PACKAGE listed below. There will be three measurements - Season Last Month Last week - that players can track theiir players performance. The player pool and stats will be global - that is they will independent - and EACH league will use the player pool separately and process fantasy points based upon their SCORING CONFIGURATION
INJURIES/NEWS A similar QUERY to the starting pitchers page - if a player in the player pool appears in the NEWS pages or the INJURY UPDATE it will bring an icon next to the player's name for them to click on which will open their player page with the news links appearing on their page. I have not yet secured a sports news service but it won't be difficult to do so. I could run this search perhaps once a day during "batch" or "update" unless it is easy to do in real time but i doubt it. Also, the below stat - "Transactions" should probably bring up the icon as well. - if they appear there or if it comes in with their unique identifier.
Player page should probably be tied into PLAYER NUMBER - (unique identifier fo each player - automatically assigned when player is added to pool)
STATS PACKAGE: These stats will be imported in comma delimited or tab delimited form either live feed or daily, most likely through ftp. The stat categories are as follows:
Hitters File
Player Name
ID# (a unique 4-digit identification number)
Team Abbreviation
Team#
Games G
At-Bats AB
Runs R
Hits H
Doubles 2B
Triples 3B
Home Runs HR
RBI
Sacrifice Hits SH
Sacrifice Flies SF
Hit by Pitch HBP
Walks BB
Intentional Walks IBB
Strikeouts K
Stolen Bases SB
Caught Stealing CS
Errors E
Grounded into Double Plays GDP
Hit for the Cycle CY
Pitchers File
Player Name
ID# (a unique 4-digit identification number)
Team Abbreviation
Team#
Wins W
Losses L
Saves SV
Blown Saves BS
Holds H
Games G
Games Started GS
Complete Games CG
Games Finished GF
Quality Starts QS
Shutouts SH
Innings Pitched IP
Batters Facing Pitcher BP
Hits Allowed HA
Doubles Allowed 2BA
Triples Allowed 3BA
Home Runs Allowed HRA
Runs R
Earned Runs ER
Sacrifice Hits SH
Sacrifice Flies SF
Hit Batsmen HBP
Walks BB
Intentional Walks IBB
Strikeouts K
Wild Pitches WP
Balks BK
No-Hitters NO
Perfect Games PG
Games Played by Position File
Player Name
ID# (a unique 4-digit identification number)
Team Abbreviation
Team#
Games Played at Pitcher
Games Played at First Base
Games Played at Second Base
Games Played at Third Base
Games Played at Shortstop
Games Played at Left Field
Games Played at Center Field
Games Played at Right Field
Games Played at Outfield (note: this is not the sum of LF/CF/RF)
Games Played at DH
Fielding File
Note: There is one line of statistics for each player for each position they have played. The statistics can also be further divided by league or team.
Player Name
ID# (a unique 4-digit identification number)
Team Abbreviation
Team#
Position
Games G
Games Started GS
Innings IP
Putouts PO
Assists A
Errors E
Double Plays 2P
Triple Plays 3P
Passed Balls PB
Injury File
Player Name
ID# (a unique 4-digit identification number)
Team Abbreviation
Team#
Date
Description
Transactions File
Player Name
ID# (a unique 4-digit identification number)
Team Abbreviation
Team#
Date
Description
Roster File (a one-time delivery before the start of the season is provided
free of charge)
Player Name
ID# (a unique 4-digit identification number)
Team Abbreviation
Team#
Position
The stat service should be lined up this week and I will know more specifically how the stats will be input.
After input, each league will process the stats into FANTASY POINTS for fantasy points leagues and salary leagues. For ROTISSERIE leagues - it will also be processed in the following manner:
Example: A league uses the following as scoring: AVG HR RBI SB - Out of ten teams, the team with the highest batting average gets ten points, the second highest gets 9, third highest gets 8, and so on down. Same for each category and the team with the most points is winning! If there is a tie, it goes down a half point - EXAMPLE: two teams have 10 HR and are tied for first they get 9.5 each - second place team gets 8 and so on down.
*************** Continued Below ***************Last edited by ITGEEK; 12-27-2003 at 03:30 PM.
Pure Web Hosting . Net
Hosting With Integrity - Prov. 16:11
http://www.purewebhosting.net
-
12-27-2003, 02:46 PM #2Newbie
- Join Date
- Mar 2003
- Posts
- 16
FANTASY POINTS: Each scoring category has a point value assigned. Teams get points for each player in their lineup for everything he accomplishes.
EXAMPLE: Billy Doe goes 2-4 2 RBI's ,a BB (walk), and a SB (stolen base) and then a CS (caught stealing) (Abbreviations listed in STAT PACKAGE above) Billy gets one point for his single, two points for his double, 3 points for a stolen base, 4 points for 2 RBI's, and minus 1 for caught stealing: according to league SCORING CONFIGURATION (detailed below)
Salary LEAGUE - I will detail this below the scoring category listed next - optional feature - if we can't get this done easily I will develop it for next season.
SCORING CONFIGURATION - Since we know that player stats will be global - the scoring system that is selected prior to the season will determine how many points this player receives in his league -WHAT TYPE OF LEAGUE? FANTASY HEAD2HEAD, FANTASY POINTS, AUCTION (points or head to head), ROTISSERIE
KEEPER LEAGUE?: Ask them yes or no How many teams make playoffs: (Head to head) How many days are players on waivers? Trade limit? Trade deadline? How many days to review a trade before it goes through automatically?
Roster limit:
Starting lineup: how many OF, UT spot in lineup (any player can be used), how many c, 1B, 2B, 3b, OF, SP, RP
For instance: A commissioner will often start a new league (detailed later) - after naming the league and specifying what type of league it will be - fantasy, rotisserie, salary he will then be asked to fill out the scoring categories from a form listing all the possible stats (number of categories will be limited due to space on the page I assume) . For rotisserie they would be done as each category will have the same weight. For fantasy they will have another form come up with the categories they selected and they can put in point modifiers - one point for 1B and so on.
For both rotisserie and fantasy, we should have a default setting which I will specify later in case the leagues do not want custom configurations. For this season, free leagues will be custom - this may change later for free leagues to only have default scoring. Of course, I may always keep it custom free.
In salary leagues, they can still use rotisserie or fantasy point. The salary really only affects the draft - We will set a spending limit and the players bid on their players. Like I said we can develop this for next season.
for this season, all leagues will have EVERY player available. But some leagues will be KEEPER leagues which means they can choose a few players to keep for next season. We will need to be able to add a check box or something for a team to protect their players in keeper leagues which will keep their player out of the draft pool NEXT season.
STANDINGS: A total of wins and losses in head to head fantasy points (with POINT TOTAL for tie breaker - also kept track of) a point list for
rotisserie detailing the categories and then how many points that team has in each, or for TOTAL POINTS leagues - just the team name and their total points in order from most to least.
PLAYOFFS - for head to head leagues only - At the end of the season an extended schedule with scheduling determined by standings -
EXAMPLE: 1st place vs 4th place 2nd place vs 3rd place - winner of each plays last week for championship. All other teams can play games for consolation "prize" if any >> BEST OTHER TEAM vs worst other team === second best other team vs second worst other team etc.
DRAFTS:
The last difficult component kind - Java works best for this -
The live drafts will have randomized draft orders (but we can alter the draft order for an individual league) - All players will be available at start - divided by position, ranked by best season last year (if I can manipulate the season data, I can rank the players according to my scoring system) - Each team will choose a player until their roster is full. Second round is reverse of first round (snake, 1st overall pick will pick last in round 2 and first again in round 3, last in 4, first in 5 and so on.
After player is chosen by team, he is removed from player pool (or at least unelectable) - by clicking on a team you can see who they have - how many players selected at each position on that team, and how many players they have/ over how many they need total. (Team B has 10 players out of a possible 25)
Remaining players will be put into free agent pool for teams to choose from at will, not to exceed their roster limit (DEFINED IN SCORING CONFIGURATION)
Waivers - Starting off, Last team to pick in round 1 will be #1 and so on. After season starts, every Monday waiver order resets to Last place team is #1 on waivers first place team is last on waivers and so on.
ON the free agent list, all players go to waivers where teams can claim the player based on their order. If two teams claim the same player, he goes to team higher on waivers. So, at say 2 AM is the day deadline - at 2 AM all trades and waivers will be processed. (Trades after accepted will have a waiting time where if more than 3 owners or a league commissioner can veto. On the screen where they view the trade, they can vote to veto - 3 veto’s the trade is dead, or by the commissioner in leagues with one. (Non-public leagues or custom)
The PROPOSE TRADE page will have a list of the teams in the league. The trade screen should be similar to lineups where they change the drop box to TRADE then click submit at the bottom
this will bring up your own team screen where you change your drop box to TRADE for the players you want to trade to them. Then click submit
Then the next screen it will show the trade - and perhaps a message box - then hit submit - this will send the trade to the other one both as a link to the trade on their team page: "You have received a trade offer Wrom: AFXISHJEXXIMQZUIVOTQNQEMSFDULHPQQWOYIYZUNNYCGPKYLEJGDGVCJVTLBXFGGMEPYOQKEDOTWFAOBUZXUWLSZLKBRNVWWCUFPEGAUTFJMVRESKPNKMBIPBARHDMNNSKVFVWRKJVZCMHVIBGDAD
RZFSQHYUCDDJBLVLMHAALPTCXLYRWTQTIPWIGYOKSTTZRCLBDXRQBGJSNBOHMKHJYFMYXOEAIJJPHSCRTNHGSWZIDREXCAXZOWCONEUQZAAFXISHJEXXIMQZUIVOTQNQEMSFDULHPQQWOYIYZUNNYC
GPKYLEJGDGVCJVTLBXFGGMEPYOQKEDOTWFAOBUZXUWLSZLKBRNVWWCUFPEGAUTFJMVRESKPNKMBIPBARHDMNNSKVFVWRKJVZCMHVIBGDADRZFSQHYUCDDJBLVLMHAALPTCXLYRWTQTIPWIGY
There should be a minimal basic message board in each league page.
There should be a forum for the entire site divided into separate teams - I can organize this - it should have a place for people to talk fantasy ball and I can add more rooms and categories at will.
Also on the league setup and team pages I want to be able to add in a small bar with utilities and extras links and a small bar to put in links to
products. A spot for a banner rotation below the headline and at the bottom. also perhaps the right margin should also be reserved for small ads as well. I'd also like to be able to put in an advertisement or two in the emails that go to the leagues.
Additional data manipulation - I want to be able to produce reports on the stats that I customize . EXAMPLE: make a list of players who are HOT (performing well) and who are NOT - perhaps I wanted to do a report of performances of 2B vs SS statistically
Also, a most added/dropped player category - this option is very popular! Teams can see how many leagues site wide have a player - and how many leagues where that player got dropped or added. This would go hand in hand with say how many 1st place teams had Alex Rodriguez. Which player was on the most first place teams which player was on the most last place teams, - data manipulation capabilities is what statistics games are all about.
I think this is enough to lay on you for now. I hope I was clear enough on what I need. They'll need to register to create an account and also verify their email. They can also sign up for as many free leagues as they want, with their team index page coming up after login, which has a link to each league home page. (I'd like to be able to add things to their league pages)
I will specify what will be the paid features - I'd like to use PayPal for processing if possible. (should be able to add other merchant accounts). Or maybe they can have 4 free teams and each additional team will be 9.95.
Keeper leagues are prepaid for 5 years at $7 per year. Live stats will be 10.00 for the season for 4 teams, each additional team = $2.00Salary league, if we develop it - $25 - free live stats. Host your league: customized stat categories - $30 for league - up to 10, each additional over 10 = $1 Live stats: 10.00 Keeper league: Prepaid for 3 years @ additional $10 per year. Salary league if developed: $20
If we can devise any other limitations on the free game that will not harm its functionality, we should do so. I want to be able to give some free leagues but offer plenty of upgrades. For $99 they can buy a premium membership which they can host as many leagues as they want, free live stats, free insider, join a keeper league free, join a salary leaguye free, free intro membership to the baseball card trading site , other benefits -
Please do not list your hourly rates. I want either a VERY close estimated cost (if you charge per hour) or your total cost if you charge per job.Last edited by ITGEEK; 12-27-2003 at 03:30 PM.
Pure Web Hosting . Net
Hosting With Integrity - Prov. 16:11
http://www.purewebhosting.net