if ($1 == !listall) {
var %i = 1
var %lines = $lines(learnt.txt)
var %result
while (%i <= %lines) {
var %line = $read(learnt.txt,%i)
var %islocation = $findtok(%line,=>,1,32)
var %keyword = $gettok(%line,1- $+ $calc(%islocation -1),32)
if (%result) { %result = %result $+ , %keyword }
else { %result = %keyword }
inc %i
}
msg $chan %result
}
Explained:
if ($1 == !listall) {
if first word equals !listall
var %i = 1
create temporary variable %i equaling 1 (needed for the loop below)
var %lines = $lines(learnt.txt)
create temporary variable %lines which returns the total lines in the learnt.txt file
for this sample lets say %lines equals 12
var %result
create temporary variable %result for use later on
while (%i <= %lines) {
whileloop if %i (1) is less than or equal to %lines (12)
var %line = $read(learnt.txt,%i)
create temporary variable %line having it read learnt.txt line %i (1) to start
var %islocation = $findtok(%line,=>,1,32)
create temporary variable %islocation to get the location of =>
var %keyword = $gettok(%line,1- $+ $calc(%islocation -1),32)
create temporary variable %keyword to return just the keyword of the %line + %islocation results. Returns "word" and not "word =>"
if (%result) { %result = %result $+ , %keyword }
if %result is true/is something/not empty/etc... update the variable with the information it already has plus the new %keyword
else { %result = %keyword }
else if %result is false/is nothing update %result with %keyword
inc %i
increase the variable %i plus 1, %i was 1 now it's 2
the loop then goes back to the start and performs the same routine replacing %i = 1 with %i = 2
}
msg $chan %result
when the loop is completed message active channel the results
}
results will show as follows:
<nick> this entry, apple, grey matter, red, spoon, PIM, word, words, ammo, pistol
now to create the !last num thing