Gungame.core.players.shortcuts.setAttribute

From GunGame5 Documentation

(Difference between revisions)
Jump to: navigation, search
Line 13: Line 13:
-
description=A shortcut function for [[gungame.core.players.Player|Player.__setattr__]] and [[gungame.core.players.Player|Player.__setitem__]] that allows the scripter to set a custom [[gungame.core.players.Player|Player]] attribute on a single userid or multiple userids using a filter as provided by [http://python.eventscripts.com/pages/Playerlib#Notes playerlib.getPlayerList()].|
+
description=A shortcut function for [[gungame.core.players.Player|Player.__setattr__()]] and [[gungame.core.players.Player|Player.__setitem__()]] that allows the scripter to set a custom [[gungame.core.players.Player|Player]] attribute on a single userid or multiple userids using a filter as provided by [http://python.eventscripts.com/pages/Playerlib#Notes playerlib.getPlayerList()].|
arguments=<source lang="python">setAttribute(filter, attribute, value)</source>
arguments=<source lang="python">setAttribute(filter, attribute, value)</source>
* '''filter'''
* '''filter'''
Line 57: Line 57:
         userid = event_var['userid']
         userid = event_var['userid']
-
         # Using the Player.__getattr__ method
+
         # Using the Player.__getattr__() method
         es.tell(userid, 'Your attribute: %s' %Player(userid).myattribute
         es.tell(userid, 'Your attribute: %s' %Player(userid).myattribute
-
         # Using the Player.__getitem__ method
+
         # Using the Player.__getitem__() method
         es.tell(userid, 'Your attribute: %s' %Player(userid)['myattribute']
         es.tell(userid, 'Your attribute: %s' %Player(userid)['myattribute']
</source>|
</source>|
Line 72: Line 72:
     setAttribute(event_var['userid'], 'yourattributename', 0)</source>
     setAttribute(event_var['userid'], 'yourattributename', 0)</source>
* If you set any custom [[gungame.core.players.Player|Player]] attributes, insure that you remove them when the player disconnects (optional) or when your addon is unloaded (required). This can be accomplished via the [[gungame.core.players.shortcuts.deleteAttribute|deleteAttribute()]] function.
* If you set any custom [[gungame.core.players.Player|Player]] attributes, insure that you remove them when the player disconnects (optional) or when your addon is unloaded (required). This can be accomplished via the [[gungame.core.players.shortcuts.deleteAttribute|deleteAttribute()]] function.
-
* Once a custom [[gungame.core.players.Player|Player]] attribute has been set, you can access the attribute via the [[gungame.core.players.Player|Player.__getitem__]] or  [[gungame.core.players.Player|Player.__getattr__]] methods.|}}
+
* Once a custom [[gungame.core.players.Player|Player]] attribute has been set, you can access the attribute via the [[gungame.core.players.Player|Player.__getitem__()]] or  [[gungame.core.players.Player|Player.__getattr__()]] methods.|
 +
** Other scripts can also access your custom attributes via the [[gungame.core.players.Player|Player.__getitem__()]] or  [[gungame.core.players.Player|Player.__getattr__()]] methods.|}}

Revision as of 16:46, 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

  • Setting the attribute:
# ../<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', 0)
 
def player_disconnect(event_var):
    # Delete the custom attribute "myattribute" from this userid
    deleteAttribute(event_var['userid'], 'myattribute')
  • Accessing the attribute:
import es
 
from gungame.core.players.shortcuts import Player
 
def player_say(event_var):
    if event_var['text'] == 'myattribute':
        userid = event_var['userid']
 
        # Using the Player.__getattr__() method
        es.tell(userid, 'Your attribute: %s' %Player(userid).myattribute
 
        # Using the Player.__getitem__() method
        es.tell(userid, 'Your attribute: %s' %Player(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', 0)
 
def player_activate(event_var):
    setAttribute(event_var['userid'], 'yourattributename', 0)
  • If you set any custom Player attributes, insure that you remove them when the player disconnects (optional) or when your addon is unloaded (required). This can be accomplished via the deleteAttribute() function.
  • Once a custom Player attribute has been set, you can access the attribute via the Player.__getitem__() or Player.__getattr__() methods.

See Also

{{{seealso}}}

Personal tools