Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Флудильня (http://mangos.ytdb.ru/forumdisplay.php?f=30)
-   -   Перлы от близзов (http://mangos.ytdb.ru/showthread.php?t=7770)

Amaru 17.12.2013 14:21

Перлы от близзов
 
В клиенте захардкодены айдишники спеллов
Код:

    if ( v4 == 83968 && sub_80B8A0(v3, 95223, 0i64, 0, 0) )
    {
      SendResurrectResponse(1);
      return;
    }

->
Код:

    if ( spell == 83968 && HasAura(95223) )
    {
      SendResurrectResponse(RESSURECT_DECLINE);
      return;
    }

=)))

TOM_RUS 17.12.2013 15:48

Можно подумать что это новость... там еще много такого есть...

Konctantin 17.12.2013 19:05

Ага, я тоже вот наткнулся, на малкороке в героике надо было ставить метки и вот случайно нашел:
Код:

int __cdecl Script_PlaceRaidMarker(int a1)
{
  int v1; // eax@3
  int v2; // eax@5
  int v3; // eax@6
  unsigned int v4; // eax@8

  if ( lua_isnumber(a1, 1) )
  {
    v1 = sub_5003B4();
    if ( v1 )
    {
      if ( !((*(_DWORD *)(v1 + 216) >> 1) & 1)
        || (v2 = *(_DWORD *)(v1 + 176)) != 0 && ((v3 = *(_DWORD *)(v2 + 4), v3 == 2) || v3 == 1) )
      {
        v4 = (unsigned __int64)lua_tonumber(a1, 1) - 1;
        if ( v4 < 5 )
          Spell_C_CastSpell(dword_997E20[v4], 0, 0, 0, 0, 0, 0, 0, 0, 0);
      }
    }
  }
  else
  {
    luaL_error(a1, "Usage: PlaceRaidMarker(index)");
  }
  return 0;
}

а вот и сам массив спелов для меток:
Код:

.rdata:00997E20                        ; int dword_997E20[]
.rdata:00997E20 04 4C 01 00            dword_997E20    dd 14C04h              ; DATA XREF: Script_PlaceRaidMarker+74r
.rdata:00997E24 05                                      db    5
.rdata:00997E25 4C                                      db  4Ch ; L
.rdata:00997E26 01                                      db    1
.rdata:00997E27 00                                      db    0
.rdata:00997E28 06                                      db    6
.rdata:00997E29 4C                                      db  4Ch ; L
.rdata:00997E2A 01                                      db    1
.rdata:00997E2B 00                                      db    0
.rdata:00997E2C 07                                      db    7
.rdata:00997E2D 4C                                      db  4Ch ; L
.rdata:00997E2E 01                                      db    1
.rdata:00997E2F 00                                      db    0
.rdata:00997E30 08                                      db    8
.rdata:00997E31 4C                                      db  4Ch ; L
.rdata:00997E32 01                                      db    1
.rdata:00997E33 00                                      db    0


Amaru 18.12.2013 12:33

еще нашел странный способ проверять кд на суммон пета
Код:

if ( !Spell_C_GetSpellCooldown(118301, 0, 0, 0, 0, 0) )

LordJZ 18.12.2013 18:54

У меня в компании есть код, оценивающий время обработки клиентских файлов. После немалого количества жалоб на него, там появился вот такой кусок:
Код:

// these guys usually upload huge files
if (clientId == 51276)
    innerComplexityFactor *= 2;

И вот в другом месте:
Код:

// this data set is bugged forever (bug 12345)
if (dataset.Id == new Guid("d2c7b03d-a1d4-440e-822a-55427e752285"))
    throw new ApplicationException("This data set cannot be modified, exported, copied or backed up.");


RomanRom2 18.12.2013 23:00

ужас :)
хотя такого кода везде полно в Nortel, Avaya, Oracle и особенно Ericsson. Что творится в Motorolla даже рассказывать не хочу...

Amaru 24.02.2014 01:14

Смотрел, как клиент куренси лутает, и нашел такое:
Код:

ServerToClient: SMSG_LOOT_RESPONSE (0x0537) Length: 34 ConnectionIndex: 0 Time: 12/07/2013 14:17:33.000 Type: Special Opcode Number: 6428
NONE_PERMISSION Marker: 1
Aoe: 0
[0] CurrencyType: 4
[0] Currency Id: 394
[0] Currency Slot: 1
[0] Count: 6
Loot Permisions: ALL_PERMISSION (0)
LootType: 1
Error Logger: 17
byte34: 2
GUID: Full: 0xF113193F000C4EBA Type: GameObject Entry: 203071 Low: 806586
GUID48: Full: 0xF19000000005CC5E Type: 3849 Low: 379998

ClientToServer: CMSG_AUTOSTORE_LOOT_ITEM (0x12F7) Length: 10 ConnectionIndex: 0 Time: 12/07/2013 14:17:33.000 Type: Client Opcode Number: 6429
Slot: 1
[0] Guid: Full: 0xF19000000005CC5E Type: 3849 Low: 379998

ClientToServer: CMSG_REQUEST_HOTFIX (0x01E4) Length: 12 ConnectionIndex: 0 Time: 12/07/2013 14:17:33.000 Type: Client Opcode Number: 6430
Type: 1344507586
Count: 1
[0] Entry: 394
[0] GUID: 0x0

ClientToServer: CMSG_REQUEST_HOTFIX (0x01E4) Length: 12 ConnectionIndex: 0 Time: 12/07/2013 14:17:33.000 Type: Client Opcode Number: 6431
Type: 2442913102
Count: 1
[0] Entry: 394
[0] GUID: 0x0

ServerToClient: SMSG_DB_REPLY (0x1406) Length: 16 ConnectionIndex: 0 Time: 12/07/2013 14:17:33.000 Type: Special Opcode Number: 6432
Time: 12/07/2013 14:17:36
Type: Item (1344507586)
size: 0
Entry: -394
Row 394 has been removed.

То есть, на определенном моменте клиент думает, что лутается итем, а не курренси, и пытается на его айди запросить хотфикс, так как такого итема в db2 нет :D


Текущее время: 14:45. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS