world. They are also good for upkeep ect.. I hope someone finds them
usefull <maybe they would make a good edition to OLC but is not dependant
upon it's existance in the mud I gave my commands persmision to
LVL_BUILDER, else it would have defeated my purpose for making it ;) Have
fun!
Christopher M. Ryan
drizzt@visi.net
http://www.visi.net/~drizzt/index.html
http://www.visi.net/~drizzt/quake/index.html
-------- Snip ----------
/*
** My own edition for helping out in creating a new world
** from scratch using OLC. This can also be used to assist
** imorts and other higher powers in upkeep additions
** and other tasks where you might need to know room, obj,
** and mob vnums.
**
** I used a simple linear search in all the functions but if you
** have a large database with lots of rooms and ect.. you may
** want to convert the first search for s (start) to a binary.
**
** Christopher M. Ryan
*/
ACMD(do_rlist)
{
int s, e, z;
one_argument(argument, arg);
if(!*arg)
z = ((int)((world[ch->in_room].number)/100))*100;
else
z = (atoi(arg))*100;
for(s = 0; s <= top_of_world; s++)
if(world[s].number >= z)
break;
for(e = s; e <= top_of_world; e++)
if(world[e].number >= z + 100)
break;
if( s == e )
{
send_to_char("That zone does not exist or there are no\r\n", ch);
send_to_char("rooms in that zone.\r\n", ch);
return;
}
send_to_char("V-Num Name\r\n", ch);
send_to_char("----- ------------------\r\n", ch);
for(; s < e; s++)
{
sprintf(buf, "%5d %s\r\n", world[s].number, world[s].name);
send_to_char(buf, ch);
}
}
ACMD(do_olist)
{
int s, e, z;
one_argument(argument, arg);
if(!*arg)
z = ((int)((world[ch->in_room].number)/100))*100;
else
z = (atoi(arg))*100;
for(s = 0; s <= top_of_objt; s++)
if(obj_index[s].virtual >= z)
break;
for(e = s; e <= top_of_objt; e++)
if(obj_index[e].virtual >= z + 100)
break;
if( s == e )
{
send_to_char("That zone does not exist or there are no\r\n", ch);
send_to_char("objects in that zone.\r\n", ch);
return;
}
send_to_char("V-Num Name\r\n", ch);
send_to_char("----- ------------------\r\n", ch);
for(; s < e; s++)
{
sprintf(buf, "%5d %s\r\n", obj_index[s].virtual, obj_proto[s].name);
send_to_char(buf, ch);
}
}
ACMD(do_mlist)
{
int s, e, z;
one_argument(argument, arg);
if(!*arg)
z = ((int)((world[ch->in_room].number)/100))*100;
else
z = (atoi(arg))*100;
for(s = 0; s <= top_of_mobt; s++)
if(mob_index[s].virtual >= z)
break;
for(e = s; e <= top_of_mobt; e++)
if(mob_index[e].virtual >= z + 100)
break;
if( s == e )
{
send_to_char("That zone does not exist or there are no\r\n", ch);
send_to_char("mobs in that zone.\r\n", ch);
return;
}
send_to_char("V-Num Name\r\n", ch);
send_to_char("----- ------------------\r\n", ch);
for(; s < e; s++)
{
sprintf(buf, "%5d %s\r\n", mob_index[s].virtual,
mob_proto[s].player.name);
send_to_char(buf, ch);
}
}
-------- Snip ----------
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST