Sziasztok
http://metin2hungary.net/index.php/topic,188664.0.html
Eszt próbáltam be üzemelni, a kliens rész az jó is
de a szerver rész sajnos nem.
miután fordítom nem indul az auth és ch-k
mutatom milyen az input_login ccp, ha valaki segítene
hogy mi lehet baj aszt megköszönném! :)
https://data.hu/get/10396630/input_login.cpp
nah, csináld meg pythonban, hogy ott legyen az az ablak, majd pedig a game file forrásában csak questlua_pc.cpp-be írd hozzá (köszönd Sanchez-nek):
int pc_get_coins(lua_State* L)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
if (ch == NULL)
return 0;
SQLMsg *msg = DBManager::instance().DirectQuery("SELECT coins FROM account.account WHERE id = '%d'", ch->GetAID());
if (msg->uiSQLErrno != 0)
return 0;
MYSQL_RES *res = msg->Get()->pSQLResult;
MYSQL_ROW row = mysql_fetch_row(res);
if (!row[0])
return 0;
lua_pushnumber(L, atoi(row[0]));
return 1;
}
majd a végére írd bele, hogy beolvassa
aztán root-ban game.py:
keress rá: def __ServerCommand_Build(self):
alá: "sarkanyermem" : self.ennyisemvan,
ezután görgess lejjebb picit (majd ahol már látsz hasonlókat), és illeszd be:
def ennyisemvan(self, sarkanyerme):
annakaneveamibekiírodasédet.SetText(sarkanyerme + " SÉ")
/python részeknél tabolásra figyelj/
majd questben:
quest semutatas begin
state start begin
when login begin
timer("seupd", 5)
end
when seupd.timer begin
cmdchat("sarkanyermem "..pc.get_coins())
timer("seupd", 5)
end
end
end
ha nem pc.get_coins-nak nevezted el a hozzáadott questfunkciót, akkor nyílvan azt írd a helyére
SQLMsg *msg = DBManager::instance().DirectQuery("SELECT coins FROM account.account WHERE id = '%d'", ch->GetAID());
Helyett:
SQLMsg *msg = DBManager::instance().DirectQuery("SELECT coins FROM account.account WHERE id = '%d' LIMIT 1", ch->GetAID());
Bár apróság =)
input_login.cpp fájlod jó, de használhatod Distraught megoldását is, ami 5 másodpercenként frissíti a box-ban (kis dobozban) lévő értéket, de én nem javaslom a quest-ben való timer-ezést, mert laggoltatja a szervert a sok lekérdezés, ha sok játékos van.
Sikerült megoldani, köszönöm a segítséget :)