--- deliantra/server/ext/ipo.ext 2007/09/30 16:24:29 1.11 +++ deliantra/server/ext/ipo.ext 2007/10/08 15:20:38 1.12 @@ -14,18 +14,18 @@ my %prices = ( pen => [ 40, 'stylus', - sub { $_[0]->name ('IPO Writing Pen'); $_[0]->value (40 * $price_fact); } + sub { $_[0]->name ('IPO Writing Pen'); $_[0]->value (0); } ], literacy => [ 1000, 'scroll_literacy', - sub { $_[0]->value (1000 * $price_fact) } + sub { $_[0]->value (0) } ], mailscroll => [ 1, 'mailscroll_empty', sub { $_[0]->name ("mailscroll T: $_[2] F: $_[1]"); $_[0]->name_pl ("mailscrolls T: $_[2] F: $_[1]"); - $_[0]->value (1 * $price_fact); + $_[0]->value (0); }, 'plarg' ], @@ -177,12 +177,15 @@ return 1; } - $who->pay_amount ($pr->[0] * $price_fact); - if ($pr->[3] && not cf::player::exists $arguments) { - $who->reply ($npc, "Sorry, there is no '$arguments'"); + if ($who->pay_amount ($pr->[0] * $price_fact)) { + if ($pr->[3] && not cf::player::exists $arguments) { + $who->reply ($npc, "Sorry, there is no '$arguments'"); + } else { + create_object ($pr->[1], $who->map, $x, $y, $pr->[2], $who->name, $arguments); + $who->reply ($npc, "Here is your $cmd"); + } } else { - create_object ($pr->[1], $who->map, $x, $y, $pr->[2], $who->name, $arguments); - $who->reply ($npc, "Here is your $cmd"); + $who->reply ($npc, "Sorry, you don't have enough money."); } } elsif ($cmd eq 'receive') {