script syntax help



  • On 02/05/2017 at 06:16, xxxxxxxx wrote:

    Hi guys,
    sometimes I use the Script log to see what a command syntax looks like, and usually fail to create a Python script out of it.
    For example, using:
        prefs(465001620)[c4d.PREF_INTERFACE_CENTEROBJECT]=True
        prefs(465001620)[c4d.PREF_INTERFACE_CENTEROBJECT]=False

    turns the "Create New object at View Center" on and off.
    How would I create a script that toggles between states, with the icon being Active (blue) when it's on and grey when it's off?

    just pasting the code in a script gives me an error:
    Traceback (most recent call last) :
      File "'scriptmanager'", line 11, in <module>
      File "'scriptmanager'", line 7, in main
    NameError: global name 'prefs' is not defined

    Cheers
    Noseman



  • On 02/05/2017 at 07:00, xxxxxxxx wrote:

    import c4d
      
    def main() :
        interface = c4d.plugins.FindPlugin(465001620, c4d.PLUGINTYPE_PREFS)
        interface[c4d.PREF_INTERFACE_CENTEROBJECT] = not bool(interface[c4d.PREF_INTERFACE_CENTEROBJECT]) #toogle
        c4d.EventAdd()
                        
    if __name__=='__main__':
        main()
    

    For the state take a look at my video here (in french) https://vimeo.com/190940660.
    Or look at this post where you have everything you need for doing it https://plugincafe.maxon.net/topic/423/13564_plugins-in-plugin-or-icons&PID=53811#53811

    Btw I wanted to say a big thank you!
    You are one of the guy who inspire me about doing pythonic stuff. So thanks for your love of c4d and all your share !



  • On 02/05/2017 at 10:09, xxxxxxxx wrote:

    Thank you so much for your help.
    I was trying to help out a user on CG Society.
    I'm going to post your script alongside another solution.

    Also, I'm glad I could inspire you to push the limits of C4D... keep up the great work!

    Cheers


Log in to reply