banner

Fifa 16 Taking control

Learning to play Fifa 16 has been the most difficult and frustrating experience of all the fifa games so far.

Heres some tips to help with the transition:

  • Play from your position. Meaning don’t be afraid to stop moving when you receive a pass and look at your options.
  • Take risks with skill moves when you’re in a tight situation.
  • Only play what you see. Blind clearances almost never work.
  • Play backwards. Try and link 10 passes before beginning an attack.
  • Move in the direction that your are passing! This is huge. If you move in any other direction the accuracy will be terrible.
  • Using RB + pass does a powerful pass and is surprisingly accurate.
  • Use LT when receiving a pass and facing opponents. This controls the ball quicker and keeps the ball close to your feet.

Logging into Fifa 14 UT with PHP

The hardest part of switching FifaGuide over to fifa 14 was simply logging into the web app. Take a look at the code, its a long and messy maze of redirects.

First, this is the code from “fifalogin.php”. It holds the actual login class.

 

UPDATED::: March 25, 2014

Had to add this line in four places at the end to fix encoding problems.

curl_setopt($ch, CURLOPT_ENCODING ,"");
<?php
/**
* @author - Fifa Guide
* @URL - tools.fifaguide.com
* @date - 01/01/14
* @version - 2.0
* based on code by Rob McGhee
**/
class Connector {

	private $user;
	private $password;
	private $hash;
	private $console;

	//initialize the class
	public function __construct($user, $password, $hash, $console) {
		$this->user 	= $user;
		$this->password = $password;
		$this->hash 	= $hash;
		$this->console 	= $console;
	}

	public function connect()
	{

		echo"<pre>";

        $time = microtime( true );
		echo'<hr/>';
		///// ZEROTH REDIRECT ////// gives us EASWkey
		echo "<br/><br/>Zeroth redirect (gets us EASWkey)<br/>";
		$cookie = "";
        $ch = curl_init( 'http://www.easports.com/' );
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
			'Accept: text/html,application/xhtml+xml,application/xml',
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en'));

        $r = curl_exec($ch);
        curl_close($ch);

        preg_match( '/easports_sess_com=(.*?)\;/', $r, $ea_sess_com );
        $ea_sess_com = $ea_sess_com[0];

        preg_match( '/EASW_KEY=(.*?)\;/', $r, $easw_key );
        $easw_key = $easw_key[0];

        echo "<br/><br/>EASW-Key<br/>";
        print_r($easw_key);

		echo'<hr/>';        
		///// FIRST REDIRECT ////// gives us the url of the 2nd request
		echo "<br/><br/>first request (get EASFC-WEB-SESSION and xsrf)<br/>";
		$cookie = "";
        $ch = curl_init( 'http://www.easports.com/fifa/football-club/ultimate-team' );
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );     

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);

		foreach ($result as $key => $value) {
			if (strstr($value, 'Location')) 
			{
				$location = $value;
			}
		}

        $location = str_replace ('Location: ','', $location);

        preg_match( '/EASFC\-WEB\-SESSION\=(.*?)\;/i', $r, $easfc_web_session );
        $easfc_web_session = $easfc_web_session[0];

        preg_match( '/XSRF\-TOKEN\=(.*?)\;/i', $r, $xsrf );
        $xsrf = $xsrf[0];

        echo "<br/>result<br/>";
        print_r($result);
        echo "<br/>next location<br/>";
        print_r($location);  

echo'<hr/>';        
/////SECOND REDIRECT////// gives us the url to get the url to login
		echo "<br/><br/>second request (redireects to login page)<br/>";
        $cookie = $xsrf.'; '.$easfc_web_session.'; webun='.$this->user.';';
        $ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_REFERER, 'http://www.easports.com/fifa/play');
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);

		foreach ($result as $key => $value) {
			if (strstr($value, 'Location')) 
			{
				$location = $value;
			}
		}
		$location = str_replace ('Location: ','', $location);

        print_r($result);
        print_r($location);
 echo'<hr/>';       
/////THIRD REDIRECT////////// this is where we get the login url

		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_REFERER, 'http://www.easports.com/fifa/play');
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie );

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);

		foreach ($result as $key => $value) {
			if (strstr($value, 'Location')) 
			{
				$location = $value;
			}
		}
		$location = str_replace ('Location: ','', $location);
		$oldlocation = $location;

		//save jsessionid
		preg_match( '/JSESSIONID\=(.*?)\;/i', $r, $jsessionid );
        $jsessionid = $jsessionid[0];
        print_r($jsessionid);

        $cookie .= $jsessionid.";";
        echo "<br/><br/>third request<br/>";
        print_r($result);
        print_r($location);
        print_r($jsessionid);
echo'<hr/>';        
/////FOURTH REDIRECT////////// this is where we finally login
        echo "<br/><br/>fourth request(login, get x nexus)<br/>";
		$data_string = "email=".urlencode($this->user)."&password=".urlencode($this->password)."&_rememberMe=on&rememberMe=on&_eventId=submit&facebookAuth=";
		$ch = curl_init( $location );
		curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
		curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
		curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
			'Content-Type: application/x-www-form-urlencoded',                                                                                
			'Content-Length: ' . strlen($data_string),
			'Accept: text/html,application/xhtml+xml,application/xml',
			'Referer: '.$location,
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en')); 

        $r = curl_exec($ch);
        curl_close($ch);
        $result = explode("\r\n", $r);

		foreach ($result as $key => $value) {
			if (strstr($value, 'Location')) 
			{
				//save next location
				$location = $value;
			}
			else if (strstr($value, 'X-NEXUS-SEQUENCE')) 
			{
				//save X-NEXUS-SEQUENCE
				$xns = $value;
			}
		}
		$location = str_replace ('Location: ','', $location);

        print_r($result);
        print_r($location);
echo'<hr/>';
/////FIFTH REDIRECT////////// sid and remid
		echo "<br/><br/>fifth request(sid and remid)<br/>";
		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_REFERER, $oldlocation);
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);

		foreach ($result as $key => $value) {
			if (strstr($value, 'Location')) 
			{
				$location = $value;
			}
			else if (strstr($value, 'X-NEXUS-HOSTNAME')) 
			{
				//save X-NEXUS-HOSTNAME
				$xnh = $value;
			}
		}

		//save next location
		$location = str_replace ('Location: ','', $location);

        //save sid
		preg_match( '/sid\=(.*?)\;/i', $r, $sid );
        $sid = $sid[0];

        //save remid
        preg_match( '/remid\=(.*?)\;/i', $r, $remid );
        $remid = $remid[0];

        print_r($result);
        print_r($location);

echo'<hr/>';
/////SIX REDIRECT////////// update web session
		echo "<br/><br/>six request<br/>";
		$cookie = $xsrf.' '.$easfc_web_session.' hl=us;';

		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);

        //new web sesison id
        preg_match( '/EASFC\-WEB\-SESSION\=(.*?)\;/i', $r, $easfc_web_session );
        $easfc_web_session = $easfc_web_session[0];

        print_r($result);
echo'<hr/>';   

/////EIGHTH POINT 1 REDIRECT//////// get futweb
		echo "<br/><br/>8th request (fut id)<br/>";
		$location = 'http://www.easports.com/iframe/fut/?locale=en_US&baseShowoffUrl=http%3A%2F%2Fwww.easports.com%2Ffifa%2Ffootball-club%2Fultimate-team%2Fshow-off&guest_app_uri=http%3A%2F%2Fwww.easports.com%2Ffifa%2Ffootball-club%2Fultimate-team';
		$oldlocation = $location;
		$cookie = $xsrf.' '.$easfc_web_session.' hl=us;';

		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_REFERER, 'http://www.easports.com/fifa/football-club/ultimate-team');
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                                                                                                        
			'Accept: text/html,application/xhtml+xml,application/xml',
			'Referer: http://www.easports.com/fifa/football-club/ultimate-team',
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en'));

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);
		$location = '';
		foreach ($result as $key => $value) {
			if (strstr($value, 'Location')) 
			{
				//save next location
				$location = $value;				
				$location = str_replace ('Location: ','', $location);
			}
		}

		//save futid
		preg_match( '/futweb\=(.*?)\;/i', $r, $futweb );
        $futweb = $futweb[0];     

        print_r($location);
        echo'<br/>';
        print_r($futweb);
echo'<hr/>';

/////8.1 REDIRECT//////// gets url to do login_check
		echo "<br/><br/>8.1 request (get url to update fut id with login check)<br/>";
		$cookie = $remid.' '.$sid;
		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_REFERER, 'http://www.easports.com/fifa/football-club/ultimate-team');
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                                                                                                        
			'Accept: text/html,application/xhtml+xml,application/xml',
			'Host:accounts.ea.com',
			'Referer: http://www.easports.com/fifa/football-club/ultimate-team',
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en'));

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);

       	$location = '';
		foreach ($result as $key => $value) {
			if (strstr($value, 'Location')) 
			{
				//save next location
				$location = $value;				
				$location = str_replace ('Location: ','', $location);
			}
		}
		echo'<xml>';
		print_r($location);
		echo'</xml><br/>';

echo'<hr/>'; 
/////8.2 REDIRECT//////// get new futweb
		echo "<br/><br/>8.2 request (get new futweb)<br/>";
		$cookie = $xsrf.' '.$easfc_web_session.' '.$futweb.' hl=us;';

		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_REFERER, 'http://www.easports.com/fifa/football-club/ultimate-team');
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                                                                                                        
			'Accept: text/html,application/xhtml+xml,application/xml',
			'Referer: http://www.easports.com/fifa/football-club/ultimate-team',
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en'));

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);
		$location = '';
		foreach ($result as $key => $value) {
			if (strstr($value, 'Location')) 
			{
				//save next location
				$location = $value;				
				$location = str_replace ('Location: ','', $location);
			}
		}

		//save futewb
		preg_match( '/futweb=(.*?);/', $r, $futweb );
        $futweb = $futweb[0];
		print_r($futweb);

