Van Dark Posted June 24, 2022 Share Posted June 24, 2022 import BigWorld from Avatar import PlayerAvatar old_startGUI = PlayerAvatar._PlayerAvatar__startGUI def new_startGUI(*args): old_startGUI(*args) f = open('C://Games//World_of_Tanks_RU//res_mods//1.17.0.1//scripts//client//gui//mods//new.txt', 'wb') for vehicle in BigWorld.player().vehicles: if vehicle.publicInfo['team'] == BigWorld.player().team: if vehicle is not None and vehicle.isAlive(): f.write(vehicle.position) PlayerAvatar._PlayerAvatar__startGUI = new_startGUI пытаюсь записать позицию союзника в файл, но при начале боя бесконечно висит полоска загрузки карты. @ Quote Link to comment Short link Share on other sites More sharing options...
MoD Posted June 25, 2022 Share Posted June 25, 2022 Скорее всего, vehicle.publicInfo['team'] ещё пустое. Вообще зависит от того, чег хочешь добиться. Я тихо подозреваю, что ты хочешь получить апдейты позиций игроков своей команды? @ Quote Link to comment Short link Share on other sites More sharing options...
Van Dark Posted June 25, 2022 Author Share Posted June 25, 2022 (edited) Хочу сделать, чтобы при старте боя записывались и обновлялись позиции игроков в файл построчно через некоторое время. Пробовал без vehicle.publicinfo, не работало. Пробовал заменять f.write(vehicle.position) f.write('текст') - работало, но только записывалось в файл слитно 2 раза слово текст. Edited June 25, 2022 by Van Dark @ Quote Link to comment Short link Share on other sites More sharing options...
MoD Posted June 25, 2022 Share Posted June 25, 2022 8 hours ago, Van Dark said: Хочу сделать, чтобы при старте боя записывались и обновлялись позиции игроков в файл построчно через некоторое время. Пробовал без vehicle.publicinfo, не работало. Пробовал заменять f.write(vehicle.position) f.write('текст') - работало, но только записывалось в файл слитно 2 раза слово текст. В питонлоге там ошибка с твоим кодом появляется TypeError: must be string or buffer, not Math.Vector3 Вообще для такого надо цеплятся к методу, который обновляет позиции игроков, кажется это updatePositions из Avatar.py Или если по таймеру то примерно import BigWorld from Avatar import PlayerAvatar old_startGUI = PlayerAvatar._PlayerAvatar__startGUI def new_startGUI(*args): old_startGUI(*args) BigWorld.callback(1.0, dumpPositions) def dumpPositions(): f = open('./mod_test.txt', 'ab') for vehicle in BigWorld.player().vehicles: if vehicle.publicInfo['team'] == BigWorld.player().team: if vehicle is not None and vehicle.isAlive(): f.write("veh id: %d pos: (x: %f, y: %f, z: %f)\r\n" % (vehicle.id, vehicle.position.x, vehicle.position.y, vehicle.position.z)) f.write("------------------\r\n") f.close() BigWorld.callback(1.0, dumpPositions) PlayerAvatar._PlayerAvatar__startGUI = new_startGUI 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.