View Full Version : Wierd issue with no experience now
provocating
09-03-2014, 01:17 PM
So I had a player say this was happening and I tried it out and indeed they are correct. I logged in as a level 7 player and went into a zone like blackburrow. A level 3 mob shows up as a dark blue and you kill it with zero XP. A level 4 shows up as a dark blue and you get XP. This is with Underfoot.
I have players on right now so I have not bounced the server. What would cause an issue like this? The server has been running fine with minimal issues for months. I think rebooted it about 2 weeks ago was the last reboot. I am not sure what was cause the con to be a different color, I thought that was client side. If I remember that much of a level spread, that level 3 should be grey to a level 7.
NatedogEZ
09-03-2014, 02:21 PM
Under level 8.. mobs with a -4 level difference DO NOT give EXP that is why... :p
"CON_GREEN" == NO EXP
uint32 Mob::GetLevelCon(uint8 mylevel, uint8 iOtherLevel) {
int16 diff = iOtherLevel - mylevel;
uint32 conlevel=0;
if (diff == 0)
return CON_WHITE;
else if (diff >= 1 && diff <= 2)
return CON_YELLOW;
else if (diff >= 3)
return CON_RED;
if (mylevel <= 8)
{
if (diff <= -4)
conlevel = CON_GREEN;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 9)
{
if (diff <= -6)
conlevel = CON_GREEN;
else if (diff <= -4)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 13)
{
if (diff <= -7)
conlevel = CON_GREEN;
else if (diff <= -5)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 15)
{
if (diff <= -7)
conlevel = CON_GREEN;
else if (diff <= -5)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 17)
{
if (diff <= -8)
conlevel = CON_GREEN;
else if (diff <= -6)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 21)
{
if (diff <= -9)
conlevel = CON_GREEN;
else if (diff <= -7)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 25)
{
if (diff <= -10)
conlevel = CON_GREEN;
else if (diff <= -8)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 29)
{
if (diff <= -11)
conlevel = CON_GREEN;
else if (diff <= -9)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 31)
{
if (diff <= -12)
conlevel = CON_GREEN;
else if (diff <= -9)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 33)
{
if (diff <= -13)
conlevel = CON_GREEN;
else if (diff <= -10)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 37)
{
if (diff <= -14)
conlevel = CON_GREEN;
else if (diff <= -11)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 41)
{
if (diff <= -16)
conlevel = CON_GREEN;
else if (diff <= -12)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 45)
{
if (diff <= -17)
conlevel = CON_GREEN;
else if (diff <= -13)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 49)
{
if (diff <= -18)
conlevel = CON_GREEN;
else if (diff <= -14)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 53)
{
if (diff <= -19)
conlevel = CON_GREEN;
else if (diff <= -15)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else if (mylevel <= 55)
{
if (diff <= -20)
conlevel = CON_GREEN;
else if (diff <= -15)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
else
{
if (diff <= -21)
conlevel = CON_GREEN;
else if (diff <= -16)
conlevel = CON_LIGHTBLUE;
else
conlevel = CON_BLUE;
}
return conlevel;
}
provocating
09-03-2014, 02:27 PM
Since they are appearing on the client end as blue is a thing with the client and to be ignored? The server does not send anything back to the client telling it what to visibly show these mobs does it? I am just trying to completely understand this and learn so excuse my ignorance.
demonstar55
09-03-2014, 02:28 PM
I think like SoF+ they have different colors, so there is a slight display bug with mobs.
Uleat
09-03-2014, 07:39 PM
I think there's a post around here about the server using a particular con system and some clients use different ones.
Secrets may remember :smile:
Coenxai
09-03-2014, 09:19 PM
uint32 Mob::GetLevelCon(uint8 mylevel, uint8 iOtherLevel) {
int16 diff = iOtherLevel - mylevel;
uint32 conlevel = 0;
if (diff == 0)
return CON_WHITE;
else if (diff >= 1 && diff <= 3)
return CON_YELLOW;
else if (diff >= 4)
return CON_RED;
if (mylevel >= 58) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -15) {
conlevel = CON_LIGHTBLUE;
}
else if(diff >= -20) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
if (mylevel == 57) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -15) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -19) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 55) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -14) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -19) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 53) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -14) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -18) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 52) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -13) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -18) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 49) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -13) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -17) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 47) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -12) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -16) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 46) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -11) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -16) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 45) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -12) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -15) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 43) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -11) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -15) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 41) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -11) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -14) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 40) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -10) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -14) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 37) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -10) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -13) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 34) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -9) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -12) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 33) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -9) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -11) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 31) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -8) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -11) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 30) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -8) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -10) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 29) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -8) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -10) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel == 28) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -7) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -10) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 25) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -7) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -9) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 22) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff == -6) {
conlevel = CON_LIGHTBLUE;
}
else if (diff >= -8) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 21) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff == -6) {
conlevel = CON_LIGHTBLUE;
}
else if (diff == -7) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel >= 16) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else if (diff >= -7) {
conlevel = CON_GREEN;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else if (mylevel <= 15) {
if (diff >= -5) {
conlevel = CON_BLUE;
}
else {
conlevel = CON_GRAY;
}
return conlevel;
}
else {
return CON_GRAY;
}
}
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.