echo'<hr/>';

/////8.3 REDIRECT//////// get nucleus
		echo "<br/><br/>8.3 request (get nucleus id)<br/>";
		$cookie = $xsrf.' '.$easfc_web_session.' '.$futweb.' hl=us;';

		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_REFERER, 'http://www.easports.com/fifa/football-club/ultimate-team');
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                                                                                                        
			'Accept: text/html,application/xhtml+xml,application/xml',
			'Referer: http://www.easports.com/fifa/football-club/ultimate-team',
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en'));

        $r = curl_exec($ch);
        curl_close($ch);

        //save EASW_ID
		preg_match( "/EASW_ID = '(.*?)'/", $r, $nuc);
        print_r($nuc);
        $nuc = $nuc[1];	
echo'<hr/>';

/////NINTH REDIRECT////////// get the shards

		$time = round(microtime(true) * 1000);
		$location = 'http://www.easports.com/iframe/fut/p/ut/shards?_='.$time;
		$cookie =  $easw_key.' '.$xsrf.' '.$easfc_web_session.' '.$futweb.' hl=us;';
		//$xns = substr($xns, -13);

		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_ENCODING ,"");
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                                                                                                        
			'Accept: application/json, text/javascript',
			'Content-Type: application/json',
			'Easw-Session-Data-Nucleus-Id: '.$nuc,
			'Referer: '.$oldlocation,
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en',
			'X-UT-Route:https://utas.fut.ea.com'));

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);

		foreach ($result as $key => $value) {
			if (strstr($value, 'shardInfo')) 
			{
				$shards = json_decode($value, true);
			}
		}

        if ($this->console == 'PS')
        {
			$route = $shards['shardInfo']['1']['clientFacingIpPort'];
	    }
	    else
	    {
			$route = $shards['shardInfo']['0']['clientFacingIpPort'];
		}
		$route = 'https://'.$route;

        echo "<br/><br/>Ninth request (shards)<br/>";
        print_r($result);
        print_r($route);
echo'<hr/>';        
/////TENTH REDIRECT////////// get the account persona info
		echo "<br/><br/>TENTH request (persona)<br/>";
		$time = round(microtime(true) * 1000);
		$location = 'http://www.easports.com/iframe/fut/p/ut/game/fifa14/user/accountinfo?_='.$time;

		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
		curl_setopt($ch, CURLOPT_ENCODING ,"");
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                                                                                                        
			'Accept: text/json',
			'Easw-Session-Data-Nucleus-Id: '.$nuc,
			'Referer: '.$oldlocation,
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en',
			'X-UT-Embed-Error:true',
			'X-UT-Route:'.$route));

        $r = curl_exec($ch);
        curl_close($ch);

        $result = explode("\r\n", $r);

		foreach ($result as $key => $value) {
			if (strstr($value, 'AccountInfo')) 
			{
				$accountinfo = json_decode($value, true);
				$accountinfo = $accountinfo['userAccountInfo']['personas'];
				$personaId = $accountinfo[0]['personaId'];
				$last_access = array();
				//get most recent platform
				foreach ($accountinfo[0]['userClubList'] as $key => $value) {
						$last_access[$key] = $value['lastAccessTime'];
				}
				$platform_index = array_keys($last_access, max($last_access));
				$platform = $accountinfo[0]['userClubList'][$platform_index[0]]['platform'];
			}
		}

        print_r($result);
        print_r($accountinfo);
        print_r($personaId);
        echo'<br/><br/>';
echo'<hr/>';        
/////ELEVENTH REDIRECT////////// get the X_UT_SID
		echo "<br/><br/>ELEVENTH request (X_UT_SID)<br/>";
		$time = round(microtime(true) * 1000);
		$location = 'http://www.easports.com/iframe/fut/p/ut/auth';
		$cookie =  $easw_key.' '.$sid.' '.$remid.' '.$xsrf.' '.$easfc_web_session.' '.$futweb.' '.$ea_sess_com.' '.$jsessionid.' hl=us; PRUM_EPISODES=s='.$time.'&r=http%3A//www.easports.com/;';
		echo $cookie;
		$account_data = array(
			'clientVersion' => 1,
			'identification' => array('authCode' => ''),
			'isReadOnly' => false,
			'locale' => "en-US",
			'method' => "authcode",
			'nuc' => (int)$nuc,
			'nucleusPersonaDisplayName' => $accountinfo[0]['personaName'],
			'nucleusPersonaId' => $personaId,
			'nucleusPersonaPlatform' => $platform,
			'priorityLevel' => 4,
			'sku' => "FUT14WEB"
		);
		$account_data = json_encode($account_data);
		print_r($account_data);
		$ch = curl_init( $location );
		curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
		curl_setopt($ch, CURLOPT_ENCODING ,"");
		curl_setopt($ch, CURLOPT_POSTFIELDS, $account_data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                                                                                                        
			'Content-Type: application/json',
			'Connection:keep-alive',
			'Accept: application/json, text/javascript',
			'Easw-Session-Data-Nucleus-Id: '.$nuc,
			'Content-Length: '.strlen($account_data),
			'Referer: http://www.easports.com/iframe/fut/?baseShowoffUrl=http%3A%2F%2Fwww.easports.com%2Ffifa%2Ffootball-club%2Fultimate-team%2Fshow-off&guest_app_uri=http%3A%2F%2Fwww.easports.com%2Ffifa%2Ffootball-club%2Fultimate-team&locale=en_US',
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en',
			'Origin:http://www.easports.com',
			'X-UT-Embed-Error:true',
			'X-Requested-With:XMLHttpRequest',
			'X-UT-Route:'.$route));

        $r = curl_exec($ch);

		preg_match( '/sid":"(.*?)"/', $r, $xutsid);
        print_r($xutsid);
        $xutsid = $xutsid[1];	

echo'<hr/>';
/////Twelth REDIRECT////////// validate
		$cookie =  $easw_key.' '.$sid.' '.$remid.' '.$xsrf.' '.$easfc_web_session.' '.$futweb.' '.$ea_sess_com.' '.$jsessionid.' hl=us; PRUM_EPISODES=s='.$time.'&r=http%3A//www.easports.com/;';
		echo "<br/><br/>Twelth request (validate)<br/>";
		$location = 'http://www.easports.com/iframe/fut/p/ut/game/fifa14/phishing/validate';
		$hash = 'answer='.$this->hash;
		$ch = curl_init( $location );
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $hash); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
		curl_setopt($ch, CURLOPT_ENCODING ,"");
        curl_setopt($ch, CURLOPT_COOKIE, $cookie );
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                                                                                                        
			'Accept: application/json',
			'Easw-Session-Data-Nucleus-Id: '.$nuc,
			'Content-Length: '.strlen($hash),
			'Content-Type: application/x-www-form-urlencoded',
			'Referer: '.$oldlocation,
			'Origin:http://www.easports.com',
			'User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36',
			'Accept-Encoding:gzip,deflate,sdch',
			'Accept-Language:en-US,en',
			'X-UT-Embed-Error:true',
			'X-UT-Route:'.$route,
			'X-UT-SID:'.$xutsid));                                                                              

        $r = curl_exec($ch);
        curl_close($ch);

        preg_match( '/token":"(.*?)"/', $r, $phishkey);
        print_r($phishkey);
        $phishkey = $phishkey[1];	

        print_r($r);

echo "</pre>";

		//Build the array of items to return
		$returnitems = array(
		'EASW_KEY' => $easw_key,
		'EASF_SESS' => $easfc_web_session,
		'XSID' => $xutsid,
		'PHISHKEY' => $phishkey,
		'ROUTE' => $route
		);

		//Return the array
		return $returnitems;
    }
}
?>

And then, this is used in the main php file to get the login tokens:

	//get the fifalogin.php code
	include('fifalogin.php');
	//Connect to ea
	$user = 'email';
	$password = 'password';
	$hash = 'md5';
	$system = 'PS or XBOX'
	$connection = new Connector($user, $password, $hash, $system);
	$connected = $connection->connect();
	print_r($connected);

Lets clarify some FifaGuide and UT credential questions

Part of FifaGuide has tools that can use Ultimate team credentials to interact directly with your club.

What if I don’t want to provide my UT credentials?

If you don’t feel comfortable providing your credentials, then you cant do any advanced trading for now, but you can still enjoy the rest of the site! The advanced trading tools are disabled by default and you will never be prompted to enter anything until they are activated.

Why would I want to use these tools?

These tools have some interesting features. For example the club manager tool can batch move players, batch list players at market price,  and batch purchase contracts straight to your consumables. The Live Transfer Market tool lets you view current auctions for a player, sort them by price, contracts, time, etc, and even purchase one if you find a good deal.

How will my credentials be handled if I do use them?

There has been some recent changes to how FifaGuide handles your credentials. FifaGuide now  only prompts users when the credentials are needed, and places them into encrypted cookies. This is great because if FifaGuide is hacked your credentials are still safe! But this also means that FifaGuide doesn’t have access to your credentials once the cookies are deleted.

 

 

Whats in store for a new year tools.fifaguide.com

Fifa 14 is getting so close now and Im happy to say that I will be bringing back FifaGuide tools for another year, and hopefully with a minimal delay! Switching to the new game  is a long process of finding all the new player data, updating old functions, switching to the new EA api, and cracking resource codes. Its all part of the fun but can take some time to get right.

Off course with a new game coming out there will be new improvements coming to FifaGuide. To start I will be adding another server. This means that the live player pricing data will be much more accurate, and the graphs will have close to twice as many samples. I will also be testing a new feature that could display current auctions of a player from inside that players page and could even allow cards to be purchased if the proper credentials are provided. Also expect to see adds, as soon as I can get my adsesnse aproval, which, at this rate, might be a while.

All in all I am excited for a new year of fifa, and hopefully with the new improvements, fifaguide will start to grow.

Fifa 14 Next Generation Carryover

This Monday EA has announced that players will be able to upgrade from Fifa 14 for xbox 360 to Fifa 14 for Xbox One, and the same for PS3 to PS4. This was a contraversial issue that EA needed to adress, and their solution will leave most of their fans in a happy place. Essential players can start their Fifa 14 campaign on the xbox 360 and PS3, and when the Xbox One and PS4 are released they switch over to the new generation without loosing their progress. This is very convienint, but most people out there like me will probably only be getting one version of the game, and if that choice is the new generation then they are just going to have to wait, patiently.

The details of this announcement are really simple. Things such as Ultimate Team Squads, Club Items, Fifa Currency, unlockable items, seasons division, and trophies are shared between both versions of the game. Other things like Fifa Points Can Only be transferred once from old generation consoles to the new ones.

Additionally Ultimate Team in Fifa 14 will use a common auction market between old consoles and new ones. This will keep the market strong, and will prevent the old console market from deflating when players eventually make the shift to the new consoles.

After exploring the deatails of this Carryover deal, I have reconsidered wether or not I should purchase both versions of the game, which is exactly EA’s purpose behind this.

 

REDWOOD CITY, Calif. – July 24, 2013 – Electronic Arts Inc. (NASDAQ: EA) today announced that EA SPORTS™ FIFA 14 is allowing fans to bring their FIFA 14 Ultimate Team experiences with them to the new generation of consoles this year. Fans will be able to access* their FIFA 14 Ultimate Team full roster, in-game items and in-game currency (coins) from either console: between Xbox 360® and Xbox One, and between PlayStation®3 and PlayStation®4. All changes made in FIFA 14 Ultimate Team will be reflected in both consoles so fans will be able to compete with their squads on either console throughout the season.

In addition, fans who begin their FIFA 14 Ultimate Team experience on the Xbox 360 or PlayStation 3 will maintain their current division in Seasons mode on the new consoles. After the new consoles launch, fans who complete their current division matches and their current tournaments on one console, will earn status that will be recognized on both consoles: between Xbox 360 and Xbox One, and between PlayStation3 and PlayStation 4. Fans also have a one-time choice to transfer their FIFA Points between Xbox 360 and Xbox One, and between PlayStation3 and PlayStation 4.

Within each of the respective platforms (Xbox and PlayStation), FIFA 14 Ultimate Team will share a common auction market so that fans can enjoy a richer and deeper experience with the millions of other players in the Ultimate Team world from the moment the new consoles launch.

“Our fans invest an enormous amount of time and energy into FIFA Ultimate Team as they craft their own unique squads, and recognizing that investment is absolutely essential,” said Matt Bilbey, Senior Vice-President and Group GM, EA SPORTS. “We will ensure that no time will be wasted and fans will get full value for the investment they make from the start of the season on Xbox 360 and PlayStation 3 to their move to their new console.”

FIFA Ultimate Team is the most popular game mode within EA SPORTS FIFA—with over 3.4 million games played daily—where fans create unique squads to play their preferred style of football. This year ultimate squad customization is possible with the addition of all-new Chemistry Styles that will make every player and every team unique. Each Chemistry Style has a unique effect on the way a player performs by enhancing specific attributes during a match. Players start with Basic Chemistry Styles but these can be changed by applying Chemistry Style training items to the player.  These items will be randomly available in any pack that can contain a gold rare item; they can be earned in-game, acquired on the Transfer Market and randomly attained in packs that are purchased.  There are a variety of different Chemistry Styles that can be applied to goalkeepers, defenders, midfielders and forwards. After crafting their squads, fans will be able to test their talents in the popular Seasons mode, now expanded to 10 divisions, online single games and tournaments. Plus, new streamlined search filters will help target coveted players in the Transfer Market as fans re-shape their teams based on the real-world performances of their favorite players. Additional features in FIFA 14 Ultimate Team will be revealed in the weeks ahead.

Experience the emotion of scoring great goals in FIFA 14**. Innovations to the award-winning gameplay make the game more authentic and more fun. Dictate the tempo of a match, create chances through midfield, and then unleash the perfect strike.  A new feature called Pure Shot and a brand-new ball physics system will transform shooting, making every shot attempt feel real, and when players connect with the perfect strike, feel exhilarating.

Fifa 14 Ultimate Team, whats new so far!

Lets tear apart some of the freshest Fifa 14 UT info. At a glance the first thing that stands out is the newest card design. The shape resembles a shield like the crest of a typical football club, which makes sense for an UT club, but its worth asking if this is too fancy, or just strange to have for every players card. Chemistry has also been revamped, allowing newer cards to fit in with the squad more fluidly.

fifa14_ut_interface1

The dashboard interface is absolutely gorgeous. The visual style is a combination of the microsoft metro, and twitter bootstrap. The interface is noticeably lighter than last year, and introduces some transparency in places. The truth is the EA designers or walking a dangerous line of being too inconsistent with their style, and lowering the whites too low, but in the end the designers pull it off just fine.Ea has announced that ultimate team online seasons will now have 10 divisions, which is inevitable, but unfortunate for stronger players that will have to wade through the first few divisions. Other changes of interest, include assigning player numbers and roles from the squad page.

fifa14_ut_interface2

The new interface looks awesome, the new cards not so much, and the new features are moving in the right direction.

 

 

Fifa 13 | How to win with Juventus

Juventus is one of my favorite teams in fifa 13. They can pull of wins against teams like Bayern Munich and Real Madrid, because one simple reason;

fifa suprisingly undervalues pace and agility in team ratings.

 

Put Giovinco up top and Liechtensteiner at LB, the pace of most threatening teams can be matched.

juventus

The key to this formation is to use the midfielders to run back and pressure the ball towards Pirlo, who is surprisingly good at tackling. This method will drain the energy quickly from Asamoah and Marchisio, so sub them out at 60 minutes for Isla and Pepe. I also sub in Quaggliarella for Vucinic if i’m desperate for a goal.

According to my newly published stats at tools.fifaguide.com/club.php Juventus is the fastest team in Fifa 13, And they also rank third in average overall rating. Because this statistic works by taking the averages of an entire squad, this just means  that Juventus doesn’t have a ton of star players, just a consistently solid squad.

club ratings

Fifa 13 | Ultimate Team API

I started fifaguide.com over a year ago, and since then, a few people have asked me for copies of my data (player stats and market values) or some kind of partnership where they have access to it. It’s  hard for me to simply hand this over, because of  all the work that went into finding it, but i’m convinced now that publishing it will only bring more cool things. This API will make data like individual player stats, and top selling charts easy to use within your website or app. Hopefully developers will make this data more accessible to the Fifa UT community.

This is a simple micro api that will help you quickly get player data into your FIFA UT application.

Read the documentation and examples.This api is free, and doesnt require any key, or account!

 

For example , this shows how to make a list of the top selling cards on your site:

//The skill to sort by. Options: Pace, dribbling, shooting, defending, heading, passing, height, rating, sales.
$skill = "pace";

//Build the URL
$url = "http://tools.fifaguide.com/api/topten/".$skill;

//Get the JSON file from FifaGuide
$json = file_get_contents($url);

//Decode the JSON file to a PHP array
$player_array = json_decode($json, true);

echo'</pre>';
>?
<table >
<thead>
<tr>
<td>Rank</td>
<td>Player</td>
<td>Name</td>
<td>Pace</td>
</tr>
</thead>

<?php
$i=1;
foreach($players_array as $player)
{
if ($player['edition'] > 1){$edition='<div class="ifPlayer">IF</div>';}else{$edition="";}
echo '<tr>';
echo '<td><span>'.$i.'</span></td>';
echo '<td><img src="http://cdn.content.easports.com/fifa/fltOnlineAssets/2013/fut/items/images/players/web/'.$player['base_id'].'.png" style="width:36px; height:36px;"></td>';
echo '<td><a href="player.php?id='.$player['resource_id'].'">'.$player['first_name'].' '.$player['last_name'].$edition.'</td></a>';
echo '<td>'.$player['attribute1'].'</td>';

echo '</tr>';
$i ++;
}
?>
</table>

Fifa 13 | Defending Corners

Corners are not random. They CAN be defended. If you find that you concede a corner every game, common with new players, then its time to change your method.

The process:

If you are using manual controls, switch players as soon as the ball is kicked, to become the nearest defender. If your not using manual controls then you will be switched to this player anyways. You will either be infront of the attacking player or behind him. Either way you need to push him away from the incoming ball. Do this by simply walking in the direction of that player. If you have time, build up some momentum before contacting the player. Then spam “A” on Xbox or “X” on ps3 a few times.

Things to keep in mind:

  • The player with the most momentum will usually win the ball.
  • Strong players like Ronaldo can overpower almost every defender, regardless of how well you defend them.
  • This method also works with headers from Goal kicks and Free kicks.

Fifa 13 | Getting to Division 1

Getting to division one is hard, and it will take time, but here some tips I wish I knew when I started.

  • Its obvious but use a good team. Fifa 13 slightly undervalues fast teams in terms of their rating. Teams like Bayern Munich, Juventus, Tottenham, and BVB can be just as effective as Real Madrid and Barcelona.
  • Stick with the same team. The more you use the same team, the more you will know about individual players strengths and weaknesses. This can be a huge advantage.
  • If you are in the western hemisphere, play during the mornings. Europen players take Fifa very seriously, and the later in the day you play the harder the competition will be.
  • If you loose two games in a row STOP PLAYING. Come back to it another day, or at least take a break. Trust me, I know how hard it is too walk away when your loosing, but it will almost always be in your favor.
  • Put your fastest defender at LB. This will prevent players like Bale, Ronaldo, and Walcott from scoring unfair solo goals (most players depend on this).

Fifa 13 | Top selling Ultimate Team Cards

Have you ever  wondered which cards are in the highest demand? This data shows the top selling players from April 2013. Official data taken directly from tools.fifaguide.com!

 

