here is the finished code, just replace your existing make_prompt in comm.c
with it, after i give it to you I will explane why i did things the way I
did so you can give me some (constructave) critasisam <my spelling bites!>.
and thank you all of you that helped me out with hints and stuff, by the
time I had read most of your messages I had figured it out and slaped my
self on the head for not seeing it, but a lot of you did help. use the code
as you see fit, but remember I made it so dont take credit, ok? ok. k00l.
----snip----
void make_prompt(struct descriptor_data *d)
{
char prompt[MAX_INPUT_LENGTH];
if (d->str)
write_to_descriptor(d->descriptor, "] ");
else if (d->showstr_count) {
sprintf(prompt,
"\r[ Return to continue, (q)uit, (r)efresh, (b)ack, or page number
(%d/%d) ]",
d->showstr_page, d->showstr_count);
write_to_descriptor(d->descriptor, prompt);
} else if (!d->connected) {
char prompt[MAX_INPUT_LENGTH];
*prompt = '\0';
if (GET_INVIS_LEV(d->character))
sprintf(prompt, "%sI%d%s|", CCBLU(d->character, C_NRM),
GET_INVIS_LEV(d->character), CCNRM(d->character, C_NRM));
if (PRF_FLAGGED(d->character, PRF_DISPHP))
if (GET_HIT(d->character) <= (GET_MAX_HIT(d->character)*1))
if (GET_HIT(d->character) >= (GET_MAX_HIT(d->character)*.504))
sprintf(prompt, "%s%s%dH%s|", prompt, CCGRN(d->character, C_NRM),
GET_HIT(d->character), CCNRM(d->character, C_NRM));
if (GET_HIT(d->character) >= (GET_MAX_HIT(d->character)*.254))
if (GET_HIT(d->character) <= (GET_MAX_HIT(d->character)*.506))
sprintf(prompt, "%s%s%dH%s|", prompt, CCYEL(d->character, C_NRM),
GET_HIT(d->character), CCNRM(d->character, C_NRM));
if (GET_HIT(d->character) <= (GET_MAX_HIT(d->character)*.256))
sprintf(prompt, "%s%s%dH%s|", prompt, CCRED(d->character, C_NRM),
GET_HIT(d->character), CCNRM(d->character, C_NRM));
if (PRF_FLAGGED(d->character, PRF_DISPMANA))
if (GET_MANA(d->character) <= (GET_MAX_MANA(d->character)*1))
if (GET_MANA(d->character) >= (GET_MAX_MANA(d->character)*.504))
sprintf(prompt, "%s%s%dM%s|", prompt, CCGRN(d->character, C_NRM),
GET_MANA(d->character), CCNRM(d->character, C_NRM));
if (GET_MANA(d->character) >= (GET_MAX_MANA(d->character)*.254))
if (GET_MANA(d->character) <= (GET_MAX_MANA(d->character)*.506))
sprintf(prompt, "%s%s%dM%s|", prompt, CCYEL(d->character, C_NRM),
GET_MANA(d->character), CCNRM(d->character, C_NRM));
if (GET_MANA(d->character) <= (GET_MAX_MANA(d->character)*.256))
sprintf(prompt, "%s%s%dM%s|", prompt, CCRED(d->character, C_NRM),
GET_MANA(d->character), CCNRM(d->character, C_NRM));
if (PRF_FLAGGED(d->character, PRF_DISPMOVE))
if (GET_MOVE(d->character) <= (GET_MAX_MOVE(d->character)*1))
if (GET_MOVE(d->character) >= (GET_MAX_MOVE(d->character)*.504))
sprintf(prompt, "%s%s%dV%s|", prompt, CCGRN(d->character, C_NRM),
GET_MOVE(d->character), CCNRM(d->character, C_NRM));
if (GET_MOVE(d->character) >= (GET_MAX_MOVE(d->character)*.254))
if (GET_MOVE(d->character) <= (GET_MAX_MOVE(d->character)*.506))
sprintf(prompt, "%s%s%dV%s|", prompt, CCYEL(d->character, C_NRM),
GET_MOVE(d->character), CCNRM(d->character, C_NRM));
if (GET_MOVE(d->character) <= (GET_MAX_MOVE(d->character)*.256))
sprintf(prompt, "%s%s%dV%s|", prompt, CCRED(d->character, C_NRM),
GET_MOVE(d->character), CCNRM(d->character, C_NRM));
strcat(prompt, "> ");
write_to_descriptor(d->descriptor, prompt);
}
}
----snip----
ok, I went to three decmal places because in my testing I found that if I
did not it sometimes skipped it, ie out of 500 max hit points if you were at
251 it would not show up, I did the check for above and below so that there
was no chance that it would display say, a green 250H and a yellow 250H at
the same time, I also added the blue to invis to catch attention, I am
always forgeting I am invis and scaring players =:).
ok, at 0% to 25% the stat is red, 26% to 50% yellow above that it is green,
now because of the third decimal place it may be a little off, but no more
then 3 numbers unless your HP go above 500 =:) well, there it is and once
again thank you all for all your help!!!!!
Cyber Reaper
Realms of Reality
***UNDER CONSTRUCTION!!!***
telnet://login.greatbasin.net 4000
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/07/00 PST