CSharp network script error

I am trying to make a mmorpg and i am using the tutorials of unity3d wiki but the logingui script has errors in it!
HELP ME!!!

THE ERROR IS: 174.13 CS1520 error class struct or interface method must have a return type

this is the code:

using UnityEngine;
using System;
using System.Collections; // for using hash tables
using System.Security.Permissions; // for getting the socket policy
using SmartFoxClientAPI; // to setup SmartFox connection
using SmartFoxClientAPI.Data; // necessary to access the room resource

public class gui_Login : MonoBehaviour {

// smartFox variables
private SmartFoxClient smartFox;
private string serverIP = "127.0.0.1";
private int serverPort = 9339;        // default = 9339
public string zone = "city";
public bool debug = true;

// variables used in script
private string statusMessage = "";
private string username = "";

void Awake() {
    Application.runInBackground = true;     // Let the application be running while the window is not active.

    // Create SmartFox connection if not already available
    if ( SmartFox.IsInitialized() ) {
        Debug.Log("SmartFox is already initialized, reusing connection");
        smartFox = SmartFox.Connection;
    } else {
        if( Application.platform == RuntimePlatform.WindowsWebPlayer ) {
          // Only set this for the webplayer, it breaks pc standalone
            // See http://answers.unity3d.com/questions/25122/ for details
            Security.PrefetchSocketPolicy(serverIP, serverPort);
        }
        try {
            Debug.Log("Starting new SmartFoxClient");
            smartFox = new SmartFoxClient(debug);
            smartFox.runInQueueMode = true;
        } catch ( Exception e ) {
            Debug.Log(e.ToString());
        }
    }

    // Register callback delegates, before callling Connect()
    SFSEvent.onConnection += OnConnection;
    SFSEvent.onConnectionLost += OnConnectionLost;
    SFSEvent.onLogin += OnLogin;
    SFSEvent.onRoomListUpdate += OnRoomList;
    SFSEvent.onDebugMessage += OnDebugMessage;
    //SFSEvent.onJoinRoom += OnJoinRoom;        // We will not join a room in this level

    Debug.Log("Attempting to connect to SmartFoxServer");
    smartFox.Connect(serverIP, serverPort);  
}

void FixedUpdate() {
    smartFox.ProcessEventQueue();
}

void OnGUI() {
    
    // server IP in bottom left corner
    GUI.Label(new Rect(10, Screen.height-25, 200, 24), "Server: " + serverIP);
    
    // quit button in bottom right corner
    if ( Application.platform != RuntimePlatform.WindowsWebPlayer ) {         
        if ( GUI.Button(new Rect(Screen.width-150, Screen.height - 50, 100, 24), "Quit") ) {
            smartFox.Disconnect();
            UnregisterSFSSceneCallbacks();
            Application.Quit();
        }
    }

    // Show login fields if connected and reconnect button if disconnect
    if (smartFox.IsConnected()) {
        GUI.Label(new Rect(10, 116, 100, 100), "Username: ");
        username = GUI.TextField(new Rect(100, 116, 200, 20), username, 25);
        if ( GUI.Button(new Rect(100, 166, 100, 24), "Login")  || (Event.current.type == EventType.keyDown && Event.current.character == '

')) {
smartFox.Login(zone, username, “”);
}
} else {
if ( GUI.Button(new Rect(100, 166, 100, 24), “Reconnect”) || (Event.current.type == EventType.keyDown && Event.current.character == ’
')) {
Application.LoadLevel(“sc_City”);
}
}

    // Draw box for status messages, if one is given
    // Contains some logic to parse message of multiple lines if necessary
    if (statusMessage.Length > 0)
    {
        int boxLength = 61;       // define length of status box
        int messageLength = statusMessage.Length;   // get length of status message
        string originalMessage = statusMessage;  // copy message in to work string
        string formattedMessage = "";            // define output message string
        int i = 0;
        while (i + boxLength < messageLength)      // iterate and add newline until over length
        {
            formattedMessage = formattedMessage + originalMessage.Substring(i,boxLength) + "

";
i = i + boxLength;
}
// add last piece of original message
formattedMessage = formattedMessage + originalMessage.Substring(i, boxLength - (i + boxLength - messageLength));
// draw status box with message
GUI.Box (new Rect (Screen.width - 420,10,400,48), formattedMessage);
}

}

private void UnregisterSFSSceneCallbacks() {
    // This should be called when switching scenes, so callbacks from the backend do not trigger code in this scene
    SFSEvent.onConnection -= OnConnection;
    SFSEvent.onConnectionLost -= OnConnectionLost;
    SFSEvent.onLogin -= OnLogin;
    SFSEvent.onRoomListUpdate -= OnRoomList;
    SFSEvent.onDebugMessage -= OnDebugMessage;
    //SFSEvent.onJoinRoom -= OnJoinRoom;
}

void OnConnection(bool success, string error) {
    if ( success ) {
        SmartFox.Connection = smartFox;
        statusMessage = "Connected to SmartFox Server";
        Debug.Log(statusMessage);
    } else {
        statusMessage = "Can't connect! " + error;
        Debug.Log(statusMessage);
    }
}

void OnConnectionLost() {
    statusMessage = "Connection lost / no connection to server";
}

public void OnDebugMessage(string message) {
    Debug.Log("[SFS DEBUG] " + message);
}

public void OnLogin(bool success, string name, string error) {
    if ( success ) {
        statusMessage = "Login for user \"" + name +  "\" successful.";
        // Lets wait for the room list
    } else {
        // Login failed - lets display the error message sent to us
        statusMessage = "Login error: " + error;
    }
}

/*
// We will not join a room in this level, the NetworkController in the next scene will take care of that
void OnJoinRoom(Room room)
{
Debug.Log(“Room " + room.GetName() + " joined successfully”);
smartFox.SendPublicMessage(smartFox.myUserName + " has joined");
// We can now move on to the next level
UnregisterSFSSceneCallbacks();
Application.LoadLevel(“sc_City”);
}

/

void OnRoomList(Hashtable roomList) {
    try {
        foreach (int roomId in roomList.Keys)   {          
            Room room = (Room)roomList[roomId];
            if (room.IsPrivate()) {
                Debug.Log("Room id: " + roomId + " has name: " + room.GetName() + "(private)");
            }
            Debug.Log("Room id: " + roomId + " has name: " + room.GetName());
        }
        // Users always have to be in a room, but we'll do that in the next level
        /*
        if (smartFox.GetActiveRoom() == null) {
            smartFox.JoinRoom("Central Square");
        }*/ 
        UnregisterSFSSceneCallbacks();
        Application.LoadLevel("sc_City");
    }
    catch (Exception e) {
        Debug.Log("Room list error: "+e.Message+" "+e.StackTrace);
    }
}

}

It looks like the problem is in the only part of the post that the syntax parser goofed up when you posted. There appears to be a method in all that called OnJoinRoom(Room room). In C# methods necessarily have a return type, thus the error message : “class struct or interface method must have a return type” that should be changed to

void OnJoinRoom(Room room){...

If that’s not the issue then there is another method somewhere else, maybe in another class. This is a compile time error that typically comes with a lot of indication where the problem is. Maybe you could post the entire compiler output.