Difference between revisions of "Hello World"

76 bytes removed ,  22:33, 1 August 2016
no edit summary
imported>Cobalt027
imported>Qazaaq
 
(One intermediate revision by one other user not shown)
Line 4: Line 4:
=== PreRequisites ===
=== PreRequisites ===
# Install Creation Kit (From the [http://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe Bethesda.net] launcher)
# Install Creation Kit (From the [http://download.cdp.bethesda.net/BethesdaNetLauncher_Setup.exe Bethesda.net] launcher)
# Update Fallout 4 to [http://www.creationkit.com/fallout4/index.php?title=Enable_Loose_Files Enable Loose Files]
# Update Fallout 4 to [[Enable Loose Files]]
# Update Fallout 4 to [http://www.creationkit.com/fallout4/index.php?title=Enable_Debug_Logging Enable Debug Logging]
# Update Fallout 4 to [[Enable Debug Logging]]


=== Steps ===
=== Steps ===
:1.   Load Fallout 4 Resources
:1. Load Fallout 4 Resources
::* Start Creation Kit
::* Start Creation Kit
::* File -> Data... -> Double Click Fallout4.esm
::* File -> Data... -> Double Click Fallout4.esm
Line 22: Line 22:
::* Hit [Apply]
::* Hit [Apply]


:3. Create a Message
:3. Create a [[Message]]


::* Within the left pane of the "Object Window", Expand "Miscellaneous"
::* Within the left pane of the [[Object Window]], expand the [[:Category:Miscellaneous| Miscellaneous]] category.
::* Click On/Highlight "Message"
::* Click On/Highlight "Message"
::* Double Click "Blank Message" in the right pane
::* Double Click "Blank Message" in the right pane
Line 35: Line 35:
::** Hit [YES] when asked if you wish to create a new Form
::** Hit [YES] when asked if you wish to create a new Form


:4. Create a Quest
:4. Create a [[Quest]]
 
::The best way to introduce content into the game is by creating a new Quest that adds the content or performs various actions.
::The best way to introduce content into the game is by creating a new Quest that adds the content or performs various actions.


::* Within the left pane of the "Object Window", Expand "Character"
::* Within the left pane of the [[Object Window]], expand the [[:Category:Character| Character]] category.
::* Click On/Highlight "Quest"
::* Click On/Highlight "Quest"
::* Within the right pane of the "Object Window", Right-Click the background and select "New"
::* Within the right pane of the Object Window, Right-Click the background and select "New"
::** ID : HelloWorldQuest
::** ID : HelloWorldQuest
::** ''NOTE : "Start Game Enabled" and "Run Once" are checked. For this example, the default values are fine.''
::** ''NOTE : "Start Game Enabled" and "Run Once" are checked. For this example, the default values are fine.''
::** Hit [OK] ''NOTE : Scripts are not enabled until the quest is created''
::** Hit [OK] ''NOTE : Scripts are not enabled until the quest is created''


:5. Create a Script for the Quest and inject the HelloWorld Message
:5. Create a Script for the [[Quest]] and inject the HelloWorld [[Message]]


::* Within the left pane of the "Object Window", Make sure "Character" -> "Quest" is selected  
::* Within the left pane of the "Object Window", Make sure "Character" -> "Quest" is selected  
Line 60: Line 59:
::** Hit [OK] (To exit Property editor)
::** Hit [OK] (To exit Property editor)


::: ''NOTE'' : When Properties start with the letter "p", The CK searches all objects matching the TYPE for an obvious match. Since there is a MessageBox named "HelloWorld", it automatically fills the property for you. If you had named the property something else, or given the message box a different ID, you would have needed to specify the specific MessageBox to inject.
::: ''NOTE'' : When Properties start with the letter "p", The CK searches all objects matching the TYPE for an obvious match. Since there is a MESSAGE named "HelloWorld", it automatically fills the property for you. If you had named the property something else, or given the message box a different ID, you would have needed to specify the specific MESSAGE to inject.


:6. Edit the script to show the message
:6. Edit the script to show the message
Line 69: Line 68:
:::'' NOTE: Spacing is important. If you are pasting from this page, paste into NotePad first to eliminate format and then paste into the CK edit window.
:::'' NOTE: Spacing is important. If you are pasting from this page, paste into NotePad first to eliminate format and then paste into the CK edit window.


<source lang="papyrus">
  Event OnInit()
  Event OnInit()
   pHelloWorld.Show()
   pHelloWorld.Show()
   Debug.MessageBox("Hello from a Debug MessageBox!")
   Debug.MessageBox("Hello from a Debug MessageBox!")
  endEvent
  EndEvent
</source>




Line 95: Line 96:
::* Load an existing save game or start a new game.
::* Load an existing save game or start a new game.


:You should see 2 message boxes pop up. One from the Message you created and the other from the debug.  
:You should see 2 message boxes pop up. One from the Message you created and the other from the debug.


=== Lessons Learned ===
=== Lessons Learned ===
Line 104: Line 105:
:2. Avoid Debug.MessageBox   
:2. Avoid Debug.MessageBox   


::When scripts are compiled into release archives, the Creation Kit will strip out all [http://www.creationkit.com/fallout4/index.php?title=Debug_Script Debug] methods such as Debug.MessageBox, Debug.TraceAndBox, etc... This example creates and injects a MESSAGE object because it is technically required to get "Hello World" to show up in a released mod.  You can not rely on Debug methods (specifically the message box function) as part of a mod.  
::When scripts are archived into release archives, the Creation Kit will strip out all [[Debug Script]] methods such as Debug.MessageBox, Debug.TraceAndBox, etc... This example creates and injects a MESSAGE object because it is technically required to get "Hello World" to show up in a released mod.  You can not rely on Debug methods (specifically the message box function) as part of a mod.  


=== If things aren't working ===
=== If things aren't working ===


:Make sure you enabled loose files. A common mistake is to edit the wrong INI file. Make sure you edit the file under Documents/My Games/Fallout 4.
:Make sure you enabled loose files. A common mistake is to edit the wrong INI file. Make sure you edit the file under Documents/My Games/Fallout 4.
Anonymous user