python游戏csgo开挂_使用Python实现CSGO皮肤磨损查询

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:00   1103   0

一直都很想自己实现对CSGO中皮肤磨损的查询,花了不少功夫最近终于找到了相关的轮子

Valve官方对于CSGO磨损查询的说明很简洁,是使用的protobuf,但是从知道传输格式到实现还有很多东西要做,上GitHub搜了搜“csgo float”,发现已经有了很多可用的轮子,比如这个:CSGO-Item-Floats-From-Inspect-Links。但是很多实现都是用的其他语言,而我想要Python的版本,找了很久之后终于发现了一个神器:

全面地实现了所有steam和CSGO的接口,只要稍加调用就可以实现查询磨损的功能,十分方便,下面是我使用这个库写的查询磨损的Python代码:

from steam import SteamClient

from csgo import CSGOClient

from csgo.enums import ECsgoGCMsg

import csgo

import re

# print out logs

import logging

logging.basicConfig(format='[%(asctime)s] %(levelname)s %(name)s: %(message)s', level=logging.DEBUG)

client = SteamClient()

cs = CSGOClient(client)

logger = {

'username':'',

'password':'',

}

@client.on('logged_on')

def start_csgo():

cs.launch()

client.cli_login(**logger)

# client.run_forever()

# print(str(cs.account_id))

def get_param(inspect_link):

inspect_params = {}

re_s = re.search('S\d*',inspect_link)

re_m = re.search('M\d*',inspect_link)

re_a = re.search('A\d*',inspect_link)

re_d = re.search('D\d*',inspect_link)

param_m = ""

param_s = ""

param_a = re_a.group()[1:]

inspect_params["param_a"] = int(param_a)

param_d = re_d.group()[1:]

inspect_params["param_d"] = int(param_d)

if re_s:

param_s = re_s.group()[1:]

inspect_params["param_s"] = int(param_s)

print("S:{}\nA:{}\nD:{}".format(param_s,param_a,param_d))

elif re_m:

param_m = re_m.group()[1:]

inspect_params["param_m"] = int(param_m)

print("M:{}\nA:{}\nD:{}".format(param_m,param_a,param_d))

else:

msg = "check if the link is correct"

print(msg)

return inspect_params

while(1):

inspect_link = input("inspect link:")

# inspect_link = "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198282463169A15145586192D16595344889481721483"

inspect_params = get_param(inspect_link)

cs.send(ECsgoGCMsg.EMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest,inspect_params)

response = cs.wait_event(ECsgoGCMsg.EMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse, timeout=10)

#player_profle = response.paintwear

print(response)

登录之后就可以查询CSGO皮肤的磨损了。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP