def set_cvar(self, name, val: str): """ Sets a custom character variable, which will be available in all scripting contexts using this character. :param str name: The name of the variable to set. Must be a valid identifier and not be in the :ref:`cvar-table`. :param str value: The value to set it to. """ helpers.set_cvar(self._character, name, val) # noinspection PyProtectedMember self._interpreter._names[name] = str(val)
async def cvar(self, ctx, name: str = None, *, value=None): """Commands to manage character variables for use in snippets and aliases. See the [aliasing guide](https://avrae.io/cheatsheets/aliasing) for more help.""" if name is None: return await self.list_cvar(ctx) character: Character = await Character.from_ctx(ctx) if value is None: # display value cvar = character.get_scope_locals().get(name) if cvar is None: return await ctx.send("This cvar is not defined.") return await ctx.send(f'**{name}**: ```\n{cvar}\n```') helpers.set_cvar(character, name, value) await character.commit(ctx) await ctx.send('Character variable `{}` set to: `{}`'.format(name, value))
def set_cvar(name, val: str): name = str(name) val = str(val) helpers.set_cvar(character, name, val) self._names[name] = val self.character_changed = True