Proposition de Campagne
+7
RTA_Gibe
RTA_Mc givré
JG300_hammelman
JG300_Egon
615sqn_Icare
RTA_Goliat
Manfred
11 participants
Page 2 sur 2
Page 2 sur 2 • 1, 2
Re: Proposition de Campagne
Genius a écrit:
Si besoin, je peux te fournir un script python retraitant le log du jeu et entièrement paramétrable (requête sql). En l'état celui-ci te permet de con
Salut
Effectivement, cela pourrait m'intéresser.
Re: Proposition de Campagne
Re,
Voici le lien du script python: https://drive.google.com/file/d/1lFin7Nx0_Bv18pYga4_CMqnnALpn50KV/view?usp=sharing
Le readme:
Les requêtes sql par défaut sont les suivantes et sont entièrement paramétrables:
-"Planes_lost":: nombre d'avions détruits ou endommagés à +de 80% ou capturés par type et par camp
-"Planes_damaged": Nombre d'avions par type et par camp retournés en terrain alliés ou en vol endommagés entre 50% et 80%
-"Munitions": Munitions utilisées par camp (balles en quantités, bombes en Kg)
-"objects_damaged": Liste des objets endommagés par camp (triés par nom de groupe d'objet,etc...)
J'ai appris le python et le sql sur le "tas" donc il est possible que cela ne soit pas exempt d'erreur. De plus celui-ci n'a pas encore été testé à grande échelle donc des incohérences pourront apparaître.
Si tel est le cas n'hésite pas à m'en faire part.
A+
P.S.: toutes les balises sont à faire à la main sur votre forum ?
Voici le lien du script python: https://drive.google.com/file/d/1lFin7Nx0_Bv18pYga4_CMqnnALpn50KV/view?usp=sharing
Le readme:
Application de statistiques pour la serie IL2_Great_Battles
Développée sur la base de l'application crée par =FB=Vaal et =FB=Isay https://forum.il2sturmovik.com/topic/19083-il2-stats-statistics-system-for-a-dedicated-server-il2-battle-of-stalingrad/
Développée sous Python3 par -IRRE-Genius avec l'aide d'-IRRE-Artfield et d'-IRRE-Centx
Licence Opensource / MIT
Merci pour l'aide apportée sur le forum https://www.developpez.com/
merci au soutient des -IRRE- https://www.lesirreductibles.com
Installation:
Dezipper le dossier "Parser_IL2_Great_Battles" à n'importe quel endroit de votre disque dur
Utilisation:
1) modifier le fichier "config.txt" pour indiquer le chemin de fichier où se trouve vos fichiers logs à la suite de "filepath="
2) lancer le script "run.cmd"
3) indiquer dans la fenêtre de commande windows quel est le fichier log à traiter en tapant son nom complet
4) tapez "Enter", le script lance l'application Python. L'application crée une base de données sqlite et exporte l'ensemble des requêtes sql en fichier .csv. La base de données et les fichiers .csv seront enregistrés dans le même dossier que les logs
Modification / personnalisation:
Si vous souhaitez modifier les paramètres des requêtes sql ou rajouter d'autres requêtes à exporter, il convient de modifier le fichier "sql_query.py".
Ces requêtes doivent suivre le même format que les requetes existentes "nom" suivi de la requête en langage "sql"
Les requêtes sql par défaut sont les suivantes et sont entièrement paramétrables:
-"Planes_lost":: nombre d'avions détruits ou endommagés à +de 80% ou capturés par type et par camp
-"Planes_damaged": Nombre d'avions par type et par camp retournés en terrain alliés ou en vol endommagés entre 50% et 80%
-"Munitions": Munitions utilisées par camp (balles en quantités, bombes en Kg)
-"objects_damaged": Liste des objets endommagés par camp (triés par nom de groupe d'objet,etc...)
- Code:
sqlquery= {
"Planes_lost":
'''SELECT country_id, aircraft_name, count(aircraft_name) AS t_type, t_101, t_201
FROM planes
JOIN (
SELECT count(country_id) AS t_101
FROM planes
WHERE country_id=101 AND (damage >= 0.80 OR planes.airfield_land<>planes.country_id OR kill=1 OR (ditched<>planes.country_id AND ditched!=0) OR bailed_tik NOT NULL) GROUP BY country_id),
(
SELECT count(country_id) AS t_201
FROM planes
WHERE country_id=201 AND (damage >= 0.80 OR planes.airfield_land<>planes.country_id OR kill=1 OR (ditched<>planes.country_id AND ditched!=0) OR bailed_tik NOT NULL))
WHERE country_id NOT NULL AND (damage >= 0.80 OR planes.airfield_land<>planes.country_id OR kill=1 OR (ditched<>planes.country_id AND ditched!=0) OR bailed_tik NOT NULL)
GROUP BY aircraft_name
ORDER BY country_id, lower(aircraft_name)''',
"Planes_damaged":
'''SELECT country_id, aircraft_name, count(aircraft_name) AS t_type, t_101, t_201
FROM planes
JOIN (
SELECT count(country_id) AS t_101
FROM planes
WHERE country_id=101 AND (damage >= 0.5 AND damage <0.80) AND bailed_tik IS NULL AND kill=0 AND (planes.airfield_land=planes.country_id OR planes.airfield_land IS NULL) AND (ditched IS NULL OR ditched=country_id OR ditched=0) GROUP BY country_id),
(
SELECT count(country_id) AS t_201
FROM planes
WHERE country_id=201 AND (damage >= 0.5 AND damage <0.80) AND bailed_tik IS NULL AND kill=0 AND (planes.airfield_land=planes.country_id OR planes.airfield_land IS NULL) AND (ditched IS NULL OR ditched=country_id OR ditched=0))
WHERE country_id NOT NULL AND (damage >= 0.5 AND damage <0.80) AND bailed_tik IS NULL AND kill=0 AND (planes.airfield_land=planes.country_id OR planes.airfield_land IS NULL) AND (ditched IS NULL OR ditched=country_id OR ditched=0)
GROUP BY aircraft_name
ORDER BY country_id, lower(aircraft_name)''',
"Munitions":
'''SELECT t1.country_id, t1.used_cartridges, COALESCE(t2.lost_cartridges, 0) AS lost_cartridges, t1.used_shells, COALESCE(t2.lost_shells, 0) AS lost_shells, t1.used_bombs_kg, COALESCE(t2.lost_bombs_kg, 0) AS lost_bombs_kg, t1.used_rockets_kg, COALESCE(t2.lost_rockets_kg, 0) AS lost_rockets_kg, t1.used_fuel as used_fuel_l
FROM
(SELECT country_id,sum(planes.cartridges) - sum(planes.cartridges_end) AS used_cartridges, sum(planes.shells) - sum(planes.shells_end) AS used_shells, sum(round(1.0*(planes.bombs-planes.bombs_end)/planes.bombs*bombs_kg,0)) AS used_bombs_kg, sum(round(1.0*(planes.rockets-planes.rockets_end)/planes.rockets*rockets_kg,0)) AS used_rockets_kg,sum(round(planes.fuel_l,0)) AS used_fuel
FROM planes
GROUP BY country_id) t1
JOIN
(SELECT country_id,sum(planes.cartridges_end) AS lost_cartridges, sum(planes.shells_end) AS lost_shells, sum(planes.bombs_end*bombs_kg/planes.bombs) AS lost_bombs_kg, sum(planes.rockets_end*rockets_kg/rockets) AS lost_rockets_kg
FROM planes
WHERE damage >= 0.80 OR planes.airfield_land<>planes.country_id OR kill=1 OR (ditched<>planes.country_id AND ditched!=0) OR bailed_tik NOT NULL
GROUP BY country_id) t2
ON t1.country_id = t2.country_id''',
"objects_damaged":
'''SELECT object_spawn_event.country_id, object_spawn_event.object_id, object_spawn_event.object_name, object_spawn_event.name, sum_damaged, object_spawn_event.posx, object_spawn_event.posy, object_spawn_event.posz
FROM object_spawn_event
LEFT JOIN (SELECT tik, target_id, damaged_event.target_id, damaged_event.damage as sum_damaged
FROM damaged_event) as t2
ON object_spawn_event.object_id = t2.target_id
AND t2.tik > object_spawn_event.tik
WHERE object_spawn_event.parent_id = -1
AND (country_id = 201 OR country_id = 101)
AND (sum_damaged>=0.5)
AND NOT EXISTS
(SELECT planes.aircraft_id, planes.bot_id
FROM planes
WHERE object_spawn_event.object_id=planes.aircraft_id OR object_spawn_event.object_id=planes.bot_id)
GROUP BY object_id, object_spawn_event.tik
ORDER BY country_id ASC, lower(object_name) ASC, lower(name) ASC, object_spawn_event.tik ASC'''
}
J'ai appris le python et le sql sur le "tas" donc il est possible que cela ne soit pas exempt d'erreur. De plus celui-ci n'a pas encore été testé à grande échelle donc des incohérences pourront apparaître.
Si tel est le cas n'hésite pas à m'en faire part.
A+
P.S.: toutes les balises sont à faire à la main sur votre forum ?
Genius- Nombre de messages : 22
Date d'inscription : 25/02/2019
Re: Proposition de Campagne
Re,
J'ai pas pu éditer mon précédent post, adresse de téléchargement modifié: https://drive.google.com/file/d/1ndGuKK2PgQZVLDprRTWOG6Qgp4Th0M9j/view?usp=sharing
A+
J'ai pas pu éditer mon précédent post, adresse de téléchargement modifié: https://drive.google.com/file/d/1ndGuKK2PgQZVLDprRTWOG6Qgp4Th0M9j/view?usp=sharing
A+
Genius- Nombre de messages : 22
Date d'inscription : 25/02/2019
Re: Proposition de Campagne
Hop tu dois avoir un peu plus de droit Genius
Par contre il y a des chances que n'ayons pas l'option pour intégrer proprement du code dans nos posts
Par contre il y a des chances que n'ayons pas l'option pour intégrer proprement du code dans nos posts
RTA_Mc givré- Lt Colonel
- Nombre de messages : 12063
Age : 36
Localisation : Ta soeur
Date d'inscription : 02/09/2006
Re: Proposition de Campagne
Je confirme concernant le problème bloquant la possibilité de reprendre un avion, il s'agit bien d'une conséquence de surcharge du serveur (en l'occurrence les avions au sol en IA). Le souci disparaît en supprimant une partie des avions au sol et en les remplaçant par des "objets".
Sinon nouveau test vendredi prochain (sur le serveur C6 pour vérifier si on retrouve le même problème de surcharge sinon on passera sur la version légère du template pour la Campagne).
Dans tous les cas, début de la Campagne avec la phase d'introduction lundi prochain (30 septembre). Les briefings seront communiqués en milieu / fin de semaine.
Sinon nouveau test vendredi prochain (sur le serveur C6 pour vérifier si on retrouve le même problème de surcharge sinon on passera sur la version légère du template pour la Campagne).
Dans tous les cas, début de la Campagne avec la phase d'introduction lundi prochain (30 septembre). Les briefings seront communiqués en milieu / fin de semaine.
Re: Proposition de Campagne
Bonsoir Manfred,
C'est confirmé pour les dates de missions de campagne pour le lundi ? A priori, cela peut attirer un peu plus de monde chez nous.
As-tu pu tester le script de statistique ?
A+
C'est confirmé pour les dates de missions de campagne pour le lundi ? A priori, cela peut attirer un peu plus de monde chez nous.
As-tu pu tester le script de statistique ?
A+
Genius- Nombre de messages : 22
Date d'inscription : 25/02/2019
Re: Proposition de Campagne
Check six a ouvert un serveur...
http://www.checksix-forums.com/viewtopic.php?f=454&p=1736317&sid=1ff06e8247a45d57a61175c142683e78#p1736317
http://www.checksix-forums.com/viewtopic.php?f=454&p=1736317&sid=1ff06e8247a45d57a61175c142683e78#p1736317
RTA_Gibe- 2nd Lieutnant
- Nombre de messages : 1525
Age : 66
Date d'inscription : 09/10/2018
Re: Proposition de Campagne
Genius a écrit:Bonsoir Manfred,
C'est confirmé pour les dates de missions de campagne pour le lundi ? A priori, cela peut attirer un peu plus de monde chez nous.
As-tu pu tester le script de statistique ?
A+
Je confirme pour lundi (probablement sur le serveur C6).
Non pas encore, je vais essayer de tester vendredi.
Re: Proposition de Campagne
Bien noté, je fais suivre l'info chez les IRRE.
Pour les statistiques, il faut paramétrer dans les paramètres du serveur (pour export des logs).
A+
Pour les statistiques, il faut paramétrer dans les paramètres du serveur (pour export des logs).
A+
Genius- Nombre de messages : 22
Date d'inscription : 25/02/2019
Page 2 sur 2 • 1, 2
Sujets similaires
» Proposition de Mini campagne
» Proposition de "mini" campagne estivale.
» Proposition campagne Historique 615 Squadron
» Proposition campagne (courte : environ 4 missions)
» Proposition
» Proposition de "mini" campagne estivale.
» Proposition campagne Historique 615 Squadron
» Proposition campagne (courte : environ 4 missions)
» Proposition
Page 2 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum