XP Skill status ids

08/06/2009 13:15 xellios#1
Well yeah,

if(CSocket.Client.SuperMan)
Status += 0x40000; // 0x40000

the 0x40000 can someone give me all the status ids? Status += 0x"id";


Thank you.
08/06/2009 17:10 madrat88#2
can anyone tell me about UGH? where can i find that?
08/06/2009 17:13 damianpesta#3
Code:
        public enum CharStatus : uint
        {
            Normal = 0x0,
            FlashingName = 0x1,
            Poisoned = 0x2,
            Invisible = 0x4,
            XPList = 0x10,
            Dead = 0x20,
            TeamLeader = 0x40,
            StarOfAccuracy = 0x80,
            MagicShield = 0x100,
            Stigma = 0x200,
            Ghost = 0x400,
            FadeAway = 0x800,
            RedName = 0x4000,
            BlackName = 0x8000,
            Supermaan = 0x40000,
            Ball = 0x80000,
            Ball2 = 0x100000,
            Invisibility = 0x400000,
            Cyclone = 0x800000,
            Fly = 0x8000000,
            Blessing = 0x80000000,
            BlssedSkill = 0x40000000
        }
08/06/2009 17:32 _tao4229_#4
Shouldn't be adding really, you should be bitwise OR-ing ( | ).
As in if you have a

Code:
struct Entity {
uint UID;
uint Mesh;
uint Status;
};
When you'd need to activate the superman status you would just

Code:
Entity e;
e.Status |= SuperManFlag;
Then send the necessary status updates to the client/clients around player.
08/06/2009 17:34 damianpesta#5
Quote:
Originally Posted by _tao4229_ View Post
Shouldn't be adding really, you should be bitwise OR-ing ( | ).
As in if you have a

Code:
struct Entity {
uint UID;
uint Mesh;
uint Status;
};
When you'd need to activate the superman status you would just

Code:
Entity e;
e.Status |= SuperManFlag;
Then send the necessary status updates to the client/clients around player.
I guess it can be used for transformation skills as well?
08/06/2009 18:03 xellios#6
kk thx damian.
01/04/2010 08:22 zhalyn#7
i need fatal strike id :)
01/04/2010 15:45 -impulse-#8
Quote:
Originally Posted by _tao4229_ View Post
Shouldn't be adding really, you should be bitwise OR-ing ( | ).
As in if you have a

Code:
struct Entity {
uint UID;
uint Mesh;
uint Status;
};
When you'd need to activate the superman status you would just

Code:
Entity e;
e.Status |= SuperManFlag;
Then send the necessary status updates to the client/clients around player.
And when you want to remove the superman status you just use XOR?
Code:
Entity e;
e.Status ^= SuperManFlag;
01/04/2010 16:28 ImmuneOne#9
Quote:
Originally Posted by -impulse- View Post
And when you want to remove the superman status you just use XOR?
Code:
Entity e;
e.Status ^= SuperManFlag;
Or flag it as none?
01/04/2010 16:38 Nullable#10
Quote:
Originally Posted by ImmuneOne View Post
Or flag it as none?
or XOR it as -impulse- stated, to keep other flags that might have been there :}
01/04/2010 16:50 ImmuneOne#11
Quote:
Originally Posted by Nullable View Post
or XOR it as -impulse- stated, to keep other flags that might have been there :}
In this case, yes. But if you'd look at other sources e.g: CoEmu that doesn't apply.
01/04/2010 17:12 lostsolder05#12
Quote:
Originally Posted by -impulse- View Post
And when you want to remove the superman status you just use XOR?
Code:
Entity e;
e.Status ^= SuperManFlag;
^= sets the statusflag to xxxflag if its not already set nd vice versa.

you could also just do e.status -= xxxflag.

or set the flag to none like immuneone suggested. it really depends on what your doing.
01/04/2010 17:38 Huseby#13
Dont bump

#Closed