its not working,
2 things
1) It should get farms from hashtable 'darkfarm' and nicks from 'darkhash', So i changed thse 2 lines:
while $hget(darkfarm,%a).data {
if $2 < %defense && $1 isnum %range { .fwrite -n farms $hget(darkfarm,%a).item $1- }
from darkhash to darkfarm ( I think the first one is get data from $nick and both 2nd ones getting the farm)
Also I changed:
if $hget(darkhash, $nick) { showfarms $nick }
put a space between *(darkhash, $nick)* (between , and $:P)
cause it said 'you dont exist to everyone' and now they do exist.
Now when I first tried it it said "no farms found for you"
When I added several farms it still says that.
This is in my darkfarm hash":
Someone -> 56 50000 |SwE|Tjirp 20/09/2004
pian -> 54 1500000 PiaNistu 20/09/2004
pia -> 59 2500000 PiaNistu 20/09/2004
15 -> 15 15 |SwE|Tjirp 20/09/2004
tjirpi -> 10 1000 PiaNistu 20/09/2004
Tjirp -> 56 500000 |SwE|Tjirp 20/09/2004
and with this user from 'darkhash' im looking it up:
Tjirp -> 56 2000000
So it seems obvious to me it should show farms, but it does not. Ive been looking but coudnt find anything. this is now my total code btw;
on *:TEXT:!getfarm:#:{
if $hget(darkhash, $nick) { showfarms $nick }
else { msg $nick You dont exist, Please register by downloading Tjirps farm script }
}
alias showfarms {
var %nick = $1
tokenize 32 $hget(darkhash,$1)
var %defense = $2, %range = $+($calc($1 -5),-,$calc($1 +5)), %a = 1
.fopen -o farms farms.tmp
while $hget(darkfarm,%a).data {
tokenize 32 $v1
if $2 < %defense && $1 isnum %range { .fwrite -n farms $hget(darkfarm,%a).item $1- }
inc %a
}
.fclose farms filter -fftc 3 32 farms.tmp farms.tmp *
if $filtered { .play -a playfarms %nick farms.tmp 1500 }
else { .msg %nick Im sorry, no farms found for you. }
}
alias playfarms {
.msg $1 You can farm $2 he/she is level $3 and has a Defense of $4 - This farm has been submitted by $5 on $6
}