Rank Player Name Rating Country
1 Santiago Cazorla González 84 Spain
2 Lukas Podolski 83 Germany
3 Ashley Young 82 England
4 Thomas Vermaelen 82 Belgium
5 Theo Walcott 81 England
6 Antonio Valencia 83 Ecuador
7 Javier Hernández 82 Mexico
8 David Luiz Moreira Marinho 79 Brazil
9 Kyle Walker 78 England
10 Jack Wilshere 82 England

 

This table is updated daily at  tools.fifaguide.com.

Fifa 13 | Formation Guide

Choosing the right formation can be overwhelming job for any beginner. All formations break down into three categories based on the number of defenders; three man defense, four man defense, and five man defense. Each one of these will greatly change your style of play. Don’t be afraid to change your formation mid game. Sometimes it will seem that your opponent always has a player open on the attack, so switch to a five man defense and shut it down before it costs you a goal.

442

I would recommend this formation to any beginner. It has a solid defensive line, and will work well against most teams.  Keep in mind that this formation is most effective with skilled midfielders. If your team has faster midfielders and a tall forwards, try the wider variation to give you more chances to center the ball.

4321

This formation is similar to 41212 but it gives you that little extra strength on defense. If you’re a player who’s a little stronger offense than on defense, and your team doesn’t really present a heading risk, then this is the formation for you.

4312

If you have a power midfielder like Pirlo, then this formation will work just fine. It gives you a strong offense and a solid defensive line. If you’re midfielder can’t carry the extra weight, then this formation will leave you’re midfield hollow, and prevent quality play development.

433

This is a relatively aggressive formation that is designed for fast wingers. Check out the chart at the tools.fifaguide.com home page to see who the fastest players in the game are.

532

This is the most stable 5 man defense formation. 532 is great when your opponent comes at you with three attackers, but in most cases it’s overly defensive. If you find that using a 5 man defense is the only way you can contain your opponent, maybe taking a look at the advanced defending guide can help you out!.

343

If you’re looking for that miracle goal in the 85th this is the formation you should switch to. It essentially bumps a defender  up to the front. This formation is very risky so only use it when your desperate.

Fifa 13 | Basic Free Kicks

Every free kick within 25 yards of goal is a more than decent chance to score. The  best way to make this shots end in the back net is to send the ball over the wall and curve it back down under the crossbar. Not every player has the stats to make the ball dip back down, so don’t expect to score many free kicks with your favorite MLS team.

Luckily capitalizing on these chances can be broken  into a simple formula:

Free Kick Equation

Obviously the velocity of the ball spin is simply one third of the centripetal inertia, divided by the air humidity index.

No but seriously, the equation is actually simple:

(18-25 yards)

  1. Aim your shot just wide of the near post.
  2. Shoot with one and a half bars of power.
  3. Quickly hold up on the left stick to add top spin.
  4.  Watch your opponent rage quit as your sexy shot rips into the back of the net.

Keep in mind that every shot has a random factor to it, so missing one or two shots doesn’t necessarily mean your doing anything wrong. Now get out there, score some free kicks, and make FG prouder than Balotelli scoring an incredibly ordinary goal.

Fifa 13 | Driven Free Kicks

What is a Driven Free Kick?

 

A driven free kick is  a low fast shot, with little ball spin.

When should I use it?

There are only two situations when driven free kicks should be used. The first is when you are 25-35 yards from the goal and can curve it around the wall, and the second is when you are too close to curve the ball over the wall (18 yards).

Execution

25-35 yards

  1. Choose the right kicker. Look for the best combination of power and curve from the “RT” drop down menu.
  2. Aim for the near post and line up your shot just to the outside of the wall.
  3. Hold “LB” and press “B” to 3/4 power.
  4. Then quickly hold the left stick to the top corner to curve the ball down and around the wall.
  5. Celebrate your goal!

18 yards

  1. Choose the kicker with the most power.
  2. Aim a little wide of the far post (the ball will curve 1-3 ball  widths into the goal).
  3. Hold “LB” and press “B” to 1/2 power.
  4. Then quickly hold the left stick straight up.
  5. Celebrate your goal!

driven_f_kick

Fifa 13 | Advanced Defending

Defending is by far the most difficult aspect of fifa 13. You can master attacking, but you will never see the glorious lights of division one, without a watertight defense.

Overview of Key Strategies

  • Dont use automatic switching!
  • Use the right stick to switch players
  • Only slide to block shots
  • Defend from Behind!!
  • Predict player cuts
  • Always double team attackers

Execution

First off, if your not using manual player switching, that needs to happen NOW! Automatic player switching will absolutely murder your defense, and cause you to concede tons of unnecessary goals. The best way to switch players is by using the right stick, flicking it in the direction of the player you want. This allows you to quickly bounce around players, and close down space before it becomes a vulnerability  When you face your opponent one on one, hold the “A” key to contain, and then press “B” to make a jab when he shows you too much of the ball. In combination with the “A” key, use the Left Trigger to “Jockey” for the ball which is helpful for blocking passes and shots. Also, don’t forget you can still sprint while holding  the “A” key.

Using Slide Tackles

Slide tackles are a very risky move. They can sometimes terminate an attack immediately, and sometimes leave you a man down. Slide tackling can become a nasty habit, so as a rule of thumb, only slide to block shots. The slide tackle is very effective for blocking shots, especially when your goalie has been dribbled, and your defender is on the goal line. NEVER slide tackle from behind a player! Even if you win the ball, the ref will still whip out out his red card more carelessly then the NHL franchise… so don’t do it.

Defending From Behind Strategy

The biggest possible defending tip I can give is; defend from behind. By this I mean instead of defend the player one on one, switch to the player behind him and sneak up on him from there. For example if your opponent managed to pass through your midfield, switch to your CDM, and close down the opponent from behind while your defender contains him. Even if the player is a good distance away continue to track him down, and your efforts will almost always be rewarded. Although this strategy is highly effective, it drains midfielders stamina especially quickly, so make sure to keep an eye on their energy bar, and have subs ready to go.

Defending One on One Strategy

When an attacker tries to dribble you he essentially has two options; cut in and take a shot, or cut towards the end line and center the ball. Stealing the ball is easy, if you can predict which way the attacker will go. If the attacker is all alone, we will almost always cut into the box, If the box is crowded with defenders and attackers he will want to cut to the end line and try a center. Knowing your opponent will also help here as well. Beginners will cut into the box religiously, where smarter players will train you to expect this and then suddenly cut to the end line and have a free shot. So know your opponent and never over commit.

Fifa 13 | Penalty Guide

Missing a penalty is one of the worst feelings in Fifa. Lets Make sure this happens as few times as possible.

Execution

Lets start with the basics. Hopefully you know this already but its worth reviewing.

Press “B” when the composure bar is in the green area, and hold the button according to the power you want. Then hold the left stick in the direction you want. The longer you hold the left stick the closer your shot will be to the post. Holding the left stick for more than two seconds will result in a terrible and embarrassing miss.

Now that we have that out of the way, lets go over the three types of penalty shots.

The first one is the standard “B” shot. This shot is the most common and also the easiest. The second shot is the chip shot, performed by using “LB” in combination with “B”. This shot is very successful when used with skilled strikers, but otherwise don’t bother using it. The last shot is the stutter shot, performed by holding “B” and then tapping it again to make the shooter hesitate before shooting. This method is very hard to master and gives you very little advantage in return.

Each Player has a different penalty shooting skill level. This skill level effects how fast the composure bar moves, and the size of the green area. It is crucial to recognize your players shooting skill, and adjust your shot power accordingly. Low level shooters are much harder to control, and with a little error anticipation, you should be able to keep your shot on frame.

“It is crucial to recognize your players shooting skill, and adjust your shot power accordingly”

Physical Strategy

Believe it or not, you can tell exactly where the ball is going to go based on how it is kicked. Sure your reaction times need to be faster than Adus career, but it can still be done. This is hard but there are a few key signs you need to look for. The first giveaway is the players run up. If the players run curves to the right, his shot will most likely go to the right, and the same if his run curves to the left. The second, and more accurate giveaway is the players plant foot. The ball will almost always go in the direction of the plant foot.

“The ball will almost always go in the direction of the plant foot”

[tabs slidertype="images" fx="fade"] [imagetab width="757" height="438"]http://fifaguide.com/wp-content/uploads/2012/12/penalty3.jpg[/imagetab] [imagetab width="757" height="438"]http://fifaguide.com/wp-content/uploads/2012/12/penalty4.jpg[/imagetab] [imagetab width="757" height="438"]http://fifaguide.com/wp-content/uploads/2012/12/penalty1.jpg[/imagetab] [imagetab width="757" height="438"]http://fifaguide.com/wp-content/uploads/2012/12/penalty2.jpg[/imagetab] [/tabs]

Pshychological Strategy

Shooting a penalties can also be a psychological battle. Scoring and blocking these shots depends on how well you can read your opponent.

Types of players that shoot down the center:

  • Tricksters(Usually over use skill moves during the game)
  • Beginners (by accident)

Types of players that shoot to the sides:

  • Desperate players (players that are a goal down in the final game of a division cup, etc.)
  • Overly serious players (usually over pass the ball, and never use skill moves)

As a rule of thumb if you can break away from these generalizations you are more likely score, and if you follow this logic on defense, you are more likely to block the shot.

Combining these strategies, and practicing, will dramatically improve your penalty record. Now get back to your tv, play some fifa, and let me know how well these techniques worked for you!

Introducing Fifa Guide | Tools

tools.fifaguide.com is the newest ultimate team toolset brought to you by Fifa Guide. including a player database, pricing data, and club management tools!

Features

 Xbox 360 Trading
  • best selling formations
  • recommended buying and selling prices
  • players recent trade prices
  • player statistics
Player Database
  • Every Fifa 13 Player
  • Sortable data columns. It turns out Kristof Van Hout is the tallest player in the game at 208 cm.

Like what your hearing? Take a look!

go to tools.fifaguide.com!