(SOLVED)[RMX-OS] New member and Problem with online list

Started by Aegisrox, February 12, 2013, 03:58:44 pm

Previous topic - Next topic

Aegisrox

February 12, 2013, 03:58:44 pm Last Edit: February 16, 2013, 04:05:22 pm by chevalsky
Hello! My name is Ezequiel! I am a new member of the forum! Glat to meet you all!

Sorry to bother you, but i have a problem with the Online list script of RMX-OS.

I am writing because in the post http://forum.chaos-project.com/index.php/topic,7962.0.html
I have the same problem that have all users of the EC0NNABORTED when i type the /online.

I am using the original version of the script, and i have the last version of RMX-os too.

In the server, the extension is fully loaded, so there is no problem there.

I Checked out all, but everything seens fine.
*the script
*the database wipet out
*the rb extension

The connections seens to work too.

This is the error i am getting in the server side:



I hope you can help me, i really want this extension :(

Anyways thanks in advance to all members of the forum :D

My best regards ;)

Ezequiel
Crushing girls in the vanishing point......

Wizered67

To be completely honest, the script probably needs to be edited as right now it isn't very efficient. Blizzard actually posted some alternative code, but I never put it in. Your specific issue seems to be caused by a missing file. In the User Logger server extension by Blizzard, edit the line
ONLINELIST_FILENAME = ''

and put a filename in the ''. Here's an example.

ONLINELIST_FILENAME = 'logs/userson.log'


Edit: After writing this, I found an edited version of the Online List that should be independent of the User Logger, used Blizzard's suggestion, and is overall better. Try this first.
Spoiler: ShowHide
module RMXOS
 
  def self.load_current_extension
    return PlayersOnline
  end
 
end

#======================================================================
# module PlayersOnline
#======================================================================

module PlayersOnline
 
  VERSION = 1.01
  RMXOS_VERSION = 1.08
  SERVER_THREAD = false
  #This will not work if the user logger isn't listed before this.
 
  def self.initialize
  end
 
 
  def self.main
    while RMXOS.server.running
      self.server_update
      sleep(0.1)
    end
  end
 
  def self.server_update
  end
  def self.client_update(client)
    case client.message
  when /\APOL\Z/
   usernames = []
   $clients.find_all  {|c| usernames.push(c.player.username) if c.player.user_id > 0}
   onlinelist = usernames.join(',')
     #sends final message
     client.send("CHT#{RMXOS::Data::ColorInfo}\t0\tPlayers Online: #{onlinelist}")
     return true
     end
     return false
end
 
end

Aegisrox

Thanks for your help Wizered! Glat to meet you!

I tried your solution and works perfectly! Thank so much! :D

I would like to ask you another question

I was looking your game creations that looks very interesting, and i would like to ask

1) How do you do the global welcome message from server?

2) How do you do the message "X has logged in"

Again thanks for your help!

PS: If you need help with beta testing count with me ;)
Crushing girls in the vanishing point......

Wizered67

I actually have released a script for the welcome message, I believe its called RMX-OS Daily Messages. The login messages are a little trickier. I'll try to briefly explain that when I get home later.

Aegisrox

Thanks again Wizered! :D

I tried the global message extension, but i have a problem, i think it doesnt detect the text file

1) Where i place the text file, in the extension folder, or in the root folder of server? I tried in both :(

2) The text file need a special format like "" or another format?

Thanks again for your help! :D

I hope the logged in tutorial! Thanks in advance!

My best regards

Chevalsky
Crushing girls in the vanishing point......

Wizered67

February 13, 2013, 06:49:12 pm #5 Last Edit: February 13, 2013, 07:06:41 pm by Wizered67
The text file can just be a regular file. Double check what you have the file set to be named as in the extension config for daily messages. The option will be called FILE_NAME. That's what you should name the text file. Additionally, if you begin the filename with a './' it will look for it in the root RMX-OS server folder. I don't remember what the default config is, but I have it as
 FILE_NAME = './MOTD.txt'

for example.

Now for the login messages, I'm going to try to quickly compile my edits for it into one script and post it. I'll edit this with a link once I'm done.

Edit: Here you go, try this. http://forum.chaos-project.com/index.php/topic,12872.msg173813.html#msg173813

Aegisrox

February 14, 2013, 12:16:01 pm #6 Last Edit: February 14, 2013, 03:47:47 pm by Blizzard
Hey Wizered! Thanks again for your answer!

I tried to check all, but still doesnt work :(

I will post my configuration

This is the script
Spoiler: ShowHide
#------------------------------------------------------------------------------#
#                  RMX-OS Daily Messages                                       #
#                     by Wizered67                                             #
#                          V 1.00                                              #
# All errors should be reported at www.chaos-project.com.                      #
#------------------------------------------------------------------------------#
class Scene_Loading < Scene_Network
 alias load_game_motd load_game
 def load_game
   $network.send('GDM')
  load_game_motd
   end
end




This is the extension
Spoiler: ShowHide
#------------------------------------------------------------------------------
#                  RMX-OS Daily Messages                                            
#                     by Wizered67                                                          
#                          V 1.00                                                              
# All errors should be reported at www.chaos-project.com.                  
#------------------------------------------------------------------------------
module RMXOS
 
 def self.load_current_extension
   return MOTD
 end
 
end

#======================================================================
# module MOTD
#======================================================================

module MOTD
 
 VERSION = 1.00
 RMXOS_VERSION = 1.15
 SERVER_THREAD = false
 FILE_NAME = './MOTD.txt'
 
 
 def self.initialize
 end
 
 
 def self.main
   while RMXOS.server.running
     self.server_update
     sleep(0.1)
   end
 end
 
 def self.server_update
 end
 
 def self.client_update(client)
   case client.message
 when /\AGDM\Z/
  #set the message to empty
  message = []
   #get message from file
   file = File.open(FILE_NAME , 'r')
   #add each line to the message array.  
   file.each_line {|line| message.push(line)
   }
     #close file
     file.close
  # prepare final message
   final_message = ''
  for i in 0...message.size
  final_message = final_message  + message[i]  
    end
    client.send("CHT#{RMXOS::Data::ColorInfo}\t0\tMOTD: #{final_message}")
    return true
    end
    return false
end
 
end


And this is the text file place in the root folder
Spoiler: ShowHide
'Bienvenido a Pokémon Argentina. Pulse F7 y Escriba /help para ver los comandos disponibles.'


The three have the same name. Any idea witch it can be the problem?


Thanks in advance

Regards

PS: Thanks for the logging in script, it works perfectly!
Crushing girls in the vanishing point......

Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Aegisrox

Crushing girls in the vanishing point......

Wizered67

So just to confirm, you put the message in a text file called MOTD, correct? Possibly try removing the ./ at the beginning of the config, and then placing the text file in the extensions folder.

Ex.
FILE_NAME = 'MOTD.txt'


So with the above code, place the text file in the extensions folder.

Aegisrox

Hello Wizered! Thanks again for your answer :D

I tried that you told me, but still doesnt work.

I check and the name of the file and is MOTD, and i tried to change the FILE_NAME a place into the extension folder but the result is the same.

Also a friend of mine tried with another game and server version, and dont work for him too.  :???:

Could you please post your personal configuration of the extension, the script, and the txt files to check and match is we missing something?

For this, sorry to bother you  :shy:

Thank you in advance

Regards

Chevalsky
Crushing girls in the vanishing point......

Wizered67

My personal configuration is pretty much the default config.

Possibly try changing the line
file = File.open(FILE_NAME , 'r')
to
file = File.open(FILE_NAME , 'w')


What that should do is create the file if it doesn't exist, although the server will likely give an error after that line. My recommendation is to run the server once with that line changed, then reset it back. That SHOULD create the file so you can just edit it yourself.

Aegisrox

February 15, 2013, 05:29:24 pm #12 Last Edit: February 15, 2013, 05:37:28 pm by chevalsky
Hi again Wizered! I just tried that you told me.

I tried to change the "r" to "w" but it was no error, and it was no text file creation.  :???:

Maybe the extension is no being loaded, very strange because the rest of all extension work perfectly.

This is my server picture if you want to see it.



Any other idea where it can be the problem?

Thanks to be helpful with me :D

Again sorry to bother you, you are awesome!  :^_^':

Thanks in advance

Regards
Crushing girls in the vanishing point......

Wizered67

Any chance you can send me a demo containing just the server folder so I can double check it?

Aegisrox

Thanks Wizered! I sent you a PM with the server folder

Thanks again for your help  :haha:

Regards

Chevalsky
Crushing girls in the vanishing point......

Aegisrox

Wizered I already uploaded the file in sendspace, and sent you in a PM, Pm if you have problems

Thanks

Chevalsky
Crushing girls in the vanishing point......

Wizered67

I have gotten it working with pretty much the exact configuration you have. The only differences are that I'm running an older client version of RMX-OS (Version 1.17 I believe). The only issue I had was that it said incompatible characters or something or other. I just recreated the text file and it worked. I'm going to go ahead and PM you the text file because there's a slim chance it may work. And remind me, what exactly is the error you are having?

Aegisrox

Hello Wizered! Thank you very much for your time and explanations!

My problem it is that there was no error, the server said "loaded and initialized" but the message never shows up :(

I tried the text file you send me but didnt work too.

Maybe i place wrong the script in the client?  :???:

It is okay with you if i send you the client? it is a pokemon fan game :D

Regards
Crushing girls in the vanishing point......

Wizered67

My guess is that there was an issue with some of the edits from the Pokemon/RMX-OS thing. However, I did manage to get it working. You can just delete the MOTD extension, and replace the logging in extension with the following.
Spoiler: ShowHide
#------------------------------------------------------------------------------
module RMXOS
 
  def self.load_current_extension
    return LoginMessages
  end
 
end

#======================================================================
# module MOTD
#======================================================================

module LoginMessages
 
  VERSION = 1.00
  RMXOS_VERSION = 1.15
  SERVER_THREAD = false
  FILE_NAME = './MOTD.txt'
 
  def self.initialize
  end
 
 
  def self.main
    while RMXOS.server.running
      self.server_update
      sleep(0.1)
    end
  end
 
  def self.server_update
  end
 
  def self.client_update(client)
    case client.message
when /\ADCT\Z/ # disconnect
connect = false
      client.sender.send_to_all("SCM#{client.player.username}\t#{connect}", false)
    return true
 
  when /\AENT\Z/ # enter server
# broadcast to everybody that a new player has entered the server
connect = true
      client.sender.send_to_all("SCM#{client.player.username}\t#{connect}", true) #login message avictor
       #print "Login: #{@player.username}"
       message = []
    #get message from file
    file = File.open(FILE_NAME , 'r')
    #add each line to the message array. 
    file.each_line {|line| message.push(line)
    }
      #close file
      file.close
   # prepare final message
    final_message = ''
   for i in 0...message.size
   final_message = final_message  + message[i] 
     end
     client.send("CHT#{RMXOS::Data::ColorInfo}\t0\tMOTD: #{final_message}")
      return true

end
     return false
end
 
end


Essentially what this does is combine the MOTD stuff into the logging in extension. You can use it pretty much the same as the MOTD extension. Oh, and you probably don't need the client MOTD script anymore either.

Aegisrox

OH! It Works!!! Thanks Wizered!  :haha:

It works perfectly! I love you! You are amazing XD

Thanks by taking your time with this, i wont forget this, if you need any help by testing your game or anything count with me!

My best regards and Thanks Again  :)

Chevalsky
Crushing girls in the vanishing point......