Jump to content
Korean Random

Не запускается мод


Recommended Posts

import BigWorld
import requests
 
print("[Мод]: Мод успешно загружен!")
 
class EndBattleStats:
    def __init__(self, server_url):
        self.server_url = server_url
        self.total_damage = 0
        self.kills = 0
        self.player_nick = BigWorld.player().name  # Ник игрока
        self.squad_members = self.get_squad_members()  # Список игроков взвода
        print(f"[Мод]: Мод запущен для игрока {self.player_nick}")
        print(f"[Мод]: Участники взвода: {', '.join(self.squad_members)}")
        self.subscribe_events()
 
    def subscribe_events(self):
        """Подписываемся на события игры."""
        BigWorld.player().arena.onHealthChanged += self.on_damage_done
        BigWorld.player().arena.onVehicleKilled += self.on_vehicle_killed
        BigWorld.player().arena.onBattleResultsReceived += self.on_battle_end
        BigWorld.player().onLeaveArena += self.on_leave_battle
        print("[Мод]: События подписаны.")
 
    def on_damage_done(self, vehicle_id, new_health, attacker_id, damage_info):
        """Обработка нанесённого урона."""
        if attacker_id == BigWorld.player().playerVehicleID:
            damage = damage_info['damage']
            self.total_damage += damage
            print(
                f"[Мод]: Нанесён урон: {damage}, общий урон: {self.total_damage}")
 
    def on_vehicle_killed(self, victim_id, attacker_id, equipment_id):
        """Обработка уничтожения танков."""
        if attacker_id == BigWorld.player().playerVehicleID:
            self.kills += 1
            print(f"[Мод]: Уничтожен танк. Всего фрагов: {self.kills}")
 
    def get_squad_members(self):
        """Получение списка участников взвода."""
        squad_members = []
        player_team = BigWorld.player().arena.vehicles
        for vehicle_id, data in player_team.items():
            if data['prebattleID'] == BigWorld.player().arena.vehicles[BigWorld.player().playerVehicleID]['prebattleID']:
                squad_members.append(data['name'])
        return squad_members
 
    def on_leave_battle(self):
        """Отправка данных при выходе из боя."""
        print("[Мод]: Игрок покинул бой. Отправка данных на сервер...")
        self.send_data(battle_status="left_battle")
 
    def on_battle_end(self, results):
        """Отправка данных при завершении боя."""
        print("[Мод]: Бой завершён. Итоговые результаты отправляются на сервер.")
        self.send_data(battle_status="completed", battle_results=results)
 
    def send_data(self, battle_status, battle_results=None):
        """Отправка данных на сервер."""
        data = {
            "nickname": self.player_nick,
            "squad_members": self.squad_members,
            "damage_done": self.total_damage,
            "kills": self.kills,
            "battle_status": battle_status,
            "battle_results": battle_results,
        }
        print(f"[Мод]: Отправка данных: {data}")
        try:
            response = requests.post(self.server_url, json=data)
            if response.status_code == 200:
                print("[Мод]: Данные успешно отправлены.")
            else:
                print(
                    f"[Мод]: Ошибка отправки данных: {response.status_code} - {response.text}")
        except Exception as e:
            print(f"[Мод]: Ошибка подключения к серверу: {e}")
 
# Подключение мода
# Укажите адрес вашего сервера
server_url = "http:/0.0.0.0:5000"
end_battle_stats = EndBattleStats(server_url)
 
Link to comment
Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...