本文整理汇总了C++中InPacket::readbool方法的典型用法代码示例。如果您正苦于以下问题:C++ InPacket::readbool方法的具体用法?C++ InPacket::readbool怎么用?C++ InPacket::readbool使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InPacket
的用法示例。
在下文中一共展示了InPacket::readbool方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parselook
LookEntry Login::parselook(InPacket& recv) const
{
LookEntry look;
look.female = recv.readbool();
look.skin = recv.readbyte();
look.faceid = recv.readint();
recv.readbool(); //megaphone
look.hairid = recv.readint();
uint8_t slot = recv.readbyte();
while (slot != 0xFF)
{
look.equips[slot] = recv.readint();
slot = recv.readbyte();
}
slot = recv.readbyte();
while (slot != 0xFF)
{
look.maskedequips[slot] = recv.readint();
slot = recv.readbyte();
}
look.maskedequips[-111] = recv.readint();
for (uint8_t i = 0; i < 3; i++)
{
look.petids.push_back(recv.readint());
}
return look;
}
示例2: handle
void DropItemHandler::handle(InPacket& recv) const
{
int8_t mode = recv.readbyte();
int32_t oid = recv.readint();
bool meso = recv.readbool();
int32_t itemid = recv.readint();
int32_t owner = recv.readint();
int8_t pickuptype = recv.readbyte();
Point<int16_t> dropto = recv.readpoint();
recv.skip(4);
Point<int16_t> dropfrom;
if (mode != 2)
{
dropfrom = recv.readpoint();
recv.skip(2);
}
else
{
dropfrom = dropto;
}
if (!meso)
{
recv.skip(8);
}
bool playerdrop = !recv.readbool();
Stage::get().getdrops().adddrop(oid, itemid, meso, owner, dropfrom, dropto, pickuptype, mode, playerdrop);
}
示例3:
MapInfo::MapInfo(InPacket& recv)
{
mapwalls.setfirst(recv.readshort());
mapwalls.setsecond(recv.readshort());
mapborders.setfirst(recv.readshort());
mapborders.setsecond(recv.readshort());
bgm = recv.read<string>();
cloud = recv.readbool();
fieldlimit = recv.readint();
hideminimap = recv.readbool();
mapmark = recv.read<string>();
swim = recv.readbool();
town = recv.readbool();
uint16_t numseats = recv.readshort();
for (uint16_t i = 0; i < numseats; i++)
{
seats.push_back(recv);
}
uint16_t numladders = recv.readshort();
for (uint16_t i = 0; i < numladders; i++)
{
ladders.push_back(recv);
}
}
示例4:
Account::Account(InPacket& recv)
{
recv.readshort();
accid = recv.readint();
female = recv.readbool();
recv.readbool(); //is admin
gmlevel = recv.readbyte();
recv.readbyte();
name = recv.readascii();
recv.readbyte();
muted = recv.readbool();
recv.readlong(); //muted until
recv.readlong(); //creation date
recv.readint();
pin = recv.readshort();
selected = 0;
}
示例5: parseaccount
void Login::parseaccount(InPacket& recv)
{
recv.readshort();
account.accid = recv.readint();
account.female = recv.readbool();
recv.readbool(); //is admin
account.gmlevel = recv.readbyte();
recv.readbyte();
account.name = recv.readascii();
recv.readbyte();
account.muted = recv.readbool();
recv.readlong(); //muted until
recv.readlong(); //creation date
recv.readint();
account.pin = recv.readshort();
account.selected = 0;
}
示例6:
MapBackgrounds::MapBackgrounds(InPacket& recv)
{
int16_t size = recv.readshort();
for (int16_t i = 0; i < size; i++)
{
bool front = recv.readbool();
if (front)
{
foregrounds.push_back(recv);
}
else
{
backgrounds.push_back(recv);
}
}
black = recv.readbool();
}
示例7: parsecharentry
CharEntry Login::parsecharentry(InPacket& recv) const
{
CharEntry toparse;
toparse.cid = recv.readint();
toparse.stats = parsestats(recv);
toparse.look = parselook(recv);
recv.readbool(); // 'rankinfo' bool
if (recv.readbool())
{
int32_t currank = recv.readint();
int32_t rankmv = recv.readint();
int32_t curjobrank = recv.readint();
int32_t jobrankmv = recv.readint();
int8_t rankmc = (rankmv > 0) ? '+' : (rankmv < 0) ? '-' : '=';
int8_t jobrankmc = (jobrankmv > 0) ? '+' : (jobrankmv < 0) ? '-' : '=';
toparse.stats.rank = std::make_pair(currank, rankmc);
toparse.stats.jobrank = std::make_pair(curjobrank, jobrankmc);
}
return toparse;
}
示例8: handle
void CharnameResponseHandler::handle(InPacket& recv) const
{
// Read the name and if it is already in use.
string name = recv.read<string>();
bool used = recv.readbool();
if (used)
{
UI::get().add(ElementLoginNotice(UILoginNotice::NAME_IN_USE));
}
// Notify character creation screen.
UI::get().withelement(UIElement::CHARCREATION, &UICharcreation::nameresult, used);
UI::get().enable();
}
示例9: typebyid
Background::Background(InPacket& recv)
{
node backsrc = nl::nx::map["Back"];
animation = backsrc[recv.read<string>()];
opacity = recv.readshort();
flipped = recv.readbool();
cx = recv.readshort();
cy = recv.readshort();
rx = recv.readshort();
ry = recv.readshort();
moveobj.setx(recv.readshort());
moveobj.sety(recv.readshort());
Type type = typebyid(recv.readbyte());
settype(type);
}
示例10: handle
void AttackHandler::handle(InPacket& recv) const
{
int32_t cid = recv.readint();
uint8_t count = recv.readbyte();
recv.skip(1);
using Gameplay::AttackResult;
AttackResult attack;
attack.type = type;
attack.level = recv.readbyte();
attack.skill = (attack.level > 0) ? recv.readint() : 0;
attack.display = recv.readbyte();
attack.toleft = recv.readbool();
attack.stance = recv.readbyte();
attack.speed = recv.readbyte();
recv.skip(1);
attack.bullet = recv.readint();
attack.mobcount = (count >> 4) & 0xF;
attack.hitcount = count & 0xF;
for (uint8_t i = 0; i < attack.mobcount; i++)
{
int32_t oid = recv.readint();
recv.skip(1);
using Gameplay::Skill;
uint8_t length = (attack.skill == Skill::MESO_EXPLOSION) ? recv.readbyte() : attack.hitcount;
for (uint8_t j = 0; j < length; j++)
{
int32_t damage = recv.readint();
bool critical = false; // todo
auto singledamage = std::make_pair(damage, critical);
attack.damagelines[oid].push_back(singledamage);
}
}
using Gameplay::Stage;
Stage::get().showattack(cid, attack);
}
示例11: handle
void ChangeStatsHandler::handle(InPacket& recv) const
{
recv.readbool(); // 'itemreaction'
int32_t updatemask = recv.readint();
Player& player = Stage::get().getplayer();
for (auto it = Maplestat::it(); it.hasnext(); it.increment())
{
Maplestat::Value stat = it.get();
if (Maplestat::compare(stat, updatemask))
{
switch (stat)
{
case Maplestat::SKIN:
player.changelook(stat, recv.readshort());
break;
case Maplestat::FACE:
case Maplestat::HAIR:
player.changelook(stat, recv.readint());
break;
case Maplestat::LEVEL:
player.changelevel(recv.readbyte());
break;
case Maplestat::JOB:
player.changejob(recv.readshort());
break;
case Maplestat::EXP:
player.getstats().setexp(recv.readint());
break;
case Maplestat::MESO:
player.getinvent().setmeso(recv.readint());
break;
default:
player.getstats().setstat(stat, recv.readshort());
player.recalcstats(false);
break;
}
}
UI::get().enable();
}
}
示例12: parsestats
StatsEntry Login::parsestats(InPacket& recv) const
{
StatsEntry statsentry;
statsentry.name = recv.readpadascii(13);
recv.readbool(); //gender
recv.readbyte(); //skin
recv.readint(); //face
recv.readint(); //hair
for (size_t i = 0; i < 3; i++)
{
statsentry.petids.push_back(recv.readlong());
}
statsentry.stats[Maplestat::LEVEL] = recv.readbyte();
statsentry.stats[Maplestat::JOB] = recv.readshort();
statsentry.stats[Maplestat::STR] = recv.readshort();
statsentry.stats[Maplestat::DEX] = recv.readshort();
statsentry.stats[Maplestat::INT] = recv.readshort();
statsentry.stats[Maplestat::LUK] = recv.readshort();
statsentry.stats[Maplestat::HP] = recv.readshort();
statsentry.stats[Maplestat::MAXHP] = recv.readshort();
statsentry.stats[Maplestat::MP] = recv.readshort();
statsentry.stats[Maplestat::MAXMP] = recv.readshort();
statsentry.stats[Maplestat::AP] = recv.readshort();
statsentry.stats[Maplestat::SP] = recv.readshort();
statsentry.exp = recv.readint();
statsentry.stats[Maplestat::FAME] = recv.readshort();
recv.skip(4); //gachaexp
statsentry.mapid = recv.readint();
statsentry.portal = recv.readbyte();
recv.skip(4); //timestamp
statsentry.job = CharJob(statsentry.stats[Maplestat::JOB]);
return statsentry;
}