Hi all ! Greetings from MultiMUD telnet 132.230.36.55 4242 ! More useful code to implement :) I ran out of object values (4 isn't that many) so I found this solution: old: 0 0 0 0 new: s 0 0 0 0 0 0 0 0 You have to decide with the item type what is inside the union and use the appropriate value. Un modified Circle 3.0's should swallow this modification without complain. structs.h: ---------- struct obj_flag_data { union { int value[4]; /* Values of the item (see list) */ short svalue[8]; byte bvalue[16]; } values; byte type_flag; /* Type of item */ int wear_flags; /* Where you can wear it */ int extra_flags; /* If it hums, glows, etc. */ int weight; /* Weigt what else */ int cost; /* Value when sold (gp.) */ int cost_per_day; /* Cost to keep pr. real day */ int timer; /* Timer for object */ long bitvector; /* To set chars bits */ int minlevel; /* to set minlevel */ }; utils.h: -------- #define GET_OBJ_VAL(obj, val) ((obj)->obj_flags.values.value[(val)]) #define GET_OBJ_SVAL(obj, val) ((obj)->obj_flags.values.svalue[(val)]) #define GET_OBJ_CVAL(obj, val) ((obj)->obj_flags.values.bvalue[(val)]) db.h ---- if(*file_linebuf=='s') { if((retval = sscanf(file_linebuf+1, "%d %d %d %d %d %d %d %d", t, t+1, t+2, t+3, t+4, t+5, t+6, t+7)) != 8) parse_error("Format error in second numeric line (expected 8 args)\n",1); obj_proto[i].obj_flags.values.svalue[0] = t[0]; obj_proto[i].obj_flags.values.svalue[1] = t[1]; obj_proto[i].obj_flags.values.svalue[2] = t[2]; obj_proto[i].obj_flags.values.svalue[3] = t[3]; obj_proto[i].obj_flags.values.svalue[4] = t[4]; obj_proto[i].obj_flags.values.svalue[5] = t[5]; obj_proto[i].obj_flags.values.svalue[6] = t[6]; obj_proto[i].obj_flags.values.svalue[7] = t[7]; } else { if((retval = sscanf(file_linebuf, "%d %d %d %d", t, t + 1, t + 2, t + 3)) != 4) parse_error("Format error in second numeric line (expected 4 args)\n",1); ... as usual here ... } Please don't bug me with questions like I don't have this function ... If you are an experienced programmer you know what I mean, otherwise ignore this mail. Kilian@MultiMud. telnet 132.230.36.55 4242
This archive was generated by hypermail 2b30 : 12/18/00 PST