Autor Tema: [Duda] Smartfoxserver PRO roomVariables  (Leído 2940 veces)

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
[Duda] Smartfoxserver PRO roomVariables
« en: 19 de Diciembre de 2008, 17:18:00 pm »
Bueno.. quiero hacer que los usuarios puedan crear sus cuartos, salas, casas como los quieran llamar.. y lo tengo hecho asi, con este codigo:

Código: [Seleccionar]
function crearcasa() {
new Object(room)

room.name = "The Cave"
room.isGame = true
room.maxUsers = 15


smartFox.createRoom(room)
var roomVar:Array = []
roomVar.push( {name:"x", val:100} )
roomVar.push( {name:"y", val:200} )
roomVar.push( {name:"w", val:50} )
roomVar.push( {name:"h", val:50} )

smartfox.setRoomVariables(roomVar)
}

Y el server me devuelve esto:

Citar
[Sending]: <msg t='sys'><body action='setRvars' r='null'><vars><var n='x' t='n' pr='0' pe='0'><![CDATA[100]]></var><var n='y' t='n' pr='0' pe='0'><![CDATA[200]]></var><var n='w' t='n' pr='0' pe='0'><![CDATA[50]]></var><var n='h' t='n' pr='0' pe='0'><![CDATA[50]]></var></vars></body></msg>

[Sending]: <msg t='sys'><body action='verChk' r='0'><ver v='154' /></body></msg>

[Received]: <cross-domain-policy><allow-access-from domain="*" to-ports="9339" /></cross-domain-policy>
[Received]: <msg t="sys"><body action="apiOK" r="0" /></msg>
[Sending]: <msg t='sys'><body action='setRvars' r='null'><vars><var n='x' t='n' pr='0' pe='0'><![CDATA[100]]></var><var n='y' t='n' pr='0' pe='0'><![CDATA[200]]></var><var n='w' t='n' pr='0' pe='0'><![CDATA[50]]></var><var n='h' t='n' pr='0' pe='0'><![CDATA[50]]></var></vars></body></msg>

Entonces supongo que el room esta creado .. pero no se a donde va el room.. donde esta? donde lo puedo ver? ayuda plis :(

Comunidad PHPeros

[Duda] Smartfoxserver PRO roomVariables
« en: 19 de Diciembre de 2008, 17:18:00 pm »

Desconectado Bill

  • PHPerit@
  • *
  • Mensajes: 44
  • Karma: 1
  • Sexo: Masculino
    • Ver Perfil
    • Urba 00 - Mi webFan en construcción
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #1 en: 19 de Diciembre de 2008, 18:51:49 pm »
JAajaja xD aqui todos estamos haciendo chats virtuales xD, Bueno dejame decirte que no funciona tu code, para comprobar deberia salir esto



Mejor, arregla tu code, porque aun no funciona  ;)

Aunque estoy seguro que esperabas respuesta de RamFu xD

Espero aberte ayudado!  ;D
« Última modificación: 19 de Diciembre de 2008, 19:00:13 pm por Bill »

Azul!

Desconectado RamFu

  • Moderador
  • PHPero Experto
  • *****
  • Mensajes: 778
  • Karma: 72
  • Sexo: Masculino
  • Programador y desarollador Actionscript y PHP
    • Ver Perfil
    • Google
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #2 en: 19 de Diciembre de 2008, 21:01:20 pm »
Bueno, mara lo que haces es crear una sala de "Juego", si te fijas bien:
room.isGame = true;
Yo ese valor lo dejaria en false y añadiría otro:
room.isPrivate = true;

El nombre, todas las salas que creen se llamarán "The Cave", te recomiendo que en la pantalla de crear Rooms crees un texto y envies una variable, por ejemplo roomName.text, y que al pulsar el boton crear llame la funcion crearcasa (roomName.text). Una vez echo eso, edita el code de la funcion y añade: function crearcasa (nombresala), y cambia el room.name por este:
room.name = nombresala;

Espero que te sirva!

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #3 en: 19 de Diciembre de 2008, 21:15:05 pm »
wehee muchas gracias :D lo de "the cave" lo puse para probar si se creaba ahora me dice que la id es mala :/ cmo le pongo una id?

EDIT: se arreglo
« Última modificación: 20 de Diciembre de 2008, 21:09:29 pm por x.mara.x »

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #4 en: 20 de Diciembre de 2008, 21:13:04 pm »
Bueno ahora estoy usando una extension llamada DynRooms.as para que los rooms se guarden en un .txt .. y asi tengo el codigo para llamar a la extension:
Código: [Seleccionar]
function crearcasa() {
room = new Object()
 room.rName = "hello"
 room.rPass = "boo"
 room.rGame = false
 room.rMaxU = 25
 room.rxName = "simpleExt"
 room.rxClass = "simpleExt.as"
   
newCreateRoom(room)
   

}

El codigo de la extension es muy largo lo pueden encontrar aqui.

Y no me sale ningun error pero en la salida me sale:

Citar
[DynRoom] [CREATE ROOM] [object Object]

Y no se guarda nada en el Rooms.txt y tampoco sale nada en la salida del servidor en si.. Y el DynRooms.as sirve porque las salas "test" creadas directamente desde el archivo se crearon

Desconectado RamFu

  • Moderador
  • PHPero Experto
  • *****
  • Mensajes: 778
  • Karma: 72
  • Sexo: Masculino
  • Programador y desarollador Actionscript y PHP
    • Ver Perfil
    • Google
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #5 en: 25 de Diciembre de 2008, 04:38:04 am »
Ese ejemplo es muy lioso, lo intenté yo y tuve que editar muchas cosas, aun así lo conseguí pero me creaba salas que no existian xdd
Te propongo que hagas otra cosa. Usa mysql para crear casas y una vez echo, en la funcion de añadir las casas a la lista, hagas el for, cogiendo el contenido del mysql. Es muy fácil si primero haces el ejemplo en php :P

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #6 en: 02 de Enero de 2009, 03:05:24 am »
Mm ia.. pero luego como cogeria el servidor quien esta en esa sala?

