… | |
… | |
303 | } |
303 | } |
304 | |
304 | |
305 | nuke_str $pass2; |
305 | nuke_str $pass2; |
306 | |
306 | |
307 | my $pl = cf::player::new $user; |
307 | my $pl = cf::player::new $user; |
308 | $pl->password (crypt $pass, join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64]); |
308 | $pl->password (crypt $pass, join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[(cf::rndm 64), (cf::rndm 64)]); |
309 | nuke_str $pass; |
309 | nuke_str $pass; |
310 | $pl->connect ($ns); |
310 | $pl->connect ($ns); |
311 | my $ob = $pl->ob; |
311 | my $ob = $pl->ob; |
312 | |
312 | |
313 | $ob->goto ($pl->maplevel, $ob->x, $ob->y); |
313 | $ob->goto ($pl->maplevel, $ob->x, $ob->y); |
… | |
… | |
405 | if ($_[0] !~ /^[yY]/) { |
405 | if ($_[0] !~ /^[yY]/) { |
406 | $ob->send_msg (undef, "Ok, not not quitting then.", cf::NDI_UNIQUE | cf::NDI_RED | cf::NDI_REPLY); |
406 | $ob->send_msg (undef, "Ok, not not quitting then.", cf::NDI_UNIQUE | cf::NDI_RED | cf::NDI_REPLY); |
407 | } else { |
407 | } else { |
408 | $ob->send_msg (undef, "Ok, quitting, hope to see you again.", cf::NDI_UNIQUE | cf::NDI_RED | cf::NDI_REPLY); |
408 | $ob->send_msg (undef, "Ok, quitting, hope to see you again.", cf::NDI_UNIQUE | cf::NDI_RED | cf::NDI_REPLY); |
409 | $pl->ns->flush; |
409 | $pl->ns->flush; |
|
|
410 | cf::async { |
|
|
411 | ext::highscore::check $pl->ob; |
410 | cf::async { $pl->quit_character }; |
412 | $pl->quit_character; |
|
|
413 | }; |
411 | } |
414 | } |
412 | }); |
415 | }); |
413 | }; |
416 | }; |
414 | |
417 | |
415 | cf::object->attach ( |
418 | cf::object->attach ( |