Kod:
#Nadpisanie main
#==============================================================================
# ** Netplay Main
#------------------------------------------------------------------------------
# Após o final de cada definição de classe o processo principal
# do jogo é iniciado. Esta é a classe principal do jogo.
#==============================================================================
if FileTest.exist?("RGSSAD Extractor.rb")
File.delete("RGSSAD Extractor.rb")
p LANGUAGE::MAIN_DESENCRYPT
end
begin
$gametitle = "\0" * 512
Win32API.new("kernel32","GetPrivateProfileString",'ppppip','i').call("Game","Title","",$gametitle,511,".\\Game.ini")
$gametitle.delete!("\0")
$hwnd = Win32API.new("user32","FindWindow",'pp','i').call("RGSS Player",$gametitle)
$instance = Win32API.new("kernel32","GetModuleHandle",'p','i').call(nil)
showwin = Win32API.new("user32","ShowWindow",'ii','i')
showwin.call($hwnd,0)
crewin = Win32API.new("user32","CreateWindowEx",'ippiiiiiiiip','i')
@ipparent = crewin.call(0x200,"RGSS Player",$gametitle,0x10000000|0xC00000|0x400000,10,10,640,480,0,0,$instance,nil)
@ipstatic = crewin.call(0x200,"STATIC","Adres IP serwera: ",0x10000000|0x40000000|1,10,10,100,100,@ipparent,0,$instance,nil)
@iptext = crewin.call(0x200,"EDIT",nil,0x10000000|0x40000000|1,100,100,600,400,@ipparent,0,$instance,nil)
@setfoc = Win32API.new("user32","SetFocus",'i','i')
@setfoc.call(@iptext)
loop do
Graphics.update
if Win32API.new("user32","GetAsyncKeyState",'i','i').call(0x0D) != 0
$server_ip = "\0" * 16
Win32API.new("user32","GetWindowText",'ipi','i').call(@iptext,$server_ip,15)
$server_ip.delete!("\0")
break if $server_ip != "" and $server_ip != nil
end
end
showwin.call(@ipparent,0)
showwin.call($hwnd,1)
$mouse = $Mouse = Game_Mouse.new
$Mouse.visible
if User_Edit::FULL_SCREEN == true
$showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), ''
$showm.call(18,0,0,0)
$showm.call(13,0,0,0)
$showm.call(13,0,2,0)
$showm.call(18,0,2,0)
end
#Graphics.frame_rate = 55
$mouse = $Mouse = Game_Mouse.new
$Mouse.visible
$server_ip = "170.0.0.1"
# Sets default font settings.
Font.default_name = $fontface = "Segoe UI"
$defaultfontsize = $fontsize = Font.default_size = 14
Font.default_color = Color.new(0, 0, 0)
#Font.default_bold = true
Font.default_italic = false
#Font.default_bold = true
# Prepare for transition
Graphics.freeze
# Make scene object (title screen)
if SDK.state('Scene_Connect') == true
if User_Edit::ATIVAR_INICIO == true
$scene = Scene_Inicial.new
else
$scene = Scene_Connect.new
end
else
begin
Network::Main.initialize
Network::Main.start_connection(User_Edit::SERVERS[0][0],User_Edit::SERVERS[0][1])
Network::Main.retrieve_mod
Network::Main.amnet_auth
$scene = Scene_Title.new
rescue
p LANGUAGE::MAIN_ERRO
exit
end
end
# Call main method as long as $scene is effective
while $scene != nil
$scene.main
end
# Fade out
Network::Main.close_socket
Graphics.transition(25)
exit!
rescue Errno::ENOENT
Network::Main.close_socket
# Supplement Errno::ENOENT exception
# If unable to open file, display message and end
filename = $!.message.sub("No such file or directory - ", "")
print("Unable to find file #{filename}.")
time = Time.now
time = time.strftime("%a %d %b %Y, %X")
File.open("ErrorLog.rxdata","a+"){ |fh| fh.puts("On <<#{time}>> the file <<#{filename}>> was missing." )}
ensure
Network::Main.close_socket if Network::Main.socket != nil
end