Advertisement
Guest User

ANNOUNCEMENT SYSTEMA NANOE

a guest
Nov 23rd, 2014
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.95 KB | None | 0 0
  1. class Scene_Servers < Scene_Base
  2.   alias init initialize
  3.   def initialize
  4.     init
  5.     @buttondames = Button.new(nil,1,1,"Daily Message") { open_popup }
  6.   end
  7.  
  8.   alias upd update
  9.   def update
  10.     @buttondames.update
  11.     upd
  12.   end
  13.  
  14.  
  15.   def open_popup
  16.     $daily_message = "NEW CHARACTER - GOVLOKBIN\nMAINTENIS 24/NOV/2014!"
  17.     $window["alert"].open($daily_message)
  18.   end
  19.  
  20.   alias tmnt terminate
  21.   def terminate
  22.     tmnt
  23.     @buttondames.dispose
  24.   end
  25.    
  26. end
  27.  
  28. module Network
  29.   alias init initialize
  30.   def initialize
  31.     init
  32. #~     $daily_message = Network.get_daily_message
  33.     @announcement = ""
  34.   end
  35.  
  36.   def announcement
  37.     return @announcement
  38.   end
  39.  
  40.   def send_announcement(text)
  41.     @announcement = text
  42.     @socket.send("<send_announcement>#{text}</send_announcemenent>\n")
  43.   end
  44.  
  45.    def get_daily_message
  46.      @socket.send("<get_daily_message>\n")
  47.    end
  48.  
  49.   alias hand handle
  50.   def handle(data)
  51.     hand(data)
  52.     case data
  53.     when /<announce>(.*)<\/announce>/
  54.       @announcement = $1
  55.       return true
  56.     end
  57.   end
  58.    
  59. end
  60.  
  61. class Scene_Map < Scene_Base
  62.   alias init initialize
  63.   def initialize
  64.     init
  65.     @announcement = Network.announcement
  66.     @last_announcement = ""
  67.   end
  68.  
  69.   alias upd update
  70.   def update
  71.     upd
  72.     announce_update
  73.   end
  74.  
  75.   def announce_update
  76.     @announcement = Network.announcement
  77.     if @last_announcement != @announcement
  78.       @last_announcement = @announcement
  79.       $window["alert"].open(@announcement)
  80.     end
  81.   end
  82. end
  83.  
  84. class Window_Chat < Window_Base
  85.   alias init initialize
  86.   def initialize
  87.     init
  88.     @announcement = Network.announcement
  89.   end
  90.  
  91.   alias msgcmd mesage_commands
  92.   def mesage_commands
  93.     msgcmd
  94.     if @textbox.text.include?("<announce>")
  95.       @announcement = @textbox.text
  96.       @announcement.gsub!(/<announce>/i,"")
  97.       Network.send_announcement(@announcement)
  98.       @textbox.clear
  99.     end
  100.   end
  101. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement