Hello,
ich versuche seit Stunden auf die GK Map zu gelangen.
Fordern, annehmen geht und die Quest wird angezeigt.
Allerdings meckert er in der Syserr serverside.
WarpSet Funktion:
C
- bool CHARACTER::WarpSet(long x, long y, long lPrivateMapIndex)
- {
- if (!IsPC())
- return false;
- long lAddr;
- long lMapIndex;
- WORD wPort;
- if (!CMapLocation::instance().Get(x, y, lMapIndex, lAddr, wPort))
- {
- sys_err("cannot find map location index %d x %d y %d name %s", lMapIndex, x, y, GetName());
- return false;
- }
- if (lPrivateMapIndex >= 10000)
- {
- if (lPrivateMapIndex / 10000 != lMapIndex)
- {
- sys_err("Invalid map index %d, must be child of %d", lPrivateMapIndex, lMapIndex);
- sys_err("** lPrivateMapIndex / 10000 = %d || lMapIndex = %d **", lPrivateMapIndex / 10000, lMapIndex);
- return false;
- }
- lMapIndex = lPrivateMapIndex;
- }
- Stop();
- Save();
- if (GetSectree())
- {
- GetSectree()->RemoveEntity(this);
- ViewCleanup();
- EncodeRemovePacket(this);
- }
- m_lWarpMapIndex = lMapIndex;
- m_posWarp.x = x;
- m_posWarp.y = y;
- sys_log(0, "WarpSet %s %d %d current map %d target map %d", GetName(), x, y, GetMapIndex(), lMapIndex);
- TPacketGCWarp p;
- p.bHeader = HEADER_GC_WARP;
- p.lX = x;
- p.lY = y;
- p.lAddr = lAddr;
- p.wPort = wPort;
- GetDesc()->Packet(&p, sizeof(TPacketGCWarp));
- //if (!LC_IsNewCIBN())
- {
- char buf[256];
- snprintf(buf, sizeof(buf), "%s MapIdx %ld DestMapIdx%ld DestX%ld DestY%ld Empire%d", GetName(), GetMapIndex(), lPrivateMapIndex, x, y, GetEmpire());
- LogManager::instance().CharLog(this, 0, "WARP", buf);
- }
- return true;
- }
GuildWarEntryAccept Funktion:
C
- void CGuild::GuildWarEntryAccept(DWORD dwOppGID, LPCHARACTER ch)
- {
- auto git = m_EnemyGuild.find(dwOppGID);
- if (git == m_EnemyGuild.end())
- return;
- TGuildWar & gw(git->second);
- if (gw.type == GUILD_WAR_TYPE_FIELD)
- return;
- if (gw.state != GUILD_WAR_ON_WAR)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT_LANGUAGE(ch->GetLanguage(),"ÀÌ¹Ì ÀüÀïÀÌ ³¡³µ½À´Ï´Ù.")); //Bedeutung = ,,Der Krieg ist bereits vorbei."
- return;
- }
- if (!gw.map_index)
- return;
- PIXEL_POSITION pos;
- if (!CWarMapManager::instance().GetStartPosition(gw.map_index, GetID() < dwOppGID ? 0 : 1, pos))
- return;
- quest::PC * pPC = quest::CQuestManager::instance().GetPC(ch->GetPlayerID());
- pPC->SetFlag("war.is_war_member", 1);
- ch->SaveExitLocation();
- ch->WarpSet(pos.x, pos.y, gw.map_index);
- }
Grüße.