特拉维安:王国公用事业为您的需要。

tkp的Python项目详细描述



TKPY

travian:kingdom(tk)实用程序,满足您的需要。它提供了几个主要用于传统知识的对象,例如map村庄记事本,以及农场列表

python 3.6构建状态codecov


安装

< Buff行情>

建议使用virtualenv

由于tkpy依赖于primordial包,因此首先安装原始包
之后,运行tkpy init以创建用于存储gameworld对象的数据库。

(venv)$ pip install git+https://github.com/lijok/primordial.git
(venv)$ pip install tkpy
(venv)$ tkpy-init

入门

tkpyneedgameworld对象以便它可以从tk获取数据。使用login函数检索gameworld对象。

fromtkpyimportlogindriver=login(email='your@email.com',password='your password',gameworld='com12')# login as sitter or dualdriver=login(email='your@email.com',password='your password',gameworld='dual/sitter gameworld',avatar='avatar name of sitter/dual account')# once you have `Gameworld` object, you can use another object of tkpy.fromtkpyimportMapm=Map(driver)m.pull()# pulling map datam.coordinate(0,0)<Cell({'id':'536887296','landscape':'9013','owner':'0'})>unoccupied_oasis_list=[oasisforoasisinm.oasisifoasis['oasis']['oasisStatus']=='3']unoccupied_oasis_list[0]<Cell({'id':'535019499','landscape':'2755','owner':'0','oasis':{'bonus':{'1':0,...},...}...})>

用法

MAP

  • map对象通过使用pull方法提供了从tk map访问数据的简单方法。
fromtkpyimportMapm=Map(driver)m.pull()
  • 提取地图数据后,可以使用坐标方法访问每个单元格。
m.coordinate(0,0)<Cell({'id':'536887296','landscape':'9013','owner':'0'})>
  • 由于tk在您提取地图数据时为您提供播放器数据和王国数据,因此map对象也为您提供了访问此类数据的简单方法。
m.player('player name')<Player({'name':'player name','country':'en','tribeId':'1',...})>m.kingdom('kingdom name')<Kingdom({'tag':'kingdom name','kingdomId':'9999'})>
  • map对象具有充当生成器函数并产生单元格的属性,因此您可以从每个单元格获取所有数据。
cell_list=list(m.cell)
< Buff行情>

map.cell属性的旁注:
有些单元格对象有不同的数据。一次有村庄数据,而另一次没有村庄数据。
通过map.cell属性查找特定单元格可能会导致keyerror异常。要防止这种用法,请尝试except子句。

forcellinm.cell:try:village=cell['village']exceptKeyError:# this cell didn't have village datacontinue...
  • map对象还具有过滤单元格数据的属性,因此它只提供特定数据。
# make a list of cell that have village data on itvillages=list(m.villages)# make a list of cell that have oasis data on itoasis=list(m.oasis)# make a list of cell that have 15c and 9c but didn't have village data on it (unsettled croppers)croppers=[tilefortileinm.tilesiftile['resType']=='3339'ortile['resType']=='11115']# make a list of cell that have village data on it and have population lower than 100village_list=[villageforvillageinm.villagesifint(village['village']['population'])<100]
  • 还有一个用于生成玩家和王国数据的属性
# make a list of inactive playerinactive_list=[playerforplayerinm.playersifplayer.is_activeisFalse]# make a list of kingdoms datakingdoms=list(m.kingdoms)

村庄

村庄对象提供了一种使用村庄名称访问游戏中每个村庄的简单方法。
但首先,对象需要从传统知识中提取数据。

(venv)$ pip install git+https://github.com/lijok/primordial.git
(venv)$ pip install tkpy
(venv)$ tkpy-init
0 < Buff行情>

村庄对象的旁注:
如您所知,您可以用相同的名称命名您的村庄(如"我的村庄"和"我的村庄")
问题是村庄对象不能访问这两种同名的村庄对象,
结果村庄对象将随机返回具有相同名称的村庄对象。


农场列表

farmlist通过使用farmlist名称,为您提供一种在游戏中访问farmlist的简单方法。
首先,farmlist对象需要从tk中提取数据。

(venv)$ pip install git+https://github.com/lijok/primordial.git
(venv)$ pip install tkpy
(venv)$ tkpy-init
1 <再见>

farmlist对象的旁注:
如您所知,您可以使用相同的名称命名farmlist(如"farmlist 1"和"farmlist 1")
问题是farmlist对象不能访问这两种同名的farmlistentry对象,
结果farmlist对象将随机返回具有相同名称的farmlistentry对象。


记事本

记事本是一个在实例化时将在游戏中创建新记事本的对象。

(venv)$ pip install git+https://github.com/lijok/primordial.git
(venv)$ pip install tkpy
(venv)$ tkpy-init
2

文档

有关文档,请访问Tkpy Wiki

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在读取属性文件时获取空指针   java NoSuchMethodError:org。springframework。靴子网状物servlet。错误错误控制器。最新SpringCloudStarter NetflixZuul中的getErrorPath()   java Spring不使用相同的JDBC连接   sqlite DB中带方括号的java数据   如何编译基于Maven的Java项目以从命令行运行它   java如何限制cowndown计时器的操作(例如登录)   java如何使用spring和springboot应用程序配置数据库?我想知道如何回答这类问题?   java中的buildpath不支持java。图书馆路径   java如何使用条目集在树映射上迭代?   java如何将IndexOf与Scanner结合使用?   xml Java SAX解析器进程监视   java在多台远程机器上运行并行junit测试   当我尝试在ListView中动态添加项时,单击按钮时java崩溃