Almedes wrote:I haven't tried this, but...
First you would need to set a variable in default state for doing meta calls, call it sMSCall.
Create a metastate (lets call it WaitTime) where it acts on char name, and if name matches, it runs embedded navroute of say 2 seconds. Next Char is 4 secs, and so on. Add to this state, when navroute is empty return from call sMScall.
Now call this metastate "WaitTime" from the !recomp meta state, (so you can reuse this "WaitTime" State for multiple metastates), and have it return to sMSCall metastate (!recomp).
Good possibility I have something screwed up here, so DM probably has to straighten me out here. Or it just might be poo to begin with.
Code: Select all
Action- setvar[WaitTime, 2]
Code: Select all
Action setvar[WatiTime, 4]
Code: Select all
Action- setvar[Stopwatch, stopwatchcreate];stopwatchstart[getvar[Stopwatch]
bradacc wrote:Dmdtt wrote:
How often would that condition be checked?
doog wrote:I might even have a few use cases where the delay is different.
The problematic use cases, however are seldom. For example, when you take your (team) to kill bobo for the first time, is it Kleeoh? who talks for like 30 seconds to flag the char and goes "modal" (won't talk to char "next").
In that case I park the team outside, run one in, talk, run out. watch screen. So that's a one-off.
But *recurring* tasks I like (and DMDTT I do see your line of thinking, just send them all in and when the char "sees" text indicating success, move then to next part of the route), I'm trying to be more lazy here. I have the Toutou tasks in mind in particular. And Snowy Valley. And Hoshino', and maybe even for some instances, "/mt givep <item> to <NPC> -- ESP the Fiun so we don't ever mess up mass handing in of Argitrator's tokens for aug gems? or giving the gladiator statues to the garbage bin.
I walk up with my new found team o doogs. Hai look, a set of repeatable tasks.In these cases, a 3ish second delay, and a single !doogsDoTT from my squad leader would:
I make a simple route. Yes, smarter people than I have probably solved this and posted at IB's (hello good folks), but hey *I* am learning here, *I* wanna automate it, and I wanna make this work.
So I make a route. it's not smart, it's walk, talk, walk, talk. no fancy "listening" - and it's all route.
Now I past something like this into a TXT file that's on my desktop: /vt nav load HoshinosNPCs
and I "visit" all client windows. I take my time SO THAT there is a 2ish second pause in between client, click, enter, CTRL-V "paste" and move to next client window
And about 90 sec later, all the doogs have run my simple route, and we are off to kill the baddies.
1. have all doogs see the command
2a. leader might say "hey I said that, special fork/instruction for me"
2b. other (gang o doogs) sees the !doogsDoTT and don't do anything more than stand there.
3a. my leader would go into "clock" mode (needs a better name?)
3b. Somewhere in my control meta there might be a matrix of chars "doog2, doog3, doog4"
3c. leader walks the array/matrix of char names, does /t <charN> issues TASKVAR in a tell (is this possible to /t "CharN" "TASKVAR", I'm not solid here?)
3d. Check for a name="XX" <end of list condition>, else, leader pauses a fixed set of seconds, moves to next name in list
3e. chars are in motion, leader sends self command to do TASKVAR last
4. leader issues !followme
... and we're off to kill the bad guys.]
For tasks that can all take place in parallel (e.g. handing the gladiator status to the trash bin), I just make a !command in my meta. !giveStatueToTrash is a simple read for the command, and a chat command to /givep <item> to <destination> easy I know. It's when the destination is an NPC who won't talk to 2 people at once that I need this. AS I think, it's probably the daily tasks where this clash occurs most frequently? Maybe I really just need to make a hard coded list of names for every task and I'm being lazy here. Leader can do something after >2 sec, after >5 sec, >8, etc.?
Users browsing this forum: No registered users and 2 guests