Gungame.core.players.shortcuts.setAttribute

From GunGame5 Documentation

(Difference between revisions)
Jump to: navigation, search
Line 77: Line 77:
seealso= * [[gungame.core.players.shortcuts]]
seealso= * [[gungame.core.players.shortcuts]]
-
** [[gungame.core.players.shortcuts.deleteAttribute|deleteAttribute()]]}}
+
** [[gungame.core.players.shortcuts.deleteAttribute|deleteAttribute(''attribute'')]]
 +
** [[gungame.core.players.shortcuts.addAttributeCallBack|addAttributeCallBack]](''attribute, function, addon'')
 +
** [[gungame.core.players.shortcuts.removeAttributeCallBack|removeAttributeCallBack]](''attribute'')
 +
** [[gungame.core.players.shortcuts.removeCallBacksForAddon|removeCallBacksForAddon]](''addon'')
 +
** [[gungame.core.players.shortcuts.resetPlayers|resetPlayers]]()|}}

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

See Also

Personal tools