no sure if this is the problem but if the user is getting the message "'I never sent you on a quest! Perhaps you're thinking of someone else.". Then your problem is when you send them on the quest your not doing ch->questgiver = questman; and to me that sounds like whats wrong. unless they are getting another message?
----- Original Message ----- From: "Nicholas Hutzell" <[EMAIL PROTECTED]> To: "ROM" <[email protected]> Sent: Wednesday, July 17, 2002 1:08 AM Subject: quest code bug > here is the quest complete code part...since the list > wont allow me to send txt files you will have to enjoy > this long code. > > > if (!str_prefix(arg1, "complete")) > { > act("$n informs $N $e has completed $s quest.", ch, > NULL, questman, TO_ROOM); > act("You inform $N you have completed your > quest.",ch, NULL, questman, TO_CHAR); > > if (ch->questgiver != questman) > { > act("$N tells you 'I never sent you on a quest! > Perhaps you're thinking of " > "someone else.'{x",ch, NULL, questman, TO_CHAR); > return; > } > > if (IS_QUESTOR(ch)) > { > if (!ch->questobj && !ch->questmob && ch->countdown > > 0) > { > int reward = 0, > pointreward, > pracreward, > trainreward, > count = 0, > charlevel = ch->level; > > for(; count <= charlevel; count += 10) > reward += number_range(50, 300); > > pointreward = number_range(10, 30); > > act("$N tells you 'Congratulations on completing > your quest!'{x", > ch, NULL, questman, TO_CHAR); > sprintf(buf, "As a reward, I am giving you %d > quest points, and %d " > "gold.", pointreward, reward); > act("$N tells you '$t'{x", ch, buf, questman, > TO_CHAR); > > if (chance(20)) > { > pracreward = number_range(1, 6); > F2_STC("You gain %d practice%s!\n\r", pracreward, > PLURAL(pracreward), ch) > ch->practice += pracreward; > } > > if (chance(15)) > { > trainreward = number_range(1, 1); > F2_STC("You gain %d training session%s!!\n\r", > trainreward, > PLURAL(trainreward), ch) > > ch->train += trainreward; > } > > if (chance(7)) /* Nyxll 10 default */ > { > STC("You gain a Realm Point!\n\r", ch) > ++ch->rlp_points; > } > > if (chance(11)) /* Nyxll 10 default */ > { > STC("You gain a Realm Token!\n\r", ch) > ++ch->rlt_points; > } > > REMOVE_BIT(ch->act, PLR_QUESTOR); > ch->questgiver = NULL; > ch->countdown = 0; > > if (ch->questmob) > { > ch->questmob->owner = str_dup(""); > ch->questmob = NULL; > } > > if (ch->questobj) > extract_obj(ch->questobj); > > ch->nextquest = 15; > ch->gold += reward; > ch->questpoints += pointreward; > ch->totalqpoints += pointreward; > ++ch->compquests; > return; > } > else if (ch->questobj && ch->countdown > 0) > { > bool obj_found = FALSE; > > for (obj = ch->carrying; obj != NULL; obj= > obj_next) > { > obj_next = obj->next_content; > > if (obj && obj == ch->questobj) > { > obj_found = TRUE; > break; > } > } > > if (obj_found) > { > int reward = 0, > pointreward, > pracreward, > trainreward, > count = 0, > charlevel = ch->level, > aotcreward; > > for(; count <= charlevel; count += 10) > reward += number_range(25, 250); > > pointreward = number_range(10, 20); > act("You hand $p to $N.", ch, obj, questman, > TO_CHAR); > act("$n hands $p to $N.", ch, obj, questman, > TO_ROOM); > act("$N tells you 'Congratulations on completing > your quest!'{x", > ch, NULL, questman, TO_CHAR); > sprintf(buf, "As a reward, I am giving you %d > quest points, and " > "%d gold.", pointreward, reward); > act("$N tells you '$t'{x", ch, buf, questman, > TO_CHAR); > > if (chance(20)) > { > pracreward = number_range(1, 3); > F2_STC("You gain %d practice%s!\n\r", > pracreward, > PLURAL(pracreward), ch) > ch->practice += pracreward; > } > > if (chance(10)) > { > trainreward = number_range(1, 1); > F2_STC("You gain %d training session%s!!\n\r", > trainreward, > PLURAL(trainreward), ch) > ch->train += trainreward; > } > > if (chance(7)) /* Nyxll 10 default */ > { > aotcreward = number_range(1, 1); > F2_STC("You gain %d Realm Point%s!!\n\r", > aotcreward, > PLURAL(aotcreward), ch) > ch->rlp_points += aotcreward; > > } > > REMOVE_BIT(ch->act, PLR_QUESTOR); > ch->questgiver = NULL; > ch->countdown = 0; > > if (ch->questmob) > { > ch->questmob->owner = str_dup(""); > ch->questmob = NULL; > } > > if (ch->questobj) > extract_obj(ch->questobj); > > ch->nextquest = 15; > ch->gold += reward; > ch->questpoints += pointreward; > ch->totalqpoints += pointreward; > ++ch->compquests; > > if (obj) > extract_obj(obj); > > return; > } > else > { > act("$N tells you 'You haven't completed the > quest yet, but there is " > "still time!'{x", ch, NULL, questman, TO_CHAR); > return; > } > > return; > } > else if ((ch->questmob || ch->questobj) && > ch->countdown > 0) > { > act("$N tells you 'You haven't completed the quest > yet, but there is " > "still time!'{x", ch, NULL, questman, TO_CHAR); > return; > } > } > > if (ch->nextquest > 0) > act("$N tells you 'But you didn't complete your > quest in time!'{x", > ch, NULL, questman, TO_CHAR); > else > act("$N tells you 'You have to 'request' a quest > first, $n'{x", > ch, NULL, questman, TO_CHAR); > > return; > } > > __________________________________________________ > Do You Yahoo!? > Yahoo! Autos - Get free new car price quotes > http://autos.yahoo.com > > -- > ROM mailing list > [email protected] > http://www.rom.org/cgi-bin/mailman/listinfo/rom >

