User Tools

Site Tools


4rpl:overview

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
4rpl:overview [2021/01/17 15:43] Karsten754rpl:overview [2022/02/14 06:12] (current) – Attempt to make wrapping notation slightly easier to grok. serdalis
Line 1: Line 1:
  
 <=[[4rpl:start| 4RPL Scripting Language]] <=[[4rpl:start| 4RPL Scripting Language]]
 +
 +:!: To edit files you will need an editor. Read how to get started with [[creating and editing 4rpl scripts]].
  
 ====== Scripting ====== ====== Scripting ======
Line 35: Line 37:
 </code> </code>
  
-Run this **once** in the console and then unpause the game and let the game simulation run a few frames. You will see a stack of 100 deep creeper at map coordinate x=12 and z=23 ((For more information on the game coordinate system and why we use **x** and **z** coordinates, see [[map coordinate system]])).+Run this **once** in the console and then unpause the game and let the game simulation run a few frames. You will see a stack of 100 deep creeper at map coordinate x=12 and z=23 ((For more information on the game coordinate system and why we use **x** and **z** coordinates, see [[cw4:custom_maps#Understanding the 3D Coordinate System]])).
  
  
Line 56: Line 58:
 12 23 100 AddCreeper 12 23 100 AddCreeper
 AddCreeper(12 23 100) # Does the same thing as the line above. AddCreeper(12 23 100) # Does the same thing as the line above.
 +
 +1 (2 3 +) 4  # Demonstrate wrapping affects all stack locations.
 +2 3 + 1 4    # This line is the same as the one above.
 </code> </code>
  
Line 69: Line 74:
 endif endif
 </code> </code>
 +
 +
 +
 +Note: See [[4rpl:Data Types]] for comparison between dissimilar types and type conversion. 
 +
 +
  
 ===== Variables ===== ===== Variables =====
Line 77: Line 88:
 "3 plus 4 is" <-result TraceAllSP "3 plus 4 is" <-result TraceAllSP
 </code> </code>
 +
 +
 +
 +Note: See [[4rpl:Data Types]] for comparison between dissimilar types and type conversion. 
 +
 +
  
 ===== Functions ===== ===== Functions =====
Line 102: Line 119:
  
 \\ \\
 +
 +----
 +===== Working with CPACKs =====
 +When a CPACK is imported, it does not overwrite any scripts that might be on disk.   So if there are scripts on disk those will get jammed back into the CPACK whenever a compile is done (and a compile is done during finalization).  You can look on disk at a location like this: 
 +<WRAP width center twothirds>
 +<code>
 +%HOMEPATH%\Documents\My Games\creeperworld4\creeperworld4\editor\map2\cpacks\[CPACKNAME] 92415695-49d6-4e97-852b-64493e76233b\scripts\
 +</code> 
 +</WRAP>
 +
 +If you load map as a regular player and then enter edit mode, the game will stick the scripts into the _UNKNOWN project directory. If there are already matching scripts present at that location, they will not be overwritten (importing a CPACK is the only exception to this).  If you export, it will take the scripts on disk.  Basically, in the normal case there is a project directory on disk. When you open a project, that directory is where scripts are location on disk.  When you compile, those are the ones compiled. They get placed into the exported or finalized CPACK.  
 +
 +The case of on-the-fly opening the editor in a map you are playing is no different -with one exception: The game doesn't know what the project directory is, so it uses "_UNKNOWN" as the directory.  Everything else is the same after that.
 +
 +If you want to grab the scripts from a map (like an FPS map) and you want to make sure you have the latest scripts, you should either create a project for the map and open it from the project page, or you should clean your _UNKNOWN directory before you open the map on the fly.
 +
 +Basically, just deleting the _UNKNOWN directory is the easiest way to clean it
 +
  
 ---- ----
4rpl/overview.1610916187.txt.gz · Last modified: 2021/01/17 15:43 by Karsten75