Hướng Dẫn làm 1 game HarvestMoon từ A > Z bẳng RPG maker VX Nguồn - Gamevn Bạn là 1 fan của game HM ? Vậy bạn có bao giờ nghĩ đến việc tự tạo cho mình 1 game y như phong cách của bạn chưa ? Tôi thì có , tôi mang ý định đó suốt 4 năm nhưng cuối cùng vẫn không thực hiện được ? Tôi tự hỏi tại sao Vâng, nếu tôi biết thì tôi đã ko tự hỏi ,nếu tôi tự hỏi thì có nghĩa là tôi ko biết, nhưng tôi mong khi tôi viết bài này , có một ai đó sẽ giúp tôi tìm ra câu trả lời ,và hoàn thành ý định đó hộ tôi Các bạn có thể chẳng biết làm game thế nào cả ? các bạn chẳng biết gì về code hay graphic PTS gì cả, nhưng đừng lo, cái cần nhất mà game maker cần là ý tường , bản thân tôi lại thiếu cái đó .(có thể đây là 1 lý do mà tôi ko thể hoàn thành project này đc ) Thôi thì dài dòng văn tự quá rồi , chương trình tôi sử dụng để làm game là Rpg maker VX Các bạn có thể down nó tại http://www.mediafire.com/?mzjnla2mwwy Ccòn nữa, trước khi bắt đầu xin các bạn vui long đọc hết những gì tôi đã viết trong topic này http://forum.gamevn.com/showthread....g-dan-nhung-dieu-co-ban-nhat-cua-RPG-maker-VX Tuy đó ko phải hướng dẫn làm 1 game thể loại HM nhưng lại chứa yếu tố rất cần thiết là cơ bản cho mọi thể loại ,và nếu các bạn ko đọc bài đó thì tôi nghĩ tôi sắp nói gì dưới đây chắc các bạn cũng ko hiểu ! ----------------------------------------------------- Tổng hợp những hệ thống của 1 game HM cần có Chúng ta bắt đầu thống kê nhé : 1. Thời gian 2. TV 3. Tình cảm với các cô gái (chàng trai) 4. Chăn nuôi 5. Trồng trọt 6. Thời tiết 7. Nấu nướng Còn gì nữa không nhỉ ? Tôi nghĩ cũng tạm đủ rồi, tôi sẽ hướng dẫn các cậu làm tất cả 7 chức năng này, 7 chức năng này là nền móng buộc phải có của 1 game HM nếu các bạn tạo đc 7 hệ thống này, việc tạo 1 game HM chỉ còn là vấn đề thời gian …… ---------- Post added at 15:41 ---------- Previous post was at 15:29 ---------- Thời gian Cái bạn cần ở đây là script , script là 1 đoạn code 1 ,loại ngôn ngữ dành riêng cho RPG maker dùng để mở rộng hay tạo 1 số hệ thống cho game Bây giờ tôi cần script thời gian ở đây tôi cùng đọan code này : Copy đoạn code này Mã: #============================================================================== # ● Script Function Calls #------------------------------------------------------------------------------ # ● $kts.stop - Stops time (can be used for cutscenes) # ● $kts.go - Resumes time (don't forget to use this!) # ● $kts.sec(n) - progresses time forward (n) seconds # ● $kts.min(n) - progresses time forward (n) minutes # ● $kts.hours(n) - progresses time forward (n) hours # ● $kts.days(n) - progresses time forward (n) days # ● $kts.jump_to_hour(n) - progresses time forward TO the specified hour. #============================================================================== # ● Game Database Setup #------------------------------------------------------------------------------ # This script, by defult, uses the following game variables and switches: # Database Variables: # [1] The Current Time [4] The Current Hour # [2] The Current Second [5] The Current Day # [3] The Current Minute [6] Name of the Current Day # Database Switches # [1] ON during night hours (2200-0400)(10pm-4am) # [2] ON during dawn hours (0500-0800)( 5am-8am) # [3] ON during daytime hours (0900-1800)( 9am-6pm) # [4] ON during sunset hours (1900-2100)( 7pm-9pm) #============================================================================== #============================================================================== # Stores variables and user defined settings for the time system. #============================================================================== module KTS #----------------------------------------------------------------------- # User Definable Clock Settings #----------------------------------------------------------------------- # Sets the speed multiplier of the clock. 1 is real time. A higher # value will give you a faster clock. Default is 100. SPEED = 60 #AMPM (True: 12-hour clock, False: 24-hour clock) AMPM = true # Sets the time at the start of your game. START_HOUR = 9 START_DAY = 1 #----------------------------------------------------------------------- # If you want custom day names, edit away! #----------------------------------------------------------------------- DAY_NAMES = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"] #----------------------------------------------------------------------- # Settings for Time Periods #----------------------------------------------------------------------- T1 = [ 0,5 ] # Night # Sets time periods for tinting effects T2 = [ 6,8 ] # Dawn # [Start Hour, End Hour] for time period T3 = [ 9,18] # Day # Use 24-hour values for time periods T4 = [19,21] # Sunset T5 = [22,24] # Night # <- Ex: Night is between 23:00 and 24:00 #----------------------------------------------------------------------- # Settings for Output to Game Variables option. #----------------------------------------------------------------------- # Set this to true to output the current time to game variables. DATABASE_OUTPUT = true # Game Variable to be used for time output. TIME = 101 #(Time in string format. Ex: "2:48 AM" or "02:48") SECONDS = 102 MINUTES = 103 HOURS = 104 DAYS = 105 DAYNAME = 106 # Game Switches to be used for time output. NIGHT = 17 # This switch is on during night hours (2200-0400)(10pm-4am) DAWN = 18 # This switch is on during dawn hours (0500-0800)( 5am-8am) DAY = 19 # This switch is on during daytime hours (0900-1800)( 9am-6pm) SUNSET = 20 # This switch is on during sunset hours (1900-2100)( 7pm-9pm) #----------------------------------------------------------------------- # Settings for time controlled screen toning #----------------------------------------------------------------------- TONE_SWITCH_ID = 40 # True will enable screen toning to be used by the script. USE_TONE = true # Sets the duration of tone changes (in frames) FADE_LENGTH = 120 # Defines tones to be used in the corresponding time periods defined above. # RED, GREEN, BLUE, GREY C1 = Tone.new(-187, -119, -17, 68) C2 = Tone.new( 17, -51, -102, 0) C3 = Tone.new( 0, 0, 0, 0) C4 = Tone.new( -68, -136, -34, 0) C5 = Tone.new(-187, -119, -17, 68) # Defines anti-tones A1 = Tone.new( 187, 119, 17, -68) A2 = Tone.new( -17, 51, 102, 0) A3 = Tone.new( 0, 0, 0, 0) A4 = Tone.new( 68, 136, 34, 0) A5 = Tone.new( 187, 119, 17, -68) end #============================================================================== # Core Time System Engine #============================================================================== class Kylock_Time_System # sets instance variables def initialize $kts_map_data = load_data("Data/MapInfos.rvdata") @event_offset = (KTS::START_HOUR * 3600) + (KTS::START_DAY * 86400) @kts_stop = false $kts_event_tone = false $kts_battle_tone = true $kts_anti_tone = Tone.new(0,0,0,0) end # Computes current time and updates variables if used def update if !@kts_stop @total_seconds = (Graphics.frame_count * KTS::SPEED / 60) + @event_offset @seconds = (@total_seconds) % 60 @minutes = (@total_seconds / 60) % 60 @hours = (@total_seconds / 3600) % 24 @days = (@total_seconds / 86400) update_tint if KTS::DATABASE_OUTPUT $game_variables[KTS::TIME] = getTime end end end def update_variables $game_variables[KTS::SECONDS] = @seconds $game_variables[KTS::MINUTES] = @minutes $game_variables[KTS::HOURS] = @hours $game_variables[KTS::DAYS] = @days $game_variables[KTS::DAYNAME] = getDayName end def update_switches if @period == 1 || @period == 5 $game_switches[KTS::NIGHT] = true else $game_switches[KTS::NIGHT] = false end if @period == 2 $game_switches[KTS::DAWN] = true else $game_switches[KTS::DAWN] = false end if @period == 3 $game_switches[KTS::DAY] = true else $game_switches[KTS::DAY] = false end if @period == 4 $game_switches[KTS::SUNSET] = true else $game_switches[KTS::SUNSET] = false end end def getTime if KTS::AMPM # Formats a 12-Hour Clock if @hours > 12 hours1 = @hours - 12 if hours1 > 9 time = sprintf("%02d:%02d" + " PM", hours1, @minutes, @seconds) else time = sprintf("%01d:%02d" + " PM", hours1, @minutes, @seconds) end else if @hours > 9 time = sprintf("%02d:%02d" + " AM", @hours, @minutes, @seconds) else time = sprintf("%01d:%02d" + " AM", @hours, @minutes, @seconds) end end #------------------------------------------------------------------------------- # 12-Format Fix by the unsung bard #------------------------------------------------------------------------------- # if @hours == 12 # time = sprintf("%01d:%02d:%02d" + " PM", @hours, @minutes, @seconds) # end # if @hours == 0 # time = sprintf("%02d:%02d:%02d" + " AM", "12", @minutes, @seconds) # end #------------------------------------------------------------------------------- return time else # Formats a 24-Hour Clock time = sprintf("%02d:%02d:%02d", @hours, @minutes, @seconds) return time end end #----------------------------------------------------------------------- # Script Command Functions #----------------------------------------------------------------------- def stop @time_stopped = @total_seconds @kts_stop = true end def go total_seconds = (Graphics.frame_count * KTS::SPEED / 60) + @event_offset @event_offset -= (total_seconds - @time_stopped) @kts_stop = false end def sec(sec = 0) @event_offset += sec end def min(min = 0) @event_offset += min * 60 end def hours(hours = 0) @event_offset += hours * 3600 end def days(days = 0) @event_offset += days * 86400 end def jump_to_hour(jhour = 0) while @hours != jhour @event_offset += 1 $kts.update end end #----------------------------------------------------------------------- # Script Support/Misc Functions #----------------------------------------------------------------------- def getDayName weekday = (@days % KTS::DAY_NAMES.length) return KTS::DAY_NAMES[weekday] end #----------------------------------------------------------------------- # Screen Tone Functions #----------------------------------------------------------------------- def update_tint(duration = KTS::FADE_LENGTH) return if $BTEST unless $game_switches[KTS::TONE_SWITCH_ID] if KTS::USE_TONE && !$kts_event_tone && $kts_map_data[$game_map.map_id].outside_tint? if @hours >= KTS::T1[0] and @hours <= KTS::T1[1] @period = 1 screen.start_tone_change(KTS::C1,duration) $kts_anti_tone = KTS::A1 elsif @hours >= KTS::T2[0] and @hours <= KTS::T2[1] @period = 2 screen.start_tone_change(KTS::C2,duration) $kts_anti_tone = KTS::A2 elsif @hours >= KTS::T3[0] and @hours <= KTS::T3[1] @period = 3 screen.start_tone_change(KTS::C3,duration) $kts_anti_tone = KTS::A3 elsif @hours >= KTS::T4[0] and @hours <= KTS::T4[1] @period = 4 screen.start_tone_change(KTS::C4,duration) $kts_anti_tone = KTS::A4 elsif @hours >= KTS::T5[0] and @hours <= KTS::T5[1] @period = 5 screen.start_tone_change(KTS::C5,duration) $kts_anti_tone = KTS::A5 end else # no tone if indoors if !$kts_map_data[$game_map.map_id].outside_tint? screen.start_tone_change(Tone.new(0,0,0,0),duration) end end end end def screen if $game_temp.in_battle return $game_troop.screen else return $game_map.screen end end end class Spriteset_Map #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- alias kts_initialize initialize def initialize $kts.update_switches if !@kts_stop && KTS::DATABASE_OUTPUT $kts.update_variables if !@kts_stop && KTS::DATABASE_OUTPUT kts_initialize end end #============================================================================== # Instantly updates screen tone when a new map is loaded. #============================================================================== class Game_Map alias kts_setup setup def setup(map_id) kts_setup(map_id) $kts_event_tone = false $kts.update $kts.update_tint(0) end end #============================================================================== # Instantly updates screen tone when a battle starts. #============================================================================== class Spriteset_Battle alias kts_create_battleback create_battleback def create_battleback $kts.update_tint(0) kts_create_battleback end end #============================================================================== # Temporarily disables auto-toning if an event tints the screen. #============================================================================== class Game_Interpreter alias kts_Interpreter_command_223 command_223 def command_223 $kts_event_tone = true kts_Interpreter_command_223 end end #============================================================================== # Integrates the Time System into the Game System. #============================================================================== class Game_System # inits a KTS object alias kts_initialize initialize def initialize $kts=Kylock_Time_System.new kts_initialize end # Updates kts every game frame alias kts_update update def update $kts.update kts_update end end #============================================================================== # Scans Map Names for Toning #============================================================================== class RPG::MapInfo def name # Definition prevents location scripts from reading anything within eturn @name.gsub(/\[.*\]/) {""} # brackets, including the brackets end def original_name return @name end def outside_tint? return @name.scan(/\[KTS\]/).size > 0 # old regexp: return @name.scan(/[\KTS]/).size > 0 end end #============================================================================== # Sets up the time window for the menu. #============================================================================== class Window_KTS < Window_Base def initialize(x, y) super(x, y, 210, WLH + 52) refresh end def refresh self.contents.clear # Change "49" or "120" higher or lower to move the words horizontally # Change "32" higher or lower to move the words vertically self.contents.clear self.contents.font.color = Color.new(173, 255, 47, 255) self.contents.draw_text(4, 15, 75, 32, $kts.getDayName , 2) self.contents.draw_text(4, 15, 165, 32, $kts.getTime, 2) self.contents.draw_text(152, -8, 75, 32, $game_variables[10]) end def update super $kts.update self.contents.clear self.contents.font.color = Color.new(173, 255, 47, 255) self.contents.draw_text(4, 15, 75, 32,$kts.getDayName , 2) self.contents.draw_text(4, 15, 165, 32, $kts.getTime, 2) self.contents.draw_text(152, -8, 75, 32, $game_variables[10]) end end #============================================================================== # Adds the time window to the menu. #============================================================================== class Scene_Map < Scene_Base alias kts_start start def start kts_start @kts_window = Window_KTS.new(329,339) @kts_window.opacity = 0 end alias kts_terminate terminate def terminate kts_terminate @kts_window.dispose end alias kts_update update def update kts_update if $game_map.map_id != 14 and $game_map.map_id != 5 #map id clear @kts_window.update else @kts_window.contents.clear end end end #============================================================================== # Saves and Loads game time to/from save game file. #============================================================================== class Scene_File alias kts_write_save_data write_save_data def write_save_data(file) kts_write_save_data(file) Marshal.dump($kts, file) end alias kts_read_save_data read_save_data def read_save_data(file) kts_read_save_data(file) $kts = Marshal.load(file) end end bây giờ các bạn mở RPG maker VX ra có phải giao diện là thế này không Bạn ấn F11 Sau đó past đoạn script vừa copy vào trên script main sẳn có như thế này ở script này các bạn chỉ cần để ý đến line 35, 39 ,40 , 44 cái này kiến thức AV cấp 1 cũng hiểu nên tớ ko cần giải thích Và để ý line 59 > line 64 nữa , cái này tôi sẽ nói sau ! Việc chèn script tôi chỉ hướng dẫn 1 lần , các bạn nhớ kĩ đấy Rồi đây giờ vào game test thử xem đã có thời gian chưa ? Kết quả đây đúng ko ? ok rồi nhưng nhin dzầy nó xấu quá các cậu nhỉ thử dùng tấm graphic của tớ xem ! down tấm ảnh này về vất vào folder “pictures” Bây giờ tạo 1 common event với nội dung như thế này Common event này có tác dụng show cái bức ảnh clock các bạn vừa down về đó ra ngoài map khi switch 3 được bật Việc rất đơn giản bây giờ chúng ta chỉ cần làm cho switch 3 được bật làm thế nào à ? đây chỉnh autorun rồi xóa đi Kết quả tuyệt ko ? thấy cái số 0 kết chữ spring ko ? đó là số ngày , cái đó tôi thêm vào script gốc để phù hợp với thể loại game HM (thật ra thì tôi cũng thêm và chỉnh khá nhiều thứ vào script gốc rồi !) Các bạn muốn tăng số ngày chỉ cần thay đổi số “variable no.10” ok chứ ? Chưa xog, các bạn tưởng hệ thống thời gian trong HM nó đơn giản là tạo 1 cái clock bên ngoài map sao ? Ko phải đâu , script này có 1 hệ thống mà riêng riêng game HM rất cần đó là “thời gian có thể kích hoạt event” Nói đơn giản 1 cái shop chỉ được vào từ 9h sáng tới 2h trưa thôi , bây giờ phải làm thế nào? Yên tâm đã có tôi rồi : Ta tạo 1 common event với nội dung thế này Common event này có tác dụng kích hoạt swicth no.10 khi variable 104 của chúng ta lớn hơn hoặc = 8 và nhỏ hơn 15 , (tôi có bảo các bạn để ý line 59 > 64 trong script thời gian nhỉ, và variable “giờ” của chúng ta là no.104 đấy ) Nhìn hơi khó hiểu nhỉ, tự nhiên event kích hoạt từ 9h > 14h mà trong event này lại có số 15 và số 8 để tôi giải thích 1 chút từ 9h > 14 h có nghĩa là dưới 9h cái cửa đó ko vào đc nên có dấu < =8 số 15 cũng tương tự Các bạn hỏi sao ko để thẵng là 9 > 14 lun á , khổ lắm các bạn ạ , để như thế nó ko hoạt động mới chết ấy chứ, tôi cũng chả hỉu nổi cái scrit này nó lạ đời kinh khủng ) để common event này hoạt động ta phải kích hoạt switch 9 trước Để hiểu rõ tác dụng của commont event này ta thử nhé Tạo 1 ngôi nhà và tao 1 event cửa gồm 2 page với nội dung lần lượt là thế này test đi các chàng trai thế là xog phần thời gian demo ,tôi gửi file đính kèm bên dưới 6 phần còn lại mỗi ngày tôi sẽ viết 1 phần , hiện tôi đc nghỉ 1 tuần nên sẽ cố gắng hoàn thành việc này do ko thể thực hiện đc lời hứa làm project này đc
Tuy nói là mai Viết nhưng biết đâu mai tôi bận, nên giờ rảnh tôi viết luôn phần này các cậu cần những picture 2 picture bỏ vào folder character và 1 số pic bỏ vào picture xin mởi các bạn down bên dưới Hệ Thống TV & Thời tiết Hệ thống TV thì trong HM có bao nhiêu kênh ấy nhỉ ? thôi bao nhiêu kênh thì kệ nó đi nhưng quan trọng là 2 kênh _Thời Tiết _Tin tức Đúng ko nào ? kênh thời tiết là kênh dự báo mà ngày mai sẽ mưa hay nắng Còn kênh tin tức là kênh cho ta biết trong tháng này sẽ có những lễ hội nào chúng ta bắt đầu nào tôi vẽ 2 map map đầu tiên là map bên ngoài sẽ diễn tả thời tiết ngoài trời ! tôi tạo 1 event thế này 2 cái lệnh đầu chắc các bạn đã biết , tới lệnh thứ 3 thì đó có nghĩa là "nếu switch 12 = On thì ở map này sẽ có xuất hiện mưa" tạm thời là vậy qua map tiếp theo map trong nhà trong map này tôi có 3 event 1 event với nội dung thế này trong đây "kts.stop" tức là lệnh cho script thời gian ngừng hoạt động trong map này 1 cái giường để check thử thời tiết ,vì đây là dự báo mà, mai mới có mưa tức là tôi phải đi ngủ rồi cái dự báo mới ứng nghiệm cái giường tôi sẽ nói sau 1 event TV nội dung event là thế này đây là 1 event gồm 3 page page 1 tôi giải thích từng dòng nhé đầu tiên khi nhấp vào nó sẽ hiện picture "TV_Bat" sau đó cho bạn 2 chọn lựa 1 là chọn kênh "dự báo thời tiết" 2 là chọn kênh tin tức mà ở đây tôi đặt tên là "Trên từng kinh tuyến" nếu bạn chọn kênh "dự báo thời tiết" ở đây sẽ set random variable no.16 = 1 hoặc 2 nếu là 1 thì mai sẽ mưa còn nếu là 2 thì mai sẽ nắng lời thoại và hình show sẽ khác nhau , hết kênh tin tức thì đơn giản quá chúng ta chỉ cần liệt kê trong mùa này có những lễ hội gì, thế thôi ! nhưng tại sao lại cần đến 3 page , uhm tại vì nếu chỉ page 1 thì mỗi lần bật thì TV lại hiện 1 dự báo thời tiết khác nhau, thế thì hơi xàm , nên cần đến 3 page page thứ 2 được kích hoạt khi ngày mai trời nắng tức là variable no.16 = 1 với nội dung thế này tức là mai 100% là năng rồi bật cỡ nào cũng nắng thôi page 3 tương tự được kích hoạt nếu ngày mai trời mưa tức là variable no.16 = 2 bây giờ qua cái event giường nào ở event này về sau sẻ khá phức tạp vì nối các event lại với nhau rất nhiều nhưng hiện giờ thì chỉ cần cái thời tiết thôi nên nội dung là thế này bắt đầu từ dòng $kts.go nhé , vì trong nhá ban đầu đã đặt 1 event là $kts.stop để thời gian ko chạy nữa rồi nếu ko thêm lệnh $kts.go thì sẽ bị đứng màn hình khi chạy event đấy variable 10 + 1 là để ngày qua 1 số (0 >1) bây h tới phần nếu thì này nếu variable 16 = 2 tức là xem dự báo thời tiết mà có mưa ấy thì switch 12 ON , tức là switch mưa sẽ ON event mưa bên ngoài map kia sẽ hoạt động test đi các chàng trai xog thêm 2 hệ thống nữa nhé, dzậy là chỉ còn vài cái thôi
Bây h là 3h sáng , tôi lại viết hướng dẫn làm hệ thống tiếp theo cho project này đó là hệ thống tình cảm , ở đây là với các cô gái để làm được điều này cần có 1 ic của character lúc cầm quà và 1 pic lúc character ko cầm quà ở đây tôi dùng 2 ảnh này Hệ Thống Tình Cảm nói tới tình cảm trong HM thì chúng ta phải nói tới việc tặng quà làm tăng chỉ số tình cảm của cô gái lên , sau đó là tới các event ở các map tùy theo mức độ tình cảm của các cô gái đó bây h tôi có 2 map như bài Tut thứ 2 map 1 là trong 1 ngôi nhà có 1 cái giường, vâng trong HM bất cứ sự kiện nào cũng liên quan đến cái giường, xin chú ý dùm cái giường có nhiệm vụ gì trong hệ thống này tôi sẽ nói sau : và 1 cái rương , cái rương này là để lấy 2 món quà cho cô gái ở map thứ 2 map thứ 2 1 cô gái tróng trong map này thế này ,đầu tiên tạo 1 event cô gái (các bạn có thể thêm hệ thống thời gian bào cho cô gái ở event này nhưng tôi thì ko nhắc lại nữavì tut này chủ yếu là tình cảm thôi) Tôi có 5 page cho event này như sau page đầu tiên , khi cô chả có tình cảm j` với cậu cả để làm được điều này tôi cần 1 chỉ số variable cho nv này khi variable nv này = 0 thì mặt lạnh như băng page thứ 2 cũng như page 1 bây h cô bắt đầu có cảm tình với cậu page 3 như page 2 có điều tình cảm đã ra hoa kết trái page thứ 4 bắt đầu là page cậu cầm quà ở đây cần có switch "cầm quà" được bật rồi mới thực hiện lệnh trong event này Nhưng cầm quà thì trong HM có nhiều loại, nông sản , rác , vâng vâng .... ở Tut này tôi chỉ làm đơn giản 2 loại đó là quà tặng đc , và rác Bắt đầu thực hiện face này thì ta cần có item tạo 1 item thứ 1 là "item tặng đc" nội dung như sau chú ý những gì tôi khoanh tròn trong ảnh item này khi sử dụng sẽ dẫn đến 1 common event vậy bây giờ ta sẽ tạo 1 common event nội dung như sau : tức là sau khi sử dụng item này thì switch cầm quà sẽ được bật , switch cầm cà rốt-item tặng đc sẽ được bật và switch item rác sẽ off item thứ 2 làm tương tự nhớ làm common event tới page 5 của event cô gái , đâu có vụ 1 ngày tặng 2-3 lần nhỉ , để giới hạn tình cảm làm game chơi lâu hơn tôi chỉ cho 1 ngày tặng đc 1 lần thế là tôi tạo thêm 1 switch xog bây giờ quay lại map 1 có cái giường, qua ngày mới thì tiế tục tặng quà đc đúng ko , vậy thì event nội dung cái giường sẽ là thế này chỉ cần thêm cái dòng này xog rồi, test thử coi các chàng trai
4h sáng, gamevn lag quá Hệ Thống Chăn Nuôi Bắt đầu nào, tôi có 3 map Map thứ nhất là map trong nhà mình, map này có event "cái giường" là đủ Vâng tôi đã nói event "cái giường" là event nối kết mọi event của HM kể cả cái hệ thống trồng trọt mà mai tôi sẽ viết Map thứ 2 là map bên ngoài ngôi nhà ,map này chỉ cần những cái event cửa để vào chuồng thôi Map thứ 3 là map chuồng bò Trong map này có 3 event 1.là con bò 2.là máng đựng lúa bò sẽ ăn 3.là khay chứa thức ăn cho bò nắm được chưa đầu tiên ta làm khay đựng thức ăn cho bò : _Thường thì trong HM chúng ta sẽ mua lúa, và lúa đc chuyển tới khay đựng thức ăn cho bò, nếu hết lúa thì ko thể lấy lúa từ khay ra đc OK tôi bắt đầu làm Set 1 variable : "thức ăn cho bò" bắt đầu tạo 1 event khay đựng thức ăn cho bò với 2 page Page đầu tiên là khi số lúa = 0 tức là hết lúa rồi variable "thức ăn cho bò" = 0 Page thứ 2 là khi số lúa còn lớn hơn 0 nếu như vậy thì bắt đầu hiện câu hỏi "Lấy bao nhiêu" và bạn set giá trị đó số item đó sẽ đc add vào item inventory của bạn để làm được điều đó, tôi lại cần thêm 1 variable nữa đó là "số thức an bò muốn lấy" là cái số bạn sẽ nhập vào nếu cái số đó mà lớn hơn số "thức ăn cho bò" có sẵn thì xuất hiện thông báo ko đủ còn nếu nhỏ hơn hoặc = thì số lúa vào item inventory của bạn sẽ = với "số thức ăn cho bò muốn lấy" cuối event nhớ set lại variable "số thức ăn bò muốn lấy = 0" nhé bạn xem event để hiểu thêm tới phần event máng cũng đơn giản thôi, cái bạn cần là 1 graphic máng ăn event này gồm 3 page page 1 - trắng page 2 - là page thức hiện event khi bạn kích hoạt switch "cầm thức ăn cho bò" tức là khi bạn nhấn vào item "lúa" phần này tương tự phần tôi đã hướng dẫn ở trên "Hệ thống tình cảm", tạo 1 item lúa cũng tương tự như thế ở đây có 4 con bò nên phải phân switch ra các bạn hãy xem nội dung event để biết thêm chi tiết page 3 - thực hiện change graphic khi switch "cho bò x ăn rồi" = ON Bây h tới event con bò cũng đơn giản thôi, cái bạn cần là grahic 1 con bò, hình như vx có sẵn event này gồm 2 page page 1 là page con bò chưa đc ăn tức là switch đc ăn chưa đc ON page 2 là page đc ăn rồi nên cho quyền lấy sữa bò nhưng ko phải lúc nào cũng lấy đcn nên hải đặt switch cho nó, event ngắn và cũng rất đơn giản , các bạn có thể tự hiểu chứ bây h trở lại map 1 , phần cái giường bạn chỉ cần thêm cái switch "chưa lấy sữa bò x" = On và "cho bò x ăn rồi" = Off là xong
mệt quá , bài này lúc nãy tôi viết rồi đột nhiên mất điện phải viết lại thôi thì tôi cũng ráng viết lại để đúng chỉ tiêu bản thân đề ra Hệ Thống Trồng Trọt hệ thống này yêu cầu bạn phải có 1 số graphic về cây , đất lúc chưa tưới nc và lúc tưới đc rồi và 1 số animation lúc nv thực hiên động tác đào bất, tưới cây ..... và cũng nói trc , hệ thống này là 1 cực hình với các bạn vì trong 1 mảnh đất lớn thì có vô số mảnh đất nhỏ mà mỗi mảnh đất nhỏ này là 1 event khác nhau cho nên mảnh vườn càng rộng thì bạn sẽ càng mệt ở đây tôi có 2 map map thứ 1 là map vườn , nơi trồng trọt map thứ 2 là map nhà - map có event cái giường ý -.- map 1. do ko có thời gian nên tôi chỉ làm 2 mảnh đất nhỏ tức 2 event còn lại thì tương tự event này gồm 15 page , sẽ còn tăng nếu như số cây trồng bạn phong phú page thứ 1 gồm 2 điều kiện chủ yếu 1.nếu bạn còn sức - mp > 0 ở đây tôi tạo 1 variable mp (sức lực bạn có) nếu như mp này = 0 bạn ko thể thực hiện lệnh tiếp theo @tôi nói rõ là mp là 1 variable ko phải là cái mp mặc định game cho sẵn đâu 2.nếu bạn có trang bị cây cuốc , tức là nếu ko cầm cây cuốc bạn ko thể thực hiện động tác đào đất đc và khi đào đất xog bạn hãy set seft switch A cho nó = ON chỉ có vậy ở page này dài là do tôi bày vẽ thêm animation và 1 số điều kiện khác page thứ 2 (khi switch A = on) tức là khi thực hiện động tác đào đất xog event này sẽ hoạt động, ở đây tôi thay đổi graphic cho nó giống như đã đào đất xog , bây giờ đào đất xog chúng ta sẽ làm gì , chúng ta sẽ gieo hạt tạo 1 item "hạt giống x" và làm event này giống như ở Tut hệ thống tình cảm vậy ở page này có x đều kiện (x = số hạt giống có trong game của bạn) xem kĩ page này variavble no.501 = 10 : ở đây tôi set khi gieo trồng mỗi lại thì variable này sẽ tăng khác nhau 501 là số variable tôi dùng cho event này 10 là số để tôi nhận biết tôi đã gieo hạt giống nào Khi gieo mỗi hạt giống thì số variable thay đổi khác nhau , tôi khuyến khích bạn tăng 10 với mỗi hạt giống khác nhau switch 401 ....406 = Off : khi cầm 1 bịch hạt giống, nếu bạn làm theo cách tôi đã chỉ ở Tut tình cảm , thì 1 switch phải on để thực hiện common event đúng ko , sau khi sử dụng xog hạt giống thì tôi cho off nó tức là ko còn cầm hạt giống nữa hãy xem page 3 ( nếu variable 501 = 10) ở page này tôi có 3 điều kiện 1.nếu bạn trang bị bình nước (để tưới) thì thực hiện điều kiện tt 2.nếu mp bạn >= 1 thì bạn thực hiện dk tiếp theo 3.nếu 2 điều kiện trc đó bạn thỏa nhưng nước trong bình bạn = 0 thì ..... 2 đk đầu chắc các bạn hiểu , điều kiện 3 thì chỉ cần set cho 1 variable nước trong bình = mấy đó khi bạn đi hứng nước ở 1 cái giếng nào đó nếu bạn thực hiện đc động tác tưới nc thì + cho variable đó thêm 1 ở đây là variable 501 = 1 và switch 501 = ON ( đây là gì , đố các bạn , yes , đây là page khi bạn đã thực hiện xog động tác tưới nc) đây là page cuối của event bây giờ xem tiếp trang 4 rất đơn giản nếu mỗi ngày bạn tưới 1 phát qua 4 ngày khi variable của nó = 14 thì bạn sẽ thực hiện đc hành động thu hoạch khi thu hoạch hãy set lại cho variable 501 = 0 và switch cũng dẹp đi , bạn cũng có thể set seft switch A = off luôn để nó đào lại rồi mới đc trồng bắt đầu từ page 5 thì tương tự với loại hạt giống khác bây giờ lảm event tiếp theo , tôi đã nói ở mạnh đất lớn thì 1 mãnh đất nhỏ là 1 event khác nhau nên tôi sẽ hướng dẫn bạn làm tương tự copy cái event mới làm vào mảnh đất lớn chỗ khác (khuyến khích đặt kế nhau) page 1 y chang page từ page 2 chỗ nào có số variable 501 change hết thành 502 ko chừa chỗ nào còn = 501 cả xog các event khác làm tương tự h tới map cái giường ở map 2 chắc các bạn biết phải làm gì rồi nhỉ , mỗi làn tưới nc thì ta chi switch 501 = ON h chỉ cần off nó thôi(ko phải chỉ 501 nha nếu bạn càng nhìu đất thì số switch phải off cũng tăng theo đó) test đi các chàng trai