Czopeq
Advanced User
- Joined
- Jun 29, 2015
- Messages
- 191
- Reaction score
- 6
Hello, pr?buj? zrobi? co? takiego:
Po zalogowaniu baza danych aktualizuje si? i gracz dostaje dodatkowego skilla np. axe, a po wylogowaniu go traci... A w praktyce to wygl?da tak, ?e gracz si? loguje baza danych si? aktualizuj?, ale za p??no, bo w bazie danych jest 11axe, ale w grze jest 10... pr?bowa?em to zrobi? w c++, ale po ka?dym przelogowaniu gracz dostawa? +1axe... A nie wiem jak w c++ zrobi? aktualizacj? bazy po wylogowaniu :/
Tak to wygl?da w c++
A tak w lua po zalogowaniu i wylogowaniu:
[LUA]function onLogin(cid) --- OnLogout(cid)
db.query("UPDATE `player_skills` SET `value` = (value + bonus) WHERE `player_id` = "..getPlayerGUID(cid).."")
return true
end[/LUA]
Kto? co?? ja ju? nie mam pomys??w :c
Po zalogowaniu baza danych aktualizuje si? i gracz dostaje dodatkowego skilla np. axe, a po wylogowaniu go traci... A w praktyce to wygl?da tak, ?e gracz si? loguje baza danych si? aktualizuj?, ale za p??no, bo w bazie danych jest 11axe, ale w grze jest 10... pr?bowa?em to zrobi? w c++, ale po ka?dym przelogowaniu gracz dostawa? +1axe... A nie wiem jak w c++ zrobi? aktualizacj? bazy po wylogowaniu :/
Tak to wygl?da w c++
Code:
query.str("");
query << "SELECT `skillid`, `value`, `bonus`, `count`, (value + bonus) FROM `player_skills` WHERE `player_id` = " << player->getGUID();
if((result = db->storeQuery(query.str())))
{
//now iterate over the skills
do
{
int16_t skillId = result->getDataInt("skillid");
if(skillId < SKILL_FIRST || skillId > SKILL_LAST)
continue;
uint32_t skillLevel = result->getDataInt("value");
uint32_t Bonusik = result->getDataInt("(value + bonus)");
uint64_t nextSkillCount = player->vocation->getReqSkillTries(
skillId, skillLevel + 1), skillCount = result->getDataLong("count");
if(skillCount > nextSkillCount)
skillCount = 0;
player->skills[skillId][SKILL_LEVEL] = Bonusik;
player->skills[skillId][SKILL_TRIES] = skillCount;
player->skills[skillId][SKILL_PERCENT] = Player::getPercentLevel(skillCount, nextSkillCount);
}
while(result->next());
result->free();
}
A tak w lua po zalogowaniu i wylogowaniu:
[LUA]function onLogin(cid) --- OnLogout(cid)
db.query("UPDATE `player_skills` SET `value` = (value + bonus) WHERE `player_id` = "..getPlayerGUID(cid).."")
return true
end[/LUA]
Kto? co?? ja ju? nie mam pomys??w :c