Gungame.core.players.shortcuts.removeCallBacksForAddon
From GunGame5 Documentation
(Difference between revisions)
Line 22: | Line 22: | ||
examples=* Removing multiple callbacks: | examples=* Removing multiple callbacks: | ||
- | |||
- | |||
- | |||
- | |||
from gungame.core.players.shortcuts import setAttribute | from gungame.core.players.shortcuts import setAttribute | ||
- | from gungame.core.players.shortcuts import | + | from gungame.core.players.shortcuts import addAttributeCallBack |
+ | 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') | ||
+ | |||
+ | # Set the custom attribute "myattribute" on all connected players | ||
+ | setAttribute('#all', 'anotherattribute', 0) | ||
+ | |||
+ | # Add the attribute callback | ||
+ | # (this will call on "callbackFunction" any time "myattribute" is set | ||
+ | # via the __setitem__ or __setattr__ method) | ||
+ | addAttributeCallBack('anotherattribute', 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') | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | # Remove all custom attribute callbacks for this addon | |
- | # | + | removeCallBacksForAddon('gg_sample') |
- | + | ||
- | def | + | def callbackFunction(name_of_the_attribute, value_to_be_checked): |
- | + | ''' | |
- | + | This callback function can be used for more than 1 attribute, so that you can | |
+ | 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>| | ||
Revision as of 20:43, 27 April 2009
Function: removeCallBacksForAddon
Module: gungame.core.players.shortcuts
Class: Player
GunGame Version: 5.1
Function Overview
Table of Contents
Contents |
Description
A shortcut function for the static class method Player.removeCallBacksForAddon() that allows the scripter to remove all custom Player attribute callbacks that have been associated with the named addon.
Arguments
removeCallBacksForAddon(addon)
- name
- The str() name of the addon.
Examples
- Removing multiple callbacks:
from gungame.core.players.shortcuts import setAttribute from gungame.core.players.shortcuts import addAttributeCallBack from gungame.core.players.shortcuts import removeAttributeCallBack from gungame.core.players.shortcuts import removeCallBacksForAddon
def load():
# Set the custom attribute "myattribute" on all connected players 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')
# Set the custom attribute "myattribute" on all connected players setAttribute('#all', 'anotherattribute', 0)
# Add the attribute callback # (this will call on "callbackFunction" any time "myattribute" is set # via the __setitem__ or __setattr__ method) addAttributeCallBack('anotherattribute', callbackFunction, 'gg_sample')
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 removeAttributeCallBack('myattribute')
# Remove all custom attribute callbacks for this addon removeCallBacksForAddon('gg_sample')
def callbackFunction(name_of_the_attribute, value_to_be_checked):
This callback function can be used for more than 1 attribute, so that you can 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
- If you set any custom Player attributes, insure that you remove them when the player disconnects (optional) or when your addon is unloaded (required):
def unload(): deleteAttribute('#all', 'yourattributename') def player_disconnect(event_var): setAttribute(event_var['userid'], 'yourattributename')
- Deleting an attribute using this function will remove any custom attribute callbacks that were set by addAttributeCallBack().
- If you try to delete a custom attribute that does not exist using this method, no error will be raised.
- If you attempt to delete any required GunGame attributes, an error will be raised.
See Also
- gungame.core.players
- gungame.core.players.shortcuts
- Player
- setAttribute(filter, attribute, value)
- addAttributeCallBack(attribute, function, addon)
- removeAttributeCallBack(attribute)
- removeCallBacksForAddon(addon)
- Forum search for Gungame.core.players.shortcuts.removeCallBacksForAddon