Scripting: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
mNo edit summary
Line 1: Line 1:
==About this Guide==
==About this Guide==
This guide assume that you are familiar with the original CON code from DN3D v1.3d-1.5.  If you are not already familiar with the default commands, the authors of this guide recommend the following guides to the basics:
This guide assume that you are familiar with the original CON code from DN3D v1.3d-1.5.  If you are not already familiar with the default commands, the authors of this guide recommend the following guides to the basics:
* [[Confaq42|Con FAQ 4.2 by Jonah Bishop based on Joris Weimar's Con FAQ]]
* [http://rtcm.thecomitatus.com/knowledge-base/downloads-rtcm/duke3d-faqs-con/H_CONFAQ.zip Con Editing Information v1.3 by James Ferry]
* [http://rtcm.thecomitatus.com/knowledge-base/downloads-rtcm/duke3d-faqs-con/H_CONFAQ.zip Con Editing Information v1.3 by James Ferry]
* [[Confaq42|Con FAQ 4.2 by Jonah Bishop based on Joris Weimar's Con FAQ]]


This guide will get you started with the basic aspects of EDuke32's commands which set it apart from vanilla DN3D.  This guide assumes that the reader has little to no experience with any programming language outside of the CON language.
This guide will get you started with the basic aspects of EDuke32's commands which set it apart from vanilla DN3D.  This guide assumes that the reader has little to no experience with any programming language outside of the CON language.

Revision as of 20:00, 6 September 2005

About this Guide

This guide assume that you are familiar with the original CON code from DN3D v1.3d-1.5. If you are not already familiar with the default commands, the authors of this guide recommend the following guides to the basics:

This guide will get you started with the basic aspects of EDuke32's commands which set it apart from vanilla DN3D. This guide assumes that the reader has little to no experience with any programming language outside of the CON language.

Custom Variables

Variables were introduced in EDuke 2.0 and remain the most important aspect of the new commandset. Variables allow you to store values, manipulate values, and execute code based on these values. Prior to custom variables, the only usable variables available were manipulations of inventory item counters and were very limited.

There are three types of custom variables, each type storing a signed, 32-bit fixed-point integer.

  • Global variables. A global variable will be the same for any actor it is used in. Changing a global variable changes it for all actors in the game.
  • Per-player variables. A per-player variable may be set independently for each player in the game. If a player performs an action that triggers a per-player variable change within an event or the APLAYER actor code, it will only change for the player that initiated that action. If an actor changes a per-player variable, it will change for the closest player to the actor that changed it.
  • Per-actor variables. A per-actor variable may be independently assigned to each copy of an actor in the game.

Events

EDuke32 provides both an object-oriented and an event-oriented interface to the game's internal workings. As the name suggests, an event is a block of code that is triggered when a certain event in the game happens. Events in the game are triggered internally whenever a certain point in the code is reached.

Members of the game structures

Drawing commands