Travis M. Fuller wrote:
> If this has been addressed before, I apologize. It seems that the timer
> value in oedit doesnt save to disk for objects. I had put in the portal
> code from the snippett site and configured my olc so I could create
> permanent portals online. Im using olc 1.6a btw. The problem is
> permanent portals need a timer value of -1. This works perfectly when
> you create it but the timer value never actually saves to disk.
> Therefore, the next reboot, the timer value defaults to 0, making the
> portal last 1 tic. I put in an extra instance so it will save and read
> the timer value if there is one. My question is how do I make the code
> diferentiate between a normal object entry and one with the extra bit to
> save timer value? As it is now, I believe it will expect to see a 4th
> bit where the timer value would go. If there isnt one, what will happen?
>
> The portal object would look like this:
>
> #444
> portal mestari~
> a portal~
> A glowing portal to Mestari is here.~
> ~
> 24 0 0 -1 <---------- The negative 1 is the extra bit to identify
> the timer value
> -1 834 0 0
> 500 0 0
> E
> portal gate gateway mestari glowing~
> Looking through the portal, you can see the Administration building in
> Mestari.
> ~
>
> So how would the code read a normal object entry without the 4th bit for
> timer value?
> Hope this is somewhat clear. Thanks for any help.
>
> Travis
I think there is a better way to do this ( something similar to the mobiles
E-spec parser ).
Add this :
DB.C : parse_object()
j++;
break;
+ case 'T':
+ get_line(obj_f, line);
+ sscanf(line, "%d ", t);
+ obj_proto[i].obj_flags.timer = t[0];
+ break;
case '$':
case '#':
top_of_objt = i++;
OEDIT.C : oedit_save_to_disk()
fprintf(fp, "A\n"
"%d %d\n",
obj->affected[counter2].location,
obj->affected[counter2].modifier
);
}
}
+ if( GET_OBJ_TIMER(obj))
+ fprintf(fp, "T\n"
+ "%d\n",
+ GET_OBJ_TIMER(obj)
+ );
/* write final line, close */
fprintf(fp, "$~\n");
We use this for level restricted object. I hope this helps you and it's what
you want.
I've tested it five minutes ago and it seems it works.
L.Lunak
l.lunak@sh.cvut.cz
+------------------------------------------------------------+
| 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