In BackTrack 5 R2, when you try to open SET (from Applications > BackTrack > Exploitation Tools > Social Engineering Tools > Social Engineering Toolkit > set), it loads up as normal, requiring you to accept the terms of service. However, before the terms of service appear, an error is shown:

[!] Metasploit path not found. These payloads will be disabled.
[!] Please configure in the config/set_config. Press {return} to continue
This error reappears if you try to use the option 4, Update the Metasploit Framework.
Also, if you try to use any of the options in the Social-Engineering Attacks submenu, you will see the following error:

[!] Sorry. Metasploit was not found. This feature does not work properly without Metasploit.
Press {return} to go back to the main menu.
This error happens because SET is looking for Metasploit in the path /opt/framework3/msf3, when its actual path in BT5 is /opt/metasploit/msf3.

There are two ways of fixing this:

Solving method 1:
Connected to the Internet, open SET and select the option 5, Update the Social-Engineer Toolkit. SET will then download a compatible set_config file. After the update, restart SET and it will be working properly.

Solving method 2:
This method can be used without Internet connection. Using any text editor, open and edit the file /pentest/exploits/set/config/set_config. Then locate the following line:

And replace it with this line:

Save the changes and close the file. That's all, now SET will be working properly.