![](templates/Classic/images/spacer.gif) |
xekon Apprentice
Joined: 11 Oct 2007 Posts: 154
|
Posted: Tue Jun 09, 2009 7:52 am
help, how do I create a loop that will work correctly from a status window |
the code in my status window is enormous, I do however have my variable setup in a way that I could easily make the code 1/18 its size if I could figure out how to loop within a status window.... I dont need help rewriting my code, I just need to see an example of how to make a loop that will work from within a Status Window.
Code: |
%if(%class(cp1)==1,%ansi(red)"[========= "%ansi(high,green)"{"%ansi(high,cyan)"Campaign"%ansi(high,green)"} "%ansi(red)"=========]"%cr
%if(%numkeys(@mob_cp)>=1,%ansi(white)%left(%item(@mob_cp,1),25) %if(%item(%db(@mob_cp,%item(@mob_cp,1)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,1)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,1)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,1)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,1)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,1)),1),30) %cr,)
%if(%numkeys(@mob_cp)>1,%ansi(white)%left(%item(@mob_cp,2),25) %if(%item(%db(@mob_cp,%item(@mob_cp,2)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,2)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,2)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,2)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,2)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,2)),1),30) %cr,)
%if(%numkeys(@mob_cp)>2,%ansi(white)%left(%item(@mob_cp,3),25) %if(%item(%db(@mob_cp,%item(@mob_cp,3)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,3)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,3)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,3)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,3)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,3)),1),30) %cr,)
%if(%numkeys(@mob_cp)>3,%ansi(white)%left(%item(@mob_cp,4),25) %if(%item(%db(@mob_cp,%item(@mob_cp,4)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,4)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,4)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,4)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,4)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,4)),1),30) %cr,)
%if(%numkeys(@mob_cp)>4,%ansi(white)%left(%item(@mob_cp,5),25) %if(%item(%db(@mob_cp,%item(@mob_cp,5)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,5)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,5)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,5)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,5)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,5)),1),30) %cr,)
%if(%numkeys(@mob_cp)>5,%ansi(white)%left(%item(@mob_cp,6),25) %if(%item(%db(@mob_cp,%item(@mob_cp,6)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,6)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,6)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,6)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,6)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,6)),1),30) %cr,)
%if(%numkeys(@mob_cp)>6,%ansi(white)%left(%item(@mob_cp,7),25) %if(%item(%db(@mob_cp,%item(@mob_cp,7)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,7)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,7)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,7)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,7)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,7)),1),30) %cr,)
%if(%numkeys(@mob_cp)>7,%ansi(white)%left(%item(@mob_cp,8),25) %if(%item(%db(@mob_cp,%item(@mob_cp,8)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,8)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,8)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,8)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,8)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,8)),1),30) %cr,)
%if(%numkeys(@mob_cp)>8,%ansi(white)%left(%item(@mob_cp,9),25) %if(%item(%db(@mob_cp,%item(@mob_cp,9)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,9)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,9)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,9)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,9)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,9)),1),30) %cr,)
%if(%numkeys(@mob_cp)>9,%ansi(white)%left(%item(@mob_cp,10),25) %if(%item(%db(@mob_cp,%item(@mob_cp,10)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,10)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,10)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,10)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,10)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,10)),1),30) %cr,)
%if(%numkeys(@mob_cp)>10,%ansi(white)%left(%item(@mob_cp,11),25) %if(%item(%db(@mob_cp,%item(@mob_cp,11)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,11)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,11)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,11)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,11)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,11)),1),30) %cr,)
%if(%numkeys(@mob_cp)>11,%ansi(white)%left(%item(@mob_cp,12),25) %if(%item(%db(@mob_cp,%item(@mob_cp,12)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,12)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,12)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,12)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,12)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,12)),1),30) %cr,)
%if(%numkeys(@mob_cp)>12,%ansi(white)%left(%item(@mob_cp,13),25) %if(%item(%db(@mob_cp,%item(@mob_cp,13)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,13)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,13)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,13)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,13)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,13)),1),30) %cr,)
%if(%numkeys(@mob_cp)>13,%ansi(white)%left(%item(@mob_cp,14),25) %if(%item(%db(@mob_cp,%item(@mob_cp,14)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,14)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,14)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,14)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,14)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,14)),1),30) %cr,)
%if(%numkeys(@mob_cp)>14,%ansi(white)%left(%item(@mob_cp,15),25) %if(%item(%db(@mob_cp,%item(@mob_cp,15)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,15)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,15)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,15)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,15)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,15)),1),30) %cr,)
%if(%numkeys(@mob_cp)>15,%ansi(white)%left(%item(@mob_cp,16),25) %if(%item(%db(@mob_cp,%item(@mob_cp,16)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,16)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,16)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,16)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,16)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,16)),1),30) %cr,)
%if(%numkeys(@mob_cp)>16,%ansi(white)%left(%item(@mob_cp,17),25) %if(%item(%db(@mob_cp,%item(@mob_cp,17)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,17)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,17)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,17)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,17)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,17)),1),30) %cr,)
%if(%numkeys(@mob_cp)>17,%ansi(white)%left(%item(@mob_cp,18),25) %if(%item(%db(@mob_cp,%item(@mob_cp,18)),3)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,18)),3),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,18)),2)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,18)),2),30) %cr,) %if(%item(%db(@mob_cp,%item(@mob_cp,18)),1)!="",%ansi(cyan)%left(%item(%db(@mob_cp,%item(@mob_cp,18)),1),30) %cr,)
,),),),),),),),),),),),),),),),),),%ansi(red)"Campaign is finished Go Turn IN"),%ansi(red)"No GQuest, Quest, or Campaign") |
|
|
|
![](templates/Classic/images/spacer.gif) |
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Tue Jun 09, 2009 12:47 pm |
You can only use functions there, and there are no functions which perform looping.
Are you sure you won't consider help to rewrite it? |
|
|
![](templates/Classic/images/spacer.gif) |
xekon Apprentice
Joined: 11 Oct 2007 Posts: 154
|
Posted: Tue Jun 09, 2009 12:49 pm |
hmmm does this mean I would need to perform loop operations prior to the status window and rebuild the status window as I need to?
|
|
|
![](templates/Classic/images/spacer.gif) |
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Tue Jun 09, 2009 1:06 pm |
That may be one way to do it, but your code is complicated enough that I can't make out exactly what you're doing in a cursory look.
|
|
|
![](templates/Classic/images/spacer.gif) |
xekon Apprentice
Joined: 11 Oct 2007 Posts: 154
|
Posted: Tue Jun 09, 2009 1:09 pm |
I have a datarecord that can have anywhere between 1 and 18 keys. I am then displaying the keys with their values if they are not nil. Also the value for every key is a string list.
|
|
|
![](templates/Classic/images/spacer.gif) |
Taz GURU
Joined: 28 Sep 2000 Posts: 1395 Location: United Kingdom
|
Posted: Tue Jun 09, 2009 4:33 pm |
%exec
|
|
_________________ Taz :) |
|
|
![](templates/Classic/images/spacer.gif) |
xekon Apprentice
Joined: 11 Oct 2007 Posts: 154
|
Posted: Tue Jun 09, 2009 6:34 pm |
thank you, thank you, thank you, thank you, thank you, thank you, exactly what I was looking for.
|
|
|
![](templates/Classic/images/spacer.gif) |
xekon Apprentice
Joined: 11 Oct 2007 Posts: 154
|
Posted: Tue Jun 09, 2009 10:20 pm |
You wouldnt happen to know how to make use of %exec without that seperator "|" showing up?
|
|
|
![](templates/Classic/images/spacer.gif) |
Arminas Wizard
Joined: 11 Jul 2002 Posts: 1265 Location: USA
|
Posted: Tue Jun 09, 2009 11:10 pm |
Why not create a function that fills a variable with the text you need to display in the status window? Place the variable in the status window and call the function whenever you update the mob_cp variable?
As for the "|" you could use the %subchar function... Though I suggest the above solution instead. |
|
_________________ Arminas, The Invisible horseman
Windows 7 Pro 32 bit
AMD 64 X2 2.51 Dual Core, 2 GB of Ram |
|
|
![](templates/Classic/images/spacer.gif) |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|