Welcome, Guest
  • Author Topic: Roomlist Help  (Read 3924 times)

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Roomlist Help
    « on: 04/19/11, 11:01 »
    Hey... I got a problem with my chat.. I cant get the roomlist to count when people are in other rooms.. Can someone nice tell me if I have to change someting in my main.asc or roomlist.asc  I im realy lost


    Jorge Solis

    • Global Moderator
    • Systems Administrator
    • *****
    • Posts: 14616
      • View Profile
    Re: Roomlist Help
    « Reply #1 on: 04/19/11, 18:57 »
    Hi Rolf

    Seems you're using the old Flashcom components, this is a like a voyage in the time, back to the past :)
    As far as I remember, the multiple chatroom applications work with a Lobby that give access to the different rooms, saving in slots in a SharedObject how many people enter and disconnect from a room.  You need to spot the place where track is inserted on server side, so you can do some debug

    Jorge

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Re: Roomlist Help
    « Reply #2 on: 04/19/11, 19:38 »
    Then U mean not in the roomlist or main.asc files ?  sorry for beeing a noob

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Re: Roomlist Help
    « Reply #3 on: 04/19/11, 20:47 »
    Ill post some of the codes:

    #include "flashcomcustom.as"
    //
    timeout 30 //30 seg for not resolved asks
    inRoom = new Array() //users currently in a Private room with me
    // REPROGRAM THE JOINROOM METHOD IN THE ROOMLIST CLASS
    FCRoomListClass.prototype.joinRoom = function() {
    	
    var 
    selectedRoom this.rooms_lb.getSelectedItem().data;
    	
    // transfer the room data to a local _global variable 
    	
    _global.activeRoom this.so.data[selectedRoom];
    	
    // increment the user count
    	
    this.so.data[selectedRoom].users++;
    	
    // invoke a local function, "loginToRoom()"
    	
    loginToRoom();
    };
    //
    // INITIALIZE THE APPLICATION
    _global.session = new Object();
    _global.FlashComURI "rtmp://VideoConf2/";
    room_nc = new NetConnection();
    client_nc = new NetConnection();

    //
    // LOCAL APPLICATION FUNCTION HANDLERS
    appLogin = function () {
    	
    //Check if the username have at least 4 chars
    	
    if (
    login_txt.text.length<3){
    	
    	
    message.text "Please enter username (minimun 3 characters)";
    	
    	
    return;
    	
    }
    	
    //Max length of username = 8 chars
    	
    if (
    login_txt.text.length>12){
    	
    	
    message.text "Username too long, maximun 12 characters";
    	
    	
    return;
    	
    }
    	

    	
    // Login Button was clicked, make the connection with the server
    	
    _global.session = ({username:login_txt.text});
    	
    //_global.session.username= login_txt.text;

    	
    client_nc.connect(FlashComURI+"chatLobby"session.username);
    	
    connectionLight_global_mc.connect(client_nc);
    	
    client_nc.connect("rtmp://VideoConf2/"login_txt.text);
    	
    client_nc.setUser = function(name){
    	
    	
    _global.username name
    	
    }
    	
    gotoAndPlay("Lobby");
    };
    //
    // APP_INIT is called when the server returns a "NetConnection.Connect.Success" code
    app_init = function () {
    	
    trace(" ** Connected :-)");
    	
    trace(" ** User set to: "+Session.username);
    };
    //
    // ** APP_CLOSE 
    app_close = function () {
    	
    connectionLight_global_mc.close();
    	
    trace("function: app_close");
    };
    //
    // ** APP LOGOUT 
    app_logout = function () { 
         
    trace("function: app_logout"); 
         if (
    room_nc.isConnected) { 
               
    room_nc.close(); 
               
    this.username_txt.text "(Open)"
               
    _global.broadcasting false
               
    this.nc.call(this.prefix   "stopPublish"null); 
               
    this.ns.publish(false); 
               
    this.ns.close(); 
               
    this.seat_video.attachVideo(null); 
               
    this.seat_video.clear(); 
               
    this.attachAudio(null); 
         } 

    	
    _root.gotoAndPlay("Lobby");
    };
    //
    app_return = function () {
    	
    if (
    client_nc.isConnected) {
    	
    	
    connectionLight_global_mc.close();
    	
    	
    client_nc.close();
    	
    }
    	
    if (
    client_nc.isConnected) {
    	
    	
    client_nc.close();
    	
    }
    	
    _root.gotoAndPlay("login");
    };
    //
    // SETUP THETHE LOBBY  (this function MUST be run by frame 10, with the RoomsList on the stage!)
    loginToLobby = function () {
    	
    // reconnect to the Lobby instance if returning from a room
    	
    if (!
    client_nc.isConnected) {
    	
    	
    client_nc.connect(FlashComURI+"chatLobby"session.username);
    	
    	
    trace("logged back into the Lobby");
    	
    	

    	
    }
    	
    peopleList.connect(client_nc);
    	
    // Connect the RoomList
    	
    roomlist_mc.connect(client_nc);
    	
    // decrement the Total users in the room, if the user was connected
    	
    if (
    activeRoom != undefined) {
    	
    	
    roomList_mc.so.data[activeRoom.id].users--;
    	
    	
    _global.activeRoom undefined;
    	
    }
    	
    // Reset the Logout Button
    	
    logout_pb.setClickHandler("app_close");
    	
    logout_pb.setLabel("Logout");
    };
    //
    // LOG INTO ROOM 
    loginToRoom = function () {
    	

    	
    av1_mc.stopPublish()
    	
    av2_mc.stopPublish()
    	
    av3_mc.stopPublish()
    	
    av4_mc.stopPublish()
    	

    	

    	
    // close the connection to the Lobby Instance
    	
    client_nc.close();
    	
    // AUTO-CONNECT TO THE ROOM INSTANCE, USING THE GLOBAL ALREADY DEFINED
    	
    room_nc.connect(FlashComURI+activeRoom.idsession.username);
    	
    // REPROGRAM THE LOGOUT BUTTON
    	
    logout_pb.setClickHandler("app_logout");
    	
    logout_pb.setLabel("<< Lobby");
    	
    // PLAYHEAD CONTROL
    	
    _global.broadcasting false
    this.ns.publish(false); 
               
    this.ns.close(); 
               
    this.seat_video.attachVideo(null); 
               
    this.seat_video.clear(); 

    	

    	
    _root.gotoAndStop("Room");
    };



    stop();

    « Last Edit: 04/20/11, 05:30 by Jorge Solis »

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Re: Roomlist Help
    « Reply #4 on: 04/19/11, 20:48 »
    Next:

    /* FRAME 10: "LOBBY" */
    loginToLobby();
    stop();
    //////////////////////////////////////////////////////////////////////////////
    //Connect all components
    //////////////////////////////////////////////////////////////////////////////
    connectionLight_global_mc.connect(client_nc)
    bw.connect(client_nc);

    admin.connect(client_nc);
    chat.connect(client_nc)
    board_mc.connect(client_nc)
    av1_mc.connect (client_nc)
    av1_mc.setUsername(session.username)
    av2_mc.connect (client_nc)
    av2_mc.setUsername(session.username)
    av3_mc.connect (client_nc)
    av3_mc.setUsername(session.username)
    av4_mc.connect (client_nc)
    av4_mc.setUsername(session.username)
    myColor.connect(client_nc)

    //Invisible until we check history
    chat._visible false;
    //If we are the only user in this chat, clear the history
    checkHistory = new Object()
    checkHistory.onResult = function(cant){
    	
    if(
    cant==1chat.clearHistory()
    	
    chat._visible true
    }
    client_nc.call("checkClients"checkHistory)
    //////////////////////////////////////////////////////////////////////////////
    //Get and connect to the SO
    //////////////////////////////////////////////////////////////////////////////
    client_so SharedObject.getRemote("users"client_nc.urifalse)
    client_so.connect(client_nc)
    //////////////////////////////////////////////////////////////////////////////
    //SO Handlers
    //////////////////////////////////////////////////////////////////////////////
    client_so.ref this
    //A new user enters the room
    client_so.newUser = function(who){
    	

    	

    	
    this.ref.chat.history_txt.scroll+=1
    }
    //If the second parameter exists, user leaves application, if not, user only leaves private room
    client_so.onDisconnect = function(whoapp){
    	
    for(
    i in this.ref.inRoom) {
    	
    	
    if(
    this.ref.inRoom[i]==who){
    	
    	
    	
    this.ref.inRoom.splice(i1)
    	
    	
    	
    this.ref["newRoom_"+who].gotoAndStop("Disconnect")
    	
    	
    }
    	
    }
    	
    if(
    app) {
    	
    	

    	
    	
    this.ref.chat.history_txt.scroll+=1
    	
    }
    }

    //////////////////////////////////////////////////////////////////////////////
    //Functions
    //This functions are called from inside this movie
    //////////////////////////////////////////////////////////////////////////////

    // Invite a user to join a private room
    function invite(guestUsername) {
    	
    if(
    thinking || invitation) { //busy with a previous request
    	
    	
    trace(thinking+" or "+invitation._currentframe)
    	
    	
    status.text "You have pending requests !!"
    	
    	
    return;
    	
    }
    	
    if (
    _global.username==guestUsername){ //click on myself
    	
    	
    attachMovie("thinking""thinking"101, {_x:45_y:25message:"You can't invite yourself !!"});
    	
    	
    thinking.gotoAndPlay("Answer")
    	
    	
    return;
    	

    	
    for(
    i in inRoom) {
    	
    	
    if(
    inRoom[i]==guestUsername){ //yet opened
    	
    	
    	
    avisa = (!this["newRoom_"+guestUsername])?attachMovie("thinking""thinking"101, {_x:25_y:25
    message:"This user is busy, try later."}) : attachMovie("thinking""thinking"101, {_x:45_y:25message:"You're in 
    a private room with this user"
    });
    	
    	
    	

    	
    	
    	
    thinking.gotoAndPlay("Answer")
    	
    	
    	
    return;
    	

    	
    	
    }
    	
    }
    	
    // Open the 'thinking' movie
    	
    this.attachMovie("thinking""thinking"101, {_x:45_y:25});
    	
    //Call the invite function in the serverside passing both usernames
    	
    client_nc.call("invite"null_global.usernameguestUsername);
    	

    }
    // Answer a request passing both usernames and a boolean value(flag) to accept or reject
    function answer(sourcemeflag) {
    	
    //Call joinRoom SSAS method
    	
    client_nc.call("joinRoom"nullsourcemeflag);
    }

    ////////////////////////////////////////////////////////////////////
    // NetConnection Handlers
    ////////////////////////////////////////////////////////////////////
    client_nc.ref this //reference to this timeline
    //Shows a messagge asking for opening a private chat room
    client_nc.showMessage = function(who) {
    	
    	
    if(
    thinking || invitation//busy with another request
    	
    	
    this.ref.answer(who_global.username"busy")
    	
    	
    else 
    attachMovie("invitation""invitation"100, {_x:25_y:25source:who});
    }
    //Answer to a request for a new private chat room
    client_nc.openRoom = function(flagroomguest){
    	
    if(
    flag == "busy"){
    	
    	
    thinking.message "This user is busy with another request, try later"
    	
    	
    thinking.gotoAndPlay("Answer")
    	
    	
    return;
    	
    }
    	
    if(
    flag == false){ //reject
    	
    	
    thinking.gotoAndPlay("Reject")
    	
    } else { 
    //accept
    	
    	
    this.ref.inRoom.push(guest//add to the list of opened private rooms
    	
    	
    //remove thinking message
    	
    	
    if (
    thinking) {
    	
    	
    	
    //removes timeout
    	
    	
    	
    clearInterval(this.ref.thinking.timeoutInterval)
    	
    	
    	
    //removes clip
    	
    	
    	
    removeMovieClip(this.ref.thinking
    	
    	
    }
    	
    	
    //remove unclosed previous rooms with a user with this name
    	
    	
    if(eval(
    "newRoom_"+guest)) removeMovieClip(this.ref["newRoom_"+guest])
    	
    	
    //unique levels for the new private chat room
    	
    	
    this.id++
    	
    	
    attachMovie("newRoom""newRoom_"+guest110+this.id, {_x:45_y:25room:roomguest:guest});
    	
    	
    //Check if there's another window opened, and move a litle so they don't overlap totally
    	
    	
    if(
    this.ref.inRoom.length>1this.ref["newRoom_"+guest]._y+=20
    	
    }
    }

    function 
    updateUsers() {
    numOfUsers peopleList.getUserCount();
    numUsers_txt.text numOfUsers "  Users";
     }
    user_id setInterval(this"updateUsers"300);
     
    inOutSound = new Sound();
    inOutSound.attachSound("magic");
    //you are going to want to replace "magic" with the name that you gave your sound at the time you set the linkage.

    function playSound(){
       
    inOutSound.start();
    }

    function 
    onDelete() { 
    this.chat.clearHistory(); 
    };

    function 
    onSupport() { 
    getURL("http://www.best-free-sex.net/cgi-bin/gateway.cgi?id=enbelle""_blank");
    };
    function 
    onChat2() { 
    getURL("http://www.enbelle.com/video/chat-iwc.htm""_blank");
    };
    function 
    onMovie() { 
    getURL("http://www.enbelle.com/special/""_blank");
    };
    « Last Edit: 04/20/11, 05:33 by Jorge Solis »

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Re: Roomlist Help
    « Reply #5 on: 04/19/11, 20:48 »

    /* FRAME 20: "ROOM" */
    //
    // Connect the UI Components to the new connection
    chat_mc.connect(room_nc);

    bw1.connect(room_nc);
    admin1.connect(room_nc);
    myColor1.connect(room_nc);
    connectionLight_room_mc.connect(room_nc);
    board01_mc.connect(room_nc);
    peopleList_mc.connect(room_nc);

    audioConf_mc.connect(room_nc);
    av1_mc.connect(room_nc);
    av1_mc.setUsername(session.username)
    av2_mc.connect(room_nc);
    av2_mc.setUsername(session.username)
    av3_mc.connect(room_nc);
    av3_mc.setUsername(session.username)
    av4_mc.connect(room_nc);
    av4_mc.setUsername(session.username)

    //
    _root.myMic.onActivity = function(active) {
    	
    if (
    active == true) {
    	
    	
    if (
    _root.myMic.useEchoSuppression == false) {
    	
    	
    	
    _root.myMic.setUseEchoSuppression(true);
    	
    	
    }
    	
    }
    }
    //
    chat_mc._visible true;
    //If we are the only user in this chat, clear the history
    checkHistory = new Object()
    checkHistory.onResult = function(cant){
    	
    if(
    cant==1chat_fc.clearHistory()
    	
    chat_mc._visible true
    }
    //
    // Set the Screen Text Data
    username_txt.text session.username;
    roomName_txt.text activeRoom.room;
    roomName2_txt.text activeRoom.room;
    description_txt.text activeRoom.description;
    owner_txt.text activeRoom.id;
    //
    //////////////////////////////////////////////////////////////////////////////
    //SO Handlers
    //////////////////////////////////////////////////////////////////////////////
    client_so.ref this
    //A new user enters the room
    client_so.newUser = function(who){
    	

    	

    	
    this.ref.chat.history_txt.scroll+=1
    }
    //If the second parameter exists, user leaves application, if not, user only leaves private room
    client_so.onDisconnect = function(whoapp){
    	
    for(
    i in this.ref.inRoom) {
    	
    	
    if(
    this.ref.inRoom[i]==who){
    	
    	
    	
    this.ref.inRoom.splice(i1)
    	
    	
    	
    this.ref["newRoom_"+who].gotoAndStop("Disconnect")
    	
    	
    }
    	
    }
    	
    if(
    app) {
    	
    	

    	
    	
    this.ref.chat.history_txt.scroll+=1
    	
    }
    }

    //////////////////////////////////////////////////////////////////////////////
    //Functions
    //This functions are called from inside this movie
    //////////////////////////////////////////////////////////////////////////////

    // Invite a user to join a private room
    function invite(guestUsername) {
    	
    if(
    thinking || invitation) { //busy with a previous request
    	
    	
    trace(thinking+" or "+invitation._currentframe)
    	
    	
    status.text "You have pending requests !!"
    	
    	
    return;
    	
    }
    	
    if (
    _global.username==guestUsername){ //click on myself
    	
    	
    attachMovie("thinking""thinking"101, {_x:1445_y:1425message:"You can't invite yourself !!"});
    	
    	
    thinking.gotoAndPlay("Answer")
    	
    	
    return;
    	

    	
    for(
    i in inRoom) {
    	
    	
    if(
    inRoom[i]==guestUsername){ //yet opened
    	
    	
    	
    avisa = (!this["newRoom_"+guestUsername])?attachMovie("thinking""thinking"101, {_x:1425_y:1425message:"This user is 
    busy, try later."
    }) : attachMovie("thinking""thinking"101, {_x:1445_y:1425message:"You're in a private room with this user"});
    	
    	
    	

    	
    	
    	
    thinking.gotoAndPlay("Answer")
    	
    	
    	
    return;
    	

    	
    	
    }
    	
    }
    	
    // Open the 'thinking' movie
    	
    this.attachMovie("thinking""thinking"101, {_x:1445_y:1425});
    	
    //Call the invite function in the serverside passing both usernames
    	
    room_nc.call("invite"null_global.usernameguestUsername);
    	

    }
    // Answer a request passing both usernames and a boolean value(flag) to accept or reject
    function answer(sourcemeflag) {
    	
    //Call joinRoom SSAS method
    	
    room_nc.call("joinRoom"nullsourcemeflag);
    }

    ////////////////////////////////////////////////////////////////////
    // NetConnection Handlers
    ////////////////////////////////////////////////////////////////////
    room_nc.ref this //reference to this timeline
    //Shows a messagge asking for opening a private chat room
    room_nc.showMessage = function(who) {
    	
    	
    if(
    thinking || invitation//busy with another request
    	
    	
    this.ref.answer(who_global.username"busy")
    	
    	
    else 
    attachMovie("invitation""invitation"100, {_x:1425_y:1425source:who});
    }
    //Answer to a request for a new private chat room
    room_nc.openRoom = function(flagroomguest){
    	
    if(
    flag == "busy"){
    	
    	
    thinking.message "This user is busy with another request, try later"
    	
    	
    thinking.gotoAndPlay("Answer")
    	
    	
    return;
    	
    }
    	
    if(
    flag == false){ //reject
    	
    	
    thinking.gotoAndPlay("Reject")
    	
    } else { 
    //accept
    	
    	
    this.ref.inRoom.push(guest//add to the list of opened private rooms
    	
    	
    //remove thinking message
    	
    	
    if (
    thinking) {
    	
    	
    	
    //removes timeout
    	
    	
    	
    clearInterval(this.ref.thinking.timeoutInterval)
    	
    	
    	
    //removes clip
    	
    	
    	
    removeMovieClip(this.ref.thinking
    	
    	
    }
    	
    	
    //remove unclosed previous rooms with a user with this name
    	
    	
    if(eval(
    "newRoom_"+guest)) removeMovieClip(this.ref["newRoom_"+guest])
    	
    	
    //unique levels for the new private chat room
    	
    	
    this.id++
    	
    	
    attachMovie("newRoom""newRoom_"+guest110+this.id, {_x:1445_y:1425room:roomguest:guest});
    	
    	
    //Check if there's another window opened, and move a litle so they don't overlap totally
    	
    	
    if(
    this.ref.inRoom.length>1this.ref["newRoom_"+guest]._y+=20
    	
    }
    }
    function 
    onDelete() { 
    this.chat.clearHistory(); 
    };


    inOutSound = new Sound();
    inOutSound.attachSound("magic");
    //you are going to want to replace "magic" with the name that you gave your sound at the time you set the linkage.

    function playSound(){
       
    inOutSound.start();
    }

    function 
    updateUsers() {
    numOfUsers peopleList_mc.getUserCount();
    numUsers_txt.text numOfUsers "  Users";
     }
      
    user_id setInterval(this"updateUsers"300);

    function 
    onDelete() { 
    this.chat_mc.clearHistory(); 
    };
    function 
    onChat2() { 
    getURL("http://www.mychat.com/video/chat-iwc.htm""_blank");
    };
    function 
    onMovie() { 
    getURL("http://www.minchatcom/special/""_blank");
    };
    « Last Edit: 04/20/11, 05:33 by Jorge Solis »

    Jorge Solis

    • Global Moderator
    • Systems Administrator
    • *****
    • Posts: 14616
      • View Profile
    Re: Roomlist Help
    « Reply #6 on: 04/20/11, 05:37 »
    500 lines of code, really?
    Probably you can ask the author of this app about the issue, or you can spot bettter the issue and POST <100 lines. I mention server side code and you post the entire client side code, so I guess you're not familiar at all with this code.

    Jorge

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Re: Roomlist Help
    « Reply #7 on: 04/20/11, 06:06 »
    hey again..
    I know its a lot.. I buy this script for some years ago, and i have try to contackt the author, but he dont answer me :-( so im kind a lost.... Sorry again

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Re: Roomlist Help
    « Reply #8 on: 04/23/11, 11:39 »
    Tjis is my main in my apps folder:

    load ( "framework.asc");

    load( "components/avpresence.asc" );
    load( "components/connectionlight.asc" );
    load( "components/people.asc" );
    load( "components/setbandwidth.asc" );
    load( "components/usercolor.asc" );
    load ( "mychat.asc");
    load ( "peopleboard.asc");


    load("components.asc")
    application.onAppStart = function(){
       //Array of connected users
       this.userList = new Array();
       //Object to hold a direct reference to connected clients
       this.userHandler = new Object();
       //Shared Object to store connected users
       this.users_so = SharedObject.get("users", false);
       this.users_so.setProperty("userList", this.userList);   
       
       SharedObject_init();
       
       this.domainList = new Array("http://www.enbelle.com","www.enbelle.com","enbelle.com");
          this.domainLength = this.domainList.length;
    }

    application.onAppStop = function (info){
       return false;
    }

    application.onConnect = function(client, name) {
       //Check if the user exists
       for(i=0; i<this.userList.length; i++){      
          if(this.userList==name){
             application.rejectConnection(client);
             return;
          }
       }   
       
       //register user to framework
       gFrameworkFC.getClientGlobals(client).username = name;
       // Store a reference to this user
       this.userHandler[name] = client;
       // Add this user to the userList array
       this.userList.push(name);
       //saves array of connected users to the Shared Object
       this.users_so.setProperty("users", this.userList);
       
       var theReferrer = client.referrer.toLowerCase();
       trace("Connection Attempt: " + theReferrer);
       for(i=0; i<=this.domainLength; i++) {
           var challenge = theReferrer.indexOf(this.domainList);
           if (challenge != -1) {
             trace("Connection Accepted");
             // Accept the new client's connection
              this.acceptConnection(client, name);
             return;
           }
       }
       trace("Connection Rejected");
       // If it gets to here then reject their connection
       application.rejectConnection(client);
    }
    application.onConnectAccept = function(client, name){
        //Sets username in client side
       client.call("setUser", null, name);
       //Broadcast the event to all connected users
       this.users_so.send("newUser", name);

       
    }

    application.onDisconnect = function(oldClient){
       //Get username from framework
       var username = gFrameworkFC.getClientGlobals(oldClient).username
       //Broadcast disconnection
       this.users_so.send("onDisconnect", username, true);
       //Deletes user reference
       delete this.userHandler[username]   
       //Deletes user from the users array and the SO
       for(i=0; i<this.userList.length; i++) {
          if(this.userList == username) {
             this.userList.splice(i, 1)
             this.users_so.setProperty("userList", this.userList);
          }
       }
    }

    //Returns number of connected users
    Client.prototype.checkClients = function(){
       return application.userList.length
    }
    //Route an invitation from source to guest
    Client.prototype.invite= function(source, guest){
       application.userHandler[guest].call("showMessage", null, source)
    }
    //Route an answer to an invitation with three posible states: true, false or "busy"
    Client.prototype.joinRoom = function(source, guest, flag){
          application.userHandler[source].call("openRoom", null, flag, guest+"_"+source, guest)
          application.userHandler[guest].call("openRoom", null, flag, guest+"_"+source, source)
    }
    // SHARED OBJECTS
    SharedObject_init = function () {
       server_so = SharedObject.get("topic", false);
       server_so.setProperty("topic_info", "not set");
       trace("Textfeild sharedObject Status --> Ready");
       var test = server_so.getProperty("topic_info");
    };


    can it be this one somewhere...

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Re: Roomlist Help
    « Reply #9 on: 04/27/11, 18:29 »
    Well think I have to giveUp to find out.. have No clue where to look
    I found this page
    http://etutorials.org/Macromedia/Macromedia+Flash+Communication+Server+MX/Part+I+10+Quick+Steps+for+Getting+Started/Chapter+10.+STEP+10+Lobby+Applications/Lobby+Application+Overview/

    But im still crazy Lost... And the man I buy the script from dont write me back :-(

    Ronald Wernecke

    • Global Moderator
    • Systems Administrator
    • *****
    • Posts: 6203
      • View Profile
      • Professional Support
      • Email
    Re: Roomlist Help
    « Reply #10 on: 04/28/11, 06:04 »
    should be in people.asc
    happy flashing
    8)
    Ronald

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Re: Roomlist Help
    « Reply #11 on: 04/28/11, 09:04 »
    you mean in my scriptlib\components right?
    --------------------------------------------------------
    It looks like this:

    /**
     * Copyright © 2002 Macromedia, Inc. All rights reserved.   
     *
     * people.asc
     * Moving or modifying this file may affect the applications installed on this server.
     */

    try { var dummy = FCPeopleList; } catch ( e ) { // #ifndef FCPeopleList

       load( "components/component.asc" );
       
       //
       // People List component class
       //
       FCPeopleList = function(name) {
          this.init(name);
          
          // Get a non persistent shared object for the list of users
          this.users_so = SharedObject.get( this.prefix + "users", false );
       }
       
       // All named instances are held in instances
       FCPeopleList.prototype = new FCComponent("FCPeopleList", FCPeopleList);

       FCPeopleList.prototype.users_so   = null;         // Users SharedObject
       
       ///////////////////////////////////////////////////////////////////////////
       // onXXX events that are called at appropriate times

       // This is called when a client disconnects
       FCPeopleList.prototype.onDisconnect = function( client ) {
          // get per client global storage
          var clocal = this.getClientLocalStorage(client);

          this.users_so.setProperty(clocal.id, null);

          // Need to call this at the end since we are overriding
          // the base onDisconnect
          this.releaseLocalStorage(client);
       }
       
       
       ///////////////////////////////////////////////////////////////////////////
       // Methods that a client side component calls explicitly
       
       // The first method called by a client component
       FCPeopleList.prototype.connect = function( client ) {
          var cglobal = this.getClientGlobalStorage(client);
          var clocal = this.getClientLocalStorage(client);

          clocal.id = "u" + this.getClientID(client);
          this.users_so.setProperty(clocal.id, cglobal.username == null ? " fc_lurker" : cglobal.username);
       }
       
       // The last method called by a client component
       FCPeopleList.prototype.close = function( client ) {
       }
       

       ///////////////////////////////////////////////////////////////////////////
       // Helper and utility methods

       FCPeopleList.prototype.changeName = function(client) {
          var cglobal = this.getClientGlobalStorage(client);
          var clocal = this.getClientLocalStorage(client);
          this.users_so.setProperty(clocal.id, cglobal.username == null ? " fc_lurker" : cglobal.username);
       };
       
       trace( "PeopleList loaded successfully." );

    } // #endif

    Rolf

    • Jr. Programmer
    • **
    • Posts: 91
      • View Profile
      • Email
    Re: Roomlist Help
    « Reply #12 on: 04/30/11, 17:45 »
    Still stock :-( still hope there is someone who wanna help me out..... im about to go crazy