Desconectado RamFu

  • Moderador
  • PHPero Experto
  • *****
  • Mensajes: 778
  • Karma: 72
  • Sexo: Masculino
  • Programador y desarollador Actionscript y PHP
    • Ver Perfil
    • Google
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #7 en: 02 de Enero de 2009, 03:23:10 am »
Tambien es muy dificil, prueba ese ejemplo a  ver que tal xd

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #8 en: 02 de Enero de 2009, 03:29:46 am »
A lo que me refiero es.. XD Ok, yo hago lo de la bd.. y hago el for.. pero al darle click el servidor tiene que saber a que room enviar al usuario.. eso como se hace? en la funcion

onUserEnterRoom ?

Desconectado RamFu

  • Moderador
  • PHPero Experto
  • *****
  • Mensajes: 778
  • Karma: 72
  • Sexo: Masculino
  • Programador y desarollador Actionscript y PHP
    • Ver Perfil
    • Google
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #9 en: 02 de Enero de 2009, 23:14:02 pm »
No, la cosa es mas dificil, tienes que hacer que al arrancar el server se creen todas las salas desde el mysql, iempre con la misma ID, y que al hacer click en la sala para entrar, lo haga entrando por la ID asi te aseguras que nunca falle ;)

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #10 en: 03 de Enero de 2009, 18:26:57 pm »
Eso se hace por una extension en la funcion

init() - se crean las que ya estan en la funcion
destroy() - se guardan todas de new en la bd con los nuevos datos 

y tambien tiene que haber una que sea alago cmo que salvar() que salve cada "X" segundos los datos en la bd .. no?

Pero mi pregunta es cmo las creo con la misma id? Eso es lo mas dificil no? XD

Desconectado RamFu

  • Moderador
  • PHPero Experto
  • *****
  • Mensajes: 778
  • Karma: 72
  • Sexo: Masculino
  • Programador y desarollador Actionscript y PHP
    • Ver Perfil
    • Google
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #11 en: 04 de Enero de 2009, 22:05:00 pm »
Es lo mas facil. Por ejemplo, tu tienes la variable room que te coje nombre, id, users, etc. Tendrias que hacer un room.getId(). Te pongo un ejemplo.
Código: [Seleccionar]
var nombre = room.getName();
var users = room.getMaxUsers();
var laid = room.getId();
guardaMysql (nombre, users, laid);

Desconectado Antonio285

  • PHPer@ Fijo
  • ***
  • Mensajes: 194
  • Karma: 0
  • Sexo: Masculino
  • No hay mal que por bien no venga..
    • Ver Perfil
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #12 en: 04 de Enero de 2009, 22:26:33 pm »
Por aquí no hay un tutorial para hacer una ciudad virtual o algo..? Así tipo Cowtoon, lo tengo lo que pasa esque no me conecta...

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #13 en: 05 de Enero de 2009, 01:16:58 am »
Antonio.. no soy mod de esta seccion pero te puedo decir que ese post no me parece apropiado en este tema jeje..

Ramfu.. si lo se eso lo entendi.. pero luego para crear (en el init()) la sala con esa id que esta guardada en la bd como hago?

Empeze a crear mi propia extension.. se llama "mia.as"

mia.as

Código: [Seleccionar]
function init()
{
        function crearcasa () {
var roomObj:Object = new Object()
roomObj.name = cNombre
insca = new LoadVars();
insca.cNombre = cNombre
insca.sendAndLoad("insertarcasa.php", form_lv,"POST");
insca.onLoad = function() {
if(this.statuss == "ok") {
trace("Insertada");
} else {
if(this.statusss == "ko") {
trace("Error");
}
}
_server.createRoom(roomObj);
}
}

}

function destroy()
{
        trace("Bye bye!")
}

function handleRequest(cmd, params, user, fromRoom)
{
       
        if (cmd == "double")
        {
                var response = {}
               
                response._cmd = "double"
                response.values = []
               
                for (var i = 0; i < params.values.length; i++)
                {
                        var n = params.values[i]
                        response.values[i] = n * 2
                }
               
                _server.sendResponse(response, -1, null, [user])
        }
}

function handleInternalEvent(evt)
{
        // Simply print the name of the event that was received
        trace("Event received: " + evt.name)
}

Y en el .fla cuando pulsan un boton..
Código: [Seleccionar]
on(release) {
var cObj = new Object()
cObj.cNombre = "hola";
xt = {}
xt.name = "mia"
xt.script = "mia.as"
cObj.extension = xt


  crearcasa(cObj);
}
Pero parece que los objetos nunca le llegan a la extension, y no se guarda nada en la bd y es cmo si nunca hubieran presionado el boton
« Última modificación: 05 de Enero de 2009, 21:42:56 pm por x.mara.x »

Desconectado RamFu

  • Moderador
  • PHPero Experto
  • *****
  • Mensajes: 778
  • Karma: 72
  • Sexo: Masculino
  • Programador y desarollador Actionscript y PHP
    • Ver Perfil
    • Google
Re: [Duda] Smartfoxserver PRO roomVariables
« Respuesta #14 en: 06 de Enero de 2009, 00:15:36 am »
Has puesto en el config.xml la extensión en la zona del juego y despues en el FLA la has llamado?

Saludos ;)