It's OP_Action and/or OP_Action2
Been years since I played with it, but used to have showeq telling me the caster and the target of every spell cast in range.
Type: Posts; User: showeq42
It's OP_Action and/or OP_Action2
Been years since I played with it, but used to have showeq telling me the caster and the target of every spell cast in range.
It's still working.
It's just a client patch. If the servers aren't brought down and patched, showeq will still work.
getting errors, and pc movment not being updated
Warning: OP_ClientUpdate (0x3d46) (dataLen: 28) doesn't match: sizeof(playerSpawnPosStruct):29 sizeof(playerSelfPosStruct):42
This is what I do now. I have linux (centos) running in a vm, its network connection is set to "bridged" and it sees everything the host does. I put the vm on the PC's second monitor. Just like...
The code is converting the run speed from a float to int then back to float. I fixed that, then divided it by a constant to make base run speed 1.000000
Accurate to 7 significant figures now!
...
I use debugging code in player.cpp and spawnshell.cpp, it starts with:
#if 0
// Debug positioning without having to recompile everything...
there are two of these in spawnshell.cpp,...
struct playerSpawnPosStruct
{
/*0000*/ uint16_t spawnId;
/*0002*/ uint16_t spawnId2;
/*0004*/ unsigned pitch:12;
signed z:19; // z coord
unsigned padding01:1;...
struct playerSelfPosStruct
{
/*0000*/ uint16_t unknown0000; // ***Placeholder (update time counter?)
/*0002*/ uint16_t spawnId; // Player's spawn id...
diff against unpatched showeq-5.13.10.10
*** spawnshell.cpp.0 2013-01-13 15:59:33.000000000 -0800
--- spawnshell.cpp 2013-01-24 03:29:29.007054064 -0800
***************
*** 611,627...
here's the fix, spawnshell.cpp, line 613:
edit: fixed the fix
if(i == 0)
{
spawn->bodytype = 0;
}
else
Looks like it's being caused by a player with charProperties = 0
Longer title/suffix strings is not the cause of the crash, increasing the field length is just masking the problem by stopping seq from crashing. Something else is wrong.
Crashed for me in fos, in 2 places,
spawnshell.cpp, lines 708 and 714:
strcpy(spawn->title, name.latin1());
and
strcpy(spawn->suffix, name.latin1());
i see level is uint8_t in some places, so in the event there is ever some high level mob somewhere:
const int maxSpawnLevel = 255;
in player.h
and a couple more opcodes i found:
opcode...
This was corrupting data and causing weird crashes when player level was > 93 and maxSpawnLevel was 100:
player.h:
QColor m_conTable[maxSpawnLevel];
player.cpp:
for (; spawnLevel <...
I think I found the problem:
line 24 of player.h:
const int maxSpawnLevel = 100;
I bumped it up to 127 and it stopped crashing. Also buggyness with spawn con colors was fixed.
I get the same crash when I kill a mob
#0 0x000000000042e3c0 in QShared::deref (this=0xffffff0044495254)
at /usr/lib64/qt-3.3/include/qshared.h:53
53 bool deref() {...
I got everything in the right spot in playerSpawnPosStruct, and also found where pitch is and labeled it. For players this is the direction they are looking up/down.
struct...
commenting out line 800 of player.cpp will keep it from crashing until a proper fix is figured out.
updated playerSelfPosStruct, only thing that was in the wrong place was "animation", which is...
dunno if animation/deltaHeading are correct or if seq even uses them. the rest are good.
struct playerSelfPosStruct
{
/*0000*/ uint8_t unknown0000[2]; // ***Placeholder...
got deltaX/deltaY in the right places now so movement vector lines are correct.
do heading/deltaHeading/deltaZ/animation do anything useful for seq?
signed deltaZ:13; //...
Yeah, the player pos struct is different and uses floats instead of unsigned
opcode id="142c" name="OP_MobUpdate"
opcode id="607d" name="OP_ClickObject"
Yup, I ran out of time to work on it so posted what I had.
I'm thinking just to screw with us, I can't think of any practical purpose for randomly reordering those things.
first time i've played with seq in years, got it mostly working:
opcode id="5772" name="OP_PlayerProfile"
opcode id="60a8" name="OP_ZoneEntry"
opcode id="18cd" name="OP_NewZone"
opcode...