Hướng dẫn cho người mới làm quen với RPG Maker 2003

Thảo luận trong 'Lưu Trữ' bắt đầu bởi Seiya, 30/3/03.

  1. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Hừ, bất công thiệt công mình sưu tầm thía này mà cộng cho một tí exp >_<, chuối wá, ke ke (hic, nói nhỏ thui không pa grevie nghe thấy thì chít a).

    Bài viết dưới đây và một loạt các bài viết khác là của một bạn tên Le tam bên ttvon, tôi thực sự kinh ngạc về sự kiên nhẫn cũng như giỏi đốt thời gian như bác ấy, tôi ngồi post một bài dài như zậy chắc chít wá, hic. Nhưng nói chung thì những bài viết về các đoạn scrip dưới đây rất là hay, ai có thật sự yêu thích rpg maker thì hãy nên xem, nó sẽ làm cho game của các bạn không thua kém bất kì một game nào khác của các hãng game nổi tiếng cả, tôi tin chắc vậy, chúc các bạn thành công.

    1- Blue Magic/Enemy Skill
    Blue magic là khả năng học các phép thuật của các monster (Enemy Skill). Blue magic được bắt đầu trong loạt game Final Fantasy, từ FF5.
    Bước 1: Tạo 2 Switch [xxxx:monster_name], [xxxx:Blue] và 1 Variable [xxxx:Blue_learn]. Kế tạo một Skill là "Blue magic", đặt nó là Switch, nối với [xxxx:Blue]. Cho một nhân vật của bạn học được khả năng này khi ở Lv1
    Bước 2: Vào Monster Group, tạo một group chỉ có một monster (vd: Orc), tạo một Skill cho monster mà bạn có thể học (vd: Poison Attack)
    Bước 3: Tạo phần Battle Event như sau:
    + Trang 1:
    -Trigger: Enemy chara [1:Orc] Hp[1~100] (monster phải còn sông cái đã ^^ )
    -Phần command:
    <>FORK Optn:1:Orc-ActionPsb
    <>Change Switch: [xxxx:Orc]-On Set
    <>FORK Optn:Varbl[xxxx:Blue_learn]-3
    <>Messg: Zack already learned Orc''s Skill !
    <>Change Switch: [xxxx:Orc]-Off Set
    :ELSE case
    <>Variable Ch:[xxxx:Blue_learn]Set, Random{1*2]
    :End case
    :End case
    +Trang 2:
    -Trigger: Switch [xxxx;Blue] -On (bạn phải sử dụng "Blue magic" cái đã)
    -Phần command:
    <>FORK Optn:1:Orc-ActionPsb (monster phải tấn công bạn)
    <>Select Face Graphic: Eras (xóa Face <???>)
    <>Messg: Zack try to learn Orc''s Skill !
    <>FORK Optn: Switch:[xxxx:Orc]-On
    <>FORK Optn:Varbl[xxxx:Blue_learn]-1
    <>Messg: Zack learned Poison Attack!
    <>Change Skill: Zack-Poison Attack->Memory
    <>Variable Ch:[xxxx:Blue_learn]Set, 3
    :ELSE case
    <>Messg: Zack failed !
    :End case
    :END case
    :End case
    <>Change Switch: [xxxx:Orc]-Off Set
    <>Change Switch: [xxxx:Blue]-Off Set
    <>

    2-Summon magic
    a-Calling a monster bạn muốn có 1 Skill để gọi một monster chiến đấu cùng với bạn ?? Hãy xem qua phần này.
    Bước 1: Tạo 2 Switch [xxxx:Summon], [xxxx:SummonSuccessFul] . Kế tạo một Skill là "Summon Monster", đặt nó là Switch, nối với [xxxx:Summon], đánh dấu chọn ô Battle thôi. Cho một nhân vật của bạn học được khả năng này khi ở Lv1.
    Bước 2: Tạo thêm ở phần Hero trong Database các monster mà bạn muốn summon. Thiết lập các chỉ số Hp, Mp, Att, Def....
    và tốt nhất là để Initial Lv = Max Lv ( cái này dùng để cho monster không nhận nhận được EXP nào sau mỗi trận đấu, cũng như không tăng LV như các nhân vật chính được)
    Bước 3: vào Monster Group menu, tạo một battle event như sau:
    + Trang 1 :
    Trigger: Switch[xxxx:Summon] is ON (Hero phải sử dụng "Summon Monster" cái đã)
    <>Fork Condition: [xxxx:SummonSuccessful] - OFF
    <>Show Message: "The summon was successful!"
    <>Change Hero''s Party: Monster->Add ( thêm monster vào nhóm của bạn)
    <>Change Switch: [xxxx:SummonSuccessful] ON ( ngăn bạn không thể summon 1 monster nào khác)
    <>
    :ELSE Case
    <>Show Message: Already summoned a monster!
    <>
    :END Case
    + Trang 2:
    Trigger: Switch[xxxx:SummonSuccessful]-ON; [Monster''s] HP[ 0%] (summon thành công và monster đã die)
    <>Change Hero''s Party: Monster->Remove (bỏ monster khỏi nhóm)
    <>Change Switch: [xxxx:SummonSuccessful] OFF (cho phép bạn gọi một monster khác)
    <>
    Bước 4: đây là bước hoàn tất, nhằm bỏ monster ra khỏi nhóm sau khi trận đấu kết thúc.
    -Tạo một common event "RemoveMonster", đặt Start condition là "Auto Start" và Condition Switch[xxxx:SummonSuccessFul].
    -Phần command event bạn làm giống như trang 2 của battle event
    <>Change Hero''s Party: Monster->Remove
    <>Change Switch: [SummonSuccessful] OFF
    Đó là những bước cơ bản để tạo nên một skill summon monster. Bạn có thể tạo thêm phép gọi bao nhiêu monster hay là summon ngẫu nhiên một monster cũng được.

    To be continued...
     
  2. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Oa a a, ngáp ngắn ngáp dài gòi nè, hic T_T, mỗi việc post bài thui mà ngại wá đi mất, nhưng vẫn mún làm, kím tí exp ^^, ke ke.

    Yep, như đã bảo ở trên bài này vẫn của bạn Le tam, hướng dẫn bạn cách tạo một số mini game quen thuộc, khá hay và hoàn thiện, các bạn có thể tham khảo thêm.

    1-Dice game

    Trò chơi này khá dơn giản. Bạn đặt cược sau đó cùng với đấu thủ lần lượt ném xí ngầu. Nếu ai được 7 hoặc 11 điểm thì thắng. Nếu bạn thắng thì sẽ nhận lại số tiền đặt cược đồng thời nhận thêm số tiền của đấu thủ. Ngược lại thì mất số tiền đó.

    Bạn cần có 3 variable và 2 switch:
    - 1 Variable đặt tên là "Dice game" (hay bất cứ cái gì tuỳ bạn) để quyết định số điểm đạt được sau mỗi lần ném xí ngầu.
    - 1 Variable tên là "Bet" ghi nhận số tiền đặt cược.
    - 1 Variable tên là "Money'' ghi nhận số tiền bạn có.
    - 1 Switch tên là "My turn" cho kết quả của bạn.
    - 1 Switch tên là "His turn" cho kết quả của đấu thủ

    Bước 1: bạn tạo một page có event command sau:

    >Messg: Bạn có muốn chơi một trò chơi nhỏ với tôi không?
    <>Show Choice: Yes/No
    :[Yes] Case
    <>Messg: Xin hãy đặt cược!
    <>Variable Ch:[xxxx:Money]Set, Money#
    <>Input Number: 3 dg.[xxxx:Bet]
    <>FORK Optn:Varbl[xxxx:Money]-V[xxxx] less than
    <>Messg: Xin lỗi, bạn không đủ số tiền đặt cược.
    :ELSE Case
    <>Messg: Được rồi chúng ta sẽ bắt đầu.
    : :Nếu bạn được 7 hay 11 điểm thì bạn sẽ thắng.
    : :Ngược lại thì tôi giữ lấy \v[xxxx] GP của bạn. Hiểu chứ?
    <>Change Switch: [xxxx:My turn]-ON set
    <>
    :END Case
    :[No] Case
    <>Messg: Ồ!
    <>
    :END Case
    <>

    Bước 2: tạo một trang mới với Event Conditions:
    <>switch: "My Turn."
    <>Variable Ch:[xxxx:Dice game]Set, Randm[2*12]

    Kế đó bạn tạo cho mỗi kết quả có được từ 2-6, 8-10, 12 một đoạn sau: (với xx là số điểm đạt được)

    <>FORK Optn:Varbl[xxxx:Dice game]-xx
    <>Messg: Tôi được xx! Tiếc quá!
    <>Change Switch: [xxxx:His turn]-ON set
    <>Change Switch: [xxxx:My turn]-OFF set
    <>
    :END case

    Sau đó bạn tạo 2 đoạn cho trường hợp được 7 và 11 điểm:

    <>FORK Optn:Varbl[xxxx:Dice game]-xx
    <>Messg: Ha ha, tôi được xx! tôi thắng rồi!
    <>Messg: Bạn thật may mắn. /v[xxxx] GP của tôi nè!
    <>Change Money: Money V[xxxx] Incr.
    <>Change Switch: [xxxx:His turn]-OFF set
    <>Change Switch: [xxxx:My turn]-OFF set
    <>
    :END case

    Tiếp bạn tạo một trang mới cho "His turn",copy phần trên chỉ sửa lại "My turn" thành "His turn"

    Từ 2-6, 8-10, 12:

    <>FORK Optn:Varbl[xxxx:Dice game]-xx
    <>Messg:Tôi được xx! Tiếc quá!
    <>Change Switch: [xxxx:My turn]-ON set
    <>Change Switch: [xxxx:His turn]-OFF set

    Với 7 và 11:

    <>FORK Optn:Varbl[xxxx:Dice game]-xx
    <>Messg:Ha ha, tôi được xx! tôi thắng rồi! Tôi giữ lấy số tiền của bạn nhé!
    <>Change Money: Money V[xxxx]Decr.
    <>Change Switch: [xxxx:My turn]-OFF set
    <>Change Switch: [xxxx:His turn]-OFF set
    <>
    :END case


    Trò chơi này rất đơn giản nhưng nhờ có nó mà tôi hiểu thêm rất nhiều về variable, switch. Bạn có thể từ trò chơi này mà phát triển thành những mini-game phức tạp hơn, hấp dẫn hơn để RPG của bạn thêm phần thú vị.

    To be continued...
     
  3. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Tèn ten, thêm một mini game nữa của bạn Le tam, thật là hay phải không, tui cũng thấy vậy, ke ke nhưng không phải hay zì ấy mà là tui thấy hay vì có người chăm chỉ như bác ta, hic, giỏi wá ....

    Tiếp nhé ^^ :

    2-Hunting Game:
    Bạn có muốn trong game của mình có một trò chơi nhỏ săn thú như trong Breath of Fire 1,2 không? Nếu thích thì hãy đọc qua cái này:
    Bước 1: Bạn tạo một bản đồ mới dùng làm nơi săn bắn, không có monster xuất hiện, tôi đặt tên là "Hunt_map".
    Bước 2: Bạn tạo ra các món item thu được khi bắt được thú, mỗi loại thú nên có một item khác nhau. Nếu muốn bạn có thể tạo nhiều món item cho 1 loại thú....Và bạn cần phải có hình ảnh của loại thú đó.
    Bước 3: tôi lấy ví dụ là tôi có hình con bò, tôi tạo ra một item là "Thit bo" chẳng hạn. Vào "Hunt_map", tạo một event mới.
    -Select Graphic: chọn hình con bò.
    -Movement type: Chọn Random Movement hay Step away from Hero... tuỳ bạn
    -Event Start Condition: Push key hay là On touch Hero
    -Position: Same Level as Hero
    Bạn cần có 1 Switch là "Xoa_event_1"
    Ở phần Event Command:
    <>Messg: ban thu duoc 1 Thit bo!
    <>Add/Remove item:Thit bo ->1Incr.
    <>Change Switch:[xxxx:Xoa_event]-On set
    <>
    Tiếp bạn tạo một trang mới với:
    Event Condition:
    -Switch:[xxxx:Xoa_event_1]
    Phần select graphic bạn xoá hình con bò đi.
    Như vậy là bạn đã có trên Hunt_Map một con bò để săn lấy "Thit bo". Nếu muốn có nhiều con hơn thì bạn tạo thêm nhiều event tương tự chỉ cần tạo thêm các switch "Xoa_event".

    Tuy chỉ là một mini-game dơn giản nhưng nó cũng khá thú vị phải không? Các bạn có thể thêm thắt nhiều hơn để tạo thành một mini-game tuyệt vời như là: tạo ra một số item quý, có xác suất săn được rất thấp; bọn thú chỉ xuất hiện vào những giờ nhất định, chỉ săn được trong khoảng thời gian giới hạn; tăng thêm tốc độ di chuyển của thú săn để tạo độ khó hơn.....

    To be continued...
     
  4. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Có vẻ như các bạn đang ngồi ở nhà chọc ngoáy cái rpg maker tung trời lên gòi ấy chứ nhỉ sau khi đọc xong những bài trên, đừng vội, bởi còn rất nhiều sự thú vị đang dọn dần ra cho các bạn rồi đấy, hãy từ từ mà nhấm dần, các bạn sẽ trở thành những cao thủ trong rpg maker ngay thôi mà, ke ke.

    3-Dating system:
    Nếu bạn có chơi những trò như Thousand Arms, Harvest moon thì cũng rỏ dating là gì nhỉ?? Cái này không thể gọi là mini-game được, là sub-quest thì đúng hơn. Nếu bạn thích thêm vào trong Rpg của bạn phần "cua gái" thì hãy đọc qua cái này nhé.
    Bước 1: Bạn phải quyết định xem có bao nhiêu cô gái (hay chàng trai nếu nhân vật của bạn là nữ ^^) bạn "cua" được. Tạo cho mỗi cô một variable để ghi nhận lại điểm tình cảm của cô ta với bạn.
    Bước 2: bạn tạo một loạt các sự kiện như một cuộc thi, tặng hoa quà... để tăng điểm tình cảm này...
    Bước 3: tạo ra những sự kiện hẹn hò khi đạt được một số điểm nào đó....
    Sau đây là phần ví dụ của tôi, chỉ có 1 event để cho bạn dễ hiểu:
    -Tạo một bản đồ gọi là "dating_map" để làm nơi hẹn hò.
    -1 variable có tên là "Mari" cho cô gái tên Mari mà tôi sẽ cua.
    -tạo một event có hình của cô ta, mọi Event Start Condition đều là Push key.
    + Trang đầu tiên, phần Command event có thể như sau;
    <>Variable Ch:[xxxx:Mari]Set,0
    <>Messg: Who are you?
    <> Show choice: I''m Zack/Hum...
    : [I''m Zack] Case
    <>Variable Ch:[xxxx:Mari]+,1
    <>
    : [Hum...] Case
    <>Messg: ....
    <>
    : End case
    <>
    + Tạo một trang mới có Event Condition là:
    Variable:[xxxx:Mari]
    [1] [same]
    Phần Command event như sau:
    <>FORK optn:PotionItem Got
    <>Messg: Thank!
    <>Variable Ch:[xxxx:Mari]+,4
    :End case
    <>
    +Tạo thêm trang thứ ba có Event Condition là:
    Variable:[xxxx:Mari]
    [5] [same]
    Phần Command event như sau:
    <>Teleport: xxxx:dating_map(xxx.yyy)DirNone (xxx.yyy là toạ độ nhân vật bạn sẽ xuất hiện ở dating_map)
    -Sau đó vào dating_map, tao một event sau:
    <>Messg: I love you!
    <>Messg: I''m too!
    ( cái này là tuỳ bạn sáng tác thôi....)
    <>Messg: Go home
    <>Show choice: Yes/No
    : [Yes] case
    <>Teleport: xxxx:map00(xxx.yyy)DirNone (trở lại bản đồ cũ)
    <>Variable Ch:[xxxx:Mari]+,20
    :[No] case
    <>Messg: wait!
    :End case
    <>

    Như vậy là bạn đã có một event ngắn gọn để hẹn hò cùng một cô gái. Bạn có thể tạo nhiều sự kiện để có thể cua cô ta, hoặc là nhiều cô nữa cũng được. Hẹn hò với các cô gái sẽ khiến bạn thấy vui hơn ^^ Ngoài bạn có thể làm cho phấn dating này thêm phức tạp: muốn hẹn với cô ta thì phải có món item nào đó, tạo một bản câu hỏi chọn lựa để tăng hoặc giảm điểm tình cảm....

    To be continued...
     
  5. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Oh, my god, thật kinh dị, tui càng ngày càng thấy sợ bác Le tam zề cái sự ngồi dí bên máy tính gõ tành tạch mấy cái vụ này gòi đó, tui mà zầy chắc bỏ đi chơi đã, kệ bọn mem ^^, ke ke.

    Uhm, bài này hình như là hướng dẫn cho các bạn cách tạo, à không vẫn là một vài mini game khác, mời các bạn đón xem, mại zô ..

    4-Pac man:
    Đây là một mini game dựa trên trò chơi nổi tiếng Pacman.
    Trước hết, các bạn cần phải có:
    -Đối tượng tạm gọi là "gold" để thu thập.
    -Đối tượng "Power" để tặng sức mạnh, tiêu diệt các monster.
    -Đối tượng "Monster" làm vật cản, tiêu diệt bạn.
    -Có thể tạo thêm các đối tượng "Bonus" để thưởng thêm.
    - 1 Variable có tên "Pacman" để ghi nhận cho trò chơi.
    - 1 variable có tên "Power" để ghi nhận trạng thái power của nhân vật.
    - Các Switch "Xoa_gold_x" để xoá các event của các đối tượng "gold" tương ứng. (x là số gold có trong map)
    - các Switch "Xoa_power_x" để xoá các event của các đối tượng "power" tương ứng. (x là số power có trong map)
    - các Switch "Xoa_monster_x" để xoá các event của các đối tượng "monster" tương ứng. (x là số monster có trong map)

    Bước 1: tạo một bản đồ cho trò chơi nhỏ này, bạn cóthể thiết kế như các game Pacman thông thường.

    Bước 2: thêm vào bản đồ các event liên quan đến đối tượng "gold":
    - Trang 1: +có Event Start condition là: On hero Touch
    +Phần Command Event có thể như sau:
    <>Messg: Nhận được 10 GP
    <>Change Money: Money 10 Incr.
    <>Variable Ch:[xxxx:Pacman]+,1
    <>FORK Optn:Varbl[xxxx:Pacman]-x (x là số "Gold" có trong bản đồ)
    <>Messg: Chuc mung ban hoan tat tro choi nho nay
    <>Add/Remove Item:Potion->1 Incr. (bạn muốn tặng item gì cung được).
    <>Messg: ban nhan duoc 1 potion
    <>Teleport: xxxx:map_x(xxx.yyy)DirUp (trở về bản đồ cu)
    :Else case
    <>Change Switch: [xxxx:Xoa_gold_x]-On set
    :END case
    <>
    -Tạo trang 2 có Event Condition: Switch: [xxxx:Xoa_gold_x] On

    Bước 3: Thêm các sự kiện của đối tượng "Power"
    -Trang 1: +có Event Start condition là: On hero Touch
    +Phần Command Event có thể như sau:
    <>Messg: Nhận 1 Power
    <>Variable Ch:[xxxx:Power]Set,1
    <>Change Switch: [xxxx:Xoa_power_x]-On set
    -Tạo trang 2 có Event Condition: Switch: [xxxx:Xoa_power_x] On

    Bước 4: Thêm các đối tượng "Monster"
    -Trang 1: +có Event Start condition là: On hero Touch
    +Movement type: Random Movement/Step Toward Hero/Step away....
    +Phần Command Event có thể như sau:
    <>FORK Optn:Varbl[xxxx:Power]-1
    <>Variable Ch;[xxxx:Power]Set,0
    <>Change Switch: [xxxx:Xoa_monster_x]-On set
    <>
    :Else case
    <>Messg: Trò chơi chấm dứt!
    <>teleport: xxxx:map_x(xxx.yyy)DirUp (trở về bản đồ cu)
    <>
    :END Case
    <>
    -Tạo trang 2 có Event Condition: Switch: [xxxx:Xoa_monster_x] On


    Như vậy là bạn đã tạo xong phần cơ bản của mini_game Pacman này. Tất cả còn lại là do trí tưởng tượng của bạn thôi.

    To be continued...
     
  6. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Final fantasy 9, chắc hẳn các bạn nào đã từng chơi qua cũng đều biết đến cái mini game đào gà chết tiệt đã không ít phen làm bạn đau đầu nhức óc, mắt lòi cả ra phải không, hì, ở rpg maker bạn cũng có thể tạo ra một cái mini game i zậy không khéo lại còn oách hơn của bọn square soft chứ lị, ke ke.

    Bài viết dưới đây của bác Le tam sẽ hướng dẫn các bạn cách tạo ra nó, yeh :

    5-Đào Kho báu:
    Đây là mini_game tương tự như trò đào kho báu của FF IX. Nếu các bạn thích thì đọc qua nhé:
    Bước 1: trước tiên là tạo ra một item cho việc đào kho báu, tôi tạm gọi là "digger":
    -Classification: other
    -Equipment Possible Creation: nên chọn chỉ một mình nhân vật chính thôi.
    Sau đó tạo các Switch là "Mine", "ruong_x", "xoaruong_x" cho trò chơi nhỏ này.
    Bước 2: tạo một common event để kiểm tra nhân vật chính có trang bị "digger" hay không, đặt là "Check dig"
    -Event Start Condition: Parallel Process
    -Phần Command Event như sau:
    <>FORK Optn:[Hero''''s name]-diggerEquipped
    <>Change Switch: [xxxx:Mine]-On Set
    <>
    :ELSE case
    <>Change Switch: [xxxx:Mine]-Off Set
    <>
    :END case
    Bước 3: bạn tạo một event tại một chỗ bất kỳ trên bản đồ.
    -Trang 1: +Event Condition: Switch:[xxxx:Mine]-On
    +Event Start condition: Push Key
    +Select Graphic: để trống
    +Positon: below hero
    +Event Command:
    <>Change Switch: [xxxx:ruong_x]-On Set
    -Trang 2: +Event Condition: Switch:[xxxx:ruong_x]-On
    +Event Start condition: Auto Start
    +Select Graphic: chọn hình cái rương
    +Positon: Same Level as Hero
    +Event Command:
    <>Messg: bạn nhận được Potion
    <>Add/Remove Item:Potion->1 Incr.
    <>Change Switch: [xxxx:xoaruong_x]-On set
    <>Change Switch: [xxxx:ruong_x]-Off Set
    -Trang 3: +Event Condition: Switch:[xxxx:xoaruong_x]-Off Set
    +Select Graphic: để trống
    Bạn đã tạo ra được một cái rương kho báu để tìm rồi đấy. Bây giờ chỉ cần làm lại bước 3 để tạo ra các rương báu vật khắp bản đồ là được rồi. Nhớ là "ruong_x" và "xoaruong_x" phải tương ứng nhau. Và khi nào mà nhân vật chính mang "digger" thì trò chơi nhỏ này sẽ bắt đầu....
     
  7. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Hê, tôi chắc là các bạn đã từng chơi qua game baldur gate hay never winter night gòi chứ nhỉ, hay cho gần hơn nữa thì có lẽ là tactic orge : the knight of lodis gòi đúng không, thế các bạn có nhớ cái vụ chọn nhân vật hay chọn thuộc tính zà trường phái không, uhm, nhớ chứ và nhớ thì các bạn có muốn tạo ra nó không, có, tui tin các bạn sẽ gật đầu lia lịa ấy chứ, thì đây :

    1-Tuỳ chọn giới tính:
    - Bạn tạo hai nhân vật: 1 nam, 1 nữ.
    - Tạo một variable "gioitinh", một Switch "select_gt".
    - Tạo một event ở ngay nơi mà trò chơi sẽ bắt đầu có:
    +Event Start Condition: Auto Start
    +Phần command event khá dơn giản chỉ gồm 1 câu hỏi lựa chọn Nam/Nữ mà thôi. Bạn có thể để màn hình đen, một picture cung được.
    <>Show PIcture: 1,name,(xxx.yyy) (xxx,yyy là toạ độ điểm chính giữa của bức hình)
    <>Messg: ban chon gioi tinh :
    <>Show choice: Nam/Nu
    :[Nam] Case
    <>Variable Ch:[xxxx:gioitinh]Set,1
    <> (tôi mặc định là nam, nên không cần thay đỏi)
    :[Nu] case
    <>Variable Ch:[xxxx:gioitinh]Set,2
    <>Change Hero''''s Party:[nv nam]->Remv
    <>Change Hero''''s Party:[nv nu]->Add
    :End case
    <>
    Chú ý: các đoạn hội thoại trong game bạn phải thiết lập cho hợp lý đấy nhé ^^
    vd: FORK Optn:Vrbl[xxxx:gioitinh]-1
    <>Messg: Chào anh!
    :Else case
    <>Messg: chào cô!
    :END Case

    2-Tuỳ chọn thuộc tính (Element) nhân vật:
    -Bạn tạo ra các nhân vật có thuộc tính khác nhau (phép thuật/Skill khác nhau). Số nhân vật tuỳ theo số thuộc tính chọn lựa.
    -bạn chỉ cần tạo một event đơn giản như sau là được:
    <>Messg: What element do you want?
    <>Show Choices: Fire/Ice
    :[Fire] Case
    <>Change Heroes Party:AlexF-> Add
    <>Change Heroes Party:Alex-> Remv
    <>
    :[Ice] Case
    <>Change Heroes Party:AlexI-> Add
    <>Change Heroes Party:Alex-> Remv
    <>
    :End case
    <>
    Cách này rất đơn giản, bạn chỉ cần thiết kế các mẫu nhân vật cho một hero là được thôi.

    3-Tuỳ chọn Class cho nhân vật
    Nếu bạn đã làm được hai thứ trên thì cái này cũng dễ thôi.
    -Tạo một nhân vật, hiển nhiên rồi ^^ Nên để các chỉ số thấp để dễ thíết lập.
    -Bạn muốn chuyển đổi bao nhiêu class thì tạo ra bấy nhiêu Switch hay variable.
    -Cuối cùng là tạo một event để chọn lựa là xong.
    Vd:
    <>Messg:What do you want to be?
    <>Show Choices: Fighter/Mage
    :[Fighter] Case
    <>Change Hero Degree: Alex Degree - Fighter Set
    <>Change Switch: [####:fighter]-ON Set
    <>Chang.Ability:Alex Max HP->20Raise
    <>Chang.Ability:Alex Attack->20Raise
    <>Chang.Ability:Alex Defenc->20Raise
    :[Mage] Case
    <>Change Hero Degree: Alex Degree - Mage Set
    <>Change Switch: [####:MAge]-ON Set
    <>Chang.Ability:Alex Max MP->20Raise
    <>Chang.Ability:Alex Mnd ->18Raise
    :End case
    <>

    To be continue ....
     
  8. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Sáng ra, rồi lại tối, một số game có cái vụ đó, zậy bạn mún game mình có trời sáng gòi đêm dần, yeh, vậy thì các bạn hãy coi thử bìa viết dưới đây của bác Le tam coi ^^ :

    + Hệ thống thời gian
    Bạn cần có các Variable và switch sau:
    Variables:
    xxxx:Seconds
    xxxx:Minutes
    xxxx:Hours
    xxxx:Day
    Switches:
    xxxx:Day
    xxxx:Night
    xxxx:Lighting Effects
    Sau đó thì bạn tạo một Parallel Process - common event như sau:
    <>FORK Optn:[xxxx:Active_time]-On
    <> CYCLE
    <> Wait 1.0s.
    <> Variable Ch:[xxxx:Seconds] + , 1
    <> FORK Optn: Varbl[xxxx:Seconds]-60
    <> Variable Ch:[xxxx:Seconds] Set, 0
    <> Variable Ch:[xxxx:Minutes] + , 1
    <>
    :END Case
    <> FORK Optn: Varbl[xxxx:Minutes]-60
    <> Variable Ch:[xxxx:Minutes] Set, 0
    <> Variable Ch:[xxxx:Hours] + , 1
    <>
    :END Case
    <> FORK Optn: Varbl[xxxx:Hours]-24
    <> Variable Ch:[xxxx:Hours] Set, 0
    <> Variable Ch:[xxxx:Days] + , 1
    <> FORK Optn: Varbl[xxxx:Days]-8
    <> Variable Ch:[xxxx:Days] Set, 1
    <>
    :END Case
    <>
    :END Case
    <> FORK Optn:Switch[xxxx:Lighting Effects] - ON
    <> FORK Optn:Varbl[xxxx:Hours]-18
    <>Set Screen Tone [R040,G040,B040],1.0sec
    <>Change Switch:[xxxx:Day]-OFF Set
    <>Change Switch:[xxxx:Night]-ON Set
    <>
    :END Case
    <> FORK Optn:Varbl[xxxx:Hours]-7
    <>Set Screen Tone [R100,G100,B100],1.0sec
    <>Change Switch:[xxxx:Day]-ON Set
    <>Change Switch:[xxxx:Night]-OFF Set
    <>
    :END Case
    <>
    :END Case
    <>
    :END CYCLE
    :END case
    Vậy là khi bạn đã thiết lập thời gian thì event này sẽ được hoạt động.

    Thời tiết tự thay đổi:
    Bạn tạo một variable là "wheather". Sau đó tạo thêm một common event tên là "random_wheather", đặt nó là "Parallel Process", như sau:
    <>LABEL: 1NO
    <>Variable Ch:[0040:weather]Set, randm[0*225]
    <>FORK optn:Varbl[0040:weather]-2
    <>Call Weather Effect: Ra, Me
    <>Wait: 60.0s
    <>GOTOLabel: 1No
    <>
    :END Case
    <>

    Như vậy là bạn đã có được hệ thống thời gian, thời tiết, những gì bạn cần làm là điều chỉnh lại cho hợp lý: khi vào các ngôi nhà thì tắt hệ thống thời tiết và ngày đêm lại.....

    Và bạn tạo thêm cái này nữa, hic :

    -Bạn tạo các Varialbe "Seconds", "Minutes", "Hours", "Day" và 1 Switch "Active_time"
    -Tạo một Event sau:
    <>Messg:ban muon thiet lap thoi gian khong?
    <>Show Choices: Yes/No
    :[Yes]Case
    <>Change Switch: [xxxx:Active_time]-On Set
    <>variable Ch:[xxxx:Seconds]Set,0
    <>variable Ch:[xxxx:Minutes]Set,0
    <>variable Ch:[xxxx:Hours]Set,0
    <>variable Ch:[xxxx:Day]Set,1
    :[No]Case
    <>Change Switch: [xxxx:Active_time]-Off Set
    :END Case
    <>

    To be continue ....
     
  9. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Bạn zừa mí kiếm được 100 Gil. hic trên đường đầy rẫy nguy hiểm mà bạn không muốn mất nó tí nèo, gửi ngân hàng, cách tốt nhất mà bạn nghĩ ra lúc bấy giờ, ke ke ^^ nhưng để tạo được nó thì có lẽ ít ai biết đến, zậy thì bài dưới đây sẽ giúp bạn đó :

    Hệ thống ngân hàng:
    Bạn cần phải có các variable sau:
    - [xxxx:gold] để ghi nhận số tiền hiện có.
    - [xxxx:input_deposit] ghi nhận số tiền bạn định gửi.
    - [xxxx:deposit] ghi nhận số tiền bạn đã gửi.
    - [xxxx:input_withdraw] ghi nhận số tiền bạn định rút.
    Tạo một event như sau:
    -Event Start condition: Push key
    -Position: Same level as hero
    -Select Graphic: tuỳ chọn.
    -Event Command:
    <>Variable Ch:[xxxx:gold]Set, Money#
    <>Show choice: Deposit/Withdraw
    :[Deposit] case
    <>Messg: So tien hien co: /$
    <>Input Number: 6 Dg.[xxxx:input_deposit]
    <>FORK Optn:Varbl[xxxx:gold]-v[xxxx]above (xxxx là số thứ tự của variable "input_deposit")
    <>variable Ch:[xxxx:deposit]+, var[xxxx]val. (xxxx là số thứ tự của variable "input_deposit")
    <>Change money: money V[xxxx] Decr. (xxxx là số thứ tự của variable "input_deposit")
    <>Messg: cám ơn!
    <>
    :Else case
    <>Messg: ban khong du tien!
    <>
    :END case
    <>
    :[Withdraw] case
    <>Messg: dang giu \v[xxxx] (xxxx là số thứ tự của variable "deposit")
    <>Input number: 6 Dg.[xxxx:input_withdraw]
    <>FORK Optn:Varbl[xxxx:input_withdraw]-v[xxxx]less (xxxx là số thứ tự của variable "deposit")
    <>variable Ch:[xxxx:deposit]-, var[xxxx]val. (xxxx là số thứ tự của variable "input_withdraw")
    <>Change money: money V[xxxx] Incr. (xxxx là số thứ tự của variable "input_withdraw")
    :Else case
    <>Messg: ban khong du tien trong ngan hang!
    <>
    :END case
    <>Messg: cám ơn!
    <>
    :END case
    <>
    Và bây giờ bạn đã có một ngân hàng giữ tiền cho bạn. Chỉ cần copy event này và paste qua các map khác là bạn đã có một hệ thống ngân hàng trải rộng khắp thế giới RPG của bạn. Nếu thích bạn có thể tạo thêm hệ thống nhà kho lưu trữ các ietm của bạn.

    To be continue ....
     
  10. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Ồ ố ô, chrono cross zới hệ thống new game + khá là thú vị, vậy rpg maker có làm được không nhỉ, có chứ ^^, zậy bạn có muốn thử không, nếu mún thì hãy coi bài dưới đây :

    Bước 1: Tạo một game, hoàn tất nó ^^ Vào sự kiện cuối cùng của game bạn sẽ báo rằng "Bạn có muốn chơi lại không?" và đưa ra chọn lựa, chúng đơn giản thôi, giống như vd bên dưới:
    <> Message: Do you wish to start the game with New Game +?
    <> Show Choices: I’d like that, that I would./No, I’m fine, that I am.
    : [I’d like that, that I would.] Case
    <>
    : [No, I’m fine, that I am.] Case
    <>
    : End
    <>
    Bước 2: Bên dưới : [I’d like that, that I would.] Case, Bạn chuyển tất cả các Switch mà bạn có sang Off. Cách dễ nhất là dùng Switch Operations với 1 khoảng là 0001-5000 ( chắc là bạn không cần dùng đến hơn con số này chứ ^^),. Sau đó teleport nhân vật của bạn trở lại bản đồ đầu tiên. Nó giống như sau:
    <> Switch Operation: [0001 – 5000] OFF
    <> Teleport: 0001 : Beginning (001, 002), Retain Facing
    <>
    Bước 3: Bên dưới : [No, I’m fine, that I am.] Case, đơn giản là bạn chỉ chuyển về Title Screen
    <> Return to Title Screen

    Bước 4: Cuối cùng là bạn sẽ bỏ tất cả các item, giảm level nếu chọn chơi lại. (hoặc là không làm điều này, tuỳ bạn thôi)
    : [I’d like that, that I would.] Case
    < > Switch Operation: [0001 – 5000] OFF
    < > Teleport: 0001 : Beginning (001, 002), Retain Facing
    < > Change Level: Entire Party’s Level 98 Down
    < > Change Experience: Entire Party’s Experience 9999999 Remove

    Bạn sẽ có một event hoàn tất như sau:
    <> Message: Do you wish to start the game with New Game +?
    <> Show Choices: I’d like that, that I would./No, I’m fine, that I am.
    : [I’d like that, that I would.] Case
    <> Switch Operation: [0001 – 5000] OFF
    <> Teleport: 0001 : Beginning (001, 002), Retain Facing
    <> Change Level: Entire Party’s Level 98 Down
    <> Change Experience: Entire Party’s Experience 9999999 Remove
    <>
    : [No, I’m fine, that I am.] Case
    <> Return to Title Screen
    : End
    <>

    To be continue ....
     
  11. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Duel là gì ? Nếu như bạn có chơi Legion Saga hoặc là Suikoden thì sẽ biết qua kí nì. Một cách đơn giản, đó là trận đánh tay đôi, một đối một. Mỗi nhân vật chọn lựa một lệnh để đánh nhau, nó khá giống với trò Búa - Kéo - Bao ( vì thế bạn cung có thể sử dụng phần này cho mini game ấy ^^ ).
    Trước hết ta có 3 lệnh cơ bản: Dodge, Attack, Charge. Và quy luật sau:
    Charge thắng attack
    Dodge thắng Charge
    Attack thắng dodge.
    Nó không quá khó nhưng bạn phải biết chút ít về Fork, variable....
    Bước 1: bạn cần phải có 4 variable [xxxx:Hero HP], [xxxx:Enemery HP], [xxxx:Hero Attack], và [xxxx:Enemey attack]. Trong vd này thì cả hai đều có Hp=5. Kế bạn phải có 10 picture: hero có 5, 1 cho Hp=5, 1 cho Hp=4...., enemy cung tương tự. Kích thước thì tôi chọn là 50x50.
    Bước 2: tạo một bản đồ cho cuộc đấu này. Tạo một bản đồ khác, bản đồ này sẽ chứa event dẫn đến trận đấu của chúng ta. Tạo một event nơi đây, đại khái như
    <>Messg: Hey! Let''''s Duel
    <>Variable: [xxxx:Hero HP]Set,5
    <>Variable: [xxxx:Enemy HP]Set,5
    <>Teleport: duel_map(xxx.yyy)DirNone
    Bước 3: đây là phần chính, hy vọng nó sẽ không làm cho bạn nhức đầu ^^
    - Cho hiện cả hai picture Hero và Enemy có Hp=5, một cái bên trái và một bên phải. Bạn tự định toạ độ cho nó hợp lý nhé.
    - Bạn đặt một Label ở đây để có thể lặp lại các bước sau.
    - Bạn dùng lệnh Show choice như bên dưới:
    Attack - 1 damage
    Charge - 2 damage
    Dodge - 0 damage (nhưng với nhân vật dùng Charge thì sẽ nhận 1 damage)
    Status - (Không làm gì cả )
    -Ta bắt đầu với trường hợp dễ nhất:
    [Status] Case
    <>Messg: You have /v[xxxx] hp (xxxx là số thứ tự của variaable Hero HP)
    Sau đó, hãy quay lại Label.
    [attack] case
    Đặt variable Hero Attack=1, chọn ngẫu nhiên Enemy attack từ 1-3.
    Tạo 1 Fork condition với điều kiện là nếu Enemy Attack=1 (có nghĩa là bạn và đối thủ cùng chọn Attack) thì
    +Show Battle Animation hoặc làm bất cứ thứ gì bạn muốn.
    +Giảm 1 Hp của cả 2.
    ESLE case: tạo một FORK condition nữa, lần này Enemy attack=2
    +Show Battle Animation hoặc làm bất cứ thứ gì bạn muốn.
    +Giảm 1 Hp của cả enemy và giảm 2 Hp của bạn.
    ELSE case:tạo một FORK condition nữa, lần này Enemy attack=3
    +Không cho enemy di chuyển.
    +Chỉ giảm 1 Hp đối với Enemy.
    Quay lại Label. Bạn đã thấy mệt rồi chứ ^^
    [charge] Case
    Làm tương tự như trên, tất nhiên là lượng Hp của Enemy bị giảm lần này sẽ là 2.
    Trong trường hợp Enemy Attack=3 thì
    +Làm cho bạn đánh hụt.
    +Chỉ giảm 1 Hp đối với bạn.
    [Dodge]Case
    Làm tương tự nhưng lần này bạn sẽ đứng yên và chỉ có bạn bị giảm Hp mà thôi.
    Trong trường hợp Enemy Attack=2 thì
    +Làm cho enemy đánh hụt.
    +Chỉ giảm 1 Hp đối với đối phương.
    Xác nhận người chiến thắng:
    Tạo 1 FORK condition với điều kiện là Hp của bạn below 0 thì sẽ nói một vài câu đại khái như: "You lose" .v.v. và quay lại bản đồ cũ.
    Tạo 1 FORK condition với điều kiện là Hp của Enemy below 0 thì sẽ nói một vài câu đại khái như: "You win" .v.v. và quay lại bản đồ cũ.
    Đây chỉ là những gợi ý, chính bạn phải thực hiện chúng trong game của mình. Hy vọng bạn sẽ thấy vui với màn đánh đấm này.

    To be continue ....
     
  12. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Uhm, nói thía nèo nhỉ, trong FF7 có trò chơi nhỏ Chocobo betting, tạo ra nó cũng không quá khó và có thể dùng cho bất kỳ loại racing nào. Sau đây là cách thực hiện nó:

    -Trước hết là phải tạo một event để hỏi bạn có muốn đặt cược không.
    <>Messg: Do you want to bet on chocobos? Each bet costs 200 coins.
    <>Show Choice: Yes/No
    [Yes] Case
    Change gold held: Remove 200 coins.
    [No] case
    <>
    Trong vd này chỉ có 2 racer, do đó bạn cần tạo cho mỗi racer 1 variable để ghi nhận tốc độ: [xxxx:Speed1],[xxxx:Speed2]. Giá trị của mỗi variable được chọn một cách ngẫu nhiên trong những giới hạn khác nhau. Vd: racer1: 100-150; racer2: 90-200. Tiếp đến bạn cho biết tốc độ của mỗi racer cũng như yêu cầu đặt cược:
    <>Variable: Ch[xxxx:Speed1]Set,Random{100*150]
    <>Variable: Ch[xxxx:Speed2]Set,Random{90*200]
    <>Messg: Racer1''''s speed: 100 - 150
    <>Messg: Racer2''''s speed: 90 - 200
    <>Messg: Choose chocobo to place bet on.
    <>Show choice: Racer1/Racer2
    Và bây giờ là phần quyết định kết quả:
    :[Racer1]Case
    <>FORK Optn:Varbl[xxxx:Speed1]-V[xxxx]Above (V[xxxx] là variable[xxxx:Speed2])
    <>Messg:You win!
    <>Messg: Choose prize:
    <>Show choice: (bao nhiêu phần thưởng tuỳ bạn)
    :ELSE case
    <>Messg: You lose!
    :End case
    Bây giờ bạn chỉ làm tương tự cho [Racer2]Case.
    Như vậy là bạn đã có một trò chơi đặt cược đơn giản. Bạn có thể làm thêm với nhiều racer hơn, thêm variable cho Stamina để trò chơi thêm sinh động. Nếu như bạn có thể kết hợp với mini-game Racing ở trên thì trò chơi Betting này sẽ cực kỳ hấp dẫn

    To be continue ....
     
  13. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Đua xe đê, đua xe đê, phá làng phá xóm đi pà con, ai mún đua thì vô đây học cách đua nèo, mại zô mại zô, khá hay đó ^^ :

    Bước 1: -Tạo một map, kích thước tuỳ ý.
    -Tạo một event:
    +Start condition: Push Key
    +Position: Same Level as hero
    +Command event có thể như sau:
    <>Messg: Race?
    <>Show choice: Yes/No
    :[Yes]Case
    <>Teleport: race_map(xxx.yyy)DirNone (race_map bạn sẽ tạo ở bước sau)
    :[No]Case <>(nếu muốn đặt tiền thì bạn thêm vào cho thích hợp)
    :End case
    Bước 2: -Tạo một bản đồ dùng cho cuộc chạy đua (race_map), kích thước bản đồ nên rộng lớn.
    -Bạn có thể thêm vào bất kỳ thứ gì trong bản đồ cho thích hợp nhưng đừng chạm đến phần trên cùng của bản đồ.
    -Tạo đường chạy: có hai cách
    +Một đường chạy chung cho tất cả các đối thủ.
    +Mỗi đối thủ có một đường chạy riêng được phân cách nhau.
    Việc tạo đường chạy như thế nào chỉ ảnh hưởng đến việc xác định kết quả lúc đến đích mà thôi.
    -Để cuộc đua thêm sôi động bạn có thể tạo thêm đám đông khán giả cổ vũ.
    Bước 3: -Tạo ra các đối thủ trên đường đua của bạn. Phần này rất quan trọng, ở đây tôi chỉ vd có một đối thủ mà thôi.
    -Tạo một event "runner1", Same level as Hero, Parallel Process, Select Graphic thích hợp, Movement type đặt là By It''''s Route. Vào Edit Route để thiết lập lộ trình theo đúng như đường chạy bạn đã thiết kế (điều này bạn phải tính toán thật kỹ. Nên đặt Frequency là 7 hoặc 8, Movement Speed ở mức 5, 6 cho thêm phần khó khăn.
    Bước 4: -Xác định người chiến thắng ở mức đến. Như đã nói ở trên, điều này phụ thuộc vào việc bạn thiết kế đường chạy như thế nào. Tôi chỉ lấy vd là các đối thủ chạy chung một đường.
    -Bạn cần có các variable sau:
    [xxxx:HeroX], [xxxx:HeroY] dùng để xác định vị trí Hero.
    [xxxx:runner1X], [xxxx:runner1Y] dùng để xác định vị trí runner1.
    [xxxx:target1X], [xxxx:target1Y] dùng để xác định vị trí mức đến 1. (do chạy chung 1 đường nên đường chạy sẽ có chiều rộng gồm nhiều ô ~~> đích đến cũng sẽ gồm nhiều ô).
    Và 2 Switch: [xxxx:Lose], [xxxx:Win]
    -Tạo một event "Target1" tại một ô ở đích đến, Position: Below, Start condition: Parallel Process.
    -Phần command có thể như sau:
    <>Variable Ch[xxxx:target1X]Set, this Event Xpos (X coordinate)
    <>Variable Ch[xxxx:target1Y]Set, this Event Ypos (Y coordinate)
    <>Variable Ch[xxxx:HeroX]Set, Hero Xpos
    <>Variable Ch[xxxx:HeroY]Set, Hero Ypos
    <>Variable Ch[xxxx:runner1X]Set, runner1 Xpos (X coordinate của event "runner1")
    <>Variable Ch[xxxx:runner1Y]Set, runner1 Ypos (Y coordinate của event "runner1")
    <>FORK Optn:Varbl[xxxx:target1X]-V[xxxx]Equivl (V[xxxx] chính là [xxxx:HeroX])
    <>FORK Optn:Varbl[xxxx:target1Y]-V[xxxx]Equivl (V[xxxx] chính là [xxxx:HeroY])
    <>Change Switch:[xxxx:Win]-On Set
    :END Case
    :END case
    <>FORK Optn:Varbl[xxxx:target1X]-V[xxxx]Equivl (V[xxxx] chính là [xxxx:runner1X])
    <>FORK Optn:Varbl[xxxx:target1Y]-V[xxxx]Equivl (V[xxxx] chính là [xxxx:runner1Y])
    <>Change Switch:[xxxx:Lose]-On Set
    :END Case
    :END case
    -Tạo 2 trang mới với Start Condition: Auto Start, Event Condition: Switch nối với [xxxx:Win] hoặc [xxxx:Lose]
    Command event như sau:
    <>Messg: You win! (hoặc You Lose! tuỳ theo switch)
    <>Teleport: .......trở về bản đồ trước.
    <>Change Switch: [xxxx:Win]- Off Set (hoặc [xxxx:Lose]-Off Set)
    -Tạo các event cho các ô còn lại ở đích đến tương tự như trên.
    -Tất nhiên là phần thưởng sau khi chiến thắng thì bạn phải làm thôi.
    -Đối với trường hợp các đối thủ chạy trên từng đường chạy khác nhau thì dễ hơn nhiều. Bạn chỉ cần ở đích đến mỗi đường chạy, xác định vị trí của runner đang chạy trên đường chạy đó mà thôi. Chẳng hạn như:
    <>Variable Ch[xxxx:target1X]Set, this Event Xpos (X coordinate)
    <>Variable Ch[xxxx:target1Y]Set, this Event Ypos (Y coordinate)
    <>FORK Optn:Varbl[xxxx:target1X]-V[xxxx]Equivl (V[xxxx] chính là [xxxx:runner1X])
    <>FORK Optn:Varbl[xxxx:target1Y]-V[xxxx]Equivl (V[xxxx] chính là [xxxx:runner1Y])
    <>Change Switch:[xxxx:Lose]-On Set
    :END Case

    To be continue ....
     
  14. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Uhm, nghịch mấy cái vụ này nhìu wá gòi, giờ chuyển sang các đoạn scrip magic nhé, tôi tin mấy phép đó rất có lợi và cần thiết trong các game rpg mà các bạn nên có, còn không vọc liền, ke ke :

    Scan Magic Phép Scan là một phép rất phổ biến trong loạt game FF. Tuy tôi không thích lắm phép thuật này nhưng nó cũng rất có ích với mọi người. Việc tạo ra Skill này cũng không có gì phức tạp cho lắm.
    -Trước tiên bạn cần phải tạo các Variable sau:
    MonsterHP
    MonsterMP
    MonsterMaxHP
    MonsterMaxMP
    MonsterAttack
    MonsterDefence
    MonsterMind
    MonsterAgility
    -Kế tạo một Skill gọi là "Scan", đặt Classification là Switch, nối với Switch [xxxx:ScanOn]
    -Trong Monster Party, tạo Battle Event như sau:
    Trigger:Switch[xxxx:ScanOn]-On
    <>Messg: \c[4][monster name]
    <>Messg: HP: \c[0] \v[MonsterHP]\\\v[MonsterMaxHP] \c[4]MP: \c[0] \v[MonsterMP]\\\v[MonsterMaxMP]
    <>Messg: \c[4]Weakness: [element] (Bạn có thể xem điều này trong phần Monster ở Database)
    <>Messg: \c[4]Resistance: [element] (Bạn có thể xem điều này trong phần Monster ở Database)
    <>Messg: \c[4]Attack: \c[0] \v[MonsterAttack]
    <>Messg: \c[4]Defence: \c[0] \v[MonsterDefence]
    <>Messg: \c[4]Mind: \c[0] \v[MonsterMind]
    <>Messg: \c[4]Agility: \c[0] \v[MonsterAgility]
    <>Messg: Mô tả: \c[4] (Bất kỳ thứ gì mà bạn muốn viết về con quái vật này)

    Tất nhiên đây chỉ mới có một monster mà thôi, bạn phải làm tương tự cho các monster còn lại. Một công việc đầy gian khổ ^^

    To be continue ....
     
  15. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Yahoo, lại típ tục zới các scrip zề magic chứ nhỉ, nhưng lần này là các time magic nhé, và đây, món ăn đầu tiên được dọn ra là .... đừng nhỏ zãi như thía chứ =P~, ke ke :

    Teleport: Khá đơn giản. Bạn chỉ cần làm như sau:
    Bước 1: Tạo một Skill là "Teleport" (hoặc bất kỳ cái tên nào bạn thích), đặt Classification là Switch, nối với Switch [xxxx:Teleport], đánh dấu chọn cả hai ô Battle và Field.
    Bước 2: Bạn tạo một event ở đâu đó trên bản đồ, mỗi bản đồ có một event, trừ những nơi mà bạn không muốn teleport đến ( nếu muốn teleport đến tất cả các bản đồ thì bạn chỉ cần tạo một common event)
    +Event Conditions "Switch: Teleport", và Start Condition là "Auto Start"
    +Phần command event chỉ đơn giản như sau:
    <>Teleport: Target_Map, target_location
    <>Change Switch: Teleport: OFF
    Bước 3: trong Battle event bạn sẽ tạo như sau, kết quả thu được là bạn sẽ thoát ra khỏi trận đánh và trở lại bản đồ cũ.
    <>Change Switch: Teleport: OFF ( cái này phải đặt trước Stop Battle nếu không thì nó sẽ tắt tất cả các event Teleport trên bản đồ)
    <>Stop Battle
    Nếu bạn không muốn thoát ra khỏi trong những trận đánh trùm thì có dùng làm như sau:
    <>Show Message: "Can''t Escape!"
    <>Change Switch: Teleport: OFF

    b-Demi: Demi là phép thuật làm giảm 1/4 Hp hiện có của enemy. Hầu như các con trùm đều không bị ảnh hưởng bởi phép này. Vd sau là dành cho một group có 4 monster, nếu ít hơn thì bạn hãy giảm lại cho thích hợp.
    Bước 1: Tạo một Skill là "Demi" (hoặc bất kỳ cái tên nào bạn thích), đặt Classification là Switch, nối với Switch [xxxx:Demi]
    Bước 2: tạo battle event như sau:
    <>Change Var: [DEMIMonster1] Set to [Monster 1''s HP]
    <>Change Var: [DEMIMonster2] Set to [Monster 2''s HP]
    <>Change Var: [DEMIMonster3] Set to [Monster 3''s HP]
    <>Change Var: [DEMIMonster4] Set to [Monster 4''s HP]
    <>Change Var: [DEMIMonster1] [/] (Divide) by 4
    <>Change Var: [DEMIMonster2] [/] (Divide) by 4
    <>Change Var: [DEMIMonster3] [/] (Divide) by 4
    <>Change Var: [DEMIMonster4] [/] (Divide) by 4
    <>Change Enemy''s HP : Monster 1''s HP - [DEMIMonster1] [Remove]
    <>Change Enemy''s HP : Monster 2''s HP - [DEMIMonster2] [Remove]
    <>Change Enemy''s HP : Monster 3''s HP - [DEMIMonster3] [Remove]
    <>Change Enemy''s HP : Monster 4''s HP - [DEMIMonster4] [Remove]
    <>Message: All enemies lost 25% of their HP!

    Bạn có thể tạo ra những phép thuật tương tự như làm giảm 1/2 Hp, Mp hay là làm cho Hp chỉ còn lại 1 .v.v.

    c- Những phép còn lại Các phép còn lại như Haste, Slow, Stop rất đơn giản nên tôi cũng không cần nói chi tiết lắm.

    Haste: -Tạo một Skill "Haste" có tác dụng lên "a single ally".
    -Basic Effect: 999
    -Variance, Hit Chance và Mind Chance nên giảm xuống còn 0 hết.
    -Làm cho nó tăng chỉ số "Agility"
    -Nên cho nó hoá giải các trạng thái "Slow" và "Stop" (sẽ nói đến bên dưới)
    Slow: -Tạo một condition/ailment là "Slow", đặt cho nó Combat Effect.
    -Làm cho nó giảm 1/2 chỉ số "Agility"
    -Tạo một Skill "Slow" gây ra trạng thái "Slow"
    Stop: -Tạo một condition/ailment là "Stop", đặt cho nó Combat Effect.
    -Action limitation nên đặt "Inside Battle". (dừng mọi hoạt động)
    -Tạo một Skill "Stop" gây ra trạng thái "Stop"

    To be continue ....
     
  16. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Hic, hum nay pác namff lại zừa mới post zô thêm một bài nữa rất cụ thể về ba lệnh chính là switch, variable và fork, tôi mong ai muốn làm game rpg thì hãy đọc kĩ bài này, hic.

    Bài viết dưới đây của bác namff hướng dẫn khá là đầy đủ đó, ai muốn xem thì chịu khó kiếm thời gian rảnh ngồi đọc bởi bài rất dài >< :

    SWITCH

    Switch là gì?
    Một switch chỉ có thể có một trong hai giá trị: 0 và 1. Một switch với giá trị 0 là “OFF”. Một switch với giá trị 1 là “ON”. Tất cả các switch, khi bạn lần đầu tạo một RPG, đều được tắt hết. Các switch ảnh hưởng đến RPG của bạn qua việc sử dụng các điều kiện (conditionals) switch trong bảng event. Nói nôm na thì cái switch, đúng như tên gọi của nó, chẳng qua cũng như một cái công tắc, bật nó lên thì event hoạt động, tắt đi thì event không hoạt động nữa.
    Các điều kiện switch là gì?
    Mở RPG maker 2k3 ra và tạo một event mới. Bạn sẽ thấy một danh sách các điều kiện dài kéo xuống dưới từ phía trên bên trái của bảng điều khiển (trong ô Event Conditión). Hai trong số các điều kiện này là switch. Nếu bạn đánh dấu vào ô bên cạnh mỗi điều kiện này, thì event chỉ hoạt động nếu switch tương ứng được bật lên (turn ON).

    Sử dụng các Switch như thế nào?
    Trong bảng lệnh của Event (event commands) có một lệnh tên là Change Switch. Nhấp vào đó, một hộp thoại với vài lựa chọn sẽ bung ra. Tôi xin liệt kê ra dưới đây:

    Choose Switches (Create Switch): cái này sẽ cho event biết switch nào để thay đổi. Có ba loại lựa chọn khác nhau:
    One: cho phép bạn đặt bất cứ switch nào bạn muốn, nhấp vào ô dấu “…” sẽ cho bạn một bảng danh sách các switch trong game của bạn (cả được sử dụng và không được sử dụng) và chọn một cái để thay đổi. Bạn cũng có thể đặt tên cho switch để dễ nhớ hơn và bạn cũng có thể tạo thêm switch mới trong bảng này. Các số ở đầu mỗi switch chính là số thứ tự của nó.
    Range: cho phép bạn thay đổi nhiều hơn một switch cùng lúc. Có tất cả hai số, số bên trái bắt buộc phải nhỏ hơn số bên phải và các số này chính là số thứ tự của các switch. Tất cả các switch ở giữa hai số này sẽ bị thay đổi. Ví dụ, khi bạn chọn số 5 cho bên trái và sô 9 cho bên phải, tất cả các switch có số thứ tự từ 5 đến 9 sẽ bị thay đổi.
    Variab: thay đổi switch dựa trên một variable (biến số). RPG Maker 2k3 sẽ đọc variable bạn chọn, sau đó thay đổi switch có số thứ tự tương ứng với variable đó. Đoạn dưới sẽ nói rõ về variable.

    Switch Operation: Phần này sẽ cho biết switch sẽ thay đổi như thế nào. ON nghĩa là switch sẽ được bật. OFF nghĩa là switch sẽ được tắt. ON/OFF nghĩa là switch sẽ tự bật tắt. Vậy đó, nếu switch ON thì nó bật, ngược lại nếu OFF thì nó tắt.

    Bạn có thể có được bao nhiêu switch?
    RPG maker 2k3 bắt đầu với mặc định là 100 switch. Nhưng bạn có thể tăng thêm tùy ý bằng cách nhấp vào ô Max Switches trong bảng điều khiển Switch. Bạn chỉ cần gõ vào một con số cho biết số tối đa mà bạn cần. Như một quy luật chung, một game khi hoàn thành chỉ nên chỉ định cho nó đủ số switch cần thiết. Vậy nếu bạn chuẩn bị tạo một đoạn demo, và bạn chỉ sử dụng 53 switch, hãy đặt con số tối đa là 53 thôi. Những cái nhỏ nhặt này sẽ giúp bạn giảm nhẹ dung lượng của trò chơi, tránh dư thừa không cần thiết.

    Các switch có hữu ích gì?
    Do switch chỉ có thể có một trong hai giá trị, bất cứ event nào chỉ có hai hàm có thể sử dụng nó. Điều gì đó như là một NPC nói điều gì khác đi so với lần đầu trong lần thứ hai bạn nói chuyện với anh ta, một rương báu vật sẽ trống rỗng sau khi bạn lấy đi món đồ trong đó hay một hoạt cảnh mà chỉ xuất hiện một lần.
    Sau đây tôi xin đưa một ví dụ đơn giản về cách dùng switch để tạo một chiếc rương báu vật:
    Tạo một event mới. Hình đại diện là một chiếc rương báu vật chưa mở nắp, Event Start Conditon là Push Key, Position là Below Hero, tất cả những cái khác để nguyên. Trong bảng lệnh, bạn đưa vào một Message: “1 potion”, một lệnh Change Item Held có nội dung sau: Operation: Add; Add/Drop Item: Potion; Constant: 1. Cuối cùng là lệnh Change Switch, trong đó bạn tạo một switch mới tên là Treasure Box hay tên gì để tiện nhớ về sau, turn ON.
    Tạo một event mới bằng cách nhấp vào ô New Page ở dòng đầu bảng điều khiển Event. Lần này bạn chọn hình đại diện là một chiếc rương đã mở nắp, các chọn lựa khác như event đầu tiên. Ở phần Event Conditons bạn đánh dấu vào phần Switch (một cái thôi) chọn switch Treasure Box. Trong bảng lệnh bạn đưa vào một Message: “Nothing”. Xong rồi đó, bây giờ thử coi thành quả mình làm xem.

    VARIABLE:

    Variable là gì?
    Không giống như switch, variable có thể là bất cứ giá trị nào, số dương và cả số âm. Vì vậy ngược lại với switch chỉ có thể là ON hoặc OFF, variable có thể là ON, có thể là OFF hoặc bất cứ chỗ nào trong khoảng giữa đó. RPG maker 2k3 bắt đầu với tất cả các variable bằng 0. Các variable ảnh hưởng đến RPG của bạn qua việc sử dụng các điều kiện variable (variable conditional) của trong bảng điều khiển event.

    Các điều kiện variable là gì?
    Trong bảng điều khiển event, trong phần event condition, có một ô đánh dấu tên là Variable. Khi ô này được đánh dấu, event chỉ hoạt động khi variable chỉ định có giá trị lớn hơn, nhỏ hơn, bằng hoặc không bằng với số được chỉ định. Tương tự như vậy, lệnh Fork Condition cũng có một vùng điều kiện variable rất mạnh sẽ được giải thích ở phần dưới.

    Sử dụng các variable như thế nào?
    Trong bảng lệnh của event có một lệnh tên là Change Variable. Nhấp vào đó và bạn sẽ có một bảng các lựa chọn đa dạng để thao tác một variable nhất định nào đó. Đó là:
    Choose Variable (Create Variable):
    One: Cho phép ban chọn bất cứ một variable nào bạn đã tạo bằng cách đưa ra một danh sách tất cả các variable. Con số đằng trước mỗi variable là số thứ tự. Ở đây bạn cũng có thể tạo một variable mới.
    Range: cho phép bạn đưa vào hai số, số bên trái phải nhỏ hơn số bên phải. Điều này sẽ thay đổi mọi variable nằm giữa hai số này. Nếu số bên trái là 5, số bên phải là 10 thì tất cả các variable có số thứ tự từ 5 đến 10 sẽ bị thay đổi.
    Variab: cho phép bạn chọn một variable từ danh sách của bạn. RPG maker 2k3 sẽ đọc các giá trị đó, và event sẽ tác động đến variable có số tương ứng với giá trị đó.
    What should the Operation be? (Operation) (Phép tính)
    Set: đặt giá trị của phần Set trong How mutch (Operand) mà không đòi hỏi gì thêm.
    Bốn kí hiệu kế tiếp chính là các hàm toán học căn bản: +,-,*,/ (trong phép chia các số dư sẽ được bỏ đi).
    Mod: tôi chưa hiểu rõ về phần này, có lẽ là lấy số dư.
    How mutch (Operand):
    Phần này sẽ xác định con số thứ hai sẽ ảnh hưởng đến variable của bạn.
    Set: là bằng với con số mà bạn đưa vào mà không đòi hỏi gì thêm.
    Variable: sẽ lấy một variable khác để làm hạng tử thực hiện các phép tính trên.
    Variable kế tiếp sẽ lấy một variable trong corrosponding location (xin lỗi vì tôi không dịch được từ này) làm hạng tử.
    Rand: sẽ lựa chọn ngẫu nhiên một số trong khoảng giữa số bên trái và số bên phải. Ví dụ nếu số bên trái là 5 và số bên phải là 9 thì một con số ngẫu nhiên từ 5 đến 9 sẽ được chọn.
    Item: có hai lựa chọn là:
    Owned (owning number): lấy số thứ tự của item được chọn mà bạn sở hữu làm hạng tử.
    Equiped (equipment number): lấy số corrosponding (???) trong danh sách item/equipment của bạn trong cơ sở dữ liệu (database) làm hạng tử.
    Hero: cho phép bạn lấy hạng tử bất cứ thứ gì (số Lv, lượng Hp hiện thời, Mp hiện thời, điểm kinh nghiệm Exp, Max Hp, Max Mp, các chỉ số của nhân vật, số thứ tự của món đồ mà nhân vật đang trang bị) từ bất cứ nhân vật nào của bạn.
    Event: cho phép bạn lựa chọn bất cứ event nào trên bản đồ hiện tại, và đặt hạng tử từ các giá trị tiêu biểu của event đó (như là Map ID, các tọa độ X Cordinate, Y Cordinate…)
    Other: cho phép bạn chọn hạng tử từ một số thứ khác như lượng Money hiện có, lượng thời gian còn lại, kích thước của nhóm nhân vật, số lần save, số trận đánh, số lần thắng, số lần thua, số lần bỏ chạy, âm thanh hiện thời…

    Giải thích rõ hơn:
    Hãy nghĩ về tiết đại số của bạn đi! Nhớ khi giáo viên giảng về các phương trình không? Trong ngôn ngữ toán học, variable (biến số) là một số mà bạn chưa biết và nó được đại diện bằng một chữ. Đây là một phương trình đơn giản:
    x + y = z
    Về cơ bản việc bạn làm với lệnh Change Variable là nói cho RM2k3 cách xây dựng phương trình của bạn. Đầu tiên bạn nói với nó giá trị khởi đầu bằng vùng “Choose Variable” trong bảng lệnh Change Variable. Hãy nghĩ nó như là “x” trong phương trình trên. Sau đó bạn nói cho nó laọi phép toán để thực hiện với vùng “What should the operation be?”. Cuối cùng bạn nói cho nó giá trị để thao tác, hay là “y” trong phương trình trên. “z” là kết quả cuối cùng của phương trình và là cái mà variable sẽ thay đổi thành. Ví dụ khi tôi muốn tạo một phương trình: 2*3=6 trong RM2k3. Tôi sẽ đặt tên variable của tôi là “Equation”. Nhớ là tất cả các variable đều bắt đầu bằng 0. Vậy điều đầu tiên tôi muốn làm là cho variable của tôi bằng 2. Đây là cách bạn điền vào ba vùng trong bảng lệnh Change Variable:
    Choose Variable: One (và tôi đặt tên là Equation)
    What should the operation be?: Set (bởi vì tôi muốn đặt cho variable là 2)
    How mutch: Set 2 (bởi vì 2 là giá trị của variable mà tôi muốn)
    Bây giờ variable Equation là bằng 2. Kế tiếp, tôi muốn tạo phương trình trên. Để làm điều đó, tôi tạo thêm một lệnh Change Variable với các lựa chọn trọng bảng lệnh như sau:
    Choose variable: One Equation (bởi vì Equation là variable mà tôi muốn thay đổi)
    What should the operation be?: * (bởi vì đây là phép tính nhân)
    How mutch: Set 3 (bởi vì 3 là số tôi muốn nhân lên)

    Mấy cái này thật rắc rối. Vậy tôi không thể tạo một game nếu không dùng các variable sao?
    Không hẳn thế. Sự thật là một chương trình làm game trước đây, RM95, không hề có variable. Bạn hoàn toàn có thể tạo một game khá hoàn hảo chỉ với việc sử dụng các Switch. Tuy nhiên, tốt hơn hết là bạn nên học cách sử dụng các variable. Chúng rất, rất mạnh. Gần như bất cứ một gía trị số nào có thể hình dung được có thể được đặt cho một variable và vận hành với nó, các variable chính là trái tim và linh hồn của các mini game (ngay cả với một câu đố đơn giản), các mánh làm hình ảnh sinh động, hoặc ngay cả các phép thuật tự tạo (như chiêu chôm chỉa chẳng hạn). Nếu bạn đã sơ sài ngay từ đầu với các variable, thì hướng dẫn này thật vô ích, hãy quên nó đi.

    Các variable có hữu ích gì?
    Do các variable có thể giữ bất cứ giá trị của bất cứ con số nào trong game của bạn, lợi ích của nó gần như vô tận. Variable có thể sử dụng để làm bất cứ gì từ việc điều chỉnh lại sự tổn thương trong các vùng dung nham đến việc tạo các điểm dịch chuyển ngẫu nhiên, tạo một bản đồ thế giới, tạo các trận đánh theo ý muốn,… và danh sách các ứng dụng cứ thế dài ra mãi. Đây là hai ví dụ đơn giản về công dụng của variable:
    Đầu tiên là một event đơn giản như sau: bạn muốn có một quyển sách mà không thể mở ra trừ khi có một nhân vật tên là Bob có ít nhất 100 Mp.
    Trong Database, tạo một parallet process common event. Tạo một variable tên là Bob’s Mp và định cho nó là lượng Mp hiện tại của Bob bằng lệnh Change Variable. Ba vùng trong bảng lệnh nên như thế này:
    Choose variable: One Bob’s Mp
    What should the opẻation be?: Set
    How mutch: Hero Bob MP
    Bây giờ, dù lượng Mp hiện tại của Bob là thế nào đi nữa thì nó cũng sẽ định giá trị đó cho variable Bob’s Mp.
    Rồi bạn tạo một event có hình đại diện là một quyển sách với Event Conditon là Variable Bob’s Mp, 100, Greater than or Equal to. Event start condition On Hero Touch, những thứ khác để nguyên. Như vậy nếu lượng Mp của Bob không đạt ít nhất là 100 thì event này sẽ không hoạt động.
    Ví dụ thứ hai tôi sẽ sử dụng một vùng số tự tạo (custom numberic field). Bạn muốn có một cửa hàng đặc biệt mà khồn sử dụng loại tiền thông thường, nó sử dụng một laọi đặc biệt đó là Magic Coins (MC). Trong trường hợp này tạo một Variable mới gọi là Magic Coins. Mọi event riêng lẻ trong đó nhân vật của bạn nhận được hoặc mất đi các MC sẽ làm thay đổi variable này. Vì vậy, nếu nhân vật của bạn tìm được 10 Magic Coins trong một cái hộp, ba vùng trong bảng lệnh variable của bạn sẽ là:
    Choose variable: One Magic Coins
    What should the operation be?: +
    How mutch: Set 10
    Bây giờ, anh ta đã có được 10 MC, nhân vật của bạn muốn mua một món đồ trong cửa hàng đặc biệt đó có giá là 7 MC. Vậy ba vùng trong bảng lệnh variable sẽ là:
    Choose variable: One Magic Coins
    What should the operation be?: -
    How mutch: 7
    Hai ví dụ trên là điều đơn giản nhất bạn có thể làm với các variable. Với variable, sẽ có rất ít điều bạn không thể làm trong RM2k3.

    FORK CONDITION:

    Fork là gì?
    Fork, trong sự kết hợp với variable, sẽ là những lệnh cực kỳ mạnh. Nếu bạn có hiểu biết về lập trình, hãy nghĩ fork đơn giản như là “IF…THEN…ELSE”(nếu…thì…nếu không thì). Nếu bạn không biết thì có thể hiểu đơn giản Fork như là một ngã ba. Sử dụng fork trong một event thì giống như là bạn tạo một điều kiện khác cho event đó.

    Sử dụng fork như thế nào?
    Chọn Fork Condition trong trang thứ ba của bảng lệnh event, bỏ đánh dấu ở phần cuối cùng (option) của bảng lệnh đi, nhấn OK. Bạn sẽ thấy là thay vì thêm một dòng như các lệnh khác, bạn đã thêm vào ba dòng. Chúng giống như thế này:
    <>CondtnFrk [điều kiện]
    <>
    <>Fork End
    Bất cứ lệnh nào bạn thêm vào giữa hai dòng CondtnFrk và Fork End sẽ chỉ xảy ra nếu điều kiện được thỏa mãn. Nếu không thì tất cả các lệnh sẽ được bỏ qua. Trong ngôn ngữ lập trình thì nó là “Nếu(If) [điều kiện là đúng] Thì(Then) [các lệnh]”.
    Nếu bạn đánh dấu vào ô cuối (optioncùng trong bảng lệnh Fork Condition thì nó sẽ trông như thế này:
    <>CondtnFrk [điểu kiện]
    <>
    <>Exception
    <>
    <>Fork End
    Bất cứ lệnh nào bạn thêm vào giữa hai dòng CondtnFrk và Exception sẽ chỉ xảy ra nếu điều kiện được thỏa mãn. Bất cứ lệnh nào bạn thêm vào giữa hai dòng Exception và Fork End sẽ chỉ xảy ra nếu điều kiện không thỏa mãn. Theo ngôn ngữ lập trình nó sẽ là: “IF…THEN…ELSE”. Rõ ràng rằng việc đánh dấu vào ô cuối cùng trong bảng lệnh làm cho mọi việc thêm phức tạp hơn, nhưng cũng tăng sức mạnh của lệnh hơn. Tôi sẽ cho bạn thấy cái tôi hiểu trong ví dụ dưới.

    Các điều kiện của Fork là gì?
    Các điều kiện của Fork một cách chính xác giống như các điều kiện của Event, chỉ có nhiều hơn mà thôi. Có hai trang đầy các điều kiện của Fork được xác định bằng việc đánh dấu vào các ô bên dưới. Chúng là:
    Switch: Fork xảy ra nếu Switch được chọn là ON (hoặc nếu bạn chọn là OFF)
    Variable: Cái này mạnh hơn nhiều so với các điều kiện variable thường ở bảng điều khiển event, về cơ bản bởi vì bạn có sức mạnh của sự so sánh.
    Đầu tiên chọn variable (số đầu tiên) bạn muốn so sánh. Sau đó chọn một trong hai ô đánh dấu Constant và Variable (ô trên cho phép bạn so sánh variable với một con số nhất định nào đó, ô dưới cho phép bạn so sánh với một variable khác) (số thứ hai). Cuối cùng là chọn kiểu so sánh. “Equal (Same)” nghĩa là bằng nhau, “Raise (Above)” nghĩa là số đầu tiên phải lớn hơn số thứ hai, “Lower (Below)” nghĩa là số đầu tiên phải nhỏ hơn số thứ hai, “Bigger” và “Smaller” công dụng dường như giống với “Raise” và “Lower”, tôi chưa từng thử với chúng. Và tôi không hoàn toàn chắc “Not (Other)” là gì, có lẽ là không bằng nhau thôi.
    Timer 1: Cái này đặt điều kiện là thời gian còn lại trên đồng hồ.
    Chọn “Greater than (Above)” nếu bạn muốn Fork thực hiện khi thời gian còn nhiều hơn bạn đã chọn và chọn “Less than (Below)” nếu bạn muốn Fork thực hiện khi thời gian còn ít hơn.
    Timer 2: Tôi chưa nghiên cứu nhưng công dụng có lẽ như cái trên.
    Owned Money: Điều này sẽ đặt điều kiện dựa trên lượng tiền bạn đang có. Chọn “Greeter than” nếu bạn muốn Fork thực hiện khi số tiền là nhiều hơn con số bạn định, “Less than” nếu bạn muốn điều ngược lại.
    Item: Đặt điều kiện dựa trên bất cứ món đồ nào bạn muốn. Chọn “Holding” nếu bạn muốn Fork thực hiện khi trong nhóm của bạn có giữ cóm đồ đó, “Not holding” nếu bạn muốn điều ngược lại.
    Hero: đặt điều kiện dựa trên một nhân vật của bạn. Các lựa chọn cho phép bạn đặt điều kiện dựa trên sự hiện diện của nhân vật trong nhóm, tên nhân vật, cấp độ Lv, lượng Hp, sử dụng một kĩ năng nào đó, món đồ được trang bị, tình trạng bênh tật.
    Cha (character): Chọn một trong số các lựa chọn mà bạn có thể (hero, boat, airship, this event, một event nào đó), sau đó chọn phướng hướng. Fork sẽ thi hành dựa trên phướng hướng bạn đã chọn.
    Hai cái cuối cùng tôi chưa từng thử qua vì thế tôi để cho bạn tự khám phá.

    Cái gì có thể đưa vào một Fork?
    Bên trong Fork của bạn, bạn muốn làm gì cũng được. Bất cứ một lệnh nào cũng có thể đưa vào, ngay cả một lệnh Fork khác. Điều này cho phép bạn có thể hoàn toàn điều khiển được tất cả các khía cạnh trong các điều kiện của game.

    Điểm khác nhau giữa một Fork và một trang Event?
    Thật ra, nó không có sự khác biệt. Bất cứ gì bạn có thể thực hiện với một Fork, bạn đều có thể thực hiện với một Event. Nhưng vì Fork có nhiều điều kiện hơn và quyền lựa chọn một trường hợp ngoại lệ (Exception Case), và vì nó có thể hòa nhập trực tiếp vào mã event của bạn, nên nó dễ theo dõi và kiểm soát hơn. Hay nói cách khác, việc phác thảo một event với 10 fork dễ hơn là phác thảo ra một event với 10 trang.

    Fork gần như rắc rối như variable. Vậy một game có thể không cần Fork được không?
    Một lần nữa, chẳng có vấn đề gì cả. Bạn có thể tạo ra một game hoàn hảo chỉ với việc sử dụng switch và event conditions mà thôi. Tuy nhiên, fork sẽ rất tốt cho một số thứ như minigame chẳng hạn. Hơn nữa, một vài phép so sánh các variable rất mạnh lại chỉ có thể sử dụng bằng fork mà thôi.

    Fork có những hữu ích gì?
    Tôi lại đưa ra hai ví dụ đơn giản để bạn thấy điều này. Cái đầu tiên sẽ không có trường hợp ngoại lệ, cái thứ hai sẽ có.
    Ví dụ đầu tiên là một fork đơn giản ở giữa một cuộc nói chuyện. Bạn có nhân vật chính đang nói chuyện với người bạn về con quái vật mà bạn sắp đánh. Người bạn nhắc bạn con quái vật chống đỡ yếu đối với phép lửa. Nếu nhân vật chính đã có phép lửa (Fire) rồi, bạn muốn anh ta nói một điều gì đó. Bạn sẽ làm như vầy:
    <>Text: Friend: The monster is weak to fire magic!
    <>CondtnFrk: Hero Fire can use
    <>Text: Hero: No problem! I already have the Fire Spell.
    <>Text: Friend: Alright!
    <>Fork End
    <>Text: Hero: Let’s go!
    Nếu nhân vật chính chưa học được phép Fire, cuộc nói chuyện sẽ như sau:
    Friend: The monster is weak to fire magic!
    Hero: Let’s go!
    Nhưng nếu anh ta đã học được phép này rồi, cuộc nói chuyện sẽ như sau:
    Frriend: The monster is weak to fire magic!
    Hero: No problem! I already have the Fire Spell.
    Friend: Alright!
    Hero: Let’s go!
    Giờ tôi sẽ trình bày ví dụ về fork với trường hợp ngoại lệ.
    Bạn muốn Switch “Puzzle complete” sẽ được bật sau khi nhân vật giải đáp được câu đố. Bạn có một điểm dịch chuyển sẽ đưa nhân vật đến căn phòng kế tiếp nếu switch Puzzle complete được bật nếu không thì sẽ đưa anh ta trở về chỗ cũ. Nó sẽ giống như vầy:
    <>CondtnFrk: Switch[xxxxPuzzle complete] ON
    <>Teleport:next room (vị trí bạn tự đưa vào)
    <>Exception:
    <>Teleport:last room (vị trí bạn tự đưa vào)
    <>Fork End
    Trong trường hợp này, nếu switch được bật (câu đố được giải) thì nhân vật chính sẽ được đi tiếp, nếu không anh ta sẽ bị đưa về vị trí cũ.

    Xong rồi, mệt quá đi! Coi xong cái này có thể bạn đã có một vài ý tưởng độc đáo trong đầu rồi he. Hãy cố gắng thực hiện nó đi, sau nhiều thử nghiệm tôi nghĩ bạn sẽ tạo ra nhiều điều thú vị đấy!

    To be continue ....
     
  17. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    I ya, các bác đã từng nghe wuyển sách zề thần chết chưa, hay quyển sách zề các loài quái zật đó, hay đại loại là quyển sách mà tôi định nói cho các bạn biết là quyển sách liệt kê các danh sách các wái vật mà bạn đã từng đụng độ đó, có hay không nhỉ, nếu các bạn thấy hay thì ngó xuống coi, ke ke :

    Bài viết dưới đây của bạn Le tam, trời ơi, lại bài của Le tam, chăm wá đi mất T_T :

    Monster Book
    Monster book là cái gì ??? Một cách đơn giản đó là một quyển sách về thông tin các quái vật mà bạn đã gặp trên đường. Nó gần giống với Pokédex trong loạt game Pokemon vậy.
    Để thực hiện một quyển sách như thế bạn cần phải biết qua:
    1. Switches
    2. Fork Options
    3. Common Events
    Bạn cần phải có các Charset sau:
    -Có hình các chữ số 1,2....số lượng tuỳ theo số monster bạn có.
    -Có hình cursor như bàn tay, mũi tên...
    -Biểu tượng Exit.
    Và cần có hình ảnh của các monster.
    Bước 1: Tạo một Skill gọi là “Information Detection”, đặt classification là Switch, nối với Switch[xxxx:Detect], chỉ đánh dấu ô Battle, costMP tuỳ bạn.
    Bước 2: Vào phần monster party trong Database, chọn một nhóm monster cho việc thử nghiệm. Do còn hạn chế nên tốt nhất bạn chỉ dùng cho những nhóm monster có cùng một loại mà thôi. Ở đây chúng ta lấy vd là nhóm Slime. Trong battle event làm như bên dưới:
    Trigger: chỉ hoạt động khi Switch[xxxx:Detect] On
    Cho hiện một câu thông báo chẳng hạn như: “Gathering information.”
    Dùng 1 variable “DetectChance.” để xác định tỷ lệ thành công, giá trị của variable này được chọn ngẫu nhiên giữa 1 và 2.
    Bên dưới tạo một FORK condition có điều kiện là nếu DetectChance=1 thì
    +Thông báo một câu như :"successful"
    +Chuyển switch [xxxx:Monster_Slime] sang On
    :Else case
    +Thông báo một câu như :"failure"
    +Chuyển Switch "Detect" sang Off
    Tạo một trang mới với điêù kiện kích hoạt là 2 Switch "Detect.” và “Monster_Slime.”
    +Hiện lên đại khái là: “You already have information on this monster.”
    +Chuyển Switch "Detect" sang Off
    Điều này sẽ làm cho bạn không sử dụng Skill này với những monster mà bạn đã thu thập thông tin.

    Bước 3: Bây giờ là lúc quản lý những thông tin thu thập được.
    Tạo một item mới tên là “Monster Information Book.”, Classification là Switch, nối với Switch[xxxx:Moster_Book].
    Bên dưới tạo một Common goods item cũng gọi là “Monster Information Book.”.
    Tiếp tạo một common event gọi là “Monster Information Book.", Start condition=Auto Start, Appearant Condition Switch:[xxxx:Monster_Book]
    Ghi nhớ vị trí của hero hiện tại vào các variable sau: “Map(monster)ID”, “M(M)X”, “M(M)Y”, bạn phải đặt giá trị của chúng đúng với các Slots.
    Kế xoá màn hình đi. Thay đổi hình ảnh của Hero bằng hình một cursor. Chuyển đến bản đồ mà bạn sẽ xem nó như là một quyển sách. (tạo ra ở bên dưới, tất nhiên là bạn phải mở lại màn hình)

    Bước 4: Tạo một bản đồ để tượng trưng cho trang sách, gọi là "montserbook_map". Kích thước bản đồ nên nhỏ thôi, tuỳ theo số luợng monster của bạn. Mỗi một ô tượng trưng cho một monster.
    Tạo trên bản đồ một event có hình là số 1. Event condition: [xxxx:Monster_Slime], Start condition: Push key. Trong command, bạn cho hiện lên hình của Slime, vài dòng mô tả, các thông tin chỉ số (HP, MP, tuyệt chiêu....) và bất cứ cái gì bạn muốn. Cuối cùng xoá hình của Slime.
    Đối với các monster khác bạn cũng làm tương tự.
    Để thoát ra ngoài, bạn tạo một event "Exit", xoá màn hình đi, trả lại hình ảnh bình thường của Hero, chuyển đến vị trí đã ghi nhớ.
    Và như vậy là bạn đã tạo được một Monster Book rồi đấy.
    Chú ý: nếu monster party có 2 loại monster trở lên thì trong trường hợp "Successful", bạn phải chuyển sang On Switch từng con một. Để ghi nhận “It’s already detected” thì bạn tạo một trang mới với Trigger là Switch[xxxx:Detect], tạo các FORK condition để ghi nhận tất cả các Switch monster đã chuyển sang On chưa. Tuy có hơi phức tạp nhưng thực hiện môt Monster Book cũng không quá khó lắm, phải không ???

    To be continue ....
     
  18. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Trời, chắc hẳn các bạn đã chơi breath of fire gòi nhỉ, nếu như chơi gòi thì chắc hẳn phải biết cậu ryu nhà ta có tài hoá phép rồng khè lửa tung toé cháy hít cả wần áo con nhà người ta gòi phải không, zậy thì ở dưới đây tui sẽ cho các bạn xem cậu ryu nhà ta hoá phép như thía nèo, ke ke :

    Bài viết dưới đây cũng là của bạn Le tam bên ttvon, công nhận chăm thiệt, vô tay khen bạn cái nào, ke ke :

    Transform into a Monster: với phép thuật này nhân vật của bạn sẽ biến thành monster được summon trong suốt trận đấu.
    Bước 1: Trong phần Hero ở Database, tạo thêm 1 monster mà bạn muốn hoá thành. Thiết lập các chỉ số cho nó và tốt nhất là để Initial Lv = Max Lv ( cái này dùng để cho monster không nhận nhận được EXP nào sau mỗi trận đấu, cũng như không tăng LV như các nhân vật chính được). Nhưng nếu bạn muốn monster của bạn cũng có thể phát triển như trong FF8 thì không cần đặt Lv. Chọn cho nó một số Skill thích hợp....
    Bước 2: tạo một Skill vd: "SummonAngle", đặt Classification là Switch nối với Switch [xxxx:Angle]
    Bước 3: làm lại bước 2 để tạo Skill là "Return Form" để trả lại hình dáng ban đầu, đặt Classification là Switch nối với Switch [xxxx:Return]
    Bước 4: và bây giờ là phần chính yếu, cũng là phần mệt nhọc nhất ^^ Bạn mở Monster Group ra, tạo một trang ở Battle event có dạng như sau:
    Trigger = [xxxx:SummonAngle]
    <>CHANGE HERO''S PARTY:SUMMONER->remove
    <>CHANGE HERO''S PARTY:Angle->add
    Bước 5: làm tương tự B4 để trở lại hình dáng cũ:
    Trigger = [xxxx:Return]
    <>CHANGE HERO''S PARTY:Angle->remove
    <>CHANGE HERO''S PARTY:SUMMONER->add
    Chú ý: Bạn có thể dùng một thủ thuật sau: bạn chỉ cần tạo một "Return Form" cho tất cả các Summon, như vd sau:
    Trigger = [0004:Return]
    <>FORK Optn:Switch[xxxx:SummonAngle]-On
    <>CHANGE HERO''S PARTY:Angle->remove
    :END Case
    <>FORK Optn:Switch[xxxx:SummonAngle]-On
    <>CHANGE HERO''S PARTY:Titania->remove
    :END Case
    <>FORK Optn:Switch[xxxx:SummonAngle]-On
    <>CHANGE HERO''S PARTY:ElementalSpirits->remove
    :END Case
    <>CHANGE HERO''S PARTY:SUMMONER->add
    <>CHANGE SWITCH: [0001:SummonGalien]-OFF SET
    <>CHANGE SWITCH: [0002:SummonTitania]-OFF SET
    <>CHANGE SWITCH: [0003:SummonElementalSpirits]-OFF SET
    Chú ý: Bạn cũng nên tạo một common event để khi trận đấu kết thúc thì nó sẽ trả về hình dáng cũ.
    Như thế là bạn đã có một Summon Spell cho một nhân vật rồi, chỉ cần copy chúng và sửa lại tên Summoner cho các nhân vật của bạn là bạn đã có được hệ thống Summon Magic.

    To be continue ....
     
  19. German

    German Donkey Kong

    Tham gia ngày:
    12/9/03
    Bài viết:
    402
    Trời ơi, đã chơi game rpg thì không thể thiếu mí cái vụ spe sồ ai tem ^^ nhẩy, bạn mún có zài cái cho game mình hun, nếu mún làm thì coi đi, mog hào phóng lém, ke ke :

    Bài viết dưới đây cũng lại là của bác Le tam, hic, mình chịu thua pác ta lun gòi đó, oa oa :

    1-Auto recovery item Đây là những món item thuộc loại tự hồi phục các chỉ số như Hp,Mp....Ví dụ sau đây là item "Regen Ring" tự phục hồi Hp.
    Bước 1: bạn phải tạo 1 item cái đã
    -Nhấn F8 để mở Database, chọn phần Item, tạo một item tên "Regen Ring"
    -Đặt Classification: Other
    -Equipment Possible Creation: đánh dấu chọn tất cả các nhân vật (hay chỉ một vài nhân vật thì tuỳ bạn)
    Bước 2: bạn có bao nhiêu nhân vật có thể mang "Regen Ring" thì tạo ra bấy nhiêu Switch "Regen_{Hero''name}"
    Bước 3: Tạo một common event "Regen check" để kiểm tra nhân vật có mang "regen ring" không
    -Event Start condition: nên đặt là Parallel Process
    -Event command:
    <>FORK Optn:[hero''s name]-Regen RingEquipped
    <>Change Switch: [xxxx:Regen_{Hero''name}]-On set
    <>
    :ELSE case
    <>Change Switch: [xxxx:Regen_{Hero''name}]-Off set
    <>
    :END Case
    Bạn có bao nhiêu nhân vật thì tạo ra bấy nhiêu FORK condition...
    Bước 4: Đây là phần tự hôi phục Hp cho nhân vật trên bản đồ. Tạo một common event "AutoRegen"
    -Event Start condition: nên đặt là Parallel Process
    -Event command:
    <>FORK Optn: Switch [xxxx:Regen_{Hero''name}]-On
    <>Cycle:
    <>Wait: 60.0s
    <>Change Hp: [hero''s] HP 50 Incr.
    <>End cycle
    :END Case
    Bạn có bao nhiêu nhân vật thì tạo ra bấy nhiêu FORK condition...
    Bước 5: Đây là phần tự hôi phục Hp cho nhân vật trong battle. Mở Database vào phần Monster Group. Chọn đại một nhóm quái vật nào đó.
    -Phần Battle Event như sau:
    Trigger: Hero[Name] Hp[1~100] (chỉ phục hồi khi chưa chết ^^ )
    <>FORK Optn: Switch [xxxx:Regen_{Hero''name}]-On
    <>Change Hp: [hero''s] HP 50 Incr.
    <>
    :End case
    <>
    -Có bao nhiêu nhân vật thì tạo ra thêm bấy nhiêu trang tương tự như thế. Sau đó làm tương tự với các nhóm quái vật còn lại thì bạn sẽ có được khả năng Autorecovery trong trận đánh khi mang Regen Ring.
    Tương tự cho Mp, bạn cũng có thể như trên.
    Thủ thuật: Lúc đầu bạn nên xoá tất cả các nhóm Monster đi, chỉ chừa lại group đầu tiên. Trong group này, bạn tạo tất cả các Battle Event cần thiết. Sau đó chỉ việc copy/paste xuống dưới. Cuối cùng thì Add/Remove các monster vào nhóm. Cách này nhanh hơn rất nhiều lần so với việc bạn phải làm thủ công từng group ^^
    2-Auto Revive Item đây là item tự hồi sinh cho nhân vật của bạn nếu chẳng may anh ta hy sinh trong trận đánh.
    Bước 1: bạn phải tạo 1 item cái đã
    -Nhấn F8 để mở Database, chọn phần Item, tạo một item tên "Revive Ring"
    -Đặt Classification: Other
    -Equipment Possible Creation: đánh dấu chọn tất cả các nhân vật (hay chỉ một vài nhân vật thì tuỳ bạn)
    Bước 2: bạn có bao nhiêu nhân vật có thể mang "Revive Ring" thì tạo ra bấy nhiêu Switch "Revive_{Hero''name}"
    Bước 3: Tạo một common event "Revive check" để kiểm tra nhân vật có mang "Revive ring" không
    -Event Start condition: nên đặt là Parallel Process
    -Event command:
    <>FORK Optn:[hero''s name]-Revive RingEquipped
    <>Change Switch: [xxxx:Revive_{Hero''name}]-On set
    <>
    :ELSE case
    <>Change Switch: [xxxx:Revive_{Hero''name}]-Off set
    <>
    :END Case
    Bạn có bao nhiêu nhân vật thì tạo ra bấy nhiêu FORK condition...
    Bước 5: Mở Database vào phần Monster Group. Chọn đại một nhóm quái vật nào đó.
    -Phần Battle Event như sau:
    Trigger: Hero[Name] Hp[0] (chỉ hồi sinh khi đã hết máu ^^ )
    <>FORK Optn: Switch [xxxx:Revive_{Hero''name}]-On
    <>Messg: "The Reverse Doll saved Alex''s life, then fell to pieces."
    <>Condition: Alex Dead Cancel
    <>Recover: Alex - Full Recovery
    <>Equipment: Alex - Other Empty (Remove Revive ring)
    <>Add/Remove Item: Reverse Doll 1 Decr. (giảm đi 1 cái trong bảng item của bạn vì đã xài rồi)
    <>Change Switch: [0001-ReverseDollAlex] - OFF Set
    <>END Case
    Một lần nữa, bạn có bao nhiêu nhân vật thì tạo ra bấy nhiêu trang battle event nhé.
    Chú ý: Có một vấn đề nhỏ ở đây. Nếu nhân vật mang Revive ring là người còn lại cuối cùng trong nhóm (các nhân vật khác đã K.O) thì nó sẽ không hoạt động đâu. Rất tiếc...
    3-PORTABLE SAVE POINT ITEM bạn có muốn một item tạo ra một điểm save như món đồ Save Crystal trong FF7 không. Sau đây là cách tạo ra nó, khá đơn giản.
    1- Tạo 1 Switch "Save"
    2- Tạo một item là "Save Crystal" chẳng hạn, đặt Classification là Switch, Use number of time: 1, đánh dấu vào ô Field.
    3- Tạo một common event tên là "Save anywhere"
    + Event Condition: Parallel Process
    + Chọn Appearance condition switch là [xxxx:Save]
    +Event command:
    <>Messg: You used Save Crystal
    <>Call Save menu:
    <>Change Switch: [xxxx:Save]-Off Set
    Và như vậy là bạn đã có một món item tạo ra một save point.
    4-Cursed Item: đây là cách để tạo ra một món item một khi đã mang thì không thể nào gỡ ra được.
    1-Tạo một item tên là "Cursed Ring", Classification là Other; tạo số Switch "Cursed_{Hero''name}" tương ứng với số nhân vật.
    2-Tạo một common event "Cursed"
    + Event Condition: Parallel Process
    + Event command:
    <>FORK Optn:[hero''s name]-Cursed RingEquipped
    <>Change Switch: [xxxx:Cursed_{Hero''name}]-On set
    <>
    :END Case
    <>FORK Optn: Switch: [xxxx:Cursed_{Hero''name}]-On
    <>FORK Optn:[hero''s name]-Cursed RingEquipped
    <>
    :Else case
    <>Equipment: :[hero''s name] - Other Empty
    <>Equipment: :[hero''s name] - Cursed Ring Equip
    :End case
    <>
    :End case
    <>
    Nếu bạn muốn gỡ nó ra thì có thể một event sau:
    <>Messg: Toi co the go Cursed Ring cho anh
    <>Change Switch: [xxxx:Cursed_{Hero''name}]-Off set
    <>Equipment: :[hero''s name] - Other Empty
    <>Messg: Cursed Ring da duoc go ra

    5-Fly-By-Item
    Khi bạn sử dụng món item này thì nó sẽ gọi một airship và bạn có thể di chuyển khắp bản đồ.
    1- Tạo một item, tôi đặt là "CallShip", Classification là Switch, On Switch: [xxxx:Flying]
    2- Tạo một event trên world map (hoặc bất kỳ nơi đâu mà bạn muốn sử dụng nó)
    + Event Condition: Parallel Process
    + Event command:
    <>FORK Optn:Switch [xxxx:isFlying] - OFF
    <>
    :Else Case
    <> Change Hero''s Walk Graphic: Hero->flying Set (thay đổi Hero''s walking graphic thành một hình airship)
    <> Move Event...: Hero,MoveSpdUp,Strt SlipTro (tăng tốc độ di chuyển....)
    <> Enter Password:[xxxx:Password1]
    <> Fork Optn:Varibl [xxxx:Password1]-5 ( nhấn Enter để đáp xuống)
    <> Change Hero''s Walk Graphic: Hero->Walking Set (trả lại Hero''s walking graphic )
    <> Move Event...: Hero, MoveSpdDown,Stop SlipTro,MoveSpdDown (trở lại tốc độ bình thường)
    <> Change Switch: [xxxx:isFlying]-OFF Set
    <>
    :End Case
    <>
    Chú ý: Nếu bạn cố đáp xuống những chỗ trống của bản đồ thì bạn sẽ không thể di chuyển được nữa...

    6-Intelligent Weapons Nếu bạn muốn tạo một món vũ khí khi trang bị thì nó sẽ dạy cho nhân vật một Skill, khi tháo ra thì Skill cũng biến mất thì hãy theo dõi phần này.
    Bước 1: tạo một item như "Dragon Sword". Tạo 1 skill "Dragon Swing" mà nhân vật sẽ có khi trang bị. Sau đó tạo số Switch "DS_{Hero''name}" tương ứng với số nhân vật có thể trang bị nó.
    Bước 2: tạo một common event "Check DS"
    + Event Condition: Parallel Process
    + Event command:
    <>FORK Optn:[hero''s name]-Dragon SwordEquipped
    <>Change Switch: [xxxx:DS_{Hero''name}]-On set
    <>
    :Else case
    <>Change Switch: [xxxx:DS_{Hero''name}]-Off set
    <>
    :End case
    Bước 3: Tạo một Common event thứ hai "Learn_DS"
    + Event Condition: Parallel Process
    + Event command:
    <>Fork Condition: Switch<0001:Mary Sword> ON
    <>Change Skills: Memorize; Dragon Swing
    :Else case
    <>Change Skills: Forget; Dragon Swing
    :End
    Nhớ là số FORK condition trong cả hai event phải tương ứng với số nhân vật. Đây chỉ là một cách làm đơn giản mà từ nó bạn có thể phát triển thêm.

    To be continue ....
     
  20. sonkid1412

    sonkid1412 C O N T R A

    Tham gia ngày:
    4/6/03
    Bài viết:
    1,718
    Nơi ở:
    ...
    Uả sao không viết nưả có thấy thư viện gì đâu viết tiếp đi tui cần lém mấy bài you sưu tầm hay quá
     

Chia sẻ trang này