SA-MP Forums Archive
Parsing multiple variable into an array - 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)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Parsing multiple variable into an array (/showthread.php?tid=190332)



Parsing multiple variable into an array - Cameltoe - 14.11.2010

I'm not even sure if it's possible, but if it is.. would someone reply on this.

pawn Код:
enum Test
{
    Var_1[25],
    Var_2[25],
}

new Array[5][Test];
new var1 = 1;
new var2 = 2;

Array[var1(+var2)][Var_(var1)] = var2; // here's where I'm 'stuck'..
Thanks : ))


Re: Parsing multiple variable into an array - Mauzen - 14.11.2010

You mean something like this?
new a = 1;
then: Var_(a) would be Var_1
a = 2: Var_2 and so on?

Afaik this is not possible in that way. What you could try is a ? condition (dont know how it is called )

you would write (create) Var_(a) like this then:

(a == 1) ? (Var_1) : (Var_2)

This would be expandable for as much values youd like, maybe together with a macro. But i think this is not really what you are looking for, is it?


Re: Parsing multiple variable into an array - Cameltoe - 14.11.2010

Quote:
Originally Posted by Mauzen
Посмотреть сообщение
then: Var_(a) would be Var_1
a = 2: Var_2 and so on?
That's what Im looking for, but can't find an way to do it.. I know it's not possible the way i showed, it's just so others get an example of my question.


Re: Parsing multiple variable into an array - Mauzen - 14.11.2010

Hmm, the ? : stuff would be at least a possibility then.
(condition) ? (when true) : (when false)
Depends on how many different values you would need. Id say 10 would still be okay. You could interleave as much of those conditions as you want, but it gets more and more confusing


Re: Parsing multiple variable into an array - Cameltoe - 14.11.2010

Quote:
Originally Posted by Mauzen
Посмотреть сообщение
Hmm, the ? : stuff would be at least a possibility then.
(condition) ? (when true) : (when false)
Depends on how many different values you would need. Id say 10 would still be okay. You could interleave as much of those conditions as you want, but it gets more and more confusing
Yeah, confuses me even before it try.

like this?

pawn Код:
Array[0][var_?var] = var;
Gives me an warning, 'var_' isn't defined.


Re: Parsing multiple variable into an array - Mauzen - 14.11.2010

In this case it would look like this:

Array[0][(var1 == 1) ? (Var_1) : (Var_2)]

(if var1 == 1, then put Var_1 here, else Var_2)


There are some good examples in the wiki: https://sampwiki.blast.hk/wiki/Control_Structures#.3F:
Took me some time to understand it, too, it is a quite complex structure.


Re: Parsing multiple variable into an array - Cameltoe - 15.11.2010

Quote:
Originally Posted by ******
Посмотреть сообщение
Just use a 2d array:

pawn Код:
enum Test
{
    Var[2][25],
}
Alternatively read up on the memory layout of enums - those arrays are appended sequentially so you can work out offsets in Var_1 which are actually in Var_2.
Already tried, Couldn't get it working though.


pawn Код:
enum Test
{
     Var[2][20]; // ' error 001: expected token: "}", but found "[" '
}
new Array[50][Test]; // 3D array ftw?



Re: Parsing multiple variable into an array - Grim_ - 15.11.2010

The format would be:
pawn Код:
enum Test
{
   Var[2][20]
};
However, you cannot create 3D Arrays inside of enums.


Re: Parsing multiple variable into an array - Cameltoe - 15.11.2010

Quote:
Originally Posted by Grim_
Посмотреть сообщение
The format would be:
pawn Код:
enum Test
{
   Var[2][20]
};
However, you cannot create 3D Arrays inside of enums.
Oh explains it.