I've got this script which looks something like this:
sub concentrate {
if (!$Concentrating and !$afflictions{confusion}) {
$Concentrating = 1;
print "concentrate\n";
concereset;
};
};
sub concentratingreset {
$Concentrating=0;
print "Concentrating has been reset\n";
};
sub concereset {
POE::Session->create(
inline_states => {
_start => \&delaytime,
event_part_two => \&concentratingreset,
}
);
sub delaytime {
$_[KERNEL]->delay( event_part_two => 2 );
}
POE::Kernel->run();
exit;
};
but when i run concentrate; it waits for 2 seconds and then prints
concentrate
Concentrating has been reset
I was trying to get
concentrate
-2 second pause/delay
Concentrating has been reset.
Any ideas on that one.
I've also been trying to use one POE script for all my delays in my mud
scripts.
sub concereset {
POE::Session->create(
inline_states => {
_start => \&delaytime($_[0]),
event_part_two => \&task_two($_[1]),
}
);
sub delaytime {
$_[KERNEL]->delay( event_part_two => $_[0] );
}
sub task_two {
$_[1];
$_[HEAP]->{is_running} = 0;
}
POE::Kernel->run();
exit;
};
Is something like that possible?
Thanks, chris