Hello,
Okay, lets see...
> I have added in variables to mobs and players for number of attacks (no
> problems there).
> In perform_violence I can not figure out why I get this error:
>
> fight.c: In function `perform_violence':
> fight.c:927: warning: `ch' might be used uninitialized in this function
>
> If I remove the two if statements, the code works fine. The rest of the
> code references (ch) in several places so I don't quite understand what
> is wrong.
> Can someone point out what I am missing? or what I am doing wrong..
>
>
> void perform_violence(void)
> {
> struct char_data *ch; /* this is line 927 */
> int attacks = 1, i;
>
> if (IS_NPC(ch) && (GET_MOB_ATTACKS(ch) > 0))
> attacks = GET_MOB_ATTACKS(ch);
ch is pointing at memory garbage here and will most likely cause
a segfault (or whatever depending on OS). You need to let ch
point at something sensible; either give the char you want to check
here as parameter, or first go through the character-list, or
whatever. chs don't come out of nowhere, you know ;)
>
> if (!IS_NPC(ch) && (GET_PC_ATTACKS(ch) > 0))
> attacks = GET_PC_ATTACKS(ch);
>
> for (ch = combat_list; ch; ch = next_combat_list) {
> next_combat_list = ch->next_fighting;
AHAAA!! Here it gets initalised for the first time! By
first letting it point at the beginning of the combat_list
and then letting it 'advance' through the list.
>
> for (i = 0; i < attacks; i++) {
> if (FIGHTING(ch) == NULL || ch->in_room != FIGHTING(ch)->in_room) {
>
- Chris
--
/----------------------------------------------------------------------------\
| Christian Loth | Meet me as the >Shadowdancer< in the |
| chris@rom.mud.de | REALM OF MAGIC |
| http://rom.mud.de/~chris | telnet rom.mud.de 4000 |
| | http://rom.mud.de/ |
| "The road goes ever on and on!" - Bilbo Baggins |
\----------------------------------------------------------------------------/
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST