Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
auth_update crash
Dec 23, 2017, 10:15 pm
By Remcon
check_tumble
Dec 18, 2017, 7:21 pm
By Remcon
parse description bug
Dec 15, 2017, 10:08 pm
By Remcon
Couple bugs
Dec 12, 2017, 5:42 pm
By Remcon
Bug in disarm( )
Nov 12, 2017, 6:54 pm
By GatewaySysop
LoP 1.46
Author: Remcon
Submitted by: Remcon
LOP 1.45
Author: Remcon
Submitted by: Remcon
LOP Heroes Edition
Author: Vladaar
Submitted by: Vladaar
Heroes sound extras
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.3
Author: Vladaar
Submitted by: Vladaar
Users Online
CommonCrawl, Yahoo!, Yandex

Members: 0
Guests: 7
Stats
Files
Topics
Posts
Members
Newest Member
478
3,708
19,242
612
Jacki72H
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Bugfix Lists » AFKMud Bugfix List » AFKMud Bug Archive » [Bug] mset and oset allow bla...
Forum Rules | Mark all | Recent Posts

[Bug] mset and oset allow blank keywords to be set
< Newer Topic :: Older Topic > AFKMud 1.77

Pages:<< prev 1 next >>
Post is unread #1 Sep 3, 2006, 10:00 am
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,639
JoinedJan 1, 2002

Bug: mset and oset allow blank keywords to be set
Danger: Medium - Results in major annoyance. Won't be able to manipulate mobs or objs set this way.
Discovered in: AFKMud 1.77
Found by: ToadVile
Fixed by: ToadVile

---

build.c, do_mset

Locate:
   if( !str_cmp( arg2, "name" ) )
   {
      STRFREE( victim->name );
      victim->name = STRALLOC( arg3 );
      if( IS_ACT_FLAG( victim, ACT_PROTOTYPE ) )
      {
         STRFREE( victim->pIndexData->player_name );
         victim->pIndexData->player_name = QUICKLINK( victim->name );
      }
      send_to_char( "Victim keywords set.\n\r", ch );
      return;
   }


Change to:
   if( !str_cmp( arg2, "name" ) )
   {
      if( !arg3 || arg3[0] == '\0' )
      {
         send_to_char( "Cannot set empty keywords!\n\r", ch );
         return;
      }

      STRFREE( victim->name );
      victim->name = STRALLOC( arg3 );
      if( IS_ACT_FLAG( victim, ACT_PROTOTYPE ) )
      {
         STRFREE( victim->pIndexData->player_name );
         victim->pIndexData->player_name = QUICKLINK( victim->name );
      }
      send_to_char( "Victim keywords set.\n\r", ch );
      return;
   }


do_oset

Locate:
   if( !str_cmp( arg2, "name" ) )
   {
      bool proto = FALSE;

      if( IS_OBJ_FLAG( obj, ITEM_PROTOTYPE ) )
         proto = TRUE;
      STRFREE( obj->name );
      obj->name = STRALLOC( arg3 );
      if( proto )
      {
         STRFREE( obj->pIndexData->name );
         obj->pIndexData->name = QUICKLINK( obj->name );
      }
      send_to_char( "Object keywords set.\n\r", ch );
      return;
   }


Change to:
   if( !str_cmp( arg2, "name" ) )
   {
      bool proto = FALSE;

      if( !arg3 || arg3[0] == '\0' )
      {
         send_to_char( "Cannot set empty keywords!\n\r", ch );
         return;
      }

      if( IS_OBJ_FLAG( obj, ITEM_PROTOTYPE ) )
         proto = TRUE;
      STRFREE( obj->name );
      obj->name = STRALLOC( arg3 );
      if( proto )
      {
         STRFREE( obj->pIndexData->name );
         obj->pIndexData->name = QUICKLINK( obj->name );
      }
      send_to_char( "Object keywords set.\n\r", ch );
      return;
   }


Setting blank keywords on mobs and objects is a quick way to make your day suck. If the mob or object in question is in the room but you are not in the "on" state with your editor, there will be no way to manipulate them in game. Fixing it would require manually editing the area file.
       
Pages:<< prev 1 next >>