You don't need frames to view this website. Flash communication server. Flash mx xml socket server.
Home
Main Menu
Home
- - - - - - -
What is Palabre ?
Features
News
FAQ
Forum
DEMO
- - - - - - -
Downloads !
Browse SVN
- - - - - - -
Search
Contact Us
- - - - - - -
Sourceforge Project Page
Python
Links
Palabre on Facebook






Actionscript for Multiplayer games
 
Download Palabre Flash Xml Socket Server DOWNLOAD Download Palabre Flash Xml Socket Server FORUM Download Palabre Flash Xml Socket Server FAQ Download Palabre Flash Xml Socket Server WHAT IS IT
 



Using Palabre ? Coming here for Support ? Please consider making an (even small) donation :)
Palabre Forum  


::post new topic::
Module problem: Client joins from Module - 2008/04/02 00:03 Hi,

I'm trying to do some extra work on the server side before letting a client create or join a room.

Here's what I've got:

Code:

 SEND: <pCreateRoom room="Dungeon" password="Cheetos" nickName="Nickname" roomNickName="Mongo" />



(I've tried it with and without the nickName field)

Code:

  from palabre import logger,logging class CreatePrivateRoom:     def __init__(self,server):                  self.server server                  self.name "CreatePrivateRoom"                  # Registering the EXISTS node         self.server.registerNode('pCreateRoom',self.name)                  return               def doNode(self,nodeName,node,client):                  if nodeName == 'pCreateRoom':                          # Did user send room name, password and room nickname?             if node["attrs"].has_key('room')and node["attrs"].has_key('password')and node["attrs"].has_key('roomNickName'):                                  # Does the room already exist?                 if self.server.allRooms.has_key(node["attrs"]["room"]):                     client.clientSendMessage(self.server.formatMessage('pCreateRoom',[],'Room Already Exists!'))                                      # No? Ok, let's make it.                 else:                     tempRoom node["attrs"]["room"]                     tempPass node["attrs"]["password"]                     tempNick node["attrs"]["roomNickName"]                                          logger.info("CPR")                     logger.info(tempRoom)                     logger.info(tempPass)                     logger.info(tempNick)                     logger.info(client.nickName)                     clientJoinRoom(self,node)                     #roomSetParam(self, "roomNickName", tempNick, nickName):             else:                 client.clientSendMessage(self.server.formatMessage('pCreateRoom',[],'Not enough parameters!'))                      return



I seems to work great up until:

Code:

 clientJoinRoom(self,node)



How to I properly make a client join a room from a module?

My brain hurts...};^)

Be well,
-Sean.
  reply | quote
Re:Module problem: Client joins from Module - 2008/04/02 21:34 A new day brings new insights.

This works:

Code:

  from palabre import logger,logging class CreatePrivateRoom:     def __init__(self,server):                  self.server server                  self.name "CreatePrivateRoom"                  # Registering the EXISTS node         self.server.registerNode('pCreateRoom',self.name)                  return               def doNode(self,nodeName,node,client):                  if nodeName == 'pCreateRoom':                          # Did user send room name, password and room nickname?             if node["attrs"].has_key('room')and node["attrs"].has_key('password')and node["attrs"].has_key('roomNickName'):                                  # Does the room already exist?                 if self.server.allRooms.has_key(node["attrs"]["room"]):                     client.clientSendMessage(self.server.formatMessage('pCreateRoom',[],'Room Already Exists!'))                                      # No? Ok, let's make it.                 else:                     tempRoom node["attrs"]["room"]                     tempPass node["attrs"]["password"]                     tempNick node["attrs"]["roomNickName"]                                          # logger.info("CPR")                     # logger.info(tempRoom)                     # logger.info(tempPass)                     # logger.info(tempNick)                     # logger.info(client.nickName)                     client.clientJoinRoom(node["attrs"])                     #roomSetParam(self, "roomNickName", tempNick, nickName):             else:                 client.clientSendMessage(self.server.formatMessage('pCreateRoom',[],'Not enough parameters!'))                      return



This is the key:

Code:

 client.clientJoinRoom(node["attrs"])



Simply calling the same function the client calls to create a room. The trick is, sinces 'attrs' isn't a globally defined variable, we send node['attrs'] instead.

Which I honestly didn't think was going to work when I treid it, but who am I to argue with success?

-S
  reply | quote
::post new topic::
SORRY, website is currently mostly broken due to software changes on the server.
Hope to fix it soon ...

In the meantime you may still download palabre or use the forum