Talk:Cast Reference

From the CreationKit Wiki
Jump to navigation Jump to search

What is the best(both cheap in memory and soucre code space) way to cast a bool into a short so one could use it as a link through(cast) to a GlobalVar.

--Zoe S17 (talk) 2014-12-11T02:54:48 (EST)

Papyrus doesn't have short type variables, only int. It also isn't possible to cast a literal (bool or int) to a object-type variable (like GlobalVariable). If you just mean you want to assign a boolean value to a GlobalVariable, you can do it like this:
        ;assign bool to global:
        SomeGlobalVariable.SetValueInt(yourBool as Int) ;casting bool to int results in 1 if the bool is true, and 0 if the bool is false

        ;assign global back to bool
        yourBool = SomeGlobalVariable.GetValueInt() ;yourBool will be true if the global value has any non-zero value (positive or negative).
                                                    ;yourBool will be false if the global equals 0
--egocarib (talk) 2014-12-12T20:55:07 (EST)
Thank you that solved my problem and you just showed me how to cast a literal into a GlobalVariable but it's only possible because of the functions SetValueInt() and GetValueInt() in the GlobalVariable Script
--Zoe S17 (talk) 2014-12-12T21:43:17 (EST)