setting varilabe to a user

Post here all your questions related with SmartFoxServer Java API

Moderators: Lapo, Bax

User avatar
shvilam
Posts: 118
Joined: 16 Mar 2008, 12:36
Location: Israel
Contact:

setting varilabe to a user

Postby shvilam » 14 Apr 2009, 08:58

Test14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [Sending]: <msg t ='sys'><body action='verChk' r='0'><ver v='157' /></body></msg>
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [ RECEIVED ]: <cross-domain-policy><allow-access-from domain='*' to-ports='995' /></cross-domain-policy>, (len: 90)
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [ RECEIVED ]: <msg t='sys'><body action='apiOK' r='0'></body></msg>, (len: 53)
Event Name: onConnection
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [Sending]: <msg t ='sys'><body action='login' r='0'><login z='worlds4u'><nick><![CDATA[test1]]></nick><pword><![CDATA[1234]]></pword></login></body></msg>
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [Sending]: <msg t ='sys'><body action='getRmList' r='-1'></body></msg>
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [ RECEIVED ]: <msg t='sys'><body action='rmList' r='0'><rmList><rm id='1' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[TelAviv]]></n></rm><rm id='2' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Azrieli]]></n></rm><rm id='3' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Darts]]></n></rm><rm id='4' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Bar]]></n></rm><rm id='5' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[TelAvivNight]]></n></rm><rm id='6' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[AzrieliStore]]></n></rm><rm id='7' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[HW_EN]]></n></rm><rm id='8' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[HW_HE]]></n></rm><rm id='9' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[TelAvivDay]]></n></rm><rm id='10' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Theater]]></n></rm><rm id='11' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Hockey]]></n></rm><rm id='12' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Jerusalem]]></n></rm><rm id='13' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Market]]></n></rm><rm id='14' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[JewelryStore]]></n></rm><rm id='15' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Eilat]]></n></rm><rm id='17' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[PZ]]></n></rm><rm id='16' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Hotel]]></n></rm><rm id='19' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Falafel]]></n></rm><rm id='18' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Pool]]></n></rm><rm id='21' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Mall]]></n></rm><rm id='20' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Haifa]]></n></rm><rm id='23' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[FurnitureStore]]></n></rm><rm id='22' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Bling]]></n></rm><rm id='25' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[SecretRoom]]></n></rm><rm id='24' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Cave]]></n></rm></rmList></body></msg>, (len: 2533)
Event Name: onRoomListUpdate
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [ RECEIVED ]: {"t":"xt","b":{"r":-1,"o":{"logOK":true,"_cmd":"login","lang":4,"ageGroup":1,"uSFSId":63,"appUserId":506}}}, (len: 107)
Event Name: onExtensionResponse
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [ RECEIVED ]: {"t":"xt","b":{"r":-1,"o":{"assets":["/swf/Items/AvatarItems/fullBody.swf","/swf/Items/AvatarItems/hands.swf","/swf/Items/AvatarItems/head.swf","/swf/Items/AvatarItems/lowerbody.swf","/swf/Items/AvatarItems/upperbody.swf","/swf/Items/AvatarItems/feet.swf","/swf/Items/Category.swf","/swf/Items/RoomItems.swf","/swf/Items/BeadItems.swf"],"_cmd":"LoadAssets"}}}, (len: 359)
Event Name: onExtensionResponse
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [ RECEIVED ]: <msg t='sys'><body action='rmList' r='0'><rmList><rm id='1' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[TelAviv]]></n></rm><rm id='2' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Azrieli]]></n></rm><rm id='3' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Darts]]></n></rm><rm id='4' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Bar]]></n></rm><rm id='5' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[TelAvivNight]]></n></rm><rm id='6' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[AzrieliStore]]></n></rm><rm id='7' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[HW_EN]]></n></rm><rm id='8' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[HW_HE]]></n></rm><rm id='9' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[TelAvivDay]]></n></rm><rm id='10' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Theater]]></n></rm><rm id='11' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Hockey]]></n></rm><rm id='12' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Jerusalem]]></n></rm><rm id='13' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Market]]></n></rm><rm id='14' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[JewelryStore]]></n></rm><rm id='15' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Eilat]]></n></rm><rm id='17' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[PZ]]></n></rm><rm id='16' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Hotel]]></n></rm><rm id='19' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Falafel]]></n></rm><rm id='18' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Pool]]></n></rm><rm id='21' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Mall]]></n></rm><rm id='20' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Haifa]]></n></rm><rm id='23' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[FurnitureStore]]></n></rm><rm id='22' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Bling]]></n></rm><rm id='25' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[SecretRoom]]></n></rm><rm id='24' priv='0' temp='0' game='0' ucnt='0' maxu='500' maxs='0'><n><![CDATA[Cave]]></n></rm></rmList></body></msg>, (len: 2533)
sendEXObj CMD: rooms__joinFirstRoom
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [Sending - JSON]: {"t":"xt","b":{"r":-1,"c":"rooms__joinFirstRoom","p":{},"x":"worlds4uEx"}}
Event Name: onRoomListUpdate
14/04/2009 13:07:32 it.gotoandplay.smartfoxclient.SmartFoxClient debugMessage
INFO: [ RECEIVED ]: <msg t='sys'><body action='joinOK' r='1'><pid id='0'/><vars><var n='avatarScale' t='n'><![CDATA[0.50]]></var><var n='bgSound' t='s'><![CDATA[/sound/Tel_Aviv_Music.mp3]]></var></vars><uLs r='1'><u i='63' m='0'><n><![CDATA[test1]]></n><vars><var n='coins' t='s'><![CDATA[0]]></var><var n='dir' t='n'><![CDATA[4]]></var><var n='items' t='s'><![CDATA[[]]]></var><var n='color' t='n'><![CDATA[1]]></var><var n='numOfMogoCode' t='n'><![CDATA[0]]></var><var n='y' t='n'><![CDATA[320.0]]></var><var n='x' t='n'><![CDATA[470.0]]></var></vars></u></uLs></body></msg>, (len: 556)
Event Name: onJoinRoom
fileNameAvatarMove.class
fileNameBaseCommand.class
fileNameChangeRoom.class
fileNameCommandFactory.class
fileNameObjectFactory.class
sfs.activeRoomId: 1
vars.size(): 3
Calling sfs.setUserVariables(vars);
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at it.gotoandplay.smartfoxclient.SmartFoxClient.setUserVariables(SmartFoxClient.java:3807)
at it.gotoandplay.smartfoxclient.SmartFoxClient.setUserVariables(SmartFoxClient.java:3761)
at worlds4u.testing.MogobeClient.avatarMove(MogobeClient.java:187)
at worlds4u.testing.commands.AvatarMove.executeAction(AvatarMove.java:44)
at worlds4u.testing.commands.BaseCommand.execute(BaseCommand.java:56)
at worlds4u.testing.ScenarioTest$CommandManager.execute(ScenarioTest.java:105)
at worlds4u.testing.ScenarioTest.runTest(ScenarioTest.java:54)
at worlds4u.testing.ScenarioTest.<init>(ScenarioTest.java:26)
at worlds4u.testing.MogobeClient.nextScenario(MogobeClient.java:48)
at worlds4u.testing.MogobeClient.startTestReady(MogobeClient.java:122)
at worlds4u.testing.MogobeClient.onFirstJoinRoom(MogobeClient.java:115)
at worlds4u.testing.MogobeClient.access$3(MogobeClient.java:113)
at worlds4u.testing.MogobeClient$1.run(MogobeClient.java:92)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


but i am getting this error but i chek sfs is not null and the user vars are not null as well but still
i get this error
and it dos not print the line after the set user variable


Code: Select all

   SFSVariable value;
      
      Map<String, SFSVariable> vars = new HashMap<String, SFSVariable>();
      
      value = new SFSVariable(Integer.toString(x), SFSVariable.TYPE_NUMBER);
      vars.put("x", value);
      
      value = new SFSVariable(Integer.toString(y), SFSVariable.TYPE_NUMBER);
      vars.put("y", value);
      
      value = new SFSVariable(Integer.toString(dir2), SFSVariable.TYPE_NUMBER);
      vars.put("dir", value);
      value = new SFSVariable(Integer.toString(x), SFSVariable.TYPE_NUMBER);
      
      System.out.println("sfs.activeRoomId:  " + sfs.activeRoomId);
      System.out.println("vars.size(): " + vars.size());
      System.out.println("Calling sfs.setUserVariables(vars);  " );
      sfs.setUserVariables(vars);
      System.out.println("avatarMove2" + sfs.activeRoomId);

what i am i doing wrong ?
patso
Posts: 380
Joined: 13 Nov 2006, 13:44
Location: Sofia, Bulgaria

Postby patso » 14 Apr 2009, 12:06

The line that throws the exception(SmartFoxClient.java:3807) if you use the latest version of the API should be:

Code: Select all

user.setVariables(vars);


Here the only thing that can be reason for the NPE is the user variable. It's null. The code retrieves the user using this line of code

Code: Select all

User user = currRoom.getUser(myUserId);


My best guess is that you don't set the myUserId variable. It looks like that you use custom login. In such case you should set the myUserId variable plus some more - this is described in the Login Extension tutorial(chapter 8.5 in the docs).

There also something that looks strange - maybe I'm wrong - your client receives the room list before the confirmation that it's logged successfully.

Return to “Java2SE / Android Client API”

Who is online

Users browsing this forum: No registered users and 51 guests