1. Take a look at the Phantom Plate spell (summons a bag with items in it) and just have the client cast a custom version of that spell.
2. Use EVENT_CONNECT and EVENT_TIMER with an hourly timer:
Code:
sub EVENT_CONNECT {
quest::settimer("Reward", 3600);
}
sub EVENT_TIMER {
if ($timer eq "Reward") {
quest::stoptimer("Reward");
$client->AddAlternateCurrencyValue(CURRENCY ID, AMOUNT);
$client->Message(315, "You have received AMOUNT CURRENCY for staying online for an hour!");
quest::settimer("Reward", 3600);
}
}
3. Books table in the database, then set the book information in the items table.