--- deliantra/server/ext/ipo.ext 2007/08/12 05:59:24 1.8 +++ deliantra/server/ext/ipo.ext 2007/09/30 16:24:29 1.11 @@ -70,7 +70,7 @@ my ($name, $map, $x, $y, $cb, @a) = @_; my $o = cf::object::new $name; my $r = $cb->($o, @a); - $map->insert_object ($o, $x, $y); + $map->insert ($o, $x, $y); $r } @@ -187,11 +187,14 @@ } elsif ($cmd eq 'receive') { cf::async { + $Coro::current->{desc} = "ipo receive"; + my $storage = cf::map::find ("/planes/IPO_storage"); unless ($storage) { $who->reply ($npc, "Sorry, our package delivery service is currently in strike. Please come back later."); return 1; } + $storage->load; my $plname = $who->name; my $cnt; @@ -216,17 +219,21 @@ } cf::async { + $Coro::current->{desc} = "ipo send"; + my $storage = cf::map::find ("/planes/IPO_storage"); unless ($storage) { $who->reply ($npc, "Sorry, our package delivery service is currently in strike. Please come back later."); return 1; } + $storage->load; my $cnt; for ($who->inv) { if ($_->name () =~ /^(bag|package|carton) T: \Q$arguments\E F: (\S+)$/) { $_->name ("$1 F: $2 T: $arguments"); - $_->teleport ($storage, 2, 2); + $storage->insert ($_, 2, 2); + $who->esrv_del_item ($_->count); $cnt++; } }