From: "Bejhan Jetha" <nhlstar6@YAHOO.COM> > Okay I feel pretty dumb for asking this because I'm pretty sure this is an > obvious one but I've never been one of those people who are good with > declaring. I tried to write an affect code which I did if AFF for every > spell or skill which affects you which shows a different message. What I > can't do is duration. I've looked at do stat and tried how it is and I > can't find how it's declared in there either so here's my code: > > ACMD(do_affect) > { > bool aff; > aff = TRUE; > > sprintf(buf, "&WAffection Definition > Duration&n\r\n" > "&R------------------------------------------------------------ > ------&n\r\n"); > if (affected_by_spell(ch, SPELL_ARMOR)) > strcat(buf, "&GArmor Affects AC by -20 > %3d&n\r\n", af->duration); > if (affected_by_spell(ch, SPELL_BLESS)) > strcat(buf, "&GBless Affects hitroll by +2 > %3d&n\r\n"); <snip> > send_to_char(buf, ch); > } > > I only tried the duration on one and what I used was "af->duration" and I > get the error message "act.informative.c:2098: `af' undeclared (first use > in this function)" so I don't know how to declare this. I also tried > "af->duration" and I get the error message "act.informative.c:2102: invalid > type argument of `->'". > > Well anyways I'll ask you not to flame me if this is as dumb as i assume it > to be. Actually it's not. You just need to loop through the chars affects manually, instead of having affected_by_spell doing it for you: ACMD(do_affs) { struct affected_type *aff; if (ch->affected) { sprintf(buf, "Your affections:\r\n"); for (aff = ch->affected; aff; aff = aff->next) { if (aff->next && aff->next->type==aff->type) continue; if (aff->type = AFF_BLIND) sprintf(buf + strlen(buf), "Blindness Impairs vision %3d\r\n", aff->duration); /* add more spells here. */ } } else sprintf(buf, "You're currently totally unaffected!\r\n"); send_to_char(buf, ch); } Mailer Code warning.. Welcor -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT