need help in _server.loginUser()
need help in _server.loginUser()
Hi lapo,
var obj = _server.loginUser(nick, pass, chan)
i know the method loginUser returns obj.success and obj.error
i want to know more about this method.
i want to know if the obj.error is This user name is already taken., can we take the old user object or old user object id...? if yes means, tell me how..? also if u can means give me an example....
if u want more details on this query, am ready to give.
thanks,
Palanisamy
var obj = _server.loginUser(nick, pass, chan)
i know the method loginUser returns obj.success and obj.error
i want to know more about this method.
i want to know if the obj.error is This user name is already taken., can we take the old user object or old user object id...? if yes means, tell me how..? also if u can means give me an example....
if u want more details on this query, am ready to give.
thanks,
Palanisamy
thanks
Hi lapo,
thanks for ur reply...
this is very useful for me
thanks for ur reply...
this is very useful for me
Username is already taken
Hi,
My sfs version is SmartfoxServer Pro ver 1.6.6
I've tried using _server.loginUser(nick, pass, chan, true), but still the user is not able to login.
I've also used, _server.disconnectUser(_server.getUserById(nick)) in kick user
please help me solve this problem.
My sfs version is SmartfoxServer Pro ver 1.6.6
I've tried using _server.loginUser(nick, pass, chan, true), but still the user is not able to login.
I've also used, _server.disconnectUser(_server.getUserById(nick)) in kick user
please help me solve this problem.
Strange..
So, if you do something like this:
var obj = _server.loginUser(nick, pass, chan, true);
does obj.error also traces out "The username is already taken" ?
Are you positive that your server is at least 1.6.3? Does your SFS console indicate this?
Lastely, you could try _server.logoutUser prior to using _server.loginUser.
So, if you do something like this:
var obj = _server.loginUser(nick, pass, chan, true);
does obj.error also traces out "The username is already taken" ?
Are you positive that your server is at least 1.6.3? Does your SFS console indicate this?
Lastely, you could try _server.logoutUser prior to using _server.loginUser.
Smartfox's forum is my daily newspaper.
Hi BigFIsh,
Need your help again. Am not getting the force login right.
Below is the entire code which is being used for the custom login.
function handleInternalEvent(evt)
{
if (evt.name == "loginRequest")
{
var error = "";
var nick = evt.nick
var pass = evt.pass
var chan = evt.chan
if(pass == "common")
{
// Check login
if (listByname[nick])
{
var response = new Object()
response._cmd = "loginKO";
error = "this user is already loged in from another computer";
response.err = error;
response.status = 404;
response.username = nick;
_server.sendResponse(response, -1, null, chan);
}
else
{
loginCustomUser(nick, pass, chan);
}
}
else
{
debugtrace(" == = [kickUser]"+nick+ listByname[nick]);
if(listByname[nick])
{
_server.disconnectUser(listByname[nick]);
}
else
{
_server.disconnectUser(_server.getUserById(nick));
_server.logoutUser(_server.getUserById(nick));
}
response = new Object()
response._cmd = "kickUserOK";
_server.sendResponse(response, -1, null, chan);
}
}
}
function loginCustomUser(nick, pass, chan)
{
var error = "";
var obj = _server.loginUser(nick, pass, chan, true);
if (obj.success == false)
error = obj.error
else
{
var u = _server.instance.getUserByChannel(chan)
}
var response = new Object()
if (error == "")
{
response._cmd = "loginOK";
if(u != null)
{
response.uid = u.getUserId()
response.uname = u.getName();
}
else
{
response.uid = null;
response.uname = null;
}
}
else
{
response._cmd = "loginKO"
response.err = error;
response.status = 404;
}
_server.sendResponse(response, -1, null, chan);
}
Please check this and let me know whether am doing something wrong.
The lines of code,
_server.disconnectUser(_server.getUserById(nick));
_server.logoutUser(_server.getUserById(nick));
will not work correctly since nick is a string variable and the both the functions except int.
Please help me solve this issue..
Need your help again. Am not getting the force login right.
Below is the entire code which is being used for the custom login.
function handleInternalEvent(evt)
{
if (evt.name == "loginRequest")
{
var error = "";
var nick = evt.nick
var pass = evt.pass
var chan = evt.chan
if(pass == "common")
{
// Check login
if (listByname[nick])
{
var response = new Object()
response._cmd = "loginKO";
error = "this user is already loged in from another computer";
response.err = error;
response.status = 404;
response.username = nick;
_server.sendResponse(response, -1, null, chan);
}
else
{
loginCustomUser(nick, pass, chan);
}
}
else
{
debugtrace(" == = [kickUser]"+nick+ listByname[nick]);
if(listByname[nick])
{
_server.disconnectUser(listByname[nick]);
}
else
{
_server.disconnectUser(_server.getUserById(nick));
_server.logoutUser(_server.getUserById(nick));
}
response = new Object()
response._cmd = "kickUserOK";
_server.sendResponse(response, -1, null, chan);
}
}
}
function loginCustomUser(nick, pass, chan)
{
var error = "";
var obj = _server.loginUser(nick, pass, chan, true);
if (obj.success == false)
error = obj.error
else
{
var u = _server.instance.getUserByChannel(chan)
}
var response = new Object()
if (error == "")
{
response._cmd = "loginOK";
if(u != null)
{
response.uid = u.getUserId()
response.uname = u.getName();
}
else
{
response.uid = null;
response.uname = null;
}
}
else
{
response._cmd = "loginKO"
response.err = error;
response.status = 404;
}
_server.sendResponse(response, -1, null, chan);
}
Please check this and let me know whether am doing something wrong.
The lines of code,
_server.disconnectUser(_server.getUserById(nick));
_server.logoutUser(_server.getUserById(nick));
will not work correctly since nick is a string variable and the both the functions except int.
Please help me solve this issue..
P.s. use the
Code: Select all
to format the code, because it's quite difficult to read without.
Have you tried zone.getUserByName() ?
Firstly, you should test if the user is null before disconnecting/logging the user out.Smartfox's forum is my daily newspaper.
Code: Select all
function handleInternalEvent(evt)
{
if (evt.name == "loginRequest")
{
var error = "";
var nick = evt.nick
var pass = evt.pass
var chan = evt.chan
if(pass == "common")
{
// Check login
if (listByname[nick])
{
var response = new Object()
response._cmd = "loginKO";
error = "this user is already loged in from another computer";
response.err = error;
response.status = 404;
response.username = nick;
_server.sendResponse(response, -1, null, chan);
}
else
{
loginCustomUser(nick, pass, chan);
}
}
else
{
debugtrace(" == = [kickUser]"+nick+ listByname[nick]);
if(listByname[nick])
{
_server.disconnectUser(listByname[nick]);
}
else
{
_server.disconnectUser(_server.getUserById(nick));
_server.logoutUser(_server.getUserById(nick));
}
response = new Object()
response._cmd = "kickUserOK";
_server.sendResponse(response, -1, null, chan);
}
}
}
function loginCustomUser(nick, pass, chan)
{
var error = "";
var obj = _server.loginUser(nick, pass, chan, true);
if (obj.success == false)
error = obj.error
else
{
var u = _server.instance.getUserByChannel(chan)
}
var response = new Object()
if (error == "")
{
response._cmd = "loginOK";
if(u != null)
{
response.uid = u.getUserId()
response.uname = u.getName();
}
else
{
response.uid = null;
response.uname = null;
}
}
else
{
response._cmd = "loginKO"
response.err = error;
response.status = 404;
}
_server.sendResponse(response, -1, null, chan);
}
I've not tried zone.getUserByName()
Shall try that also.
Thanks