--- deliantra/server/ext/reseller.ext 2007/01/24 19:39:14 1.5 +++ deliantra/server/ext/reseller.ext 2007/06/06 17:41:17 1.6 @@ -53,7 +53,8 @@ cf::register_script_function "reseller::list_sells" => sub { my ($who, $msg, $npc) = @_; - my $sells = cf::from_json $npc->get_ob_key_value ('ext_reseller_sales'); + my $ext_re_sales = $npc->get_ob_key_value ('ext_reseller_sales'); + my $sells = $ext_re_sales && cf::from_json $ext_re_sales; my $hissells = $sells->{$who->name}; unless (keys %{$hissells || {}}) { @@ -73,7 +74,8 @@ cf::register_script_function "reseller::pay_player" => sub { my ($who, $msg, $npc) = @_; - my $sells = cf::from_json $npc->get_ob_key_value ('ext_reseller_sales'); + my $ext_re_sales = $npc->get_ob_key_value ('ext_reseller_sales'); + my $sells = $ext_re_sales && cf::from_json $ext_re_sales; my $hissells = $sells->{$who->name}; unless (keys %{$hissells || {}}) { @@ -91,7 +93,8 @@ $sells->{$who->name} = {}; - $npc->set_ob_key_value (ext_reseller_sales => cf::to_json $sells); + $npc->set_ob_key_value (ext_reseller_sales => cf::to_json $sells) + if $sells; 0 }; @@ -108,7 +111,8 @@ return cf::override; } - my $sells = cf::from_json $obs[0]->get_ob_key_value ('ext_reseller_sales'); + my $ext_re_sales = $obs[0]->get_ob_key_value ('ext_reseller_sales'); + my $sells = $ext_re_sales && cf::from_json $ext_re_sales; my $unpaid_items = {}; @@ -153,7 +157,8 @@ audit_log ($who, 'removed', (join ",", @seller_noted)) if @seller_noted; - $obs[0]->set_ob_key_value (ext_reseller_sales => cf::to_json $sells); + $obs[0]->set_ob_key_value (ext_reseller_sales => cf::to_json $sells) + if $sells; cf::override; },