Gungame.core.players.shortcuts.setAttribute

From GunGame5 Documentation

(Difference between revisions)
Jump to: navigation, search
Line 29: Line 29:
from gungame.core.players.shortcuts import setAttribute
from gungame.core.players.shortcuts import setAttribute
-
from gungame.core.players.shortcuts import addAttributeCallBack
+
from gungame.core.players.shortcuts import deleteAttribute
-
from gungame.core.players.shortcuts import removeAttributeCallBack
+
-
from gungame.core.players.shortcuts import removeCallBacksForAddon
+
def load():
def load():
     # Set the custom attribute "myattribute" on all connected players
     # Set the custom attribute "myattribute" on all connected players
     setAttribute('#all', 'myattribute', 0)
     setAttribute('#all', 'myattribute', 0)
-
 
-
    # Add the attribute callback
 
-
    # (this will call on "callbackFunction" any time "myattribute" is set
 
-
    #  via the __setitem__ or __setattr__ method)
 
-
    addAttributeCallBack('myattribute', callbackFunction, 'gg_sample')
 
def unload():
def unload():
-
    '''
 
-
    When you unload the custom addon, so long as the correct "addon" argument
 
-
    was provided, "removeCallBackForAddons('addon_name_being_unloaded')" will be called,
 
-
    which in this case will be "removeCallBackForAddon('gg_sample')". Therefore, the
 
-
    following "removeAttributeCallBack('myattribute')" and "removeCallBacksForAddon('gg_sample')" is not necessary, but moreso exists for the sake of showing how to use
 
-
    the function.
 
-
    '''
 
     # Remove the custom attribute "myattribute" from all players
     # Remove the custom attribute "myattribute" from all players
-
     removeAttributeCallBack('myattribute')
+
     deleteAttribute('#all', 'myattribute')
-
 
+
-
    # Remove all custom attribute callbacks for this addon
+
-
    removeCallBacksForAddon('gg_sample')
+
def player_activate(event_var):
def player_activate(event_var):
Line 60: Line 43:
     setAttribute(event_var['userid'], 'myattribute', 'gg_sample')
     setAttribute(event_var['userid'], 'myattribute', 'gg_sample')
-
def callbackFunction(name_of_the_attribute, value_to_be_checked):
+
def player_disconnect(event_var):
-
     '''
+
     # Delete the custom attribute "myattribute" from this userid
-
    This callback function can be used for more than 1 attribute, so that you can
+
     deleteAttribute(event_var['userid'], 'myattribute')</source>|
-
     register multiple attribute callbacks. All that you have to do is check the
+
-
    name of the attribute (the first argument). The second argument is the value
+
-
    of the attribute. If you raise an error during your callback, the attribute
+
-
    will not be set to the attempted value.
+
-
    '''
+
-
    if name_of_the_attribute == 'myattribute':
+
-
        # Make sure the value is from 0-10
+
-
        if value_to_be_checked in range(0, 11):
+
-
            pass
+
-
        else:
+
-
            raise ValueError('Value must be between 0 and 10!')</source>|
+
-
notes=* In order to effectively set a custom attribute on all players, use the [[gungame.core.players.shortcuts.setAttribute|setAttribute()]] function in your addon's load() and player_spawn() functions:
+
notes=* In order to effectively set a custom attribute on all players, use the [[gungame.core.players.shortcuts.setAttribute|setAttribute()]] function in your addon's load() and player_activate() functions:
<source lang="python">def load():
<source lang="python">def load():
     setAttribute('#all', 'yourattributename', 'gg_your_addon_name')
     setAttribute('#all', 'yourattributename', 'gg_your_addon_name')

Revision as of 16:26, 27 April 2009



Function: setAttribute

Module: gungame.core.players.shortcuts
Class: Player
GunGame Version: 5.1

Function Overview

Table of Contents

Contents


Description

A shortcut function for Player.__setattr__ and Player.__setitem__ that allows the scripter to set a custom Player attribute on a single userid, or multiple userids using a filter as provided by playerlib.getPlayerList().

Arguments

setAttribute(filter, attribute, value)
  • filter
  • attribute
    • The str() name of the attribute
  • value
    • The value of the attribute


Examples

# ../<MOD>/addons/eventscripts/gungame/scripts/custom/gg_sample/gg_sample.py
 
import es
 
from gungame.core.players.shortcuts import setAttribute
from gungame.core.players.shortcuts import deleteAttribute
 
def load():
    # Set the custom attribute "myattribute" on all connected players
    setAttribute('#all', 'myattribute', 0)
 
def unload():
    # Remove the custom attribute "myattribute" from all players
    deleteAttribute('#all', 'myattribute')
 
def player_activate(event_var):
    # Set the custom attribute "myattribute" for this userid
    setAttribute(event_var['userid'], 'myattribute', 'gg_sample')
 
def player_disconnect(event_var):
    # Delete the custom attribute "myattribute" from this userid
    deleteAttribute(event_var['userid'], 'myattribute')

Notes

  • In order to effectively set a custom attribute on all players, use the setAttribute() function in your addon's load() and player_activate() functions:
def load():
    setAttribute('#all', 'yourattributename', 'gg_your_addon_name')
 
def player_activate(event_var):
    setAttribute(event_var['userid'], 'yourattributename', 'gg_your_addon_name')

See Also

{{{seealso}}}

Personal tools