Пример #1
0
 def sendShamanSkills(this, newBoolean):
     p = ByteArray().writeByte(len(this.client.playerSkills))
     for skill in this.client.playerSkills.items():
         p.writeUnsignedByte(skill[0]).writeUnsignedByte(
             5 if this.client.playerSkills[skill[0]] >= 6 else skill[1])
     this.client.sendPacket(Identifiers.send.Shaman_Skills,
                            p.writeBoolean(newBoolean).toByteArray())
Пример #2
0
    def openModoPwet(this):
        if len(this.server.reports["names"]) <= 0:
            this.client.sendPacket(Identifiers.send.Modopwet_Open, 0)
        else:
            reports, reporters, count, bannedList, deletedList, disconnectList = 0, 0, 0, {}, {}, []
            totalReports = len(this.server.reports["names"])
            packet = ByteArray()
            while reports < totalReports:
                playerName = this.server.reports["names"][reports]
                totalReporters = len(this.server.reports[playerName]["types"])
                reports += 1
                if this.client.modoPwetLangue == "ALL" or this.server.reports[
                        playerName][
                            "langue"] == this.client.modoPwetLangue.upper():
                    count += 1
                    if count >= 255:
                        break

                    packet.writeUnsignedByte(count).writeUTF(
                        this.server.reports[playerName]
                        ["langue"].upper()).writeUTF(playerName).writeUTF(
                            this.getPlayerRoomName(playerName)).writeInt(
                                this.getProfileCheeseCount(playerName))
                    packet.writeUnsignedByte(totalReporters)
                    while reporters < totalReporters:
                        packet.writeUTF(
                            this.server.reports[playerName]["reporters"]
                            [reporters]).writeShort(
                                this.getProfileCheeseCount(
                                    this.server.reports[playerName]
                                    ["reporters"][reporters])
                            ).writeUTF(
                                this.server.reports[playerName]["comments"]
                                [reporters]).writeUnsignedByte(
                                    this.server.reports[playerName]["types"]
                                    [reporters]).writeShort(reporters)
                        reporters += 1
                    if this.server.reports[playerName]["status"] == "banned":
                        x = {}
                        x["banhours"] = this.server.reports[playerName][
                            "banhours"]
                        x["banreason"] = this.server.reports[playerName][
                            "banreason"]
                        x["bannedby"] = this.server.reports[playerName][
                            "bannedby"]
                        bannedList[playerName] = x
                    if this.server.reports[playerName]["status"] == "deleted":
                        x = {}
                        x["deletedby"] = this.server.reports[playerName][
                            "deletedby"]
                        deletedList[playerName] = x
                    if this.server.reports[playerName][
                            "status"] == "disconnected":
                        disconnectList.append(playerName)
            this.client.sendPacket(
                Identifiers.send.Modopwet_Open,
                ByteArray().writeUnsignedByte(count).writeBytes(
                    packet.toByteArray()).toByteArray())

            for user in disconnectList:
                this.changeReportStatusDisconnect(user)
            for user in deletedList.keys():
                this.changeReportStatusDeleted(user,
                                               deletedList[user]["deletedby"])
            for user in bannedList.keys():
                this.changeReportStatusBanned(user,
                                              bannedList[user]["banhours"],
                                              bannedList[user]["banreason"],
                                              bannedList[user]["bannedby"])