Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uint32 mov_flag = CHECK_ULONG(L, 5); //0 - walk, 256 - teleport, 4096 - run, 12288 - fly
- float moveSpeed = (float)luaL_optnumber(L, 6, 1.0f);
- if(moveSpeed == 1.0f)
- {
- if(mov_flag == 0)
- moveSpeed = 2.5f * 0.001f;
- else
- moveSpeed = 7.0f * 0.001f;
- }
- ptr->SetFacing(o);
- ptr->SetOrientation(o);
- float distance = ptr->CalcDistance(ptr->GetPositionX(), ptr->GetPositionY(), ptr->GetPositionZ(), x, y, z);
- uint32 moveTime = uint32(distance / moveSpeed);
- WorldPacket data(SMSG_MONSTER_MOVE, 50);
- data << ptr->GetNewGUID();
- data << uint8(0);
- data << ptr->GetPositionX();
- data << ptr->GetPositionY();
- data << ptr->GetPositionZ();
- data << getMSTime();
- data << uint8(0x00);
- data << uint32(mov_flag);
- data << moveTime;
- data << uint32(1);
- data << x << y << z;
- ptr->SendMessageToSet(&data, true);
- ptr->SetPosition(x, y, z, o);
Advertisement
Add Comment
Please, Sign In to add comment