Per 2016, RMID pindah ke RMID Discord (Invite link dihapus untuk mencegah spambot -Theo @ 2019). Posting sudah tidak bisa dilakukan lagi.
Mohon maaf atas ketidaknyamanannya dan mohon kerjasamanya.
|
|
| 2010-12-29, 10:48 | Script Sulit |
---|
rizkhi04 Advance
Posts : 311 Thanked : 2 Engine : RMVX Skill : Beginner Type : Artist
| Mau nanya nih, gimana cara masukkin script ini???? - Spoiler:
#============================================================================== # MOG VX - Scene File V1.0 #============================================================================== # By Moghunter # http://www.atelier-rgss.com/ #============================================================================== # Tela de salvar e carregar animado. #============================================================================== # 1 - Crie uma pasta com o nome de Graphics/Mennus e coloque as seguintes # imagens dentro desta pasta. # # Background.png # Save_Character_Floor.png # Save_Layout01.png # Save_Layout02.png # Save_Window01.png # Save_Window02.png # # 2 - Será necessário ter a seguinte imagem na pasta Graphics/System # # Number_01.png # #============================================================================== module MOG_VX08 #Quantidade de slots de saves. FILES_MAX = 9 end
#============================================================================== # ** Window_Base #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # ● draw_picture_number(x,y,value,file_name,align, space, frame_max ,frame_index) #-------------------------------------------------------------------------- # X - Posição na horizontal # Y - Posição na vertical # VALUE - Valor Numérico # FILE_NAME - Nome do arquivo # ALIGN - Centralizar 0 - Esquerda 1- Centro 2 - Direita # SPACE - Espaço entre os números. # FRAME_MAX - Quantidade de quadros(Linhas) que a imagem vai ter. # FRAME_INDEX - Definição do quadro a ser utilizado. #-------------------------------------------------------------------------- def draw_picture_number(x,y,value, file_name,align = 0, space = 0, frame_max = 1,frame_index = 0) number_image = Cache.system(file_name) frame_max = 1 if frame_max < 1 frame_index = frame_max -1 if frame_index > frame_max -1 align = 2 if align > 2 cw = number_image.width / 10 ch = number_image.height / frame_max h = ch * frame_index number = value.abs.to_s.split(//) case align when 0 plus_x = (-cw + space) * number.size when 1 plus_x = (-cw + space) * number.size plus_x /= 2 when 2 plus_x = 0 end for r in 0..number.size - 1 number_abs = number[r].to_i number_rect = Rect.new(cw * number_abs, h, cw, ch) self.contents.blt(plus_x + x + ((cw - space) * r), y , number_image, number_rect) end number_image.dispose end #-------------------------------------------------------------------------- # ● Draw Help Layout #-------------------------------------------------------------------------- def draw_face_save(name,x,y,type) if type == 0 image_name = name + "_0" elsif type == 1 image_name = name + "_1" else image_name = name + "_2" end image = Cache.face(image_name) cw = image.width ch = image.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y , image, src_rect) image.dispose end #-------------------------------------------------------------------------- # draw_parameter_layout #-------------------------------------------------------------------------- def draw_parameter_layout(x,y) image = Cache.menu("Save_Window01") cw = image.width ch = image.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y , image, src_rect) image.dispose end #-------------------------------------------------------------------------- # draw_parameter_layout2 #-------------------------------------------------------------------------- def draw_parameter_layout2(x,y,type) if type == 0 image = Cache.menu("Save_Window02") else image = Cache.menu("Save_Window03") end cw = image.width ch = image.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y , image, src_rect) image.dispose end #-------------------------------------------------------------------------- # draw_character_floor #-------------------------------------------------------------------------- def draw_character_floor(x,y) image = Cache.menu("Save_Character_Floor") cw = image.width ch = image.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y , image, src_rect) image.dispose end end #============================================================================== # ** Window_SaveFile #============================================================================== class Window_SaveFile < Window_Base attr_reader :filename attr_reader :file_exist attr_reader :time_stamp attr_reader :selected attr_reader :file_index #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(file_index, filename) super(0, 0,720, 140) self.opacity = 0 @file_index = file_index @filename = filename load_gamedata refresh @selected = false end #-------------------------------------------------------------------------- # * load_gamedata #-------------------------------------------------------------------------- def load_gamedata @time_stamp = Time.at(0) @file_exist = FileTest.exist?(@filename) if @file_exist file = File.open(@filename, "r") @time_stamp = file.mtime begin @characters = Marshal.load(file) @map_name = Marshal.load(file) @frame_count = Marshal.load(file) @last_bgm = Marshal.load(file) @last_bgs = Marshal.load(file) @game_system = Marshal.load(file) @game_message = Marshal.load(file) @game_switches = Marshal.load(file) @game_variables = Marshal.load(file) @total_sec = @frame_count / Graphics.frame_rate rescue @file_exist = false ensure file.close end end end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = normal_color xp = 96 ex = 60 if @file_exist draw_parameter_layout2(0,50,0) draw_parameter_layout(-10 + xp,0) value = @file_index + 1 draw_picture_number(13 + xp, 32,value, "Number_01",1,0,3,0) draw_party_characters(180 + xp, 75,ex) draw_playtime(495, 20, contents.width - 4, 2) draw_map_location( 400 + xp,64) draw_level(185 + xp,85,ex) draw_face_save(40 + xp,0) else draw_parameter_layout2(0,50,1) draw_parameter_layout(-10 + xp,0) value = @file_index + 1 draw_picture_number(13 + xp, 32,value, "Number_01",1,0,3,0) self.contents.draw_text(260, 50, 120, 32, "No Data", 1) end end #-------------------------------------------------------------------------- # * draw_face #-------------------------------------------------------------------------- def draw_face_save(x,y) face_name = @characters[0][3] face_index = @characters[0][4] draw_face(face_name, face_index , x, y, 96) end #-------------------------------------------------------------------------- # * draw_level #-------------------------------------------------------------------------- def draw_level(x,y,ex) self.contents.font.color = normal_color for i in 0...@characters.size level = @characters[i][2] draw_picture_number(x + (ex * i) , y ,level, "Number_01",1,0,3,1) end end #-------------------------------------------------------------------------- # * draw_map_location #-------------------------------------------------------------------------- def draw_map_location(x,y) self.contents.font.bold = true self.contents.font.name = "Georgia" self.contents.font.size = 20 self.contents.font.italic = true self.contents.draw_text(x, y, 125, 32, @map_name.to_s, 0) end #-------------------------------------------------------------------------- # * draw_party_characters #-------------------------------------------------------------------------- def draw_party_characters(x, y,ex) for i in 0...@characters.size name = @characters[i][0] index = @characters[i][1] draw_character_floor(- 35 + x + i * ex,y - 20) draw_character(name, index, x + i * ex, y) end end #-------------------------------------------------------------------------- # * draw_playtime #-------------------------------------------------------------------------- def draw_playtime(x, y, width, align) hour = @total_sec / 60 / 60 min = @total_sec / 60 % 60 sec = @total_sec % 60 time_string = sprintf("%02d:%02d:%02d", hour, min, sec) draw_picture_number(x + 18 * 0, y ,0, "Number_01",0,0,3,0) if hour < 10 draw_picture_number(x + 18 * 1, y ,hour, "Number_01",0,0,3,0) draw_picture_number(x + 18 * 3, y ,0, "Number_01",0,0,3,0) if min < 10 draw_picture_number(x + 18 * 4, y ,min, "Number_01",0,0,3,0) draw_picture_number(x + 18 * 6, y ,0, "Number_01",0,0,3,0) if sec < 10 draw_picture_number(x + 18 * 7, y ,sec , "Number_01",0,0,3,0) end #-------------------------------------------------------------------------- # * selected #-------------------------------------------------------------------------- def selected=(selected) @selected = selected end end
#============================================================================== # ** Cache #============================================================================== module Cache #-------------------------------------------------------------------------- # Menu #-------------------------------------------------------------------------- def self.menu(filename) load_bitmap("Graphics/Menus/", filename) end end #============================================================================== # ** Game_Map #============================================================================== class Game_Map attr_reader :name #-------------------------------------------------------------------------- # * setup #-------------------------------------------------------------------------- alias mog_vx06_setup setup def setup(map_id) mog_vx06_setup(map_id) data = load_data("Data/MapInfos.rvdata") @name = data[@map_id].name end end
#============================================================================== # ** Scene_File #==============================================================================
class Scene_File < Scene_Base include MOG_VX08 #-------------------------------------------------------------------------- # * initialize #-------------------------------------------------------------------------- def initialize(saving, from_title, from_event) @saving = saving @from_title = from_title @from_event = from_event @file_max = FILES_MAX @file_max = 1 if FILES_MAX < 1 end #-------------------------------------------------------------------------- # * Start #-------------------------------------------------------------------------- def start super create_layout create_savefile_windows if @saving @index = $game_temp.last_file_index else @index = self.latest_file_index end @check_prev_index = true @savefile_windows[@index].selected = true end #-------------------------------------------------------------------------- # * Create_background #-------------------------------------------------------------------------- def create_layout @background = Plane.new @background.bitmap = Cache.menu("Background") @background.z = 0 @layout_01 = Sprite.new @layout_01.bitmap = Cache.menu("Save_Layout01") @layout_01.z = 1 @layout_01.blend_type = 1 image = Cache.menu("Save_Layout02") @bitmap = Bitmap.new(image.width,image.height) cw = image.width ch = image.height / 2 if @saving h = 0 else h = ch end src_rect = Rect.new(0, h, cw, ch) @bitmap.blt(0,0, image, src_rect) @layout_02 = Sprite.new @layout_02.bitmap = @bitmap @layout_02.z = 3 @layout_02.y = 370 end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate @background.bitmap.dispose @background.dispose @layout_01.bitmap.dispose @layout_01.dispose @layout_02.bitmap.dispose @layout_02.dispose @bitmap.dispose super dispose_item_windows end #-------------------------------------------------------------------------- # * Return to Original Screen #-------------------------------------------------------------------------- def return_scene if @from_title $scene = Scene_Title.new elsif @from_event $scene = Scene_Map.new else $scene = Scene_Menu.new(4) end end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_menu_background update_savefile_windows update_savefile_selection check_start_index end #-------------------------------------------------------------------------- # * check_start_index #-------------------------------------------------------------------------- def check_start_index return if @check_prev_index == false @check_prev_index = false check_active_window end #-------------------------------------------------------------------------- # * check_active_window #-------------------------------------------------------------------------- def check_active_window @index = 0 if @index == nil for i in 0...@file_max @pw = @index - 1 @pw = 0 if @pw > @file_max - 1 @pw = @file_max- 1 if @pw < 0 @aw = @index @nw = @index + 1 @nw = 0 if @nw > @file_max - 1 @nw = @file_max - 1 if @nw < 0 case @savefile_windows[i].file_index when @pw,@nw @savefile_windows[i].visible = true @savefile_windows[i].contents_opacity = 100 when @aw @savefile_windows[i].visible = true @savefile_windows[i].contents_opacity = 255 else @savefile_windows[i].visible = false end end end #-------------------------------------------------------------------------- # * Create Save File Window #-------------------------------------------------------------------------- def create_savefile_windows @pw_pos = [-160,32] @aw_pos = [-96,160] @nw_pos = [-32,288] @savefile_windows = [] for i in 0...@file_max @savefile_windows[i] = Window_SaveFile.new(i, make_filename(i)) @savefile_windows[i].z = 2 @savefile_windows[i].visible = false @savefile_windows[i].x = 400 end check_active_window @item_max = @file_max end #-------------------------------------------------------------------------- # * Dispose of Save File Window #-------------------------------------------------------------------------- def dispose_item_windows for window in @savefile_windows window.dispose end end #-------------------------------------------------------------------------- # * Update Save File Window #-------------------------------------------------------------------------- def update_savefile_windows update_slide_window for window in @savefile_windows window.update end end #-------------------------------------------------------------------------- # * update_slide_window #-------------------------------------------------------------------------- def update_slide_window @background.ox += 1 slide_window_x(@pw,@pw_pos[0]) slide_window_x(@aw,@aw_pos[0]) slide_window_x(@nw,@nw_pos[0]) slide_window_y(@pw,@pw_pos[1]) slide_window_y(@aw,@aw_pos[1]) slide_window_y(@nw,@nw_pos[1]) end #-------------------------------------------------------------------------- # * slide_window_x #-------------------------------------------------------------------------- def slide_window_x(i,x_pos) if @savefile_windows[i].x < x_pos @savefile_windows[i].x += 15 @savefile_windows[i].x = x_pos if @savefile_windows[i].x > x_pos end if @savefile_windows[i].x > x_pos @savefile_windows[i].x -= 15 @savefile_windows[i].x = x_pos if @savefile_windows[i].x < x_pos end end #-------------------------------------------------------------------------- # * slide_window_y #-------------------------------------------------------------------------- def slide_window_y(i,y_pos) if @savefile_windows[i].y < y_pos @savefile_windows[i].y += 15 @savefile_windows[i].y = y_pos if @savefile_windows[i].y > y_pos end if @savefile_windows[i].y > y_pos @savefile_windows[i].y -= 15 @savefile_windows[i].y = y_pos if @savefile_windows[i].y < y_pos end end #-------------------------------------------------------------------------- # * reset_position #-------------------------------------------------------------------------- def reset_position(diretion) check_active_window case diretion when 0 @savefile_windows[@pw].y = -64 @savefile_windows[@pw].x = 0 when 1 @savefile_windows[@nw].y = 440 @savefile_windows[@nw].x = 0 end end #-------------------------------------------------------------------------- # * Update Save File Selection #-------------------------------------------------------------------------- def update_savefile_selection if Input.trigger?(Input::C) determine_savefile elsif Input.trigger?(Input::B) Sound.play_cancel return_scene else last_index = @index if Input.trigger?(Input::DOWN) cursor_down(Input.trigger?(Input::DOWN)) if @file_max > 2 reset_position(1) else reset_position(0) end end if Input.trigger?(Input::UP) cursor_up(Input.trigger?(Input::UP)) reset_position(0) end if @index != last_index Sound.play_cursor @savefile_windows[last_index].selected = false @savefile_windows[@index].selected = true end end end #-------------------------------------------------------------------------- # * Confirm Save File #-------------------------------------------------------------------------- def determine_savefile if @saving Sound.play_save do_save else if @savefile_windows[@index].file_exist Sound.play_load do_load else Sound.play_buzzer return end end $game_temp.last_file_index = @index end #-------------------------------------------------------------------------- # * Move cursor down #-------------------------------------------------------------------------- def cursor_down(wrap) if @index < @item_max - 1 or wrap @index = (@index + 1) % @item_max end end #-------------------------------------------------------------------------- # * Move cursor up #-------------------------------------------------------------------------- def cursor_up(wrap) if @index > 0 or wrap @index = (@index - 1 + @item_max) % @item_max end end #-------------------------------------------------------------------------- # * Create Filename #-------------------------------------------------------------------------- def make_filename(file_index) return "Save#{file_index + 1}.rvdata" end #-------------------------------------------------------------------------- # * Select File With Newest Timestamp #-------------------------------------------------------------------------- def latest_file_index index = 0 latest_time = Time.at(0) for i in 0...@file_max if @savefile_windows[i].time_stamp > latest_time latest_time = @savefile_windows[i].time_stamp index = i end end return index end #-------------------------------------------------------------------------- # * Execute Save #-------------------------------------------------------------------------- def do_save file = File.open(@savefile_windows[@index].filename, "wb") write_save_data(file) file.close return_scene end #-------------------------------------------------------------------------- # * Execute Load #-------------------------------------------------------------------------- def do_load file = File.open(@savefile_windows[@index].filename, "rb") read_save_data(file) file.close $scene = Scene_Map.new RPG::BGM.fade(1500) Graphics.fadeout(60) Graphics.wait(40) @last_bgm.play @last_bgs.play end #-------------------------------------------------------------------------- # * write_save_data #-------------------------------------------------------------------------- def write_save_data(file) characters = [] for actor in $game_party.members characters.push([actor.character_name, actor.character_index, actor.level,actor.face_name, actor.face_index]) end $game_system.save_count += 1 $game_system.version_id = $data_system.version_id map_name = $game_map.name @last_bgm = RPG::BGM::last @last_bgs = RPG::BGS::last Marshal.dump(characters, file) Marshal.dump(map_name, file) Marshal.dump(Graphics.frame_count, file) Marshal.dump(@last_bgm, file) Marshal.dump(@last_bgs, file) Marshal.dump($game_system, file) Marshal.dump($game_message, file) Marshal.dump($game_switches, file) Marshal.dump($game_variables, file) Marshal.dump($game_self_switches, file) Marshal.dump($game_actors, file) Marshal.dump($game_party, file) Marshal.dump($game_troop, file) Marshal.dump($game_map, file) Marshal.dump($game_player, file) end #-------------------------------------------------------------------------- # * read_save_data #-------------------------------------------------------------------------- def read_save_data(file) characters = Marshal.load(file) map_name = Marshal.load(file) Graphics.frame_count = Marshal.load(file) @last_bgm = Marshal.load(file) @last_bgs = Marshal.load(file) $game_system = Marshal.load(file) $game_message = Marshal.load(file) $game_switches = Marshal.load(file) $game_variables = Marshal.load(file) $game_self_switches = Marshal.load(file) $game_actors = Marshal.load(file) $game_party = Marshal.load(file) $game_troop = Marshal.load(file) $game_map = Marshal.load(file) $game_player = Marshal.load(file) if $game_system.version_id != $data_system.version_id $game_map.setup($game_map.map_id) $game_player.center($game_player.x, $game_player.y) end end end
$mog_rgssvx_scene_file = true
|
| | | 2010-12-29, 10:54 | Re: Script Sulit |
---|
fachiru Sherlockian
Posts : 634 Thanked : 6 Engine : RMXP Skill : Beginner Type : Writer
| tergantung, itu script apaan emang? biasanya diatas "main" oiya jangan pake spoiler, pake code aja |
| | | 2010-12-29, 10:58 | Re: Script Sulit |
---|
shikami Member 1000 Konsep
Posts : 3744 Thanked : 31 Engine : Multi-Engine User Skill : Beginner Type : Developer
Awards:
| oh ini CMS ya ? anda harus bikin design gambar manu dulu kk terus gambarnya di rename # Background.png # Save_Character_Floor.png # Save_Layout01.png # Save_Layout02.png # Save_Window01.png # Save_Window02.png terus dimasukkin ke folder graphic/system game kk anyway salah kamar, mod/min ! |
| | | 2010-12-29, 11:02 | Re: Script Sulit |
---|
fachiru Sherlockian
Posts : 634 Thanked : 6 Engine : RMXP Skill : Beginner Type : Writer
| bajak dikit @shi itu bisa dijelasin ga gambar yg harus dibuat kayak apa? comot ah, btw credits ke siapa nih? |
| | | 2010-12-29, 11:02 | Re: Script Sulit |
---|
dnasman
Admin Kodok Ganteng Indonesia™
Posts : 1361 Thanked : 21 Engine : RMXP Skill : Intermediate Type : Event Designer
Awards:
| Salah kamar *moved to RGSS2 Script Support*thnx |
| | | 2010-12-29, 11:03 | Re: Script Sulit |
---|
rizkhi04 Advance
Posts : 311 Thanked : 2 Engine : RMVX Skill : Beginner Type : Artist
| @fachri tu script buat mengubah tampilan saat load-save, tau ga cara masukinnya...? udah di coba berkali-kali tapi ga bisa juga(ga berubah tampilannya). @shikami sori ngga liat kamar tadi , udah d rename, udah di masukin di folder yg di maksud, tp ttp ga bisa juga...! ini link scripnyahttp://atelier-rgss.com/RGSS/Menu/VX_Menu08.html |
| | | 2010-12-29, 11:11 | Re: Script Sulit |
---|
Erojiji Godfather of Lolicon RMID
Posts : 348 Thanked : 7 Engine : RMVX
Awards:
| Download saja demonya yg ada di link tadi, seharusnya sih memang tinggal masukin script diatas main dan masukan gambar yg dibutuhkan kedalam folder Menus (buat folder baru) |
| | | 2010-12-29, 11:22 | Re: Script Sulit |
---|
bungatepijalan Moe Princess
Posts : 1487 Thanked : 30 Engine : Multi-Engine User Skill : Intermediate Type : Developer
Awards:
| Bener juga yang dikatakan Rusty, tinggal utakatik dan contohin aja yang demonya. So IMO case solved! |
| | | 2010-12-29, 11:27 | Re: Script Sulit |
---|
rizkhi04 Advance
Posts : 311 Thanked : 2 Engine : RMVX Skill : Beginner Type : Artist
| tadi sya buat folder menu di dalam folder gamenya, betul ga...? ato jangan-jangan di dalam folder RPGVX yg ada di program files...! |
| | | 2010-12-29, 11:32 | Re: Script Sulit |
---|
bungatepijalan Moe Princess
Posts : 1487 Thanked : 30 Engine : Multi-Engine User Skill : Intermediate Type : Developer
Awards:
| @^ Tempat gambar khan? Ya tempatnya di: <direktori game anda>\Graphics\Menus
thanks. |
| | | 2010-12-29, 11:39 | Re: Script Sulit |
---|
rizkhi04 Advance
Posts : 311 Thanked : 2 Engine : RMVX Skill : Beginner Type : Artist
| Ttp ga bisa...! bisa tolong di coba ga...! |
| | | 2010-12-29, 12:15 | Re: Script Sulit |
---|
fachiru Sherlockian
Posts : 634 Thanked : 6 Engine : RMXP Skill : Beginner Type : Writer
| cek foldernya, namanya Menus bukan? terus gambar yg di system harus ada |
| | | 2010-12-29, 12:53 | Re: Script Sulit |
---|
Erojiji Godfather of Lolicon RMID
Posts : 348 Thanked : 7 Engine : RMVX
Awards:
| Download demonya saja deh, terus copy seluruh folder graphic yg ada di demo ke project anda. Sebetulnya susah juga mau nolongin soale kurang jelas masalahnya dimana? Disini wa nda tau file mana saja yg blm dimasukan, scriptnya sudah bener masukannya blm, ada file yg salah tempat atau nda. |
| | | 2010-12-29, 13:38 | Re: Script Sulit |
---|
hart Senior
Posts : 805 Thanked : 38 Engine : Other Skill : Very Beginner Type : Developer
| Sudah saya coba, dan seperti kata yg lain, perlu memasukkan gambar2 yg dibutuhkan sesuai nama yg ditulis. Tapi, saya rasa masalah anda bukan itu, karena anda bilang jalan tapi sama aja tidak ada perubahan(tidak ada error sama sekali, kalau gk ada file yg dibutuhkan, pasti waktu milih save, bakal error). Ramalan saya yg jarang tepat mengatakan, anda salah menaruh scriptnya. Coba perhatikan lagi baik2 apakah anda sudah benar naruh scriptnya?(di atas main) Kalau ada error, sebaiknya tuliskan pesan errornya apa. |
| | | | Re: Script Sulit |
---|
Sponsored content
| | | | Similar topics | |
|
Similar topics | |
| |
Halaman 1 dari 1 | |
| Permissions in this forum: | Anda tidak dapat menjawab topik
| |
| |
Latest 10 Topics | [Web Novel] Gloria Infidelis 2016-11-17, 21:27 by LightNightKnight
[Announcement] Forum baru untuk RMID 2016-08-25, 16:39 by TheoAllen
Where I'm Wrong ? 2016-07-24, 16:10 by ReydVires
flakeheartnet's Resources part III 2016-07-08, 14:30 by flakeheartnet
Keira's Art Warehouse 2016-06-28, 19:27 by KeiraBlaze
Theo Core Time System + Bingung 2016-06-27, 16:24 by Lockin
Error Script, Maybe ? 2016-06-27, 16:20 by Lockin
Nusaimoe @ RMID Lounge 2016-06-21, 05:02 by Jihad Bagas
Call Random Battle 2016-06-15, 17:04 by Lockin
Flakeheartnet Resources Part II [come back gift] 2016-06-07, 15:51 by flakeheartnet
|
Statistics
|
Members: [ 4947 ]
Topics: [ 8258 ]
Posts: [ 112606 ]
Newest member: [ https://rmid.forumotion.net/u4968 ]
|
|
|
|
|
|