Dynamic Variable Naming / Variable Variables / Indirect Variable Access - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Dynamic Variable Naming / Variable Variables / Indirect Variable Access (
/showthread.php?tid=348239)
Dynamic Variable Naming / Variable Variables / Indirect Variable Access -
Redgie - 04.06.2012
I've been told this is impossible in C so I have very little hope it's possible in P, but what I'm trying to do is use this for a textdraw system, whereby the name the variable containing the textdraw is referenced dynamically, such as:
Storing the Textdraw Variable names
pawn Code:
new Array[1][1] = {
{"ArrayName"}
};
Referencing the Variable Name
pawn Code:
new Text:Array[0][0] = TextDrawCreate(blaa blaa);
Obviously this doesn't work, but any idea on a system that would achieve similar results? What I'm trying to achieve is a none-static system, otherwise applying the textdraw effects has to be done on individual textdraw names which is not an option...
If this isn't a clear enough explanation, it is somewhat achieved with PHP's $$Variable system.
Re: Dynamic Variable Naming / Variable Variables / Indirect Variable Access -
ViniBorn - 04.06.2012
Is this?
pawn Code:
new Text:TextDrawID[2];
TextDrawID[0] = TextDrawCreate(...);
TextDrawID[1] = TextDrawCreate(...);
Re: Dynamic Variable Naming / Variable Variables / Indirect Variable Access -
MP2 - 04.06.2012
He means using a string as a variable name, I assume. No this isn't possible as far as I know, as variable names are only pre-compile, they 'disappear' (for lack of a better word..) at compile time.
Re: Dynamic Variable Naming / Variable Variables / Indirect Variable Access -
Redgie - 04.06.2012
Yeah that's what I thought. Only alternative I've been able to come up with so swap the variable names with array indexes, but going to experiment with this tomorrow.