• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Краш сервера при создании персонажа
HiTON
Рыцарь
Здравствуйте, гуру!
Прошу помощи, при создании 2ого персонажа на 1 аккаунте до рестарта сервера - крэш 100%.
на сколько я понял ошибка в characterhandler.cpp (как запустить Debug не знаю и не нашел инструкций, если вы мне можете сказать, сделаю все, что нужно).
Вот кусок кода:
Код
Player newChar(this);
              if (!newChar.Create(sObjectMgr->GenerateLowGuid(HIGHGUID_PLAYER), createInfo))
              {
                  // Player not create (race/class/etc problem?)
                  newChar.CleanupsBeforeDelete();

                  WorldPacket data(SMSG_CHAR_CREATE, 1);
                  data << uint8(CHAR_CREATE_ERROR);
                  SendPacket(&data);
                  delete createInfo;
                  _charCreateCallback.Reset();
                  return;
              }

              if ((haveSameRace && skipCinematics == 1) || skipCinematics == 2)
                  newChar.setCinematic(1);                          // not show intro

              newChar.SetAtLoginFlag(AT_LOGIN_FIRST);               // First login

              // Player created, save it now
              newChar.SaveToDB(true);
              createInfo->CharCount += 1;

              SQLTransaction trans = LoginDatabase.BeginTransaction();

              PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_DEL_REALM_CHARACTERS);
              stmt->setUInt32(0, GetAccountId());
              stmt->setUInt32(1, realmID);
              trans->Append(stmt);

              stmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_REALM_CHARACTERS);
              stmt->setUInt32(0, createInfo->CharCount);
              stmt->setUInt32(1, GetAccountId());
              stmt->setUInt32(2, realmID);
              trans->Append(stmt);

              LoginDatabase.CommitTransaction(trans);

              newChar.CleanupsBeforeDelete();

              WorldPacket data(SMSG_CHAR_CREATE, 1);
              data << uint8(CHAR_CREATE_SUCCESS);
              SendPacket(&data);

              std::string IP_str = GetRemoteAddress();
              sLog->outDetail("Account: %d (IP: %s) Create Character:[%s] (GUID: %u)", GetAccountId(), IP_str.c_str(), createInfo->Name.c_str(), newChar.GetGUIDLow());
              sLog->outChar("Account: %d (IP: %s) Create Character:[%s] (GUID: %u)", GetAccountId(), IP_str.c_str(), createInfo->Name.c_str(), newChar.GetGUIDLow());
              sScriptMgr->OnPlayerCreate(&newChar);
              sWorld->AddCharacterNameData(newChar.GetGUIDLow(), std::string(newChar.GetName()), newChar.getGender(), newChar.getRace(), newChar.getClass());

              delete createInfo;
              _charCreateCallback.Reset();
          }
          break;
      }
}

Вот крэшлог:

Помогите пожалуйста, уже почти неделю бьюсь над это проблемой (установка вот этого патча не помогла)
Сообщение # 1 отредактировано HiTON - Воскресенье, 22.12.2013, 16:53
_dm666
<3 Death Metal

И краш-лог сюда.
Сообщение # 2 написано 22.12.2013 в 15:55
HiTON
Рыцарь
Цитата std_Suicide ()
И краш-лог сюда.

Как? объясните пожалуйста. (скомпилил в debug, появилась папка crashes, там файлы крэшей, НО
вот это, на сколько я понимаю, ничего не дает, а второй файл при начале отладки, пишет типа "ошибка в доступе", останавливаясь на определенном пункте. Что и как делать?
Сообщение # 3 написано 22.12.2013 в 16:29
  • Страница 1 из 1
  • 1
Поиск: