User Tools

Site Tools


cfpython:cfpython

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
cfpython:cfpython [2021/07/27 14:47] – Document Player.Transport partmediacfpython:cfpython [2025/04/18 12:51] (current) – external edit 127.0.0.1
Line 19: Line 19:
 **Important note:** the API, and other parts, are valid for code's ''trunk''. ''branch'' contains hopefully all the changes too, but there may be differences. Also, links to SVN are to trunk. **Important note:** the API, and other parts, are valid for code's ''trunk''. ''branch'' contains hopefully all the changes too, but there may be differences. Also, links to SVN are to trunk.
  
 +As from September, 14th, 2021, a ''.pyi'' file is available in ''maps/python/pyi''. It lists all available functions and variables, though functions aren't documented, so no parameters or description.
  
  
 ====== General information ====== ====== General information ======
-The plugin has access to all built-in functions of Python, and its regular libraries. Python version being used depends on the platform the server was built, but should be 2.3 or higher. FIXME {is that always true?}+The plugin has access to all built-in functions of Python, and its regular libraries. Python version being used depends on the platform the server was built, but must be 3 or higher. FIXME {is that always true?}
  
 Using a library not part of Python's default distribution is discouraged as this introduces new dependencies. Using a library not part of Python's default distribution is discouraged as this introduces new dependencies.
Line 39: Line 40:
  
 ===== How do I hook a script to an object? ===== ===== How do I hook a script to an object? =====
-Python plugin is a [[:server plugin]], thus you need to insert in this object one of the //event_xxx// archetype (see ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/system/|/arch/system]]'' directory). The fields to fill are:+Python plugin is a [[server plugin]], thus you need to insert in this object one of the //event_xxx// archetype (see ''[[https://sourceforge.net/p/crossfire/crossfire-arch/ci/master/tree/system|/arch/system]]'' directory). The fields to fill are:
   * **title**: should be //Python// to call the Python plugin.   * **title**: should be //Python// to call the Python plugin.
   * **slaying**: contains the path to the Python script to execute. Root refers to the map directory.   * **slaying**: contains the path to the Python script to execute. Root refers to the map directory.
Line 140: Line 141:
  
 The following constant types exist: The following constant types exist:
-  * ''AttackType'': AT_xxx constants, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/attack.h?view=markup|include/attack.h]]'' +  * ''AttackType'': AT_xxx constants, as defined in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/include/attack.h|include/attack.h]]'' 
-  * ''AttackTypeNumber'': ATNR_xxx constants, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/attack.h?view=markup|include/attack.h]]'' +  * ''AttackTypeNumber'': ATNR_xxx constants, as defined in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/attack.h|include/attack.h]]'' 
-  * ''CostFlag'': F_xxx constants, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/define.h]]'' (without the F_ prefix)+  * ''CostFlag'': F_xxx constants, as defined in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/include/define.h|include/define.h]]'' (without the F_ prefix)
   * ''Direction'': contains NORTH, NORTHEAST, ..., NORTHWEST   * ''Direction'': contains NORTH, NORTHEAST, ..., NORTHWEST
-  * ''EventType'': EVENT_xxx constants, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/plugin.h?view=markup|include/plugin.h]]'' +  * ''EventType'': EVENT_xxx constants, as defined in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/include/plugin.h|include/plugin.h]]'' 
-  * ''MessageFlag'': NDI_xxx constants, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/newclient.h?view=markup|include/newclient.h]]'' +  * ''MessageFlag'': NDI_xxx constants, as defined in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/include/newclient.h|include/newclient.h]]'' 
-  * ''Move'': movement types, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/define.h]]'' +  * ''Move'': movement types, as defined in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/include/define.h|include/define.h]]'' 
-  * ''Type'': object type, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/define.h]]'' +  * ''Type'': object type, as defined in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/include/define.h|include/define.h]]'' 
-  * ''ReplyType'': the rt_xxx constants, reply type, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/dialog.h]]'' +  * ''ReplyType'': the rt_xxx constants, reply type, as defined in ''[[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/include/define.h|include/dialog.h]]'' 
-  * ''AttackMovement'': the various DISTATT, PETMOVE and other constants in the "MONSTER_MOVEMENT" group as defined in [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/define.h]]+  * ''AttackMovement'': the various DISTATT, PETMOVE and other constants in the "MONSTER_MOVEMENT" group as defined in [[https://sourceforge.net/p/crossfire/crossfire-server/ci/master/tree/include/define.h|include/define.h]]
  
  
Line 381: Line 382:
  
 ==== CostStringFromValue ==== ==== CostStringFromValue ====
 +(trunk only)
 +
 Parameters: Parameters:
   * ''amount'', long integer   * ''amount'', long integer
Line 418: Line 421:
  
 Properties in **bold** are read-write, others are read-only. Most properties are mapped to fields of the ''object'' structure. ''Boolean'' values are mapped to the various flags. Properties in **bold** are read-write, others are read-only. Most properties are mapped to fields of the ''object'' structure. ''Boolean'' values are mapped to the various flags.
-  * **Name**: ''String'' containing the object's name +  * **Name**: ''String'' containing the object's name, adjusted for the number of objects. Settings this property changes both the singular and plural names 
-  * **NamePl**: ''String'' containing the object's plural name+  * **NamePl**: ''String'' containing the object's plural name. Changing this property only changes the item's plural name 
 +  * NameSingular: ''String'' containing the object's singular name
   * **Title**: ''String''   * **Title**: ''String''
   * **Race**: ''String''   * **Race**: ''String''
Line 479: Line 483:
   * Identified: ''Boolean''   * Identified: ''Boolean''
   * **Alive**: ''Boolean''   * **Alive**: ''Boolean''
-  * DungeonMaster: ''Boolean''+  * **DungeonMaster**: ''Boolean'', writable on ''master''
   * WasDungeonMaster: ''Boolean''   * WasDungeonMaster: ''Boolean''
   * **Applied**: ''Boolean''   * **Applied**: ''Boolean''
Line 600: Line 604:
  
 Arguments: Arguments:
-  * ''Crossfire.Object'' representing the spell to case+  * ''Crossfire.Object'' representing the spell to cast
   * ''Crossfire.Direction'', direction in which the object should cast   * ''Crossfire.Direction'', direction in which the object should cast
   * ''String'', optional arguments to the spell (for food creation, ...)   * ''String'', optional arguments to the spell (for food creation, ...)
Line 614: Line 618:
 ==== CastAbility ==== ==== CastAbility ====
  
-Equivalent of ''Cast''.+Obsolete, will be removed, use ''Cast''.
  
 ==== ChangeAbil ==== ==== ChangeAbil ====
Line 815: Line 819:
  
 ==== Remove ==== ==== Remove ====
-Destroys current object, which then becomes invalid.+Destroys current object, which then becomes invalid. If the object is on a map, its inventory is dropped to the ground (except no drop or god given items), else everything is destroyed.
  
 ==== Reposition ==== ==== Reposition ====
Line 981: Line 985:
   * **BedX** : ''number'' containing the x coordinate of last savebed.   * **BedX** : ''number'' containing the x coordinate of last savebed.
   * **BedY** : ''number'' containing the y coordinate of last savebed.   * **BedY** : ''number'' containing the y coordinate of last savebed.
 +  * **CmdCount**: ''number'' command count
   * **MarkedItem**: ''Crossfire.Object'', item the player has marked.   * **MarkedItem**: ''Crossfire.Object'', item the player has marked.
   * **Party**: ''Crossfire.Party'', party in which the player is. Note that changing it bypasses a potential party's password.   * **Party**: ''Crossfire.Party'', party in which the player is. Note that changing it bypasses a potential party's password.
Line 1082: Line 1087:
   * Longname: ''String''   * Longname: ''String''
   * Message: ''String''   * Message: ''String''
-  * Next: ''Crossfire.Region''+  * <del>Next: ''Crossfire.Region''</del> deprecated, will be ''None'' on master branch
   * JailX, JailY: ''Integer'', coordinates of the jail for this region (trunk only)   * JailX, JailY: ''Integer'', coordinates of the jail for this region (trunk only)
   * JailPath: ''String'', path of the jail for this region (trunk only)   * JailPath: ''String'', path of the jail for this region (trunk only)
cfpython/cfpython.1627415250.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki