Forum français basé sur Original War.
 
FAQAccueilRechercherMembresRedirection vers OwsupportRedirection vers SteamRedirection vers OW.netRedirection vers EvolveTéléchargement du dernier patchPatchs en cours de développementConnexionGroupesCalendrierS'enregistrer

Partagez | 
 

 Programmation SAIL, établir une mission [Tutoriels]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Programmation SAIL, établir une mission [Tutoriels]   Avril 15th 2008, 02:04

Programmation SAIL


Vous l'attendiez depuis un moment non Rolling Eyes ,pour toucher le cœur du problème. Comment on fait pour dire aux personnages de faire des choses ????

D'abord qu'est ce que le SAIL ? C'est un langage de programmation dérivé du Pascal et c'est assez simple a utiliser ici.

Donc primo, où on écrit notre programme en SAIL ? Hien, c'est vrai non, je vais pas l'écrire sur mon bureau O.o. Rappelez vous dans le tutoriel de la structure de fichier, je parlais de fichier ".src" dans le dossier "missions'nation''mission'" exemple : missions\_AR\01
Vous savez donc ou on se trouve. alors tout d'abort comment créer un fichier .src avec son ordi? Et bien comme déjà décoché l'option "masquer les extention de fichier de type connu" , créez un fichier ".txt" et renomer le intégralement en changeant l'extention "main.src"
J'ai mis main mais vous pouvez mettre ce que vous voulez mais pas d'espace dans le nom C'est important, surtout en programmation, ne jamais mettre d'espace dans un nom, et pas de caractère accentuée comme "é" jamais
exemple:
mon fichier.src :interdit
mon_fichier.src :ca valide
paté_en_croute_de_ma_grand_mère.src :interdit pas de "é"
pate_en_croute_de_ma_grand_mere.src :valide

Idem dans le programme
Ca va pas trop dur le premier cour ? study

DOnc maintenant qu'on a créer notre fichier.src et qu'il est vide, mais me dirai vous, comment le jeu peut savoir que j'en ai créer un ??? O_o.
Et bien il faut lui dire bande de pommes frites Very Happy
Nous allons donc nous diriger vers un fichier du dossier de la mission qui se nomme "sources.txt" qui contient :
Citation :
SOURCE_CODES :Debut du fichier
END_OF_SOURCE_CODES :Fin du fichier
Vous l'aurez compris mes petits genis, il y a rien dedans XD
Donc voici ce qu'il faut rajouter, nous allons admetre dans ce tutorial que notre fichier.src s'appelle "main.src"

Citation :
SOURCE_CODES :Debut de fichier
ENABLED main :Mot clè 'ENABLED' + nom du fichier sans le '.src'
END_OF_SOURCE_CODES : Fin de fichier

Et voilà on vien de lui dire, "Au debut du jeu tu me compile le fichier main. Biensur on peut rajouter d'autre fichier, il les executera dans l'autre mis dans e fichier, par exemple:

Citation :
SOURCE_CODES
ENABLED main
ENABLED pate
ENABLED fonctions
END_OF_SOURCE_CODES

Voilà première étape d'initialisation faite, on va commencer a bouffer du code Twisted Evil

1]Structure du fichier ".src"
Citation :


Citation :
Au début la déclaration des variables

Citation :
Ensuite notre block principal, ca sera le morceau de code exécuté au tout début. Cependant si vous avez plusieurs fichiers ".src" seul un seul aura ce block principal.
Le block principal commence au début de la mission mais ne se termine jamais a la fin de la mission, il se termine bien bien avant car oui il faut bien que vous contrôliez vos personnages un peu alors donc qui prend la relève hien?
Ce sont les blocks alternatives.

Citation :
Les blocks alternatives c'est quoi? Ben ce sont des blocks qui se mettent en route dés que le block principal est terminé et il dit trois choses.
-Soit : Toute les 30 secondes tu fais tomber des caisses
-Soit : Si je tue un ennemie, je dance les doigts dans le nez
-Soit : A chaque fois que je construis un véhicule fait ça
Trois types d'actions différents.

2]Déclaration et affectation de variables

Avant qu'est ce qu'une variable ?
Une variable c'est un emplacement désigné par un nom où on stock une valeur. Et on appelle cet emplacement par son nom. Il peut contenir un nombre "2" , un caractère 'r' ou un personnage, un batiment, un événement, enfin tout.

Comment déclarer une variable?
Déjà il faut d'abord le mot clé "var" puis le nom de la variable pour pouvoir l'appeler.
exemple:
Citation :
var compteur;
var maman;
var vous_avez_compris;

Comment on leur donne une valeur ? Ben de cette manière.
Citation :
compteur=0;
maman=Heike;
vous_avez_compris=1;
compteur=compteur+1;
compteur=2+9-5*(4+compteur);

EN PASSANT chaque instruction (action) dans le programme est fini par un point virgule ';' OBLIGATOIRE , il y a de rare cas ou on en met pas mais je vous direz où.

Ensuite on peut avoir des variables exportable, cet a dire si vous avez plusieur fichier.src il faut exporter vos variables, les amener au autre fichier et c'est très simple avec le mot clé "export" , export créer et export la variable en même temps, pas besion de var avant:
exemple:
Citation :
var compteur;
var maman;
var vous_avez_compris;
export cadeau;

Voilà pour la déclaration de variable, c'est pas compliqué.

Annexe
>>Avant de vous parler du block principale et des blocks alternatives, il faut que je vous parle des sous-blocks et des commentaires.

>>Les commentaires
Un commentaire c'est une ligne qui ne sera pas lu comme programme,ca sert a expliquer pour les autre ou a se repérer. il commence par "//"
exemple:
Citation :
//Ceci est un commentaire

>>Les sous-blocks
Un sous block, les sous block compose toute les structure que nous alons voir donc il faut que vous sachiez ce que c'est. Un sous block sert a dire "Tous ce qui est entre mon debut et ma fin appartien a la structure juste avant moi. Pour le moment les eul structure que vous connaissez c'est le block principal et les blocks alternative.
Un sous block commence par "begin" et se termine par "end;"
exemple:
Citation :
begin
//je suis a l'interieur du block
//tu me vois ?
end;

3]Block principal

Le block principal, il est annocé avec un seul mot "starting" , non ce n'est pa sune blague je vous jure study
mais voilà il faut lui attacher un sous block.
exemple:
Citation :
starting
begin
//je suis dans le block principale
end;
Voilà, tous ce qui sera entre le begin et le end sera dans le bloque principale.
c'était très dur je vous l'accorde XD

je ne vais pas vous expliquer les block alternative maintenant car ça entraine d'autres notions plus complexes, nous alons voir les diférente structure avant.

Si vous avez bien suivit pour le moment vous devrez avoir compris qu'on a ça:
Citation :


Citation :
var compteur;
var maman;
var vous_avez_compris;
export cadeau;

Citation :

starting
begin
//je suis dans le block principale
compteur=0;
maman=Heike;
vous_avez_compris=1;
compteur=compteur+1;
compteur=2+9-5*(4+compteur);
end;

Citation :
Les blocks alternatives c'est quoi? Ben ce sont des blocks qui se mettent en route dés que le block principal est terminé et il dit trois choses.
-Soit : Toute les 30 secondes tu fais tomber des caisses
-Soit : Si je tue un ennemie, je dance les doigts dans le nez
-Soit : A chaque fois que je construis un véhicule fait ça
Trois types d'actions différents.


4]Structure de controle

Les structures de controles, gére des comparaison de valeurs, donc voici les opérateur de comparaison.
= , egal
< , plus petit que
<= , plus petit ou égal à
> , plus grand que
>= , plus grand ou égal à
<> , différent de

A]La structure "if" en francais "Si"
Le "if" simple, qui consiste juste a dire,si la condition est vrai tu m'execute le block.

>>"if"
Citation :
if 'condition' then
begin
//block a executer si c'est vrai
end;

exemple:
Citation :
var compteur;

starting
begin
compteur=0;
if compteur=5 then
begin
compteur=compteur+9;
end;
end;

Vous alez me dire, c'est illisible, voui car sur le forum je peut pas présenter, quand vous allez écrire votre programme prenez soin d'indenter. Indenter c'est séparé de cette manière avec la touche tabulation.

C'est plus claire là non ? ^^
Moi j'utilise Notepad++ pour coder, je l'utilise tout le temsp , il est gratuit, si vous le voulez il n'est pas dure a trouver sur le net.
Ben tiens j'y avais pas penser mais on va faire comme ça maitenant ^^.

Après le "if" simple, le "if" compliqué. Il consiste a rajouter un "else" en francais "Sinon".

>>"if" - "else"
Citation :
if 'condition' then
begin
//Si vrai tu execute ça
end :Attention ici exeption, pas de ";" pour lui dire que la structure if continue
else
begin
//sinon (si c'est faux) tu execute ça
end; :La on termine par en ";" car c'est la fin de la structure if

exemple:


B]La structure "while" en francais "Tant que"

Le "while" permet de faire des boucles. Tant que la condition n'est pas vrai tu executes le block.

>>"while"
while 'condition' do
begin
//execute le block tant que la condition est fausse
end;

exemple:

ici tant que compteur est plus petit que 5, on lui ajoute 1. Une fois qu'il sera égal a 6 on arrêtera de faire la boucle et notre compteur vaudra 6.

C]La structure "for" en francais "Pour"
Le "for" et aussi une boucle mais différente du while car dans le while on ne sais pas combien de tour on va faire alors que pour le "for" on le sait.

>>"for"
Citation :
for 'variable'='valeur' to 'valeur2' do
begin
//executer le block
end;
Cela veux dire, pour la 'variable' qu est egal a la 'valeur', executer le block jusqua ce que 'variable' egal 'valeur2' Vous remarquerai qu'on ne fait pas de +1, la "for" le fait automatiquement.

exemple:


D]Structure "repeat" - "Until" en francais "répéter" "jusqu'a ce que"
C'est encore une boucle, mais la dernière et elle marche a l'envers comparé aux autres. le "while" et le "for" font leur test avant d'entrer dans la boucle alors que le "repeat" le fait a la fin de la boucle donc on est obligé d'executer au moins une fois le block.

>>repeat
Citation :
repeat
begin
//action tant que la condition est fausse
end
Until 'contition' ;
Je n'utilise jamais cette boucle donc je ne suis pas sûr de la synthaxe.

exemple:

Je l'ai pas vu de suite mais j'ai oublié un ";" ^.^ après compteur=0
Donc sinon ca veux dire, répéter le block jusqu' a ce que compteur est egal a 5.

E]Structure "case" en francais "cas"
C'est l'équivalent de plein de "if". On traduirai ça par, pour le cas n°1 faire si, pour le cas n°2 faire ça, ......etc.

>>"case"
Citation :
case 'variable' of
'valeur1': begin
//executer ce block si la 'variable'='valeur1'
end;
'valeur2': begin
//executer ce block si 'variable'='valeur2'
end;
end;

exemple:

Donc ici on execute un block precis suivant la valeur de la variable.

F]Structure de fonction "Function"
Une fonction c'est un morceau de code détaché du programme mais qu'on peut appeler n'importe quand en lui donnant des valeur diférente a traiter. ca évite d'écrire plusieur foit le même morceau de code. Elle peut renvoyer un resultat ou pas.

>>Function
Citation :
Function NomFonction(parametre,....);
begin
//le code de la fonction
end;

exemple:

Biensur ces bête de faire une fonction juste pour ça, vous verai plus tard, je vais vous en donner une très pratique.
Remarque, c'est en dehors du block pricipale et comme pour les variable on peut les exporter en mettant export devant.
export Function additonner(.......

5]Blocks alternatives

Alors, il existe 2 sorte de block alternative, le block "on" et le block "every" commencont par expliquer le block "on" c'est plus simple.

A]Block alternative "on"
D'abort chaque block "on" et unique, il en existe un certain nombre et c'est tout, pas plus, pas moins. ces block servent a géré les événements, quand je parle d'évenement ca veux dire quand en véhicule sort de l'usine, quand on a finit une recherche dans un labo, quand un batiment et finit de construire, quand un personnage a finit de faire une action.
je ne connais pas encore tout les block "on" donc je vous le dirai quand je meterai a jour ce morceau.

>>"on"
Citation :
on TypeEvenement(parametre) do
begin
//action
end;

exemple1: Quand un vehicule sort d'une usine

on vehicleconstruted(veh,fact) do
>a chaque fois qu'un vehicule est construit.
veh et fact sont deux variable que vous pouvez nomer autrement mais dans veh sera stocké le véhicule qui sera construit, et dans fact sera stocké l'usine d'où il est sorti.

to be continue ....

B]Le block alternative "every"
Avec les blocks "every" nous alons aborder la notion de temps, et oui le temps. Letemsp dans le jeu a son unité très particulière. Le temsp est noté de cette facon (0$2 , 1$5, 1$0.3 ....) Mais qu'est ce que c'est que ça ? O.O rassurez vous, je vais vous expliquer, en fait c'est pas compliquer, c'est compté en minutes study hi hi.
Donc par exemple 0$3 = 0.3 minutes = 23 secondes , c'est bizarre oui je sais et donc si vous avez compris 1$0 = 1 minute ; 2$0 = 2 minutes ; etc.....

>>"every"
Citation :
every 'temps' do
begin
//action
end;

exemple:

Faut savoir qu'on peut en mettre sur un "every"


Dernière édition par Noire apocalypse le Avril 16th 2008, 00:48, édité 14 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 15th 2008, 03:05

Coupé dans l'élant >.< , je crois que j'aurai du réserver 3 ou 4 messages .....

>>every - trigger
Citation :
every 'temps' trigger 'condition' do
begin
//action
end;
Tous les X temsp si la condition est vrai, tu execute le block.

exemple:


Ainsi s'achéve la parti théorique Wink

6]Les opérateurs logiques
Briéve aparté, dans les condition on peut en metre plusieur et dire, je veux cette condition ET cela OU celle là

ET = and
OU = or

exemple:
Citation :
if compteur=4 and perso=1 do
begin
//action
end;

every 0$6 trigger compteur=45 or compteur=50 do
begin
//action
end;

if (a=4 and j=45 and p=896 and u=87) or t=5 do
begin
//action
end;


7]Les tableaux
Qu'est ce qu'un tableau, c'est une variable mais particulière, dedans on y met pas que des valeurs mais d'autre variable aussi. Dans chaque case du tableau on peut mettre une variable. Il se déclare comme une variable mais on lui donne ces valeur d'une manière très particulière.

>>tableau
Citation :
var nomTableau,res;

starting
begin
nomTableau=[valeur1,valeur2,valeur3];
nomTableau=nomTableau^[valeur4];
res=nomTableau[2]; :deuxième case du tableau
end;
valeur4 se rajoute dans le tableau de cette manière.
ET on va chercher les valeur a l'interieur du tableau de cette manière.

exemple:



PARTIE 2


1]On touche au canbouit Cool
Maintenant on arrive a la pratique, comment créer des personnage, des batiment, des ressources, comment gérer ces personnages, le smodes de jeu, les dialogues, etc.....

On attaque le serieux, Vous en faite pas le plus compliqué est déjà géré par le jeu, nous ce qu'on doit faire c'est réutiliser les fonction déjà établit pour certaines choses. Biensur tout n'est pas déjà fait pour tout, il faudra imbriquer tout ça pour faire un jolie programme qui marche. On va commencer par

RAPPEL : Quand je vais écrire le code je vais souvent mettre des majuscule dans les nom, elle ne sont pas obligatoire mais c'est pour mieu lire, par exemple (mavariable ; maVariable) C'est pareil mais l'une est plus facile a lire, je vous recommende les majuscule mais ce n'est pas obligatoire

A]Les modes de jeu
Alors les modes de jeu, il y en a 3, alors le mode normal ou on a les commande, où on déplace au unité librement, c'est le mode par défaut, il y a besion de rien pour l'activer.
Ensuite le mode video, ce mode fait diparaitre les tableau du bas et le image du haut par des bande noire, comme les cinématique, et là on controle les unités avec le code.
Et enfin le mode dialogue, il sert a arrêter le temsp pour que vous avez le temsp de lire les dialogue de vos personnage, c'est quand vous voyez que vos personage sont figés et parlent.

>>mode video
On l'active avec la fonction sans parametre
Citation :
inGameOn;
et pour arrêter le mode video
Citation :
inGameOff;

>>le mode dialogue
On l'active avec la fonction sans parametre
Citation :
dialogueOn;
et on l'arrête avec
Citation :
dialogueOff;

PS : Les deux mode peut être activé en même temps.

B]Création de personnage
Il existe 3 facon de créer un personnage, une facon longue, une facon moyen et une facon rapide Smile
A vous de choisir selon vos personnage, selon votre carte etc....

>>la facon rapide.
Créer un personnage avec l'éditeur mais voilà comment on le fait apparaitre de le code source confused .
Prenons cette exemple:

Créons un john macMillan.
Quand un personnage est crée de cette manière on a besion d ela fonction avec 1 argument:
Citation :
NewCharacter('identifiant');
Vous avez pas oublié ce qu'un identifiant ? ^^. Ici l'identifiant c'est 'john'

Mais cette fonction renvoit notre personnage donc on envoie ça dans une variable où on sait que ce sera john.
Citation :
var John;

starting
begin
John=NewCharacter('john');
end;
Voilà votre personnage est stocké dans une variable Wink.

>>la facon moyen
C'est de passer par le DEFINE du fichier start.txt
On utilise la fonction la même fonction.
Citation :
NewCharacter('identifiant');
Prennons cette exemple qui vient de du mod de Arabica.

n'oubliez pas, l'identifiant est le 'Pokryshkin' avant le DEFINE
Citation :
var John,Pokryshkin;

starting
begin
John=NewCharacter('john');
Pokryshkin=NewCharacter('Pokryshkin');
end;

>>la facon longue
Elle est longue mais au moin elle laisse aucune trace, ni sur la carte, ni dans l'éditeur et ni dans le start.txt
Dans le compilateur il existe des variables automatiques qu'on peut utiliser sans les déclarer, ca sert pour crer des personnages, des vehicules et les batiments.
POur les personnage les il existe ces variables.
Citation :
uc_side :La couleur de votre perso de 0 a 8
uc_nation : la nation(nation_arabian,nation_russian,nation_american)
uc_direction :la direction quand elle sera posé de 0 a 5
hc_name :le nom de l'unité
hc_class :la class (class_soldier,class_ingineer,class_mechanic,class_scientistic,class_mortar,class_bazooker,class_desert_warior)
hc_sex :sexe de l'unite(sex_male,sex_female)
hc_attr :attribut [strenght,speed]
hc_basic_skills :niveau sans expérience[lvl,lvl,lvl,lvl]
hc_skills :niveau avec expérience [lvl,lvl,lvl,lvl]
hc_gallery :nom de la gallerie où trouver l'avatar
hc_face_number :numero de l'avatar dans la galerie
hc_importance :importance de l'unité

PS : Quand vous créerez un personnage de cette facon, n'oubliez pas que les variables ne se vident pas, elles gardent les valeurs Wink
ASTUCE, pour uc_side par exemple et uc_nation, ben metez par exemple uc_side=nation_arabian, créer tout les personnages arabes, puis changez le seulement après pour faire les autres nations.


La fonction a utiliser est la fonction sans parametre
Citation :
CreateHuman;
A chaque fois que vous appellerai cette fonction, elle va chercher toute la valeur dans les variable et vous créer l'unité et la place dans une variable.

Prenon cet exemple:

On créais une Heike Smile.

>>Et pour finir
On va finir par l'enregistrement en fin de missions des personnages et a la recréation en debut de la mission.
POur sauvegarder un personnage on utilise la fonction a 2 parametre:
Citation :
saveCharacters(variablePersonnage,'nouvelIdentifiant');
Pour nouveau identifiant, ca peut être le même hien, mais en fait le jeu va crér un fichier start.txt dans ca sauvegarde et y mettre les informations du perso au moment ou on sauvegarde le perso.
POur le recréer dan sla mission d'après on utilise la fonction a 1 parametre:
Citation :
CreateCharacter('nouvelIdentifiant');
Là je vais tout mettre dans le même block mais faut se dire que la recréation du pero suavegardé se fait dans la prochaine mission.

Ce qui conclus les manipulations de création de personnages, avec ça vous pouvez créer tout les personnages que vous voulez Very Happy tien petit point non aborder, les animaux ^^ c'est le même principe mais un poil différent.

PETITE NOTE NON PRECISE : La création d'un personage avec un start.txt , prend en charge que les variable hc et que donc vous devrez définir avant la création les uc_side, uc_nation et uc_direction.

>>Les animaux
C'est pareil, deux facons de les créer. Par l'éditeur:

Comme vu, les animaux c'est nation_nature ^^
Sinon on peut le faire par le code aussi et les variable prèdèfinit.
Citation :
uc_side :La couleur de votre perso de 0 a 8
uc_nation : la nation(nation_nature)
uc_direction :la direction quand elle sera posé de 0 a 5
hc_name :le nom de l'animal
hc_class :la class (class_apeman,class_apeman_soldier,class_apeman_engineer,class_apeman_kamikaze,class_tiger,class_baggie,class_fish,class_phororhacos,class_frog)
hc_attr :attribut [strenght,speed]
hc_basic_skills :niveau sans expérience[lvl,lvl,lvl,lvl]
hc_skills :niveau avec expérience [lvl,lvl,lvl,lvl]
hc_gallery :nom de la gallerie où trouver l'avatar
hc_face_number :numero de l'avatar dans la galerie
hc_importance :importance de l'unité
hc_agressivity :aggéssivité (généralement ca attaque a partir de 20)


Si vous testez tout les animaus vous verrez qu'il en manque 2, alors le premier le petit cheval, ben là vu que le jeu en créer jamais je ne connais pas la classe, j'ai essayé 'class_eohippus' mais ca ne marche pas et ensuite il maque les mamouths, alors je ne sais pas si quelqu'un a déjà réussi a en faire un, mais moi j'ai trouvé Very Happy Il n'est pas considéré comme un animal mais un véhicul donc on le verra dans la section véhicule. XD

C]Crétation de vehicules
cela marche comme avec les personnages, a une diférence pour l'éditeur.

ici l'identifiant du véhicul est 'amveh1' en fait pas besion de le créer dans le code, l'identifiant est directement une variable qui n'a pas besion d'être déclaré.

Par contre dans la création dans le code il y a une fonction sans parametre pour créer une vehicule, cette fonction va se charger d'aller chercher les valeurs dans les variables prédefinit.
Citation :

uc_side :La couleur de votre perso de 0 a 8
uc_nation : la nation(nation_arabian,nation_russian,nation_american)
uc_direction :la direction quand elle sera posé de 0 a 5
vc_chassis : sur quoi il roule
vc_weapon :L'arme qu'il a
vc_control :Conduit par
vc_engine :moteur
vc_fuel_battery :carburant de départ entre 0 et 100
variable=CreateVehicle;
Certaine chose suivant la nation ne sont pa sles même , je vais devoir donc enuméré tout les chassis et tout les armes de toute les nations.
>>moteur (3 sortes)
engine_combustion = moteur essence
engine_solar = moteur solaire
engine_siberite = moteur siberite
>>control (4 sortes)
control_manual = manuel
control_remote = télécommandé
control_computer = ordianteur
control_apeman = control pek
>>chassis américain
us_light_wheeled = roue leger
us_medium_wheeled = moyenne roue
us_medium_tracked = moyenne chenille
us_heavy_tracked = lourd chenille
us_morphling = morphling
>>chassis arabe
ar_hovercraft = aeroglisseur
ar_light_trike = tricycle leger
ar_medium_trike = tricycle moyen
ar_half_tracked = half-tracke
>>chassis russes
ru_medium_wheeled = moyenne roue
ru_heavy_wheeled = lourd roue
ru_medium_tracked = moyenne chenille
ru_heavy_tracked = lourd chenille

>>arme ameriacaine
us_machine_gun = mitrailette
us_light_gun = canon léger
us_gatling_gun = gatling
us_double_gun = double canon
us_heavy_gun = canon lourd
us_rocket_launcher = lance rocket
us_siberium_rocket = roquette siberite
us_siberium_rocket_remainder = roquette qiberite utilisé
us_laser = laser
us_double_laser = double laser
us_radar = radar
us_cargo_bay = benne
us_crane = grue
us_bulldozer = buldozer
>>arme arabe
ar_multimissile_ballista = multi missille
ar_light_gun = canon leger
ar_double_machine_gun = double mitraillette
ar_gatling_gun = gatling
ar_flame_thrower = lance flamme
ar_gun = canon
ar_rocket_launcher = lance rocket
ar_selfpropelled_bomb = bombe autopropulsé
ar_radar = radar
ar_control_tower = tour de controle
ar_cargo_bay = benne
>>arme russes
ru_heavy_machine_gun = mitraillette
ru_gatling_gun = gatling
ru_gun = canon
ru_rocket_launcher = lance rocket
ru_heavy_gun = canon lourd
ru_rocket = roquette
ru_siberium_rocket = roquette siberite
ru_siberium_rocket_remainder = roquette siberite utlisé
ru_time_lapser = décélérateur
ru_cargo_bay = benne
ru_crane = grue
ru_bulldozer = buldozer
>>Exeption
nation_nature :
vc_chassis = 31; >Mastodon (éléphant)

Il ne reste plus que les batiments maintenant et on passe au fonctions.

D]Création des batiments
La fonction pour créer un batiment est diférente car elle place le batiment en même temps. Un batiment ne peut pas être créer sans être placé.
Comme pour les vehicules quan dvous créez un batiment, sont identifiant devient automatiquement la variable qui n'a pas besion d'être décalré. Et dans le code on utilise aussi des variable prédéfinit.
Citation :
uc_side :La couleur de votre batiment de 0 a 8
uc_nation : la nation(nation_arabian,nation_russian,nation_american)
bc_type :Type de batiment
bc_level : Niveau du batiment
Et ensuite la fonction de création et placage
Citation :
variable=CreateAndPlaceBuildingXYD(positionX,postionY,direction);
Pas plus compliqué, donc maintenant les type de batiments.

b_depot =depot
b_warehouse =depot amelioré
b_workshop =usine
b_factory =usine amélioré
b_armoury =armurerie
b_barracks =armureire amélioré
b_lab =labo basic
b_lab_half =labo motier basic moitié amelioré
b_lab_full =labo amélioré
b_lab_basic =moitié de labo basic
b_lab_weapon =labo armement
b_lab_siberium =labo siberite
b_lab_computer =labo ordinateur
b_lab_biological =labo biotech
b_lab_spacetime =labo espace temps
b_lab_opto =labo optoélectrique
b_ext_track =exention chenille
b_ext_gun =extension canon
b_ext_rocket =extention roquette
b_ext_noncombat =extention civil
b_ext_radar =extention radar
b_ext_siberium =extension siberite
b_ext_radio =extention radar O_o
b_ext_stitch =extention flame
b_ext_computer =extention ordinateur
b_ext_laser =extention laser
b_oil_power =centrale a pétrole
b_solar_power =central solaire
b_siberite_power =centrale siberite
b_oil_mine =derrick petrole
b_siberite_mine =mine siberite
b_breastwork =bunker
b_bunker =tourelle manuelle
b_turret =tourelle automatique
b_teleport =téléport
b_fort =armurerie
b_control_tower =tour télécommandé
b_eon =eonis
b_behemoth =behemoth
b_alien_tower =batiment alien de la mission 15

exemple de création
Citation :
var depotAM;

starting
begin
uc_side=1;
uc_nation=nation_american;
bc_type=b_depot;
bc_level=5;
depotAM=CreateAndPlaceBuildingXYD(10,10,4);
//Création d'un depot americain sur la case 10,10 avec la direction 4

2]On passe dans le codage
A]Gérance de missions
Ojective missions: On utilise une fonction a 1 parametre
Citation :
ChangeMissionObjectives('IdentifaintDeLObjective');
exemple pour:
Citation :
#M1
add main Secourir
- Aide tes coéquipiés
#
ChangeMissionObjectives('M1');


Dernière édition par Noire apocalypse le Avril 18th 2008, 14:50, édité 36 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nicolas
Maréchal
Maréchal
avatar

Messages : 821

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 15th 2008, 13:32

Wao, franchement, à 2h du mat' bravo drunken
Comme d'habitude, bien présenté/expliqué ^^
Ca a pas l'air très dur pour le moment, enfin pour certains faut déjà avaler tout ça, mais comme avant j'ai lu des trucs sur le site du zéro je trouve ça simple, ça ressemble à tout les autres langages de programmation avec des petits ajouts...

_________________


Le chef est celui qui prend tout en charge.
Il dit : "J'ai été battu". Il ne dit pas : "Mes soldats ont été battus".
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://warsiberite.max2forum.com
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 15th 2008, 13:43

voui, ben je continue là, je vais finir la base de la programmation avec le structure et les blocks alternatives avant ce soir j'espère car c'est de la théorie, après ça on passe a la pratique Twisted Evil



Fin de missions: 3 sortes
-Soit perso tuer ou autre de votre choix, 2 fonction a 1 et 0 parametre
Citation :
YouLost('IdentifiantDeMort');
ExitGame;
Exemple:
Citation :
| Mort
Heike ou Sherazade est morte.
YouLost('Mort');
ExitGame;


-Soit la mission est terminé avec succet, on passe a la misison suivante: fonction a 0 parametre
Citation :
YouWin;
-Soit il faut changer de carte:Fonction a 2 parametres
Citation :
ChangeMap('NumeroMission','%_cont');
Exemple : ChangeMap('1','%_cont');
Pour les map 01 et 01_cont.


B]Les dialogues
Faire parler vos personnage, important aussi. Il y a plusieur façon de le faire parler mais toutes les fonctions ont les même parametre.
Citation :
NomFonction(variablePerso,'IdentifiantText');
exemple:
Citation :
$ Text1
- Soldat, allez patrouiller!
Citation :
Say :Parler normalement
Say(personnage,'Text1');
SayNoFace :Parler sans montrer l'avatar
SayNoFace(personnage,'Text1');
SayNoName :Parler sans montrer le nom
SayNoName(personnage,'Text1');
ForceSay :Parler même si le personnage et dans le rouge
ForceSay(personnage,'Text1');
ForceSayNoName :Parler sans le nom même si personnage dans le rouge
ForceSayNoName(personnage,'Text1');
ForceSayNoFace :Parle sans l'avatar même si personnage dans le rouge
ForceSayNoFace(personnage,'Text1');
SayRadio :Parler avec l'effet radio
SayRadio(personnage,'Text1');
SayRadioNoName :Parler avec effect radio sans le nom
SayRadioNoName(personnage,'Text1');
SayEffect :Parler sans personnage
SayEffect('Text1');

C]Action camera
Très simple, sert simplement a centrer sur un endroit de la carte ou une unité

Citation :
CenterOnXY :Centrer sur un carré de coordonné x,y avec défilement terrain
CenterOnXY(PositionX,PositionY);
CenterOnUnits :Centrer sur une unité(perso, vehicule, batiment) avec défilement du terrain
CenterOnUnits(VaraibleUnite);
CenterNowOnXY :Centrer sur un carré de coordonné x,y sans défilement terrain
CenterNowOnXY(PositionX,PositionY);
CenterNowOnUnits :Centrer sur une unité(perso, vehicule, batiment) sans défilement du terrain
CenterNowOnUnits(VaraibleUnite);

D]Récompense de fin de mission
>>Récompense de XP en fin de mapFonction a un paramère
Citation :
RewardPeople(PersonnageOuTableauDePersonnage);
RewardPeople(Heike);

tableau=[heike,Powell,MacMillan,Grant];
RewardPeople(tableau);


>>Medailles
-Ajout d'une valeur a une medaille
pour cette exemple nous aurons dnas le fichier texts.txt
Citation :
^ MAIN
Target achieved

* PERTE
+ Pas de perte.
- Perte dans vos rangs
*

* RUSSE
+ Tous les russes éliminé. //valeur = +1
- Des énnemis trainent encore. //valeur = -1
- Personne n'est mort pomme frite. //valeur = -2
*

* SOLAIRE
+ Vous avez construit un véhicule solaire.
- Vous n'avez pas construit de véhicule solaire.
*
Dans le fichier main.src on ajoute une valeur a une medal avec la fonction a 2 parametres:
Citation :
AddMedal('identifiantMedaille',valeur);
AddMedal('SOLAIRE',-1);

>Affichage de la remise de medaille, fonction a un parametre.
Citation :
GiveMedals('IndentifaintGeneral');
ici
GiveMedals('MAIN');

E]Déplacement d'unité(humain ou vehicule)

Citation :
ComMoveXY : Déplacer l'unité au coordonné PossionX positionY
ComMoveXY(variableUnite,positionX,positionY);
ComMoveUnit :faire entrer un human dans un vehicule
ComMoveUnit(Humain,Vehicule);
ComMoveToArea : Déplacer l'unité jusqu'a l'area désigné
ComMoveToArea(Unite,Area);
ComAgressiveMove :déplacer l'unité en attaquant tout sur le chemin
ComAgressiveMove(Unité,positionX,positionY);
ComAttackUnit :L'unité va attaquer l'ennemie jusqu'a sa mort
ComAttackUnit(Unite,uniteAattaquer);
ComAttackPlace :L'unité attaquera tous ce qui passe sur PosiontX et positionY
ComAttackPlace(Unite,positionX,positionY);
ComTurnXY :L'unité se tourne vers les coordonné positionX et positionY
ComTurnXY(Unite,positionX,positionY);
ComTurnUnit :L'unité se tourne vers l'unité a regarder
ComTurnUnit(Unite,UniteAregarder);
ComEnterUnit :L'unité entre dans le vehicule ou le batiment
ComEnterUnit(Unite,VehiculeOuBatiment);
ComExitVehicle :L'unité sort du vehicule
ComExitVehicle(Vehicule);
ComExitBuilding :Les unites sort du batiment
ComExitBuilding(Batiment);

F]PLacer les unitées

Citation :
PlaceUnitXY :PLace l'unité a positionX, positionY avec ou sans materilisation
PlaceUnitXY(Unite,PositionX,PositionY,true or false);
PlaceUnitArea :PLace l'unité sur l'aera avec ou sans materilisation
PlaceUnitArea(Unite,Area,true or false);
PlaceUnitXYR :PLace l'unité a positionX, positionY et direction avec ou sans materilisation
PlaceUnitXYR(Unite,PositionX,PositionY,direction,true or false);
PlaceUnitAnywhere :Place l'unité n'importe où avec ou sans matérialisation
PlaceUnitAnywhere(Unite,true or false);
PlaceHumanInUnit :Place une unité dans un vehicule
PlaceHumanInUnit(Unité,Vehicule);

G]Ressources
-type de ressource
mat_cans = caisses
mat_oil = petrole
mat_siberite = siberite

Citation :
//caisses
CreateCratesXY :Créer des caisse au position X et Y avec ou sans materialisation
CreateCratesXY(NombreDeCaisse,PositionX,PositionY,true or false);
CreateCratesArea :Créer des caisses su l'Area avec ou sans materialisation
CreateCratesArea(NombreDeCaisse,Area,true or false);
CreateCratesXYR :Créer des caisse au position X et Y et direction d avec ou sans materialisation
CreateCratesXYR(NombreDeCaisse,PositionX,PositionY,d,true or false);
CreateCratesAnywhere :Créer des caisses n'importe où
CreateCratesAnywhere(NombreDeCaisse,true or false);

//Ressource général
CreateResourcesXY :Créer des ressourses au position X et Y avec ou sans materialisation
CreateResourcesXY(typeRessource,NombreDeCaisse,PositionX,PositionY,true or false);
CreateResourcesArea :Créer des ressource sur l'Area avec ou sans materialisation
CreateResourcesArea(TypeResource,NombreDeCaisse,Area,true or false);
CreateResourcesXYR :Créer des resources au position X et Y et direction d avec ou sans materialisation
CreateResourcesXYR(TypeResource,NombreDeCaisse,PositionX,PositionY,d,true or false);
CreateResourcesAnywhere :Créer des ressources n'importe où
CreateResourcesAnywhere(NombreDeCaisse,true or false);

//POur siberite et petrole
CreateDepositXY :Créer des ressource au position X et Y
CreateDepositXY(PositionX,PositionY,typeDeRessource);
CreateDepositXY :Suprimer des ressource au position X et Y
CreateDepositXY(PositionX,PositionY);

H]Mathématiques

Citation :
Randomize :Renvoit un nombre aléatoire
Randomize;
RandomizeAll :Renvoit un nombre aléatoire
RandomizeAll;
Rand :Renvois un nombre alatoire entre le minimum et le maximum
Rand(min,max);
Prob :Renvoit une probabilité entre 1% et 100%
Prob(per);
MultiRand
MultiRand(min,max,n);
RandHex :Renvoi un tableau avec les coordonné x et y d'une case aléatoire. si border equal true, il inclue les case de bordure de map
RandHex(border);
RandHexArea :Renvoi un tableau avec les coordonné x et y d'une case de l'area. si border equal true, il inclue les cases de bordure de map
RandHexArea(Area,border);
RandHexXYR :Retourne un tableau ave cles coordoné x et y d'une case proche des coordonné x et y mis en paramètre et une distance de R cases, si border equal true, il inclue les cases de bordure de map
RandHexXYR(x,y,r,border);


Dernière édition par Noire apocalypse le Juin 4th 2008, 19:56, édité 26 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité
avatar


MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 15th 2008, 14:39

sa resemble etranchement a du html ou du C++ comme meme



VB POWA
Revenir en haut Aller en bas
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 15th 2008, 15:25

HTML O.O , il y a même pas de balise O.O

Dans le fichier d'aide dans le dossier Help de original war c'est marqué

"SAIL Syntax was based on Pascal's but differs in places. " Je fais que répéter. et dans ces fichier d'aide il explique pas les block alternative, j'ai apris en m'en servir en regardant des cour de langage Pascal >.>
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Human Ktulu
Sergent-Chef
Sergent-Chef
avatar

Messages : 217

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 15th 2008, 19:06

Ouah, merci pour ce cour de programmation Cool
Je vais peut être m'y essayer pour le fun, je n'ai jamais programmé en ligne de commande.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 16th 2008, 00:47

Bon j'ai achevé la parti théorique, demain j'attque ce qu'il faut attquer pour commencer la pratique. Bon courage quoi, J'ai jamais autant écrit moi study

EDIT ; zut j'ai oublié d'expliquer les tableaux XD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 17th 2008, 00:48

Super hypra compliqué Laughing

Quand je pense que juste pour mettre un objectif, j'y comprends rien Laughing

Dans ton mod, ton fichier "main.src" tu l'as pas écrit 'a la main' quand même??? lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 17th 2008, 08:38

hey si XD pourquoi? XD Je ne comprend pas l'ironie XD

Tu va voir pour les objective c'est 1000 fois plus compliqué que ça XD
Fraanchement c'est pas très compliquer, le plus dur a été pour moi de trouver tout ça XD.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité
avatar


MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 17th 2008, 08:55

Bonjour,mo je comprends rien de rien pour moi ça c'est complique alors pour les objectifs si c'est encore pire jamais je pourai faire mon map
Revenir en haut Aller en bas
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 17th 2008, 08:59

nan je disait ça pour rire XD , c'est juste une 2 mots pour envoyer un objective Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 17th 2008, 15:49

Pourquoi tu fait pas le plus facile et plus important en premier, comme les objectifs? Laughing

Je suis impatient que tu mettes les objectifs Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 17th 2008, 16:47

Ben si tu n'as pas de perso, ni de batiment, etc... comment tu veux mettre des obctitive ???
c'est comme me dire comment on fait bouger les personnage sans vous dire comment on créé les personnages Suspect
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 18th 2008, 00:00

Bon, j'ai été coupé dan sla rédaction se soir car je suis tombé sur un fichier spécial qui était caché. Dans ce fichier il y a absolument toute les fonction du jeu, absolument oute, il y en a a peu près mille, j'ai lu tout ca se soir XD. Il y a même des fonction pour poser les arbre, les pière et tout sans utilisé l'éditeur XD, bref on peu carement juste se contenté de définir la taille d ela map et basta XD tu fait tout dans le code mais c'est laborieux ce truc.
POur dire que maintenant je peut absolument tout faire dans le jeu, en plus des fonctions j'ai tout les block 'on' (je peut même détecté quan dun sniper endore un mec O.O) j'ai toute les variables du jeu. Je maintenant mieu comprendre le fonctionnement de filtre d'unité.

C'est claire que je ne pourrai pas mettre les 1000 fonction ici, je meterai le principal et si un jour vous avez envie de faire un truc genre poser des mines avec des soldats arabes et qu eje l'ai pas expliqué, vous me le dite , je vous envoie la réponse.
Bon, je continue la redac.

EDIT : ilumination du matin, je penserai plutot a faire la traduction du fichier et vous l'envoyé une fois le tutorial finit mais c'est claire, le fichier fait 2000 lignes pale
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 18th 2008, 12:08

Bon, petite chose à part, quand tu choisis l'option citer [quote] c'est sa

Tu devrais quand même noter les espaces à faire non? Ce n'est pas important?

Pour la "syntaxe" ?

Exemple de BNames :

Tu as citer comme sa :

Citation:

Kirov
Kirov

Sa ne s'ecris pas avec 3 espaces?

Kirov
___Kirov

lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 18th 2008, 13:07

lol, j'ai dit que le forum ne prenez pas en compte les espase et les tabulation, donc la présentation dans le cul, c'est pour ca que j'ai fait des image du code que j'écrivais Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 18th 2008, 13:15

Ba oui mais tu aurais du tout representer de ton mod, il y en a qu'y ne vont pas fouiner dans ton mod pour trouver la cause Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 18th 2008, 13:18

ro, j'ai pas tout compris XD

J'ai dépassé la limite du deuxième messages, je continu sur celui d'en dessous.
J'aurai du en prévoir 4 je le savait u_u
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 18th 2008, 22:10

Petit truc : toutes les choses que tu as écrite, on ne va pas y écrire comme sa dans le fichier ".src" Suspect

Il n'y a pas un ordre à respecter? Exemple : Je fais le DEFINE d'un personnage, en dessous je vais pas mettre
Citation :
starting
begin
...

J'ai autre chose aussi : pour les objectifs, quand tu auras répondu à ma première question, quel ordre il faut mettre? je vais pas mettre sa
Citation :
$ txt1
-...

Tout seul à part Suspect Je n'y comprends rien Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 18th 2008, 23:05

Ce sont des fichier différent
Ne t'en fait pas pour l'ordre, le jeu cherche automatiquement tout seul comme un grand. Même si toute les réplique de tes personnage sont dan sle dessordre dan sle fichier Texts.txt, tant que dans le fichier.src tu met les fonction dan sl'ordre, no problème.

Je vais essayer de te faire un exemple simple.

Fichier texts.txt
Citation :
$ parle2
- C'est ma deuxième phrase
$ parle1
- C'est ma première phrase

# M1
add main obj
- mon premier objectif
#

$ parle3
- C'est ma troisième phrase
fichier start.txt
Citation :
VARIABLES 0
CHARACTERS 1
Omar 1
DEFINE
NAME Omar
HUMAN 1 11 2
ATTR 10 10
SKILLS 10 16265 10 4042 10 13654 10 8042
LAST_MISSION 1
CHAR @ 30 0
RANDSEED 0
VOICE 3 GALLERY ru 46
END_OF_DEFINE
END

Fichier main.src C'EST LE FICHIER MAIN.SRC QUI DEFINIT L'ORDRE
Citation :
var Omar;

starting
begin
Omar=NewCharacter('Omar'); //Le jeu va voir dans le fichier start si un personnage Omar existe, si oui, il le créer
CenterOnUnits(Omar); //Le jeu va centrer la camera sur Omar
ingameOn; //Le jeu passe en mode video
Say(Omar,'parle1'); //Le jeu va scanner tout le fichier texts pour voir si $ parle1 existe,si oui il fait parler OMar avec 'C'est ma première phrase'
Say(Omar,'parle2'); //Le jeu va scanner tout le fichier texts pour voir si $ parle2 existe,si oui il fait parler OMar avec 'C'est ma deuxière phrase'
ChangeObjectifMission('M1'); //Le jeu va scanner tout le fichier texts pour voir si # M1 exsite, si oui il modifie l'objectif
Say(Omar,'parle3'); //Le jeu va scanner tout le fichier texts pour voir si $ parle3 existe,si oui il fait parler OMar avec 'C'est ma troisière phrase'
ingameOff; //Le jeu revien en mode normal
YouWin; //Fin de mission, le jeu va passer a la mission suivante
end;

Tu as compris là, car sinon je sais pas comment t'expliquer, le fichier .src c'est le programme de la mission, c'est ce qui est executé par le jeu pour faire fonctionner la mission et OUI tu dois tout écrire. SI tu regarde les main des missions de Warsiberite que j'ai fait, c'est moi qui est écrit les 700 ligne de code a la main, ce n'est pas si long que ça.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 18th 2008, 23:19

Bon...Je vais crée mes persos à la version longue, comme tu as afit dasn ton mod, si non, je ne vais rien comprendre Laughing

Mais merci quand même... Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 19th 2008, 16:31

Bon, après avoir effacer ma DEFINE du start.txt, je me suis lance à les faire dans le .src drunken

Donc après 15 minutes, j'avais fini, mais sa ne marche pas Neutral

Noire, ma sauveuse, pourriez-vous jetez un coup d'oeil pour voir ce qui ne va pas Mad

Merci Smile

http://www.zshare.net/download/10796289d5b3a5fd/ bounce
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 19th 2008, 17:23

Erreur corigé, j'ai fait tourné ton mod

Bon avant tout il y a un probléme que j'ai aps résolut, car normalement quand tu fait "file > restart" le programme ce compile tout seul hors ici il ne se compile pas, j'ai du le compiler manuellement avec
"windows >sail editor visible"
"command > compile"
Je vais garder ton mod et trouver le problème.
Donc vu qu'il compilait pas j'ai trouvé quelque erreur que j'ai mis en rouge

Citation :
var ru;
var Pokryshkin,Platonov,Belkov;

starting
begin
//Pokryshkin
uc_side=3;
uc_nation=nation_russian;
hc_name='Lt. Pokryshkin';
hc_class=class_soldier;
hc_sex=sex_male;
hc_attr=[10,10];
hc_basic_skills=[0,0,0,0];
hc_skills=[4,1,2,0];
hc_gallery='ru';
hc_face_number=4;
hc_importance=100;
Pokryshkin=CreateHuman;
//Belkov
hc_name='Belkov';
hc_class=class_soldier;
hc_sex=sex_male;
hc_attr=[10,10];
hc_basic_skills=[0,0,0,0];
hc_skills=[3,1,1,1];
hc_gallery='ru';
hc_face_number=3;
hc_importance=50;
Belkov=CreateHuman;
//Platonov
hc_name='Platonov';
hc_class=class_soldier;
hc_sex=sex_male;
hc_attr=[10,10];
hc_basic_skills=[0,0,0,0,];
hc_skills=[5,1,3,0];
hc_gallery='ru'; //point virgule oublié
hc_face_number=60; //Tu as mal compté le 65 existe pas tu t'es trompé d'une ligne
hc_importance=0;
Platonov=CreateHuman;

//Position unité
//ru
placeunitxy(Pokryshkin,61,28,false);
placeunitxy(Belkov,68,32,false);
placeunitxy(Platonov,59,27,false);

//Dialogue de depart
ingameon;
dialogueon;
CenterOnXY(getx(Platonov),gety(Platonov));
say(Platonov,'Ordre');
dialogueoff;
ingameoff;
ChangeMissionObjectives('M1');
end; //point virgule oublié

Voilà sinon tout ce que tu veux faire marche très bien.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 19th 2008, 18:11

Re,

Encore un truc... Laughing

La seule chose que je voulais pas, c'est que Platonov soit rouge. Donc je l'ai mit en violet, pas de problème.

Par contre la problème : quand Platonov a fini de parler, l'objectif est donnée, ok. Sauf qu'étant étourdi, j'ai sauvegarde plusieurs fois apres les paroles de Platonov. J'ai refait et devine le résultat...

Me voila avec 5 fois le même objectif Laughing

Voila merci de me dire comment supprimer sa et je pourrai continuer drunken
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 19th 2008, 18:24

arg non, je ne sais pas comment faire quand tu enrigistres sans faire de restar >.< car c'est enregistré dans la map >.<

Utilise ton lien zshare et reprend ton ancien mod
recorrige les erreurs, remet platonov rose et recompile et fait gaffe de bien faire un restar avant de sauvegarder.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 19th 2008, 18:33

Ok merci mais euh... sa sert à quoi un "restar" Question
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 19th 2008, 18:58

Desole double-post mais encore prob...

Dans l'éditeur, tout marche ( dialogues objectifs...) . Mais quand je joue à partir d'original war, il n'y a pas de dialogues, la mission se lance direct Suspect

Voila merci infiniment merci de me répondre... bounce
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 19th 2008, 20:11

Tu as fait le fichier Txt01.wri ?????
Il faut recopier ton fichier texts.txt dans Txt01.wri qui doit se trouver dans Campaign > ar

Regarde dans le tuto de structure de fichier
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 20th 2008, 01:10

Ok merci sa marche Very Happy

C'est juste que je n'avais pas compris l'utilite du Txt.01wri donc je l'ai commence mais inachevée et j'ai tout continuer sur le texts.txt de la map Laughing

Au fait, sa ne répond pas à ma question : sa sert à quoi de faire "restart" avant chaque sauvegarde Question

Voila voila merci Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 20th 2008, 01:19

Le restart remet ta mission au debut car quand tu fais retour a l'éditeur ta mission ne se remet pas au début.
ET normalement restart recompile automatiquement ton programme mais là avec ton mode ca le fait pas je ne sais pas pourquoi
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 20th 2008, 12:33

Ok merci sa c'est pas grave mais bon j'ai un petit truc à dire :

Quand on place un personage sur l'éditeur (ou ailleurs), qu'on prend la tête du personnage dans la gallery, exemple la tête de "Belkov", et bien si on nomme ce personnage "Belkov" et qu'il a la tête de "Belkov", et bien le jeu va reprendre sa voix si spécial que les autres personnages n'ont pas!

En fait, le jeu peut reprendre tout ce qui ont une voix différente des autres ET SURTOUT ce qui on été controlée. Exemple : Powell a une voix très différente des autres, mais sur l'éditeur, il aura une autre voix pris au hasard car il n'a jamais été controlée.

Belkov lui, on retrouvera toute ses phrases favorites, exemple : "Je suis tout ankilosé, camarade!" ou encore son si bien prononcée "Da?"

Voila voila c'et très utile qu'on retrouve la voix de nos persos préférés Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 20th 2008, 12:56

Ca il faut connaitre les voix, et je ne les connais pas par coeur mais pour la trouver c'est très simple, regarde dans le fichier start.txt du jeu original (ou de throwback) et tu trouveras par exemple.

Citation :
Belkov 1
DEFINE
NAME Belkov
HUMAN 1 1 3
ATTR 10 10
SKILLS 1 45991 1 23664 1 51 0 25733
LAST_MISSION 1
CHAR @ 30 0
RANDSEED 0
VOICE 202 GALLERY ru 3
END_OF_DEFINE

VOICE 202 : voix numero 202 et voilà tu as sa voix et ses phrases.

Donc dans l'éditeur quand tu créer belkov tu met 202 dans voice
ENsuite pour la création dan sle code euh attent je regarde.

EDIT: DOnc pour le code on ne peut pas choisir c'est choisi au hasar, c'est pour ça que les personnage principaux sont toujour définit dans le start.txt pour metre la voix.

Au fait j'ai oublié de te dire, ton fichier start.txt présente une erreur c'est pour ca que ca marchais pas quand tu devais faire NewCharacter.

Quand tu as plusieur perso ca doit faire comme ça:

Citation :
VARIABLES 0
CHARACTERS 2 //deux personnages
Bagajev 1
DEFINE
NAME Bagajev
HUMAN 1 1 3
ATTR 12 12
SKILLS 6 559403 4 176440 5 498637 3 212989
LAST_MISSION 15
CHAR @ 30 0
RANDSEED 0
VOICE 2 GALLERY xichty 24
END_OF_DEFINE
Machmutov 1
DEFINE
NAME Machmutov
HUMAN 1 1 3
ATTR 12 12
SKILLS 6 559403 4 176440 5 498637 3 212989
LAST_MISSION 15
CHAR @ 30 0
RANDSEED 0
VOICE 2 GALLERY xichty 25
END_OF_DEFINE
END
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 20th 2008, 15:17

Ok mais c'et pas grave de toute façon maintenant pour crée les persos je passe par le fichier ".src" si je ne les décris pas aussi dans le start.txt sa va se repertorier quelque part?

Bon à part sa grace Noire à toi j'ai beaucoup progresser reste plus que 2-3 petits trucs à arranger et la map sera fini.

Voila la version presque fini : http://www.zshare.net/download/10839452fcda921f/

Les choses faite :
- Objectifs, des dialogues.
- Un endroit il y a un "repli" (vous comprendrez dans la partie) mais il ne marche pas quand le personnage est dans un véichule
- La "prise" de l'Eonis (il faut être assez proche de l'Eonis pour activer un dialogue)

Les choses non terminée :
- On ne peut pas encore terminer la mission Laughing

Voila et Noire je n'est pas encore d'idée pour ta 3ème mission mais il faudrait deja que j'arrive à terminée la 2ème lol!

EDIT : ne prenez pas le 1er lien j'ai oublier de mettre le fichier .ini XD

Voila le bon : http://www.zshare.net/download/10843675edda7f55/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 20th 2008, 18:48

Temps fait pas pout le .ini tu en avais jamais mis, je l'ai fabriqué a chaque fois ^^

POur tes personaga, non t'inquiet pas si tu les met pas dans le start.txt la sauvegarde des personnage se fait quand même.

SInon oui j'ai vu que tu as utilisé quelque fonction que j'ai aps encore expliquer et que tu as compris a quoi ca servait ^^

POur la fin de mission, a par le YouWin, Youlost et ChangeMap j'ai pas encore mis la suite pour les medaills mais elle arrive ce soir.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 20th 2008, 18:57

Ok ok j'ai fait teste la map à Under et apres son avis j'ai modifié quelques trucs.

Enfin ce soir je vais pouvoir terminer ma map.

Pour la mère Russie, cheers ourrraaa!!! cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 21st 2008, 19:32

Alors c'est quand que tu le met hein hein? Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Avril 28th 2008, 20:06

J'avais pas eu tros le temsp de mettre a jour, donc la j'ai rajouté les déplacement d'unité.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 2nd 2008, 18:59

Sa avance lentement mais surement... J' avais abandonnée le projet d' un mod car la fonction 'change_map', je ne sais pas m' en servir >.>

Donc j' ai recomence, tout va bien, sauf quelque petites fautes stupides que je fait et que parfois je reste un jour sans en trouvez la solution ^^"

Un problème que j' ai en ce moment si tu pourrais m' aider...




Et je t' encourage vivement à continuer ta brillantissime explication si tu as le temps Smile Smile Smile






Razz
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 07:35

J'ai rajouté un petit morceau ce week end, essai de m'uploader le fichier main.src que je regarde mieux
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 10:24

Non c' est bon j' ai trouvé j' avais juste oublié une ' mais il me penchais la faute sur un "end" donc j' ai mis long à trouver... >.>

Et donc c' est sympa que tu y pense encore, sa fait plaisir je vais bientôt avoir fini Smile

edit: les mathématiques ce que tu as écrit je comprend pas trop mais pas grave sa ne me sert pas è priori Laughing

re-edit: Je vient de regarder dans ton mod pour la remise de médaille, AIL hyper compliqué scratch

"IsOk"? Qu' est ce que c' est que sa scratch

Tu pourrais (si tu veux sa serai sympa Smile ) m' expliquer un peu plus si tu as du temps à perdre Laughing ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 13:02

Ah j'ai aps encore mis ces fonction là >< , c'est un oublie, je l'ai meterais

IsOk(personnage) renvoit vrai si les PV de ton perso sont dans le vert
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 13:22

Yipie courage noire Laughing Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 14:07

Désole double-post...

Noire je n' avais pas vu que tu avais déja expliquer la fonction 'changemap', donc j' ai continuer en fait xD

Donc depuis l' éditeur, je charge ma mission "01", un dialogue et donc sa passe au "01_cont" avec la fonction changemap, mais au moment de passez à cette mission, sa m' affiche sa :


scratch

Et aussi quand je veux tester à partir du jeu (donc pas de l' éditeur), et bien l' interface des russes n' a pas changé, c' est toujours en première mission "Les meilleurs" et après "chasse à l' homme"...

Alors je voudrais que tu regardes ce qui va pas, je crois bien avoir fait le "headers.wri" et le "mission. dat" >.>

http://www.zshare.net/download/1308934774c6b96a/

En esperant que tu m' aideras et trouve ce qui ne va pas... bounce
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Nicolas
Maréchal
Maréchal
avatar

Messages : 821

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 14:39

Tu n'as pas fais la description de ta map ^^'

_________________


Le chef est celui qui prend tout en charge.
Il dit : "J'ai été battu". Il ne dit pas : "Mes soldats ont été battus".
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://warsiberite.max2forum.com
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 15:31

Ba si justement puis on le fait dans l' éditeur sa bounce
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 19:54

Après pluseur test, une seul solution marche.
Bon aparament j'ai du mal m'exprimer sur la fonction ChangeMap
Donc remplace ta ligne par:
Code:
changemap('1','%_cont');
Le premier paramètre c'est le numero de mision qu'il y a dans le Missions.dat et le deuxième sera toujour %_cont où % reprend le numero de la mission du premier parametre.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 20:03

Merci maintenant sa marche... A partir de l' éditeur seulement ^^"

Quand je me rend sur mon mod, je vais donc dans la campagne russe, mais c' est exactement les mêmes NOMS de missions, mais quand je lance ces missions, sa me met echec >.>

Donc tu pourrais aussi regarder le ".dat" sa me semble bizarre j' ai vérifier et re-vérifier et j' ai vu aucune erreur scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Noire apocalypse
Aspirant
Aspirant
avatar

Messages : 446

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 20:25

Ah j'avais pas vu ça, heu ben là j'ai rien trouvé d'anormal.
Mais vu le comportement du jeu où il te met une carte noire et des perso inconu, je meterai ma main a coupé qu'il trouve pa sle code de tes map mais je les ai compilé moi même en plus il trouve le header et mission, donc la vraiment je ne sais pas quelle est le problème.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arabica
Vaillant
Vaillant
avatar

Messages : 2088

MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   Juin 4th 2008, 20:28

Et fallait que sa arrive à moi non mais j' vous jure Mad*

Bon ba je vais vous donner un mod que vous allez devoir jouer à partir de l' éditeur, bof bof...

http://www.zshare.net/download/13105146d802f046/

Il comporte une mission sur deux maps, à ouvir avec l' éditeur bien sur...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://fallout3-rp.forumactif.com/forum.htm
Contenu sponsorisé




MessageSujet: Re: Programmation SAIL, établir une mission [Tutoriels]   

Revenir en haut Aller en bas
 
Programmation SAIL, établir une mission [Tutoriels]
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» [A vendre] Naomi+Dim+Lecteur GD , + Confidential Mission
» [Software] Topic de discussion du jeu "Mission Von Nebula"
» [Mission] La bataille de Sanghelios
» Tankrouge va accomplir sa mission.!
» [supplément] Mission de Bataille

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Original War Base ! :: ► Créations & Aspects techniques :: » Comment utiliser l'éditeur ? :: » Noire Apocalypse-
Sauter vers: