Felszerelhető pecsét hiba.

Started by [VIP]Rin the Exorcist, 2016-02-13, 17:37:23

2016-02-13, 17:37:23 Last Edit: 2016-02-13, 17:39:00 by Rin the Exorcist
Sziasztok!
Hú, de rég nyitottam már segítségkérő témát.. :D

Szóval térjünk is a lényegre. A felszerelhető pecsétek (mindegy hogy az alap, vagy a costume_mountos) elég érdekes hibát produkálnak nálam. Ha a karakter a pecséten ül, és mozog abban a pillanatban amikor lejár a pecsét, a szerver ledobja a karaktert (a CH választásig, de ezt követően gond nélkül vissza lehet csatlakozni), és ezt a hibaüzenetet kapom:

SYSERR: Feb  7 23:25:22.165338 :: Sync: cannot find tree at -2147483648 -2147483648 (name: [SA]Rin)

Viszont, ha egy helyben áll a karakter amikor a pecsét lejár, akkor semmi gond nincs. Továbbá az is előfordul, hogy megfelelően működik, azaz leszáll a karakter a hátasról, azonban ez ritkán fordul elő.

Arra lennék kíváncsi, hogy másoknál is jelen van-e ez a hiba, és tudjátok-e rá a megoldást? :D
"Tisztelet a kivételnek! Mindig tisztelet a kivételnek!"
"KezdÅ' vagyok, ne nézz le... (:"

Quote from: Rin the Exorcist on 2016-02-13, 17:37:23
SYSERR: Feb  7 23:25:22.165338 :: Sync: cannot find tree at -2147483648 -2147483648 (name: [SA]Rin)
Nem vagyok benne biztos, viszont tudtommal ezt a hibát akkor adja ki ha hibás a server_attr fájl..

Ez sajnos nem segített, de mindenesetre egy próbát megért, köszi a tippet.
"Tisztelet a kivételnek! Mindig tisztelet a kivételnek!"
"KezdÅ' vagyok, ne nézz le... (:"

Nekem az a fv. így néz ki, de ez tán pont egy javítás miatt, amivel akkor amikor betettem még sosem találkoztam, lehet segít. 8)

bool CHARACTER::Sync(long x, long y)
{
if (!GetSectree())
return false;

LPSECTREE new_tree = SECTREE_MANAGER::instance().Get(GetMapIndex(), x, y);

if (!new_tree)
{
if (GetDesc())
{
sys_err("cannot find tree at %d %d (name: %s)", x, y, GetName());
//GetDesc()->SetPhase(PHASE_CLOSE);
x = GetX();
y = GetY();
new_tree = GetSectree();
}
else
{
sys_err("no tree: %s %d %d %d", GetName(), x, y, GetMapIndex());
Dead();
}

return false;
}

SetRotationToXY(x, y);
SetXYZ(x, y, 0);

if (GetDungeon())
{
// ´řÁŻżë ŔĚşĄĆ® ĽÓĽş şŻČ­
int iLastEventAttr = m_iEventAttr;
m_iEventAttr = new_tree->GetEventAttribute(x, y);

if (m_iEventAttr != iLastEventAttr)
{
if (GetParty())
{
quest::CQuestManager::instance().AttrOut(GetParty()->GetLeaderPID(), this, iLastEventAttr);
quest::CQuestManager::instance().AttrIn(GetParty()->GetLeaderPID(), this, m_iEventAttr);
}
else
{
quest::CQuestManager::instance().AttrOut(GetPlayerID(), this, iLastEventAttr);
quest::CQuestManager::instance().AttrIn(GetPlayerID(), this, m_iEventAttr);
}
}
}

if (GetSectree() != new_tree)
{
if (!IsNPC())
{
SECTREEID id = new_tree->GetID();
SECTREEID old_id = GetSectree()->GetID();

sys_log(0, "SECTREE DIFFER: %s %dx%d was %dx%d",
GetName(),
id.coord.x,
id.coord.y,
old_id.coord.x,
old_id.coord.y);
}

new_tree->InsertEntity(this);
}

return true;
}

Igen ezzel működik, köszi. Azt hiszem deven láttam ezt a javítást, viszont ezt kicsit annak érzem, mint amikor egy hibaüzenet kiírását kikapcsoljuk, attól még a probléma fent áll. :D Szóval ha másoknak enélkül is jó, akkor ki kéne deríteni a miértjét.
"Tisztelet a kivételnek! Mindig tisztelet a kivételnek!"
"KezdÅ' vagyok, ne nézz le... (:"

Szóval csak nekem hibás? :-X Értékelném, ha mások is kipróbálnák a pecséteket (a fix nélkül), hogy nekik megfelelően működik-e.
"Tisztelet a kivételnek! Mindig tisztelet a kivételnek!"
"KezdÅ' vagyok, ne nézz le... (:"

Fix nélkül nálam is előjött a hiba. Most nézem a lehetséges opciókat a javításra.
Skype:Csedwik

Nálam is fent áll ez a probléma és tényleg elég idegesítő