Scripts Compétitions

Comment créer un club, manipuler l'éditeur du Jeu...
Avatar du membre
JJacq
Administrateur
Administrateur
Messages : 17754
Enregistré le : 16 févr. 2011 14:36
Localisation : Alès - Nîmes
Contact :

Scripts Compétitions

Message non lu par JJacq »



Scripts Compétitions LFP FIFA Manager 13 à 18

scripts-fcm.jpg
scripts-fcm.jpg (31.35 Kio) Vu 8164 fois

Il ne s'agit pas ici de vous fournir un tutoriel pas à pas sur les créations ou modifications de scripts Compétitions, mais plutôt de vous donner des explications sur l'impact de certaines lignes. Si vous avez une âme de Scripteur, cela pourrait vous aider. :clin1:

A savoir, avant toute chose :

- Les scripts de trouvent, pour chaque pays, dans le fichier "CountryScriptxx.sav", se trouvant dans database\script, "xx" correspondant à l'ID du pays.

- Une fois des modifications faites, et avant d'ouvrir l'éditeur du jeu, il faut supprimer le fichier CountryFixturexx.sav de ce même pays (en database\fixture). Il sera automatiquement recréé lors d'une sauvegarde éditeur.

- Si un CountryScriptxx.sav est modifié pour y rajouter des Divisions, des Coupes ou des Playoffs, il faudra aussi modifier le CountryDataxx.sav pour attribuer les noms aux nouvelles compétitions.

- Faites toujours une copie des fichiers originaux quelque part, pour pouvoir les remettre si rien ne va plus.

- Ce ne sont que des bases, tout n'est pas totalement expliqué, et il faudra beaucoup se creuser la tête pour arriver à quelque chose.

- Ne pas oublier le bug original du jeu des calendriers inversés (éditeur/jeu) et le fait qu'un script accepté par l'éditeur n'est pas forcément fonctionnel en jeu. A noter aussi des divisions à moins de 8 équipes rendent le pays non jouable.

IMPORTANT ! : il ne sera pas fait de la part de FCM de support sur vos essais de scripts, nous vous mettons juste des informations sur ces scripts.

Bon courage, et si jamais vous devenez un pro des scripts, faite-le savoir, on ne sait jamais, ça pourrait servir pour faire réapparaître une nouvelle version du jeu. :mrgreen:


Important ! Il n'est pas fait de support en MP, veuillez poser votre question en Forum. Merci.
Important ! There is no support in MP, please submit your question in Forum. Thank you.
Avatar du membre
JJacq
Administrateur
Administrateur
Messages : 17754
Enregistré le : 16 févr. 2011 14:36
Localisation : Alès - Nîmes
Contact :

Re: Scripts Compétitions

Message non lu par JJacq »

décryptage de scripts


Partie d'un script pour une Ligue (championnat) dans un countryscript (exemple pris sur l'Albanie ID 1)


%INDEX%COMPETITION // début de la partie script du championnat
DB_LEAGUE // indicateur pour dire que c'est un championnat
{ 1, LEAGUE, 0 } // 1 = ID pays ; LEAGUE = ligue ; 0 = numéro de la ligue (0 puis 1, puis 2 etc... max 31)
10 // nombre d'équipes dans la Ligue
0 // niveau de la ligue dans le système de championnat : 0 = 1er niveau ; 1 = 2ème niveau : si plusieurs groupe dans un même niveau ils doivent tous avoir le même niveau
REL_RULE_2 // règle de relégation : 2 = 2 équipes reléguées directement
0 // ?? laisser tel quel !
4 // nombre de fois que chaque équipe rencontre une autre équipe
ROUND_GROUP1 // dénomination du tour ; pas trop d'importance ici, laisser comme ça.
40 // multiplicateur affluence (cf éditeur)
40 // multiplicateur salaires/transferts (cf éditeur)
;
%INDEX%TEAMS // liste des équipes (à faire dans l'éditeur pour plus de facilité - penser à bien faire le classement)
1001c,10004,1000e,10019,10003,1000a,10007,10001,10011,10005
%INDEXEND%TEAMS
;
%INDEX%MATCHDAYS // jours de matchs saison 1
48,55,69,76,80,83,90,104,111,118,125,139,146,153,160,167,171,202,209,216,223,230,237,244,251,258,272,279,286,290,293,300,307,314,318,321
%INDEXEND%MATCHDAYS
%INDEX%MATCHDAYS2 // jours de matchs saison 2
48,55,69,76,80,83,90,104,111,118,125,139,146,153,160,167,171,202,209,216,223,230,237,244,251,258,272,279,286,290,293,300,307,314,318,321
%INDEXEND%MATCHDAYS2
;
%INDEX%FIXTURE // tableau des rencontres par journée (equipe home vs equipe away - à générer via l'éditeur pour plus de facilité)
8,10,6,1,4,5,9,7,2,3
7,4,5,6,10,2,3,9,1,8
7,3,8,5,4,6,9,10,2,1
5,2,10,7,6,8,3,4,1,9
7,1,3,10,4,8,9,5,2,6
5,7,8,2,10,4,6,9,1,3
7,6,10,1,3,5,4,2,9,8
5,10,8,7,6,3,1,4,2,9
7,2,10,6,3,8,1,5,9,4
5,1,8,3,6,10,4,9,2,7
7,9,5,4,10,8,3,2,1,6
8,1,6,5,4,7,9,3,2,10
5,8,10,9,6,4,3,7,1,2
7,10,8,6,4,3,9,1,2,5
5,9,8,4,10,3,6,2,1,7
7,5,3,1,4,10,9,6,2,8
5,3,8,9,6,7,1,10,2,4
7,8,10,5,3,6,4,1,9,2
8,10,6,1,4,5,9,7,2,3
7,4,5,6,10,2,3,9,1,8
7,3,8,5,4,6,9,10,2,1
5,2,10,7,6,8,3,4,1,9
7,1,3,10,4,8,9,5,2,6
5,7,8,2,10,4,6,9,1,3
7,6,10,1,3,5,4,2,9,8
5,10,8,7,6,3,1,4,2,9
7,2,10,6,3,8,1,5,9,4
5,1,8,3,6,10,4,9,2,7
7,9,5,4,10,8,3,2,1,6
8,1,6,5,4,7,9,3,2,10
5,8,10,9,6,4,3,7,1,2
7,10,8,6,4,3,9,1,2,5
5,9,8,4,10,3,6,2,1,7
7,5,3,1,4,10,9,6,2,8
5,3,8,9,6,7,1,10,2,4
7,8,10,5,3,6,4,1,9,2
%INDEXEND%FIXTURE
0 // ??
800000 // primes - Bonus 1ère place (cf éditeur)
55000 // déduction pour chaque place suivante (cf éditeur)
500000 // bonus télévision (cf éditeur)
3 // ??
0 // ??
18 // ??
-1 // ??
65535 // ??
3 // nombre de remplacements pendant un match
0 // niveau de la ligue dans le système de championnat (le même que plus haut ligne 5)
0 // éventuellement POOL qui envoie les équipes dans ce championnat pour sa reconstruction (sinon laisser 0)
0 // liste des RELEGATION vers laquelle ce championnat enverrait des équipes pour des playoffs, des barrages, des secondes parties de championnat etc.. (sinon laisser 0)
1 // nombre de fonction d'appel pour la construction du championnat (normalement toujours 1 pour un championnat)
GET_POOL, {1, POOL, 0} // appel des équipes pour la reconstruction de la ligue GET_POOL = prendre de la POOL ; 1 ID du pays ; 0 = numéro de la POOL
0 // à partir de l'équipe classée première dans la POOL
10 // prendre 10 équipes
%INDEXEND%COMPETITION // fin de la partie script du championnat

à suivre...
Important ! Il n'est pas fait de support en MP, veuillez poser votre question en Forum. Merci.
Important ! There is no support in MP, please submit your question in Forum. Thank you.
Avatar du membre
JJacq
Administrateur
Administrateur
Messages : 17754
Enregistré le : 16 févr. 2011 14:36
Localisation : Alès - Nîmes
Contact :

Re: Scripts Compétitions

Message non lu par JJacq »

POOL d'un championnat d'un countryscript (ici Albanie)

%INDEX%COMPETITION // début de la partie du script
DB_POOL // indique que c'est une POOL
{ 1, POOL, 0 } // identifiant de la POOL : 1 = ID pays ; POOL = Poule ; 0 = numéro de la POOL
0 // niveau de la POOL dans le système de championnat : 0 = 1er niveau ; 1 = 2ème niveau etc... (une seule POOL pour un niveau qui aurait plusieurs groupes comme en CFA par exemple)
10 // nombre d'équipes dans la POOL
// règles de tri de la POOL, si particularités, sinon laisser une ligne vierge (je listerai les codes importants plus tard)
; how many comps to check
0 // nombre de POOL qu'il faut vérifier avant celle-ci (pour éviter d'y retrouver certaines mêmes équipes)
; which comps to check // ensuite si il y a des POOL à vérifier, les lister à la suite, en créant une ligne supplémentaire pour chacune d'entre elle (je montrerai plus tard des exemples)
0 // ??
0 // ??
0 // ??
0 // ??
3 // nombre de remplacements en matchs
0 // niveau de la POOL dans le système de championnat (cf ligne 4)
0 // liste des compétitions qui envoient des équipes dans cette POOL (pas toujours nécessaire, donc laisser 0)
0 // compétition(s) vers laquelle la POOL envoie les équipes (pas toujours nécessaire, donc laisser 0)
3 // nombre de fonction d'appel pour remplir la POOL
GET_TAB_X_TO_Y, {1, LEAGUE, 0} // Prendre de la place X jusque la place Y, dans le pays ID 1, LEAGUE, numéro 0
1 // de l'équipe classée première
8 // prendre 8 équipes
GET_TAB_X_TO_Y, {1, LEAGUE, 1} // Prendre de la place X jusque la place Y, dans le pays ID 1, LEAGUE, numéro 1
1 // de l'équipe classée première
1 // prendre 1 équipe
GET_TAB_SPARE // Commande à ajouter dans la dernière POOL du script afin de compléter la POOL avec des équipes hors championnat
%INDEXEND%COMPETITION // fin de la partie du script

:alerte: Il est important dans les fonctions d'appel pour construire la POOL de lister les GET_... pour sélectionner les équipes dans l'ordre de leur classement en championnat.

à suivre...
Important ! Il n'est pas fait de support en MP, veuillez poser votre question en Forum. Merci.
Important ! There is no support in MP, please submit your question in Forum. Thank you.
Avatar du membre
JJacq
Administrateur
Administrateur
Messages : 17754
Enregistré le : 16 févr. 2011 14:36
Localisation : Alès - Nîmes
Contact :

Re: Scripts Compétitions

Message non lu par JJacq »

Règles de tri de POOL, si particularités (countryscript)

POOL_RESERVE_TEAMS : autorise les équipes réserves dans cette POOL
POOL_SORT_MAP_LEAGUE : tri des équipes géographiquement (à utiliser quand il y a plusieurs groupes dans la même division)
POOL_SORT_NORTH_SOUTH : variante du code précédent, qui va trier les équipes de la plus au nord à la plus au sud

Ajout des règles de tri dans le script de POOL
Insérer le ou les codes en lieu est place de la ligne vierge

exemple avec POOL Albanie modifiée

%INDEX%COMPETITION
DB_POOL
{ 1, POOL, 0 }
0
10
POOL_SORT_MAP_LEAGUE,POOL_RESERVE_TEAMS // règles de tri de la POOL, si particularités, sinon laisser une ligne vierge
; how many comps to check

à suivre...
Important ! Il n'est pas fait de support en MP, veuillez poser votre question en Forum. Merci.
Important ! There is no support in MP, please submit your question in Forum. Thank you.
Avatar du membre
JJacq
Administrateur
Administrateur
Messages : 17754
Enregistré le : 16 févr. 2011 14:36
Localisation : Alès - Nîmes
Contact :

Re: Scripts Compétitions

Message non lu par JJacq »

Les complications arrivent :sifflote:

Playoffs et autres joyeusetés suites à championnat

1- barrage entre 2 équipes

exemple script Bielorussie (ID 6)

%INDEX%COMPETITION
; --------------------------------------
DB_ROUND // indicateur pour dire que c'est un tour à élimination
{ 6, RELEGATION, 0 } // 6 = ID pays ; RELEGATION = playoffs etc.. ; 0 = numéro de la relégation (0 puis 1, puis 2 etc...)
2 // nombre d'équipes participantes
ROUND_FINAL // dénomination du tour
314 // jour match aller saison 1
319 // jour match retour saison 1
314 // jour match aller saison 2
319 // jour match retour saison 2
BEG_2ND_LEG // indique qu'il y a match aller/retour
BEG_2ND_LEG, BEG_WITH_EXTRA_TIME, BEG_WITH_PENALTY // indique qu'il y a prolongation, puis penalty
0 // prime pour participer au match
0 // prime en cas de victoire
0 // prime en cas de match nul
0 // droits TV
3 // nombre de remplacements pendant un match
0 // niveau de la ligue dans le système de championnat par rapport aux équipes participantes (si venant de divisions différentes en choisir une, perso je prends la plus haute)
{ 6, LEAGUE, 0 } // liste de la ou des LEAGUE d'où proviennent les équipes (c'est un des points complexes à gérer, occasionnant régulièrement des soucis de déroulement des compétitions en jeu !)
0 // liste des RELEGATION vers lesquelles ce tour enverrait des équipes (pour un ou des tours suivants)
3 // nombre de fonction d'appel
GET_TAB_X_TO_Y, {6, LEAGUE, 0}
15 // à partir de l'équipe classée 15ème en League 0
1 // prendre 1 équipe
GET_TAB_X_TO_Y, {6, LEAGUE, 1}
2 // à partir de l'équipe classée 2ème en League 1
1 // prendre 1 équipe
GET_TAB_SPARE
%INDEXEND%COMPETITION

suite à ce type de barrage le POOL va être différent d'un POOL sans barrage

%INDEX%COMPETITION
DB_POOL
{ 6, POOL, 0 }
0
16

; how many comps to check
0
; which comps to check
0
0
0
0
3
0
0
0
4
GET_TAB_X_TO_Y, {6, LEAGUE, 0}
1
14 // ici on prend les 14 premiers de LEAGUE 0 (le barragiste étant le 15ème)
GET_WINNER, {6, RELEGATION, 0} // c'est ici qu'apparait le résultat du Barrage : prendre le Vainqueur de la RELEGATION 6
GET_TAB_X_TO_Y, {6, LEAGUE, 1}
1
1 // ici on prend le 1er de la LEAGUE 1 (le barragiste étant le second)
GET_TAB_SPARE
%INDEXEND%COMPETITION

Il se peut aussi que le barrage se fasse sur 1 seul match et pas en aller/retour
voici comment se serait inscrit

%INDEX%COMPETITION
; --------------------------------------
DB_ROUND
{ 6, RELEGATION, 0 }
2
ROUND_FINAL
314 // jour du match saison 1
0
314 // jour du match saison 2
0
BEG_1ST_LEG, BEG_WITH_EXTRA_TIME, BEG_WITH_PENALTY, BEG_END // indique qu'il n'y a qu'un match, avec prolongation, puis penalty, et ajouter que c'est la fin du tour, sinon risque de malfonction en jeu
0 // ici c'est la ligne correspondant au match retour qui n'existe pas donc 0
0
0
0
0
3
0
{ 6, LEAGUE, 0 }
0
3
GET_TAB_X_TO_Y, {6, LEAGUE, 0}
15
1
GET_TAB_X_TO_Y, {6, LEAGUE, 1}
2
1
GET_TAB_SPARE
%INDEXEND%COMPETITION

Il est bien évidemment possible d'enchainer plusieurs tours de barrages successifs
exemple

%INDEX%COMPETITION
; --------------------------------------
DB_ROUND
{ 14, RELEGATION, 0 }
4
ROUND_1
314
321
314
321
BEG_2ND_LEG
BEG_2ND_LEG, BEG_WITH_EXTRA_TIME, BEG_WITH_PENALTY
0
0
0
160000
3
1
{ 14, LEAGUE, 1 }
{ 14, RELEGATION, 1 } // ici on fait suivre vers le prochain tour
4
GET_TAB_X_TO_Y, {14, LEAGUE, 1}
6
1
GET_TAB_X_TO_Y, {14, LEAGUE, 1}
5
1
GET_TAB_X_TO_Y, {14, LEAGUE, 1}
3
1
GET_TAB_X_TO_Y, {14, LEAGUE, 1}
4
1
%INDEXEND%COMPETITION
%INDEX%COMPETITION
; --------------------------------------
DB_ROUND
{ 14, RELEGATION, 1 }
2
ROUND_2
328
0
328
0
BEG_1ST_LEG, BEG_WITH_EXTRA_TIME, BEG_WITH_PENALTY, BEG_END
0
0
0
0
175000
3
1
{ 14, RELEGATION, 0 }
0
1
GET_WINNER, {14, RELEGATION, 0} // ici on prend les vainqueurs du tour précédent (il serait aussi possible de prendre les perdants : GET_LOSER, {14, RELEGATION, 0} )
%INDEXEND%COMPETITION

à suivre...
Important ! Il n'est pas fait de support en MP, veuillez poser votre question en Forum. Merci.
Important ! There is no support in MP, please submit your question in Forum. Thank you.
Avatar du membre
JJacq
Administrateur
Administrateur
Messages : 17754
Enregistré le : 16 févr. 2011 14:36
Localisation : Alès - Nîmes
Contact :

Re: Scripts Compétitions

Message non lu par JJacq »

2- Playoff sous forme de championnat
exemple Belgique

%INDEX%COMPETITION
DB_LEAGUE // indique que c'est un championnat
{ 7, RELEGATION, 0 } // ID pays, playoff, numéro 0
6 // 6 équipes
0 // niveau de la ligue dans le système de championnat par rapport aux équipes participantes (si venant de divisions différentes en choisir une, perso je prends la plus haute)
REL_RULE_0,REL_RULE_TAKE_POINTS // 0 relégués, code indiquant que les points déjà gagnés en championnat sont conservés si besoin
0
2 // nombre de fois que chaque équipe rencontre une autre équipe
ROUND_GROUP1
135 // multiplicateur affluence
70 // multiplicateur salaires/transferts
;
%INDEX%TEAMS
7000e,70001,70004,70007,7001e,70008
%INDEXEND%TEAMS
;
%INDEX%MATCHDAYS
257,265,268,272,279,286,290,293,300,307
%INDEXEND%MATCHDAYS
%INDEX%MATCHDAYS2
257,265,268,272,279,286,290,293,300,307
%INDEXEND%MATCHDAYS2
;
%INDEX%FIXTURE // tableau des rencontres par journée (equipe home vs equipe away - l'éditeur ne peut pas le générer, le mieux est d'en copier/coller d'un script existant ayant le même déroulement)
2,1,3,5,6,4
1,3,5,6,4,2
6,3,2,5,1,4
3,4,2,6,5,1
4,5,3,2,6,1
1,2,5,3,4,6
3,1,6,5,2,4
3,6,5,2,4,1
4,3,6,2,1,5
5,4,2,3,1,6
%INDEXEND%FIXTURE
0
1600000 // primes - Bonus 1ère place
150000 // déduction pour chaque place suivante
1500000 // bonus télévision
3
0
0
-1
4095
3 // nombre de remplacements pendant un match
0 // niveau de la ligue dans le système de championnat (le même que plus haut ligne 5)
0 // éventuellement LEAGUEs qui envoient les équipes dans ce playoff (sinon laisser 0) Idem que pour des barrages entre 2 équipes, c'est souvent ici que se poseront les problèmes
{ 7, RELEGATION, 4 } // liste des RELEGATION vers laquelle ce championnat enverrait des équipes pour la suite
1 // nombre de fonction d'appel
GET_TAB_X_TO_Y, {7, LEAGUE, 0}
1
6
%INDEXEND%COMPETITION

Le POOL peut aussi être impacté

%INDEX%COMPETITION
DB_POOL
{ 7, POOL, 0 }
0
16

; how many comps to check
0
; which comps to check
0
0
0
0
3
0
{ 7, RELEGATION, 0 }
0
3
GET_TAB_X_TO_Y, {7, RELEGATION, 0} // ici on prend les 6 équipes du playoff au lieu des 6 premiers du championnat
1
6
GET_TAB_X_TO_Y, {7, LEAGUE, 0} // ici on prend les autres équipes du championnat à partir du 7ème
7
9
GET_TAB_X_TO_Y, {7, LEAGUE, 1}
1
1
%INDEXEND%COMPETITION

Voilà les principaux types de playoffs, que l'on peut combiner les uns avec les autres, l'important est d'envoyer dans chaque playoffs les bonnes équipes, et vérifier en jeu que tous les matchs se jouent, avec les bonnes équipes et que la reconstruction des championnats à la saison suivante sont bons (bons promus/bons relégués)
Quasi tout est faisable, et si ce ne l'est pas il faut ruser pour contourner les limites du jeu.

à suivre...
Important ! Il n'est pas fait de support en MP, veuillez poser votre question en Forum. Merci.
Important ! There is no support in MP, please submit your question in Forum. Thank you.
Avatar du membre
JJacq
Administrateur
Administrateur
Messages : 17754
Enregistré le : 16 févr. 2011 14:36
Localisation : Alès - Nîmes
Contact :

Re: Scripts Compétitions

Message non lu par JJacq »

Coupes

1- Coupe principale (équivalent de la Coupe de France) c'est la Coupe qui est utilisée pour envoyer 1 équipe en Europa League

%INDEX%COMPETITION
DB_CUP // indique que c'est une Coupe
{ 1, FA_CUP, 0 } // ID pays, Coupe, numéro 0 (seule et unique coupe de ce genre)
"Kupa e Shqipërisë","Kupa e Shqipërisë","Kupa e Shqipërisë","Kupa e Shqipërisë","Kupa e Shqipërisë","Kupa e Shqipërisë" // nom de la coupe qui sera visualisée en jeu (dans les 6 langues)
0
0
6 // nombre de tours (maximum 8)
34,6,10 // nombres d'équipes participantes (maximum 128), nombre de tours (maximum 8), nombre de jours de matchs
%INDEX%MATCHDAYS
42,51,73,93,115,241,269,297,311,325 // jours de matchs saison 1
42,51,73,93,115,241,269,297,311,325 // jours de matchs saison 2
%INDEXEND%MATCHDAYS
%INDEX%ROUNDINFO // info sur chaque tour
0,4,4,4,0,2,BEG_1ST_LEG| BEG_WITH_EXTRA_TIME| BEG_WITH_PENALTY,0,4000,0,2000
1,5,32,30,2,18,BEG_2ND_LEG| BEG_WITH_EXTRA_TIME| BEG_WITH_PENALTY,0,7000,0,4000
2,6,16,0,18,26,BEG_2ND_LEG| BEG_WITH_EXTRA_TIME| BEG_WITH_PENALTY,0,12000,0,8000
3,13,8,0,26,30,BEG_2ND_LEG| BEG_WITH_EXTRA_TIME| BEG_WITH_PENALTY,0,25000,0,15000
4,14,4,0,30,32,BEG_2ND_LEG| BEG_WITH_EXTRA_TIME| BEG_WITH_PENALTY,0,45000,0,30000
5,15,2,0,32,33,BEG_1ST_LEG| BEG_WITH_EXTRA_TIME| BEG_WITH_PENALTY,0,90000,0,60000
%INDEXEND%ROUNDINFO
3 // nombre de remplaçants (si je ne me trompe pas)
0
0
0
4 // nombre de fonctions d'appel
GET_TAB_X_TO_Y, {1, LEAGUE, 0}
1
10
GET_TAB_X_TO_Y, {1, LEAGUE, 1}
1
10
GET_TAB_X_TO_Y, {1, LEAGUE, 2}
1
10
GET_TAB_SPARE
%INDEXEND%COMPETITION

détails d'un tour
0,4,4,4,0,2,BEG_1ST_LEG| BEG_WITH_EXTRA_TIME| BEG_WITH_PENALTY,0,4000,0,2000

0,4,4,4,0,2 // numéro du tour, nom du tour, nombre d'équpe participantes au tour, nombre d'équipe entrants à ce tour, nombre d'équipes éliminées avant ce tour, nombre d'équipes éliminées après ce tour
BEG_1ST_LEG| BEG_WITH_EXTRA_TIME| BEG_WITH_PENALTY,0,4000,0,2000 // 1 seul match, prolongations, pénalty, prime pour participer à ce tour, prime pour se qualifier pour le tour suivant, droits TV pour participer à ce tour, droits TV pour se qualifier pour le tour suivant
(les primes et droits Tv pour participer au tour ne sont pas visualisable dans l'éditeur, seules celles pour se qualifier apparaissent.
Il est possible d'attribuer l'une et l'autre en complément, ou l'une ou l'autre, tout est faisable)

BEG_2ND_LEG indique que le tour se joue sur aller/retour

Les numéros de tour doivent commencer à 0 et monter de 1 en 1.

Les noms de tours correspondent aux noms qui seront utilisés en jeu, et dans l'éditeur dans le calendrier.
Voici la liste
1 ROUND_QUALI
2 ROUND_QUALI2
3 ROUND_QUALI3
4 ROUND_PREROUND1
5 ROUND_1
6 ROUND_2
7 ROUND_3
8 ROUND_4
9 ROUND_5
10 ROUND_GROUP1
11 ROUND_GROUP2
12 ROUND_LAST_16
13 ROUND_QUARTERFINAL
14 ROUND_SEMIFINAL
15 ROUND_FINAL
Finir absolument par le 15 (Final)

2- Coupe de la Ligue ou autres coupes (sauf Super Coupe)

%INDEX%COMPETITION
DB_CUP
{ 18, LE_CUP, 0 } // ID pays, Coupe ligue , numéro 0 (4 coupes de ce style possible donc 0,1,2 et 3 utilisable)
"Coupe de la Ligue","Coupe de la Ligue","Coupe de la Ligue","Coupe de la Ligue","Coupe de la Ligue","Coupe de la Ligue"
0
0
7
44,7,7
%INDEX%MATCHDAYS
37,51,115,164,192,213,272
37,51,115,164,192,213,272
%INDEXEND%MATCHDAYS
%INDEX%ROUNDINFO
0,5,24,24,0,12,BEG_1ST_LEG| BEG_WITH_PENALTY,199000,0,0,20187
1,6,12,0,12,18,BEG_1ST_LEG| BEG_WITH_PENALTY,41000,0,0,30375
2,7,20,14,18,28,BEG_1ST_LEG| BEG_WITH_PENALTY,1208000,0,0,42750
3,12,16,6,28,36,BEG_1ST_LEG| BEG_WITH_PENALTY,178000,0,0,70000
4,13,8,0,36,40,BEG_1ST_LEG| BEG_WITH_PENALTY,239000,0,0,120000
5,14,4,0,40,42,BEG_1ST_LEG| BEG_WITH_PENALTY,448000,0,0,225000
6,15,2,0,42,43,BEG_1ST_LEG| BEG_WITH_EXTRA_TIME| BEG_WITH_PENALTY,787000,500000,0,420000
%INDEXEND%ROUNDINFO
3
0
0
0
6
GET_TAB_X_TO_Y, {18, LEAGUE, 0}
1
24
GET_TAB_LEVEL_X_TO_Y
1
1
24
GET_TAB_LEVEL_X_TO_Y
2
1
24
GET_TAB_LEVEL_X_TO_Y
3
1
24
GET_TAB_LEVEL_X_TO_Y
4
1
24
GET_TAB_SPARE
%INDEXEND%COMPETITION

Les informations et le mode de fonctionnement est identique à une Coupe standard.

3- Super Coupe

%INDEX%COMPETITION
DB_CUP
{ 18, SUPERCUP, 0 } // ID pays, Super Coupe, numéro 0 (seule et unique coupe de ce genre)
"Trophée des Champions","Trophée des Champions","Trophée des Champions","Trophée des Champions","Trophée des Champions","Trophée des Champions"
0
0
1
2,1,1
%INDEX%MATCHDAYS
27
27
%INDEXEND%MATCHDAYS
%INDEX%ROUNDINFO
0,15,2,2,0,1,BEG_1ST_LEG| BEG_WITH_PENALTY| BEG_NO_SHUFFLE,0,400000,0,250000 // 1 match, (pas de prolongation), penalty, pas de tirage au sort
%INDEXEND%ROUNDINFO
3
0
0
0
5 // ici je liste plus de 2 équipes potentielles, notamment en cas de doublé Coupe/championnat, les équipes seront choisie dans l'ordre des Fonctions donc bien choisir l'ordre !
GET_CHAMP, {18, LEAGUE, 0} // prendre le champion de LEAGUE 0
GET_CHAMP, {18, FA_CUP, 0} // prendre le Tenant de la Coupe 0
GET_TAB_LEVEL_X_TO_Y // prendre l'équipe la mieux classée en League 0
0
1
24
GET_RUNNER_UP, {18, FA_CUP, 0} // prendre le finaliste de la Coupe 0
GET_TAB_SPARE // compléter par un hors championnat
%INDEXEND%COMPETITION

Les informations et le mode de fonctionnement est identique à une Coupe standard.

Il n'est pas obligatoire d'avoir une Coupe de chaque style (FA / LE / Super). On utilise ce dont on a besoin.

Info importante en cas de playoffs dans un script !
Pour que les résultats et matchs des playoffs soient visibles en jeu dans les écrans statistiques, il faut que le script contienne au minimum une Coupe (quel que soit son style).
Car les palyoffs apparaissent en stats de Coupes, et sans Coupe, ces stats ne sont pas créés.

Voilà les grandes lignes.
Important ! Il n'est pas fait de support en MP, veuillez poser votre question en Forum. Merci.
Important ! There is no support in MP, please submit your question in Forum. Thank you.
Avatar du membre
JJacq
Administrateur
Administrateur
Messages : 17754
Enregistré le : 16 févr. 2011 14:36
Localisation : Alès - Nîmes
Contact :

Re: Scripts Compétitions

Message non lu par JJacq »

Explication de qui joue contre qui lors de séries éliminatoires

exemple avec des 1/4 de final en 1 seul match et 1/2 et Finale en aller retour

%INDEX%COMPETITION
; --------------------------------------
DB_ROUND
{ 52, RELEGATION, 5 }
8
ROUND_QUARTERFINAL
318
0
318
0
BEG_1ST_LEG, BEG_WITH_EXTRA_TIME, BEG_WITH_PENALTY, BEG_END
0
0
0
0
0
3
1
{ 52, LEAGUE, 2 }
{ 52, RELEGATION, 6 }
8
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
4
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
5
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
3
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
2
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
7
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
6
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
8
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
9
1
%INDEXEND%COMPETITION
%INDEX%COMPETITION
; --------------------------------------
DB_ROUND
{ 52, RELEGATION, 6 }
4
ROUND_SEMIFINAL
321
325
321
325
BEG_2ND_LEG
BEG_2ND_LEG, BEG_WITH_EXTRA_TIME, BEG_WITH_PENALTY
0
0
0
0
3
1
{ 52, RELEGATION, 5 }
{ 52, RELEGATION, 7 }
1
GET_WINNER, {52, RELEGATION, 5}
%INDEXEND%COMPETITION
%INDEX%COMPETITION
; --------------------------------------
DB_ROUND
{ 52, RELEGATION, 7 }
2
ROUND_FINAL
328
332
328
332
BEG_2ND_LEG
BEG_2ND_LEG, BEG_WITH_EXTRA_TIME, BEG_WITH_PENALTY
0
0
0
0
3
1
{ 52, RELEGATION, 6 }
0
1
GET_WINNER, {52, RELEGATION, 6}
%INDEXEND%COMPETITION

8 équipes participantes listées ici
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
4
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
5
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
3
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
2
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
7
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
6
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
8
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
9
1

le jeu va prendre les 4 premiers listés et va leur opposer les 4 derniers, le tout dans l'ordre
soit à l'arrivée
4 vs 7 (match 1)
5 vs 6 (match 2)
3 vs 8 (match 3)
2 vs 9 (match 4)

au tour suivant il va prendre les 4 vainqueurs (ou perdants suivant les besoin du script) également dans l'ordre
ce qui va donner
vainqueur match 1 contre vainqueur match 3 (match 5)
vainqueur match 2 contre vainqueur match 4 (match 6)

pareil au tour suivant
vainqueur match 5 contre vainqueur match 6

La première équipe est celle qui jouera le premier match à domicile, il faut donc penser à ça pour choisir l'ordre, notamment si on veut que les mieux classés soient privilégiés.

La même chose mais avec les 1/4 de final par aller/retour, pour montrer que l'ordre change pour privilégier les mieux classés tout le long des 3 tours.

%INDEX%COMPETITION
; --------------------------------------
DB_ROUND
{ 52, RELEGATION, 5 }
8
ROUND_QUARTERFINAL
314
318
314
318
BEG_2ND_LEG
BEG_2ND_LEG, BEG_WITH_EXTRA_TIME, BEG_WITH_PENALTY
0
0
0
0
3
1
{ 52, LEAGUE, 2 }
{ 52, RELEGATION, 6 }
8
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
7
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
6
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
8
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
9
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
4
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
5
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
3
1
GET_TAB_X_TO_Y, {52, LEAGUE, 2}
2
1
%INDEXEND%COMPETITION

On conserve les même affrontements, mais on inverse la désignation des équipes qui reçoivent en premier.
Important ! Il n'est pas fait de support en MP, veuillez poser votre question en Forum. Merci.
Important ! There is no support in MP, please submit your question in Forum. Thank you.
Dmitry
Gonfleur de Ballons
Gonfleur de Ballons
Messages : 126
Enregistré le : 19 juil. 2018 07:08

Re: Scripts Compétitions

Message non lu par Dmitry »

Bon tutoriel
Avatar du membre
Bloplemartien
Entraîneur Réserve
Entraîneur Réserve
Messages : 1022
Enregistré le : 11 mai 2018 09:29
Localisation : Suisse

Re: Scripts Compétitions

Message non lu par Bloplemartien »

Oui merci JJacq.

Ça prouve que l'on fait pas de nouvelles versions en un claquement de doigt :sifflote: :sifflote: :sifflote:
«Le football n'est pas une question de vie ou de mort, c'est quelque chose de bien plus important que cela.»
Avatar du membre
OMAllstarz
Brouteur Pelouse
Brouteur Pelouse
Messages : 18
Enregistré le : 03 mars 2023 20:41

Re: Scripts Compétitions

Message non lu par OMAllstarz »

Merci beaucoup pour ce guide, c'est très utile !
J'essaie d'implémenter un playoff pour la ligue française (entre Ligue 1 et Ligue 2, Ligue 2 et National) pour FM 11.
J'utilise l'exemple que tu as donné ci-dessus (mise à jour de l'ID du pays).
Cependant, l'éditeur continue d'effacer mon fichier Script à chaque sauvegarde et la DB Round a disparu, seule la Pool mise à jour est conservée.
Qu'est-ce que je fais de mal ?
Merci!
Répondre

Retourner vers « Tutoriels BDD (Base De Données) »