コード例 #1
0
    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)
コード例 #2
0
    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))
コード例 #3
0
 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