ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/maps/perl/bank.ext
(Generate patch)

Comparing deliantra/maps/perl/bank.ext (file contents):
Revision 1.6 by root, Mon May 22 18:42:33 2006 UTC vs.
Revision 1.11 by pippijn, Mon May 22 19:17:11 2006 UTC

31# Calculates and returns how much money someone has starting with the 31# Calculates and returns how much money someone has starting with the
32# highest value currency going down. Think of it like having the date 32# highest value currency going down. Think of it like having the date
33# and time in the format of 2006-05-19 03:21:31 UTC instead of 1148001691 33# and time in the format of 2006-05-19 03:21:31 UTC instead of 1148001691
34# seconds since 1970-01-01 00:00:00 UTC. 34# seconds since 1970-01-01 00:00:00 UTC.
35sub balance { 35sub balance {
36 my ($who) = @_; 36 my ($who, $is_wiz) = @_;
37 my $balance = $who->{bank_balance}; 37 my $balance = $who->{bank_balance};
38 38
39 return "Sorry, you have no balance." 39 return "Sorry, you have no balance."
40 unless $balance; 40 unless $balance;
41 41
93 return "Withdrew $amount $currency"; 93 return "Withdrew $amount $currency";
94 } 94 }
95 } 95 }
96} 96}
97 97
98sub on_say {
99 my ($event, $ob, $who, $msg) = @_;
100 my ($cmd, $arguments) = split /\s+/, $msg, 2;
101 my ($amount, $currency) = split /\s+/, $arguments, 2;
102 my $name = $ob->name;
103 my $service_charge = 5;
104 my @units = sort keys %unit;
105 my $units = join ", ", @units;
106 my $fees = - ($service_charge / 100) + 1;
107
108 if ($cmd eq "balance") {
109 $who->message ("$name says: " . (balance $who), cf::NDI_WHITE);
110
111 } elsif ($cmd eq "deposit" and $currency) {
112 $who->message ("$name says: " . (transaction $who, "deposit", $amount, $currency), cf::NDI_WHITE);
113 $who->message ("$name says: " . (balance $who), cf::NDI_WHITE);
114
115 } elsif ($cmd eq "deposit" and $amount and $currency eq "") {
116 $who->message ("$name says: Deposit $amount of what: $units", cf::NDI_WHITE);
117
118 } elsif ($cmd eq "deposit" and $amount eq "" and $currency eq "") {
119 $who->message ("$name says: How much do you want to deposit?", cf::NDI_WHITE);
120
121 } elsif ($cmd eq "withdraw" and $currency) {
122 $who->message ("$name says: " . (transaction $who, "withdraw", $amount, $currency), cf::NDI_WHITE);
123 $who->message ("$name says: " . (balance $who), cf::NDI_WHITE);
124
125 } elsif ($cmd eq "withdraw" and $amount and $currency eq "") {
126 $who->message ("$name says: Withdraw $amount of what: $units", cf::NDI_WHITE);
127
128 } elsif ($cmd eq "withdraw" and $amount eq "" and $currency eq "") {
129 $who->message ("$name says: How much do you want to withdraw?", cf::NDI_WHITE);
130
131 } elsif ($cmd eq "help" or $cmd eq "yes") {
132 $who->message ("$name says: " . (help $arguments), cf::NDI_WHITE);
133
134 } else {
135 $who->message ("$name says: Do you need help?", cf::NDI_WHITE);
136 }
137}
138
139sub help { 98sub help {
140 my ($command) = @_; 99 my ($command) = @_;
141 100
142 if ($command eq "") { 101 if ($command eq "") {
143 return "You can: 102 return "You can:
169 } 128 }
170 } 129 }
171 return $exchange_rates."This may change a bit with the stock markets but don't expect it to be much."; 130 return $exchange_rates."This may change a bit with the stock markets but don't expect it to be much.";
172 } 131 }
173} 132}
133
134sub on_say {
135 my ($event, $ob, $who, $msg) = @_;
136 my ($cmd, $arguments) = split /\s+/, $msg, 2;
137 my ($amount, $currency) = split /\s+/, $arguments, 2;
138 my $name = $ob->name;
139 my $service_charge = 5;
140 my @units = sort keys %unit;
141 my $units = join ", ", @units;
142 my $fees = - ($service_charge / 100) + 1;
143
144 if ($cmd eq "balance") {
145 if ($who->flag (cf::FLAG_WIZ)) {
146 if (my $player = cf::player::find $arguments) {
147 $who->message ("$name says: ".balance ($player->ob, 1), cf::NDI_WHITE);
148 }
149 } else {
150 $who->message ("$name says: ".balance ($who, 0), cf::NDI_WHITE);
151 }
152
153 } elsif ($cmd eq "deposit" and $currency) {
154 $who->message ("$name says: " . (transaction $who, "deposit", $amount, $currency), cf::NDI_WHITE);
155 $who->message ("$name says: " . (balance $who), cf::NDI_WHITE);
156
157 } elsif ($cmd eq "deposit" and $amount and $currency eq "") {
158 $who->message ("$name says: Deposit $amount of what: $units", cf::NDI_WHITE);
159
160 } elsif ($cmd eq "deposit" and $amount eq "" and $currency eq "") {
161 $who->message ("$name says: How much do you want to deposit?", cf::NDI_WHITE);
162
163 } elsif ($cmd eq "withdraw" and $currency) {
164 $who->message ("$name says: " . (transaction $who, "withdraw", $amount, $currency), cf::NDI_WHITE);
165 $who->message ("$name says: " . (balance $who), cf::NDI_WHITE);
166
167 } elsif ($cmd eq "withdraw" and $amount and $currency eq "") {
168 $who->message ("$name says: Withdraw $amount of what: $units", cf::NDI_WHITE);
169
170 } elsif ($cmd eq "withdraw" and $amount eq "" and $currency eq "") {
171 $who->message ("$name says: How much do you want to withdraw?", cf::NDI_WHITE);
172
173 } elsif ($cmd eq "help" or $cmd eq "yes" and $arguments eq "") {
174 $who->message ("$name says: " . (help $arguments), cf::NDI_WHITE);
175
176 } elsif ($cmd eq "help" or $cmd eq "yes" and $arguments ne "") {
177 $who->message ("$name says: " . (help), cf::NDI_WHITE);
178
179 } else {
180 $who->message ("$name says: Do you need help?", cf::NDI_WHITE);
181 }
182}
183

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines