mirror of
https://github.com/tribufu/node-gamedig
synced 2026-05-06 15:17:36 +00:00
Update CS2D (#354)
* Update cs2d.js * Rename to CS2D * Update GAMES_LIST.md * Update cs2d.js
This commit is contained in:
parent
d6d09c2886
commit
c8e851d6b2
3 changed files with 19 additions and 23 deletions
|
|
@ -4,8 +4,8 @@ export default class cs2d extends Core {
|
|||
async run(state) {
|
||||
{
|
||||
const reader = await this.sendQuery(
|
||||
Buffer.from('\x01\x00\x03\x10\x21\xFB\x01\x75\x00', 'binary'),
|
||||
Buffer.from('\x01\x00\xfb\x01', 'binary')
|
||||
Buffer.from('\x01\x00\xFB\x01\xF5\x03\xFB\x05', 'binary'),
|
||||
Buffer.from('\x01\x00\xFB\x01', 'binary')
|
||||
);
|
||||
const flags = reader.uint(1);
|
||||
state.raw.flags = flags;
|
||||
|
|
@ -15,36 +15,32 @@ export default class cs2d extends Core {
|
|||
state.raw.friendlyFire = this.readFlag(flags, 3);
|
||||
state.raw.botsEnabled = this.readFlag(flags, 5);
|
||||
state.raw.luaScripts = this.readFlag(flags, 6);
|
||||
state.raw.forceLight = this.readFlag(flags, 7);
|
||||
state.name = this.readString(reader);
|
||||
state.map = this.readString(reader);
|
||||
state.raw.numplayers = reader.uint(1);
|
||||
state.maxplayers = reader.uint(1);
|
||||
state.raw.gamemode = reader.uint(1);
|
||||
if (state.raw.botsEnabled) {
|
||||
state.raw.numbots = reader.uint(1);
|
||||
if (flags & 32) {
|
||||
state.raw.gamemode = reader.uint(1);
|
||||
} else {
|
||||
state.raw.numbots = 0;
|
||||
state.raw.gamemode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
const reader = await this.sendQuery(
|
||||
Buffer.from('\x01\x00\xFB\x05', 'binary'),
|
||||
Buffer.from('\x01\x00\xFB\x05', 'binary')
|
||||
);
|
||||
state.raw.numplayers2 = reader.uint(1);
|
||||
while(!reader.done()) {
|
||||
const player = {};
|
||||
state.raw.numbots = reader.uint(1);
|
||||
const flags2 = reader.uint(1);
|
||||
state.raw.flags2 = flags2;
|
||||
state.raw.recoil = this.readFlag(flags, 0);
|
||||
state.raw.offScreenDamage = this.readFlag(flags, 1);
|
||||
state.raw.hasDownloads = this.readFlag(flags, 2);
|
||||
reader.skip(2);
|
||||
const players = reader.uint(1);
|
||||
for (let i = 0; i < players; i++) {
|
||||
const player = {}
|
||||
player.id = reader.uint(1);
|
||||
player.name = this.readString(reader);
|
||||
player.team = reader.uint(1);
|
||||
player.score = reader.uint(4);
|
||||
player.deaths = reader.uint(4);
|
||||
if (state.bots.length < state.raw.numbots) {
|
||||
state.bots.push(player);
|
||||
} else {
|
||||
state.players.push(player);
|
||||
}
|
||||
state.players.push(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue