Heh nice addon to remove a linkdead char but you could just purge him/her.
Kyle Goodwin
----------
> From: George <greerga@CIRCLEMUD.ORG>
> To: CIRCLE@post.queensu.ca
> Subject: Can you do me a favor... heh... (fwd)
> Date: Monday, June 15, 1998 8:27 PM
>
> ---------- Forwarded message ----------
> Date: Mon, 15 Jun 1998 11:52:24 -0700
> From: Tony Robbins <tonyr@presys.com>
> To: greerga@circlemud.org
> Subject: Can you do me a favor... heh...
>
> Hi, it's me, the guy that can't get back on the list... I was wondering
if
> you could put this message out for me... I'm not trying to use you as a
> post office, but I really want to distribute this. Feel free to tell me
to
> go take a flying leap...
>
> (BEGIN MESSAGE - [CODE] PlayerLink Utility) ----
> This is a god command that will either load a linkdead player or remove a
> linkless character from the game. I think I'm forgetting to free the
> character, but I'm not sure because of the extract_char(), and besides,
you
> can look at stuff yourself.
>
> This is based on code from Mark A. Heilpern which would only load
linkdead
> people. I added the choice of removing them also. I didn't think there
> was another way to get rid of linkdead people. Anyway, give credit to
Mark
> Heilpern and I (Tony Robbins) if you use this, or else you're a bad
person.
>
> You need to prototype void read_aliases(struct char_data *ch); if you
have
> alias saving on your MUD.
>
> Do the interpreter.c stuff on your own... :)
>
> ACMD(do_playerlink)
> {
> struct char_data *victim = 0;
> struct char_file_u tmp_store;
> char *action = arg, *vict = buf2;
>
> two_arguments(argument, action, vict);
>
> if (!*action || !*vict) {
> send_to_char("Usage: playerlink [ load | remove ] <player>\r\n", ch);
> return;
> }
> if (is_abbrev(action, "load")) {
> if (get_player_vis(ch, vict, 0)) {
> send_to_char("That player is already connected/loaded!\r\n", ch);
> return;
> }
> CREATE(victim, struct char_data, 1);
> clear_char(victim);
> if (load_char(vict, &tmp_store) > -1) {
> store_to_char(&tmp_store, victim);
> if (GET_LEVEL(victim) <= GET_LEVEL(ch)) {
> Crash_load(victim);
> victim->next = character_list;
> character_list = victim;
> victim->desc = NULL;
> char_to_room(victim, ch->in_room);
> act("You gesture and a statue of $N forms from nothingness.",
> FALSE, ch, 0, victim, TO_CHAR);
> act("$n gestures and a statue of $N appears from nowhere.",
FALSE,
> ch, 0, victim, TO_NOTVICT);
> read_aliases(victim); /* remove this if you don't have alias
> saving! */
> sprintf(buf, "(GC) %s has linkloaded %s.", GET_NAME(ch),
> GET_NAME(victim));
> mudlog(buf, BRF, MAX(LVL_IMPL, GET_INVIS_LEV(ch)), TRUE);
> } else {
> send_to_char("Sorry, you aren't high enough level to linkload
that
> char.\r\n", ch);
> free_char(victim);
> }
> } else {
> send_to_char("No such player.\r\n", ch);
> free(victim);
> }
> } else if (is_abbrev(action, "remove")) {
> if (!(victim = get_player_vis(ch, vict, 0))) {
> send_to_char("That player isn't in the game right now.\r\n", ch);
> return;
> } else if (victim->desc) {
> send_to_char("That player isn't linkdead.\r\n", ch);
> return;
> }
> act("You gesture and $N dissolves into nothingness.", FALSE, ch, 0,
> victim, TO_CHAR);
> act("$n gestures and $N dissolves into nothingness.", FALSE, ch, 0,
> victim, TO_NOTVICT);
> sprintf(buf, "(GC) %s has unloaded %s.", GET_NAME(ch),
GET_NAME(victim));
> Crash_rentsave(victim, 0);
> extract_char(victim);
> mudlog(buf, BRF, MAX(LVL_IMPL, GET_INVIS_LEV(ch)), TRUE);
> }
> return;
> }
>
>
> Sorry if this is truncated by the mailer... Wish I could distribute it
> first-hand... :P
>
> -B.
>
>
> +------------------------------------------------------------+
> | Ensure that you have read the CircleMUD Mailing List FAQ: |
> | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
> +------------------------------------------------------------+
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST