Hiya all,
I'm trying to make a time prog for mobprogs, but I'm having some
trouble. Below is the code I added to get it going. It compiles without
an error, but when another_hour is called the mud crashes with a memory
fault. Any ideas what I'm doing wrong?
Thanks in advance
Homer
aka Fionn Colvin :)
#############
# mobprog.c #
#############
const int time_mobs[] =
{
33,
-1
};
void mprog_time_trigger(int time)
{
struct char_data *mob;
MPROG_DATA *mprg;
int r_num;
int pos = 0;
for (r_num = time_mobs[pos]; r_num != -1; r_num = time_mobs[pos++]) {
mob = read_mobile(r_num, VIRTUAL);
if (IS_NPC(mob) && (mob_index[mob->nr].progtypes & TIME_PROG))
for (mprg = mob_index[mob->nr].mobprogs; mprg != NULL; mprg = mprg->next)
if (mprg->type & TIME_PROG)
if (time == atoi(mprg->arglist)) {
mprog_driver(mprg->comlist, mob, NULL, NULL, NULL);
break;
}
}
return;
}
#############
# weather.c #
#############
In extern declerations.
void mprog_time_trigger(int time);
In void another_hour(mode)
after time_info.hours++;
mprog_time_trigger(time_info.hours);
#############
# structs.h #
#############
#define TIME_PROG 2048
############
# mobcmd.c #
############
In the prog case section
case TIME_PROG return "time_prog";
########
# db.c #
########
in int mprog_name_to_type (char *name)
if (!str_cmp(name, "time_prog")) return TIME_PROG;
#########
# 0.mob #
#########
<stuff>
#33
<stuff>
>in_file_prog time.prg~
|
#34
<stuff>
############
# time.prg #
############
>time_prog 5~
shout Shops start opening in one hour.
~
|
+-----------------------------------------------------------+
| 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