Advertisement
roninator2

Extract Event Commands

Dec 16th, 2024
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 9.62 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Extract Events - Addon Event Specific  ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║   Get specific event details                  ║    20 Sep 2023     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: EXTRACT EVENTS v1.01 by Shaz                             ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Output txt files for event commands                          ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   This script extracts ALL event commands into a number            ║
  20. # ║   of text files. These can be opened in a spreadsheet,             ║
  21. # ║   split into columns, searched and sorted.                         ║
  22. # ║                                                                    ║
  23. # ║   The difference with this and the original script by Shaz is      ║
  24. # ║   that this will run only with the event script command.           ║
  25. # ║   be sure to disable the last line in Shaz's script before playing ║
  26. # ║                                                                    ║
  27. # ║   Data/Map(id)-Event(id)-Contents.txt                              ║
  28. # ║      Contains ALL event commands                                   ║
  29. # ║      - useful for perusing, searching for anything in any event    ║
  30. # ║      - this also includes everything in the following two files    ║
  31. # ║                                                                    ║
  32. # ║   Data/Map(id)-Event(id)-Dialogue.txt                              ║
  33. # ║      A subset of EventContents.txt                                 ║
  34. # ║      Contains any event commands to do with text                   ║
  35. # ║      - Show Text, Show Choices, actor names, etc                   ║
  36. # ║      - useful for proofreading and translation                     ║
  37. # ║        (there is no facility to replace text with translations     ║
  38. # ║         - this is JUST an extract)                                 ║
  39. # ║                                                                    ║
  40. # ║   Data/Map(id)-Event(id)-SwitchesVariables.txt                     ║
  41. # ║      A subset of EventContents.txt                                 ║
  42. # ║      Contains any event commands and conditions to do with         ║
  43. # ║      switches and variables                                        ║
  44. # ║      - useful for finding where they've been used                  ║
  45. # ║                                                                    ║
  46. # ║   To Use:                                                          ║
  47. # ║     You "call" this script command with a script command           ║
  48. # ║     at the start of the event                                      ║
  49. # ║        export_event                                                ║
  50. # ║     The script will extract the event contents and export          ║
  51. # ║     to text files in data folder                                   ║
  52. # ║                                                                    ║
  53. # ║   Once the files have been created, open them in a spreadsheet     ║
  54. # ║   and use the Text to Columns feature to separate based            ║
  55. # ║   on your chosen delimiter                                         ║
  56. # ║                                                                    ║
  57. # ║   Terms:                                                           ║
  58. # ║     This is a DEVELOPMENT ONLY script.                             ║
  59. # ║     You may use it when creating free or commercial games, but     ║
  60. # ║     PLEASE remove the script before the game is released.          ║
  61. # ║                                                                    ║
  62. # ║   If you share this script, PLEASE keep this header intact,        ║
  63. # ║   and include a link back to the original RPG Maker Web forum post.║
  64. # ║                                                                    ║
  65. # ╚════════════════════════════════════════════════════════════════════╝
  66. # ╔════════════════════════════════════════════════════════════════════╗
  67. # ║ Updates:                                                           ║
  68. # ║ 1.00 - 20 Sep 2023 - Script finished                               ║
  69. # ║                                                                    ║
  70. # ╚════════════════════════════════════════════════════════════════════╝
  71. # ╔════════════════════════════════════════════════════════════════════╗
  72. # ║ Credits and Thanks:                                                ║
  73. # ║   Roninator2                                                       ║
  74. # ║                                                                    ║
  75. # ╚════════════════════════════════════════════════════════════════════╝
  76. # ╔════════════════════════════════════════════════════════════════════╗
  77. # ║ Terms of use:                                                      ║
  78. # ║  Follow the original Authors terms of use where applicable         ║
  79. # ║    - When not made by me (Roninator2)                              ║
  80. # ║  Free for all uses in RPG Maker except nudity                      ║
  81. # ║  Anyone using this script in their project before these terms      ║
  82. # ║  were changed are allowed to use this script even if it conflicts  ║
  83. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  84. # ║  No part of this code can be used with AI programs or tools        ║
  85. # ║  Credit must be given                                              ║
  86. # ╚════════════════════════════════════════════════════════════════════╝
  87.  
  88. module EVExport
  89.   @cb = ","
  90.   def self.export_event(map, id)
  91.     @file_all = File.open("Data/Map#{map}-Event#{id}-Contents.csv", 'w')
  92.     @file_text = File.open("Data/Map#{map}-Event#{id}-Dialogue.csv", 'w')
  93.     @event_seq = 3
  94.     $game_map.setup($game_map.map_id)
  95.     @event = $game_map.events[id]
  96.     return if @event.nil? || @event.pages.nil?
  97.     for page in 0..@event.pages.size - 1
  98.       @event_tab = (page + 1).to_s
  99.       @cond = @event.pages[page].condition
  100.       @list = @event.pages[page].list
  101.       self.export_event_list
  102.     end
  103.     @file_all.close
  104.     @file_text.close
  105.   end
  106.   def self.export_command
  107.     # get rid of any double spaces
  108.     while @arg.gsub!(/  /) { " " } != nil
  109.     end
  110.     @expline += 1
  111.     indchar = INDENT ? @ind * @indent : ""
  112.     text = sprintf("%s%s%s%s%s",
  113.       @cmd, @cb, indchar, @arg, @lb)
  114.     @file_all.print(text)
  115.     @file_text.print(text) if @text_export
  116.   end
  117. end
  118.    
  119. class Game_Interpreter
  120.   def export_event
  121.     EVExport.export_event(self.map_id, self.event_id)
  122.   end
  123. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement