Guide to Random Phrases!


Acabar

 

Posted

Darc,

I think your method is the one I want but I'm new to batch files. So my question is:

I have an RP-heavy hero who speak no English, but instead broadcasts thoughts and uses body language. I also have a number of battle emotes. Right now I use a series of more than a dozen keys bound to phrases, and use regular, alt+, shift+, and ctrl+ to add variations (so that's 4x12+ binds). This all resides in a single bind file (I use external files to edit then load them, with a keybind to reload the file if I edit it).

What I'd like to do is ditch the ctrl/alt/shift method and just randomize (or even serial-select, just anything to keep from using modifier keys) the phrases.

The way I'm reading the methods so far is I'd either have to have dozens of sleep.exe managed batch files, which just seems complicated; or it'd have to re-write the entire binds file (a loooong file) every time, which seems overkill.

Am I just asking too much, misinterpreting the methods available, or...something else?

I can post my current binds file if it helps.

Thanks!



CURRENT MAINS: Akero (V) | Polly Spark (V) | Project MALWARE (V) | Barium Bunny (VIP)
ACTIVE INCARNATES: Polly's Revenge (V) | Stygian Kitten (V) | Archon Abrasax (V) | Alpha Antares (V)
Felines | Wolves | Avians | Bovines | Griffons | Centaurs | Insects | Robots
What, you really think HUMANS are going to save the world? LOL!

 

Posted

If your emotes or thoughts fall into a few categories your could group your binds into several folders and tie each mood to a single key set and randomize those files.

For example I have three bind files and three target files. Each bind file has its own key bind.
[Meaning each bind in a file shares the same bind key like "Alt+1. The next bind file could use another key like "Alt+2".]
There is only one batch file and one sleep file all in the same folder. The batch files take a random bind from the bind file and add it to the matching target file, the batch file moves to the next bind file and repeats.

You may only need to split you binds into several bind files and change each key to match with each file. So you may not need to start from scratch.

IF you think showing me the binds will help, you could post them here or PM me.


Champion
Pillars of Might
Darc Ranger [Blas] / Darc Nebula [Cont]
The Bikini Patrol
Darc Lighter:51-[Blas] / Darc Lady:50-[Tank]
The Panty Raiders
Aegis Magnus [MM] / Atomic Spector [Cor] / Dominar Sefus [Dom]
MEGAFORCE
-Darc Ranger [Def]

 

Posted

Hi - just seeing this for the first time. *Great* stuff to know; thanks a bazill, Starmor et al! Cookies for all!!

-B!


 

Posted

Love this! I use it for all of my toons and it makes for a much more enjoyable game when my team-mates are laughing at what my toons come out with!


 

Posted

Ok, having a really hard time figuring out how to do what I want to have happen here.

For Masterminds, this would be PERFECT if you could do something like this:

<font class="small">Code:[/color]<hr /><pre>
/bind numpad0 "bind numpad4 petcomall agg$$bind numpad5 petcomall def$$bind numpad6
petcomall pass$$bind numpad7 petcomall att$$ RANDOM PHRASE!!!$$bind numpad8 petcomall
fol$$ RANDOM PHRASE!!!$$bind numpad9 petcomall goto$$RANDOM PHRASE!!!"
</pre><hr />

Check out that last part.

Basicly, if you're telling your bots to attack a target, they'd say something like EXTERMINATE!!! while attacking said target.
If you say follow they'd say something like, "Following Meatbag!!!" and follow you.
If you say GoTo thay'd say something like, "Executing assault Manuver" and goto where they are told.

The Sayings would be random, the keys always the same.

Ideally, you could have different sayings for each key, like numpad 4 (set to aggressive) would be "readying phasors" or somesuch (again, random).

In addition, I'd like to have this incorporated somehow:

<font class="small">Code:[/color]<hr /><pre>
/bind numpad1 "bind numpad4 petcompow batt agg$$bind numpad5 petcompow batt def$$
bind numpad6 petcompow batt pass$$bind numpad7 petcompow batt att$$bind numpad8
petcompow batt fol$$bind numpad9 petcompow batt goto"
.
/bind numpad2 "bind numpad4 petcompow prot agg$$bind numpad5 petcompow prot def$$
bind numpad6 petcompow prot pass$$bind numpad7 petcompow prot att$$bind numpad8
petcompow prot fol$$bind numpad9 petcompow prot goto"
.
/bind numpad3 "bind numpad4 petcompow assa agg$$bind numpad5 petcompow assa def
$$bind numpad6 petcompow assa pass$$bind numpad7 petcompow assa att$$bind
numpad8 petcompow assa fol$$bind numpad9 petcompow assa goto"
</pre><hr />

Again, all with random sayings and all bound to seperate keys (numpad keys).

I just get a big giant headache trying to work out how this would be done. Any ideas?


 

Posted

Pollution,

So NumberPad 0-3 is used to set binds for 4-9, which contain the MM commands?

I have not run multiple random phrases in one bind.

I may have to think this one out.

One way would be to have a number of phrases preset for each NumPad 0-3.

Using the basic program format, the phrase.txt file would contain

/bind numpad0 "bind numpad4 petcomall agg$$bind numpad5 petcomall def$$bind numpad6
petcomall pass$$bind numpad7 petcomall att$$ RANDOM PHRASE1!!!$$bind numpad8 petcomall
fol$$ RANDOM PHRASE1!!!$$bind numpad9 petcomall goto$$RANDOM PHRASE1!!!"

/bind numpad0 "bind numpad4 petcomall agg$$bind numpad5 petcomall def$$bind numpad6
petcomall pass$$bind numpad7 petcomall att$$ RANDOM PHRASE2!!!$$bind numpad8 petcomall
fol$$ RANDOM PHRASE2!!!$$bind numpad9 petcomall goto$$RANDOM PHRASE2!!!"

/bind numpad0 "bind numpad4 petcomall agg$$bind numpad5 petcomall def$$bind numpad6
petcomall pass$$bind numpad7 petcomall att$$ RANDOM PHRASE3!!!$$bind numpad8 petcomall
fol$$ RANDOM PHRASE3!!!$$bind numpad9 petcomall goto$$RANDOM PHRASE3!!!"
-----------------------

If that will work for you then, you could add the other NumPad 1-3 to the same file or use the mutiple phrase files method so each phrase file would be linked to a NumPad. If this is the path you want to take I could give you the basic build structure for the batch file either method.

------------------------

If you want random phrase within each bind, we may have to go another way. I will need to figure out the best way to do that.

Added: Actually I may end up using this on my RP MM.


Champion
Pillars of Might
Darc Ranger [Blas] / Darc Nebula [Cont]
The Bikini Patrol
Darc Lighter:51-[Blas] / Darc Lady:50-[Tank]
The Panty Raiders
Aegis Magnus [MM] / Atomic Spector [Cor] / Dominar Sefus [Dom]
MEGAFORCE
-Darc Ranger [Def]

 

Posted

If you get this working, please let me know, it's killing me.


 

Posted

[ QUOTE ]
/bind numpad0 "bind numpad4 petcomall agg$$bind numpad5 petcomall def$$bind numpad6
petcomall pass$$bind numpad7 petcomall att$$ RANDOM PHRASE1!!!$$bind numpad8 petcomall
fol$$ RANDOM PHRASE1!!!$$bind numpad9 petcomall goto$$RANDOM PHRASE1!!!"

/bind numpad0 "bind numpad4 petcomall agg$$bind numpad5 petcomall def$$bind numpad6
petcomall pass$$bind numpad7 petcomall att$$ RANDOM PHRASE2!!!$$bind numpad8 petcomall
fol$$ RANDOM PHRASE2!!!$$bind numpad9 petcomall goto$$RANDOM PHRASE2!!!"

/bind numpad0 "bind numpad4 petcomall agg$$bind numpad5 petcomall def$$bind numpad6
petcomall pass$$bind numpad7 petcomall att$$ RANDOM PHRASE3!!!$$bind numpad8 petcomall
fol$$ RANDOM PHRASE3!!!$$bind numpad9 petcomall goto$$RANDOM PHRASE3!!!"

[/ QUOTE ]



The one thing I discovered when working on this is that adding any phrase to the above binds exceeds the bind text limit. The other thing is so far I cannot create mutiple random phrase to one bind. Still looking for a way to do this.


Champion
Pillars of Might
Darc Ranger [Blas] / Darc Nebula [Cont]
The Bikini Patrol
Darc Lighter:51-[Blas] / Darc Lady:50-[Tank]
The Panty Raiders
Aegis Magnus [MM] / Atomic Spector [Cor] / Dominar Sefus [Dom]
MEGAFORCE
-Darc Ranger [Def]

 

Posted

The biggest annoyance and problem I found was the generator caused too much spam in channels. So for my latest character I rewrote it to use 3 rotating files on a 10 minute timer, so that only one phrase per 10 minute period would be spoken. The result is much more chat window freindly.

I'm using an ancient dos version of gnu AWK, but it could be adpated to perl or any other script language. This version is also very specific and hard coded, instead of the more flexible general version I still use for all my other characters.

Caile.awk
<font class="small">Code:[/color]<hr /><pre>BEGIN {
MAX=7;


printf "Begin ";
srand();

## Transfusion - Maanagh Eibhleóg: Absorbing A live Coal or Spark
r[5] ="local Maanagh Eibhleóg."

## Siphon Speed - Deoghail Deann: Siphon Speed
r[6] ="local Deoghail Deann."

## Fulcrum Shift (also Siphon Power)
## Uamharr Cumhachd Fùidreadh:
## Dreadful Power Commixing and Pulverising
r[7] ="local Uamharr Cumhachd Fùidreadh."

## Transference - Ishayati: Refresh
r[8] ="local Ishayati."

## Sirens Song - Mùsuinn Surram-suain: Confusion, Hazy Deep Sleep
r[9] ="local Mùsuinn Surram-suain."

## Dreadful Wail - Ruathar Adhbhal Corranach Caisil-chrò:
## Violent Onset, Spell, Vast, Aweful, Loud Weeping,
## Bed of Blood, and Violent Death.
r[10]="local Ruathar Adhbhal Corranach Caisil-chrò."

## Iocshlaint - Remedy or Cure

a="a";
b="b";
c="c";
last=0;

printf "\n\nINFINITY\n\n";

for (infinity=0;infinity&lt;36000;infinity++) {

filea = sprintf("caile%s.txt",a);
fileb = sprintf("caile%s.txt",b);
filec = sprintf("caile%s.txt",c);
filex = "cailex.txt"; ## Aux file for toggle binds

## Emote
printf("4 \"powexecslot 4$$bindloadfile .\\random\\%s\"\n",filea) &gt; filea;

## Blank
printf("4 \"powexecslot 4$$bindloadfile .\\random\\%s\"\n",fileb) &gt; fileb;

## Previous Skip Forward
printf("4 \"powexecslot 4$$bindloadfile .\\random\\%s\"\n",filea) &gt; filec;

while( (lucky=5+int(rand()*(MAX-4))) == last) ;
last=lucky;
for(i=5;i&lt;=MAX;i++) {
emote(i,lucky);
}

close(filea);
close(fileb);
close(filec);
printf("=============================\nFILE A:\n");
system("type cailea.txt");
printf("\nFILE B:\n");
system("type caileb.txt");
printf("\nFILE C:\n");
system("type cailec.txt");
system("sleep 600");
tmp=a;a=b;b=c;c=tmp;
}

exit;
end;
}


function emote(N,L) {
if (N==10) { slot=0; } else { slot = N; }
if (N != L) {
printf("%i \"powexecslot %i\"\n",slot,N) &gt; filea;
printf("%i \"powexecslot %i\"\n",slot,N) &gt; fileb;
}
else {
printf("%i \"powexecslot %i$$%s$$bindloadfile .\\random\\%s\"\n",
slot,N,r[N],fileb) &gt; filea;
printf("%i \"powexecslot %i\"\n",slot,N) &gt; fileb;
}
}</pre><hr />


 

Posted

Champion,

Regarding the batch file method you posted earlier:

[ QUOTE ]
Here is the next method of multiple phrases and multiple target files.

Muti-Target.bat
<ul type="square">
@Echo Off
:TOP
Set Phrase0=Phrases0.txt
Set Phrase1=Phrases1.txt
Set Phrase2=Phrases2.txt

SET Target0=Target0.txt
SET Target1=Target1.txt
SET Target2=Target2.txt

SET Random0=26
SET Random1=7
SET Random2=3


SET /A T=(0+(%Random0%)*%RANDOM%/32767)
SET /A F=(0+(%Random1%)*%RANDOM%/32767)
SET /A S=(0+(%Random2%)*%RANDOM%/32767)

SET Z0="Skip=%T% DELIMS=~~~ "
SET Z1="Skip=%F% DELIMS=~~~ "
SET Z2="Skip=%S% DELIMS=~~~ "

If %T% EQU 0 SET Z0=" DELIMS=~~~ "
If %F% EQU 0 SET Z1=" DELIMS=~~~ "
If %S% EQU 0 SET Z2=" DELIMS=~~~ "

ECHO.

For /F %Z0% %%U In (%Phrase0%) Do (echo %%U&gt;%Target0%)&amp;&amp;ECHO %T% %%U&amp;&amp; sleep 1 &amp;&amp; goto Step1

:Step1
For /F %Z1% %%X In (%Phrase1%) Do (echo %%X&gt;%Target1%)&amp;&amp;ECHO %F% %%X&amp;&amp; sleep 1 &amp;&amp; goto Step2

:Step2
For /F %Z2% %%V In (%Phrase2%) Do (echo %%V&gt;%Target2%)&amp;&amp;ECHO %S% %%V&amp;&amp; sleep 1 &amp;&amp; goto top[/list]
This method is if you want powers/Taunts of different type or even different binded keys.

For example "Shift T" handles my taunts, "Shift F" comments about upcoming battle and "Shift S" after battle comments. The alt that uses this is an RP-light alt. I could combind them in one file, but someone earlier asked if mutliple phrases and Targets could be done.

Also I could keep the multiple phrase files and one target file, but there may be issues with that.

The key to the multitple files is the "Step 1 &amp; Step 2".

When it comes to the generating a single phrase, Goto STEP1 tells the program to generate a Target0.txt bind then go to the next step. Which generates a Target1.txt bind then goes to STEP2. That run the next Target2.txt and then starts over at the top when done.

The batch output groups the three binds on screen then "ECHO." add a Return to separate each run. Again its more for visual clarity than anything else.

Of course you need a add binds to the game to link to your new binds, but other than that, that's it.

This new method has only been tested on XP machines so your mileage may vary.

[/ QUOTE ]



Will this effectively cause each of the three target files to get written to randomly every second or two?

Just wanted to clarify... as I just finished trying a previously-posted method:

@echo off

:TOP

for /f "delims=~~~" %%i in (fight_human_phrases.txt) do (echo F5 "local %%i$$bind_load_file C:\kb\target.txt"&gt;target.txt)&amp;&amp;sleep 1&amp;&amp;echo %%i
for /f "delims=~~~" %%i in (win_human_phrases.txt) do (echo %%i&gt;target2.txt)&amp;&amp;sleep 1&amp;&amp;echo %%i


GOTO TOP


And what that seems to do is sequentially take 1 second to write each of 30 phrase lines I have in the first file... out to the first target file. Then, when it's finished, it goes and does the same thing with the second file. So, the longer each file is, the greater your odds are of having ONLY THE LAST PHRASE in each target file.... when you call upon it by hitting your "trigger key".


Thanks!

-= Dave =-


 

Posted

My revised method will select a random phrase from file 1 add it to target 1. Basically the Random number step uses that number to go to that line in the Random Phrase File. So if 5 was the random number, the program will go to the fifth line of Random Phrase File 1.

That is why it is important to list the number of random phrases in a file so the program will know the highest random number it can select.

The "Skip" step tells the command line to the start at the generated random number assigned to the script, e.g. 5. The "For F/..." post the phrase in the target file, but the "goto Step 1" tells the program to stop the "For" loop after posting to the target phrase file and proceed to the next step which is the next "For /F..." command.

Without adding the "goto Step 1" on the same command line, the program would loop start at the fifth line and process the remaining Random Phrases files, before for moving to the next "For /F..." command.


So basically each second will post a random file phrase to a target file. So "Target0.txt" will get one random phrase selected from "Phrases0.txt", then move on to posting a random phrase from "Phrases1.txt" to "Target1.txt". From there the next step of selecting a random phrase from "Phrases2.txt" to "Target2.txt" and the "Goto Top" line will restart the process.

So Setting the "Random#" to equal the number of phrases will get you your number range.

The "Skip" command will start at the selected random number in the random phrase file.

Having the "Goto Step..." command as part of the "For /F..." will break the "For" Loop after the first randomly selected phrase is added to the target file and proceed to the next "For /F..." step.

Without using "Random", "Skip", "Goto Step" then two or more "For /F..." will run sequencially. Completing the For loop for each random phrase file before moving on to the next random phrase file, basically getting the results you are getting.

Though the program I set up looks complex, I tried to make it so it could expand within a defined pattern.

I hope I answered you questions. If not please let me know.


Champion
Pillars of Might
Darc Ranger [Blas] / Darc Nebula [Cont]
The Bikini Patrol
Darc Lighter:51-[Blas] / Darc Lady:50-[Tank]
The Panty Raiders
Aegis Magnus [MM] / Atomic Spector [Cor] / Dominar Sefus [Dom]
MEGAFORCE
-Darc Ranger [Def]

 

Posted

[ QUOTE ]
Ok, having a really hard time figuring out how to do what I want to have happen here.

For Masterminds, this would be PERFECT if you could do something like this:

<font class="small">Code:[/color]<hr /><pre>
/bind numpad0 "bind numpad4 petcomall agg$$bind numpad5 petcomall def$$bind numpad6
petcomall pass$$bind numpad7 petcomall att$$ RANDOM PHRASE!!!$$bind numpad8 petcomall
fol$$ RANDOM PHRASE!!!$$bind numpad9 petcomall goto$$RANDOM PHRASE!!!"
</pre><hr />

Check out that last part.

Basicly, if you're telling your bots to attack a target, they'd say something like EXTERMINATE!!! while attacking said target.
If you say follow they'd say something like, "Following Meatbag!!!" and follow you.
If you say GoTo thay'd say something like, "Executing assault Manuver" and goto where they are told.

The Sayings would be random, the keys always the same.

Ideally, you could have different sayings for each key, like numpad 4 (set to aggressive) would be "readying phasors" or somesuch (again, random).

In addition, I'd like to have this incorporated somehow:

<font class="small">Code:[/color]<hr /><pre>
/bind numpad1 "bind numpad4 petcompow batt agg$$bind numpad5 petcompow batt def$$
bind numpad6 petcompow batt pass$$bind numpad7 petcompow batt att$$bind numpad8
petcompow batt fol$$bind numpad9 petcompow batt goto"
.
/bind numpad2 "bind numpad4 petcompow prot agg$$bind numpad5 petcompow prot def$$
bind numpad6 petcompow prot pass$$bind numpad7 petcompow prot att$$bind numpad8
petcompow prot fol$$bind numpad9 petcompow prot goto"
.
/bind numpad3 "bind numpad4 petcompow assa agg$$bind numpad5 petcompow assa def
$$bind numpad6 petcompow assa pass$$bind numpad7 petcompow assa att$$bind
numpad8 petcompow assa fol$$bind numpad9 petcompow assa goto"
</pre><hr />

Again, all with random sayings and all bound to seperate keys (numpad keys).

I just get a big giant headache trying to work out how this would be done. Any ideas?

[/ QUOTE ]



Pollution, I still have not found a way of using this method on MasterMind minions. There main issue is still length limit on the bind commands. Another limit is that only one random phrase per bind. This is still on my plate to figure out, but I have not had the time lately.


Champion
Pillars of Might
Darc Ranger [Blas] / Darc Nebula [Cont]
The Bikini Patrol
Darc Lighter:51-[Blas] / Darc Lady:50-[Tank]
The Panty Raiders
Aegis Magnus [MM] / Atomic Spector [Cor] / Dominar Sefus [Dom]
MEGAFORCE
-Darc Ranger [Def]

 

Posted

[ QUOTE ]
My revised method will select a random phrase from file 1 add it to target 1. Basically the Random number step uses that number to go to that line in the Random Phrase File. So if 5 was the random number, the program will go to the fifth line of Random Phrase File 1.

That is why it is important to list the number of random phrases in a file so the program will know the highest random number it can select.

The "Skip" step tells the command line to the start at the generated random number assigned to the script, e.g. 5. The "For F/..." post the phrase in the target file, but the "goto Step 1" tells the program to stop the "For" loop after posting to the target phrase file and proceed to the next step which is the next "For /F..." command.

Without adding the "goto Step 1" on the same command line, the program would loop start at the fifth line and process the remaining Random Phrases files, before for moving to the next "For /F..." command.


So basically each second will post a random file phrase to a target file. So "Target0.txt" will get one random phrase selected from "Phrases0.txt", then move on to posting a random phrase from "Phrases1.txt" to "Target1.txt". From there the next step of selecting a random phrase from "Phrases2.txt" to "Target2.txt" and the "Goto Top" line will restart the process.

So Setting the "Random#" to equal the number of phrases will get you your number range.

The "Skip" command will start at the selected random number in the random phrase file.

Having the "Goto Step..." command as part of the "For /F..." will break the "For" Loop after the first randomly selected phrase is added to the target file and proceed to the next "For /F..." step.

Without using "Random", "Skip", "Goto Step" then two or more "For /F..." will run sequencially. Completing the For loop for each random phrase file before moving on to the next random phrase file, basically getting the results you are getting.

Though the program I set up looks complex, I tried to make it so it could expand within a defined pattern.

I hope I answered you questions. If not please let me know.

[/ QUOTE ]

Thank you very much, Darc_Reign ! This has gotten me exactly what I wanted!

Now, I'd just like to clarify something: In the actual phrases file, at the end of each line, what does this phrase actually DO?

$$bind_load_file C:\kb\target.txt

I realize that this is basically the command I need to type into the chat window when I initially log into the game and I want to make these keys / key-phrases work.

So, I'm thinking, it needs to rebind the same key again after each command?

Also, I take it this means, if I'm using three phrase files, like in your example, then when I log into the game to play I must manually type ALL THREE bind_load_file commands?

Have you found any way to condense those three commands into ONE command?

Thanks!

-= Dave =-


 

Posted

Well first glad to help.

As for the "$$bind_load_file C:\kb\target.txt" command at the end of each bind, it forces the game to reload the bind from the target text file each time.
Normally when a bind is created it becomes part of the character file in game. So if you loaded a bind from a keybind text file, it never looks back at the original text file, unless prompted to do so.

As for the second question... yes you need to either create the binds in game or load it from a keybind file.

You could create a keybind text file called "RGF.txt" for randomly generated files. In that file you could set the binds for each bind command.

Shift+T "bind_load_file C:\kb\target0.txt"
Shift+F "bind_load_file C:\kb\target1.txt"
Shift+S "bind_load_file C:\kb\target2.txt"

You then could make a macro that will load the RGF.Txt file. This would also reset your binds if they start developing errors or not working properly.
/Macro RGF "Tell, $name Loading RGF file.$$bind_load_file C:\kb\RGF.txt"

If you use the macro you usaually have to hit the keybinds twice, i.e. hit SHIFT+T twice. The Loading of the RGF file points to the appropriate target file. Hitting the key a second time gets the expect respone.

If you have a power like taunt bounded to a key you could modify the RGF file.

Shift+T "target_enemy_near$$powexec_name Taunt$$ bind_load_file C:\kb\target0.txt"

This way it will taunt, but without your witty saying. Then the next time you hit the key it will being looking at the appropriate target file, that will say your random phrase and taunt.


Champion
Pillars of Might
Darc Ranger [Blas] / Darc Nebula [Cont]
The Bikini Patrol
Darc Lighter:51-[Blas] / Darc Lady:50-[Tank]
The Panty Raiders
Aegis Magnus [MM] / Atomic Spector [Cor] / Dominar Sefus [Dom]
MEGAFORCE
-Darc Ranger [Def]

 

Posted

[ QUOTE ]
Well first glad to help.

As for the "$$bind_load_file C:\kb\target.txt" command at the end of each bind, it forces the game to reload the bind from the target text file each time.
Normally when a bind is created it becomes part of the character file in game. So if you loaded a bind from a keybind text file, it never looks back at the original text file, unless prompted to do so.

As for the second question... yes you need to either create the binds in game or load it from a keybind file.

You could create a keybind text file called "RGF.txt" for randomly generated files. In that file you could set the binds for each bind command.

Shift+T "bind_load_file C:\kb\target0.txt"
Shift+F "bind_load_file C:\kb\target1.txt"
Shift+S "bind_load_file C:\kb\target2.txt"

You then could make a macro that will load the RGF.Txt file. This would also reset your binds if they start developing errors or not working properly.
/Macro RGF "Tell, $name Loading RGF file.$$bind_load_file C:\kb\RGF.txt"

If you use the macro you usaually have to hit the keybinds twice, i.e. hit SHIFT+T twice. The Loading of the RGF file points to the appropriate target file. Hitting the key a second time gets the expect respone.

If you have a power like taunt bounded to a key you could modify the RGF file.

Shift+T "target_enemy_near$$powexec_name Taunt$$ bind_load_file C:\kb\target0.txt"

This way it will taunt, but without your witty saying. Then the next time you hit the key it will being looking at the appropriate target file, that will say your random phrase and taunt.

[/ QUOTE ]

I see, so when I hit my trigger key, I'm EXECUTING a command that was previously loaded a few seconds ago... and I'm then immediately READING/LOADING the next phrase I'll use in the future.

Very interesting!

Hmmm... I think I won't worry about the macro and will try typing it in manually for now. I wonder, though, if there isn't a way to get the batch file to read each phrase file, count the number of lines in it, and load its "Random0", "Random1" and "Random2" variables with those counts. ??

Hmmm.... I may look into that.

Thanks!

And thanks to everybody who has posted / is posting in this thread! This idea of phrase rotation sure makes it easy to roleplay one's character... without having to come up with things to say on-the-spot all the time!


-= Dave =-


 

Posted

I've never played with BAT files before, but when a double-click the .bat file it simple opens it in a text editor, it doesn't "run" it in any fashion. Tried using the "Run" dialog, same deal.

What am I missing?



CURRENT MAINS: Akero (V) | Polly Spark (V) | Project MALWARE (V) | Barium Bunny (VIP)
ACTIVE INCARNATES: Polly's Revenge (V) | Stygian Kitten (V) | Archon Abrasax (V) | Alpha Antares (V)
Felines | Wolves | Avians | Bovines | Griffons | Centaurs | Insects | Robots
What, you really think HUMANS are going to save the world? LOL!

 

Posted

CF,
It sounds like your files are coming out as 'filename.bat .txt', and that your system is set up to 'Hide extensions for known file types', so you can't see the .txt. Try opening the file again, then using 'Save As' and when you see filename.bat in the filename, change it to "filename.bat" (including the quotes). If this was your problem, you will now have two files 'filename.bat' and 'filename.bat.txt', and you should be able to run 'filename.bat'

Hope this helps.


 

Posted

Just found this today and it looks awesome and I can't wait to get it to work. But it's not

Any one know what I did wrong?

Everything seems to run fine until I hit the random phrase key (for me it's "F") and I get an error messager in CoH saying "Unknown Command Local" any idea what I did wrong?

[ QUOTE ]
@ECHO OFF
:TOP

for /f "delims=zzz" %%i in (phrases.txt) do (echo f "local %%i$$unselect$$toggle_enemy$$bind_load_file C:\kb\target.txt"&gt;target.txt)&amp;&amp;sleep 1&amp;&amp;echo %%i

GOTO TOP

[/ QUOTE ]


 

Posted

[ QUOTE ]
do (echo f "/local %%i$$

[/ QUOTE ]
a "/" is needed before local, see corrected in above quote.




Triumph: White Succubus: 50 Ill/Emp/PF Snow Globe: 50 Ice/FF/Ice Strobe: 50 PB Shi Otomi: 50 Ninja/Ninjistu/GW Stalker My other characters

 

Posted

Son of a...

Thank you don't know how I missed that


 

Posted

Now it says unknown command "/local"

[ QUOTE ]
@ECHO OFF
:TOP

for /f "delims=zzz" %%i in (phrases.txt) do (echo f "/local %%i$$unselect$$toggle_enemy$$bind_load_file C:\kb\target.txt"&gt;target.txt)&amp;&amp;sleep 1&amp;&amp;echo %%i

GOTO TOP

[/ QUOTE ]


 

Posted

Well, first off, my bad. I should not have suggested the / (far too used to looking at direct binds ).

Does this line work?

for /f "delims=zzz" %%i in (phrases.txt) do (echo f "local %%i$$bind_load_file C:\kb\target.txt">target.txt)&&sleep 1&&echo %%i1

If that does, try this:
for /f "delims=zzz" %%i in (phrases.txt) do (echo f "local %%i$$unselect$$bind_load_file C:\kb\target.txt">target.txt)&&sleep 1&&echo %%i

Next:
for /f "delims=zzz" %%i in (phrases.txt) do (echo f "local %%i$$toggle_enemy$$bind_load_file C:\kb\target.txt">target.txt)&&sleep 1&&echo %%i

Or, just modify the batch file to this (see post by MrNoj on the first few pages):

Quote:
@ECHO OFF
:TOP

FOR /F "DELIMS=~~~" %%i IN (phrases.txt) DO (echo %%i>target.txt)&&SLEEP 1&&ECHO %%i

GOTO TOP
And the phrases.txt file to something like this:
Quote:
F "em dance$$Local Hi!$$bind_load_file C:\kb\target.txt"
F "Local My name is $name, who are you today?$$bind_load_file C:\kb\target.txt"
F "Local How are you today?$$bind_load_file C:\kb\target.txt"
F "Local S'up?$$bind_load_file C:\kb\target.txt"
F "Local GRAAAHHHHHHHH!!!!!!!!!!!!!!!!!$$bind_load_file C:\kb\target.txt"




Triumph: White Succubus: 50 Ill/Emp/PF Snow Globe: 50 Ice/FF/Ice Strobe: 50 PB Shi Otomi: 50 Ninja/Ninjistu/GW Stalker My other characters

 

Posted

Kick [censored]! The first one seems to have fixed the problem. Though interestingly enough the first time I tried it I got the "unknown command local" but I hit "f" again and it worked fine.

Thank you so much.


 

Posted

Ok it works but for some reason it cuts off certin sayings while not cutting off longer ones. Any ideas?


 

Posted

The cut off sayings have "zzz" in them?




Triumph: White Succubus: 50 Ill/Emp/PF Snow Globe: 50 Ice/FF/Ice Strobe: 50 PB Shi Otomi: 50 Ninja/Ninjistu/GW Stalker My other characters