CCS won't pickpocket if consult script is included?

fxer

Member
Anyone know why pickpocketing won't happen if a consult script is included in a CCS?

[ default ]
"pickpocket"
if !match "deftly slip your fingers"
"pickpocket"
endif
if !match "deftly slip your fingers"
combo Rave Steal
endif
consult faxputty.ash
combo Rave Concentration
combo Disco Concentration
attack with weapon

if I pull that consult out pickpocketing happens as it should, with the consult in there the script goes right to a Rave Steal
 

jasonharper

Developer
A CCS section with a consult command in it cannot be turned into a combat macro, therefore all of the macro-only commands get ignored. A normal pickpocket command (without the double-quotes) would still work in this case.
 

fxer

Member
Ah now it is pickpocketing, but how about this: why does the rave steal combo still get executed (why goes it go inside that 'if' at all) when the first pickpocket succeeds?

Is 'match' one of the macro-only commands? Do i need to move the whole CCS into the consult probably, and read the buffers from steal() etc?

Code:
[ default ]
try to steal an item
if !match "deftly slip your fingers"
    try to steal an item
    if !match "deftly slip your fingers"
        combo Rave Steal
    endif
endif
consult faxputtyConsult.ash
combo Rave Concentration
combo Disco Concentration
attack with weapon

[ global prefix ]
scrollwhendone
"abort missed 5"
"abort pastround 27"
 
Last edited:

Theraze

Active member
Anything inside quotation marks gets skipped. Anything outside stays. The rave combo was not inside, and so was actually executed...

And all jason said you had to do was remove the quotation marks... you didn't even have to change it all to "try to steal an item" if I understood him correctly...
 

Bale

Minion
Ah now it is pickpocketing, but how about this: why does the rave steal combo still get executed (why goes it go inside that 'if' at all) when the first pickpocket succeeds?

Is 'match' one of the macro-only commands? Do i need to move the whole CCS into the consult probably, and read the buffers from steal() etc?

rave steal combo is executed because that line is not a macro command. However, the "if match" line is a macro command so it is ignored. The result is that rave steal combo is always executed.

Basically, if you're using a consult script you need to do everything complicated in that consult script.
 

fxer

Member
you didn't even have to change it all to "try to steal an item" if I understood him correctly...

Actually that part was mafia, I took off the quotes and it changed it to "try to steal an item" automatically

Basically, if you're using a consult script you need to do everything complicated in that consult script.

Will do, thanks Bale. Also on this topic, can you execute rave combos from within ash? It looks like the 'combo' call is for CCS only and the combos reset on ascension
 
Last edited:

Bale

Minion
Will do, thanks Bale. Also on this topic, can you execute rave combos from within ash? It looks like the 'combo' call is for CCS only and the combos reset on ascension

Nope. You'd need to check the skills for the combo yourself. I've got this lying around from an old rave steal consult script:

Code:
void main(int initround, monster foe, string url) {
   boolean stolen = false;
   while(contains_text(url, "form name=steal")) {
      url = steal();
      if((contains_text(url, "grab something") || contains_text(url, "You manage to wrest")))
         stolen = true;
   }
   if(stolen || my_class() != $class[Disco Bandit]) return;
   matcher combo = create_matcher("(.+),(.+),(.+)", get_property("raveCombo5"));
   if(combo.find())
      for i from 1 to 3 {
         if(contains_text(url, "You win the fight")) return;
         url = use_skill(combo.group(i).to_skill());
      }
}

That should be relevant to your interests. If I was to rewrite it now I'd submit the result as a macro with visit_url()
 
Top