Skip to main content

No project description provided

Project description

rwmapeditor-exgcdwu

一个铁锈战争 (Rusted Warfare) 地图编辑 python 库

released version

目标

python实现铁锈地图文件地块编辑和宾语编辑。

暂时不打算接触地块集。

重点减轻城市争夺地图的宾语编辑工作量

基本框架已完成。

地块组框架已完成。

安装

pip install rwmapeditor-exgcdwu

使用之前

1.使用地图编辑器(Tiled,notTiled)创建新地图

地图格式:zlib、gzip

渲染顺序:右下(right-down)

方向:orthogonal

2.手动载入地块集

3.手动创建所需的地块层和宾语层

4.即可使用python库改变地块和宾语

简易使用例子

# coding: utf-8
import rwmap as rw

map_dir = 'D:/Game/steam/steamapps/common/Rusted Warfare/mods/maps/'#此为地图所在文件夹
map_name = '[p2]example_skirmish_(2p).tmx'#输入地图
map_name_out = '[p2]example_skirmish_(2p)(1).tmx'#输出地图

mygraph:rw.RWmap = rw.RWmap.init_mapfile(map_dir + map_name)#地图载入
print(mygraph)#地图输出【部分】

mygraph.addObject(
    "Triggers", 
    {"name": "刷兵实验", "type": "unitAdd", "x": "1500", "y":"1000", "width": "20", "height": "20", "visible": "0"}, 
    {"resetActivationAfter":"5s", "spawnUnits": "heavyTank*10", "team" :"0", "warmup":"5s"})
#添加宾语:第一项图层名称(Triggers),第二项默认属性,第三项可选属性
#默认属性可添加id也可不添加,没有id项会自动添加

mygraph.addObject(
    "Triggers", 
    {"name": "刷兵实验", "type": "unitAdd", "x": "1000", "y":"1500", "width": "20", "height": "20"}, 
    {"resetActivationAfter":"5s", "spawnUnits": "heavyTank*10", "team" :"0", "warmup":"5s"})

for tobject in mygraph.iterator_object("Triggers", {"y": "1500"}):#返回属性成功匹配正则表达式的宾语
    del tobject#宾语被删除

for tobject in mygraph.iterator_object("Triggers", {"y": "1000"}):
    tobject.assignDefaultProperty("name", "名字改变了")#宾语默认属性被赋值
    tobject.assignOptionalProperty("team", "1")#宾语可选属性被赋值
    print(tobject.returnDefaultProperty("name"))#输出宾语默认属性
    print(tobject.returnOptionalProperty("team"))#输出宾语可选属性
    tobject.deleteDefaultProperty("visible")#删除宾语默认属性
    tobject.deleteOptionalProperty("resetActivationAfter")#删除宾语可选属性

mygraph.addTile("Ground", rw.Coordinate(1, 0), "Long Grass", rw.Coordinate(0, 0))
mygraph.addTile("Ground", rw.Coordinate(2, 0), "Long Grass", rw.Coordinate(1, 2))
mygraph.addTile("Ground", rw.Coordinate(0, 1), "Long Grass", rw.Coordinate(0, 0))
#改变地块类型:第一项地块层名称,第二项地块层改变位置,第三项地块集名称(全名),第四项所用地块位置(在地块集中)

mygraph.addTile_square("Ground", rw.Rectangle(rw.Coordinate(5, 5), rw.Coordinate(10, 10)), "Deep Water", rw.Coordinate(0, 0))
mygraph.addTile_square("Ground", rw.Rectangle(rw.Coordinate(20, 5), rw.Coordinate(30, 10)), "Long Grass", rw.Coordinate(2, 1))
#改变地块类型(矩形):第一项地块层名称,第二项地块层改变位置(前者为起始位置,后者为增量),第三项地块集名称(全名),第四项所用地块位置(在地块集中)

mygraph.addTile_group(rw.Coordinate(5, 20), rw.data.tile_group_grid.fill_tile_group_one_ground_water_28_24)
#改变地块类型(地块组):第一项位置,第二项地块组(使用默认)

tilegroup_matrix = rw.tile.TileGroup_Matrix([['a'] * 6  if i % 2 == 0 else ['b'] * 6 for i in range(10)])
#创建匿名地块组
tilegroup_addlayer = rw.tile.TileGroup_AddLayer.init_tilegroup_matrix("Ground", tilegroup_matrix)
#匿名地块组确定地块层
tile_dict = {
    "a": rw.TagCoordinate("Long Grass", rw.Coordinate(0, 0)), 
    "b": rw.TagCoordinate("Dirt", rw.Coordinate(0, 0))
}
tilegroup_one = rw.tile.TileGroup_One.init_tilegroup_addlayer(
    tile_dict, tilegroup_addlayer)
#匿名地块组确定地块类型

mygraph.addTile_group(rw.Coordinate(20, 20), tilegroup_one)
#添加地块组

mygraph.write_file(map_dir + map_name_out)
#输出到新地图文件

其他

外部文件

本库使用了铁锈战争的默认地块集,存放在rwmap/other_data/maps/

第三方库依赖

numpy

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rwmapeditor_exgcdwu-1.2.8.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rwmapeditor_exgcdwu-1.2.8-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file rwmapeditor_exgcdwu-1.2.8.tar.gz.

File metadata

  • Download URL: rwmapeditor_exgcdwu-1.2.8.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for rwmapeditor_exgcdwu-1.2.8.tar.gz
Algorithm Hash digest
SHA256 aaa4edacdda9f12457520b9cf4e047642109545f26ba5d4613f889a8a9a22344
MD5 82dbf92f44ae1f4f3a07feb68f17fb5c
BLAKE2b-256 da47d3351e5bbcd4e80e83e6d480f50ac503e9da7bb3a0926b17601d9bae3cb1

See more details on using hashes here.

File details

Details for the file rwmapeditor_exgcdwu-1.2.8-py3-none-any.whl.

File metadata

File hashes

Hashes for rwmapeditor_exgcdwu-1.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 1ce0b1de14f8677ed6636ca78640950867b4e5f3a45e3a0440c041b6e3f88e45
MD5 b6912533ed28462b694d662e519f6644
BLAKE2b-256 1479b464c1c2b9936f666893c0d6c71d39285092d1cdbc096a8c7776e7f0fe6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page