Gaming Zone Communautes Battlefield PiTrust Communautes Mods

Voler des documents.

(Voler les documents pointage du compas)

retour sommaire

Texte original par Kainfury le lien
Traduction et adaptation : Tropheus

Un fichier très interressant à avoir, c'est le fichier cod.def créé par Scorpiomidget il permet de poser des models en un seul clic. Pour le télécharger c'est ici on vous demandera juste de vous enregistrer.

1/ MAPPING

Créer un espace séparé en deux par un mur (pour voir l'effet du compas). Placez-y votre info_player_start.
De l'autre côté du mur, vous allez installer les documents.

a) Le support

Tout d'abord une caisse.
Un brush de 40 x 40 x 40  avec la texture appropirée. (J'ai mis crates/wood@champagne_top)
Sur cette caisse vous allez mettre vos documents à voler.


b) Les documents (objectifs)

En vue 2D clic_droit/xmodel-cuments1/objective tant que ous l'avez selectionné (appuyez sur la touche "N") et vous allez changer les key /value suivantes :
classname / xmodel-cuments1_objective en classname / script_model (sinon il serait impossible de le manipuler avec le script)
Une autre chose importante si on veut le manipuler à partir du script, c'est de lui donner un targetname. (celui que vous voulez!!!)

targetname / docu_a_voler

on récapitule

classname / script_model
xmodel / documents1_objective
targetname  /docu_a_voler

c) Le trigger (déclencheur)

Vous allez donc créer un brush qui englobera les documents. Faites-le d'une taille assez importante pour que le joueur puisse le toucher mais pas trop grand non plus car si au cours du jeu le jouer peut prendre les documents alors qu'il est à 10 km c'est peu crédible.

Ensuite en vue 2D clic_droit/trigger/use.

Puis donnez lui la texture "trigger" (common/trigger)

Tant que votre trigger est sélectionné appuyez sur la touche "N" et donnez les key / values suivantes :

hintstring / Appuyez sur [action] pour voler les documents //message qui apparaitra lorsque le joueur touchera le trigger.
delay / 999 //delai avant une seconde possibilité d'activation du trigger. (en seconde)
targetname / take // targetname du trigger ce qui permet de le manipuler par le script.

d) le script origin. (compas)

Ce script_origin aura pour but de faire pointer le compas dans sa direction.

Pour cela, en vue 2D clic_droit/script/origin.
puis appuyez sur la touche "N" et donnez les valeurs suiavantes :

tragetname / docs (ou tout autre chose)

Placer ce scritp_origin au-dessus des documents, mais en faisant attention de ne pas le faire toucher le trigger.

Voici ce que ça donne une fois terminé.

Nous en avons fini de la partie mapping.

2/ SCRIPTING (2 étapes)

a/ Le fichier .gsc

Voici le script nécessaire à la map.

//tuto traduit par Tropheus
//auteur /autor kainfury


main()
{
maps\_load::main();


level.player takeallweapons();
level.player giveweapon("thompson");
level.player giveweapon("luger");
level.player switchToWeapon("luger");

iprintlnbold ("Voler les documents.");

objective_add(1,"active",&"VOL_DOC_OBJ1",getent("docs","targetname").origin);

objective_current(1);

documents=getent("take","targetname");

documents waittill("trigger");

papers=getent("docu_a_voler","targetname");

documents delete();

papers delete();

objective_state(1,"done");

}

Bon, j'explique ce que j'ai compris.

//tuto traduit par Tropheus
//auteur /autor kainfury


main()
{
maps\_load::main();


level.player takeallweapons();
level.player giveweapon("thompson");
level.player giveweapon("luger");
level.player switchToWeapon("luger");

iprintlnbold ("Voler les documents."); //permet d'avoir un message qui s'affiche au centre de l'écran.

objective_add(1,"active",&"VOL_DOC_OBJ1",getent("docs","targetname").origin); //activation du premier objectif.

et voici le compas qui pointe vers l'objectif

.

objective_current(1); // nombre d'objectifs en cours.

documents=getent("take","targetname"); // ici on donne le nom de script "documents" au trigger qui portait le nom de take.

documents waittill("trigger"); // on demande ici au trigger d'attendre l'activation pour déclencher les scripts.

papers=getent("docu_a_voler","targetname"); // ici on donne le nom de script "papers" au documents à voler qui portaient le nom de "docu_a_voler".

documents delete(); // on enlève le trigger

papers delete(); // on enlève les papiers.

objective_state(1,"done"); // état de l'objectif.

}

b/ Le fichier .str

Comme pour le tutorial sur l'écran noir d'ouverture de map il vous faut un fichier .str.

Ce fichier vous allez le mettre dans un dossier french que vous allez mettre dans un un autre dossier appelé localizedstrings.

Dans ce dossier vous allez mettre le texte suivant.

REFERENCE              OBJ1
LANG_FRENCH        "Voler les documents.".//Ici vous pouvez mettre des accents, ce que vous ne pouvez pas faire dans un texte normal.

ENDMARKER.

Voila il ne vous reste plus qu'à tester votre map et à apprecier votre travail.

télécharger la map.
(Placez le pk3 dans le répertoire main pour COD et UO pour UO puis le fichier .bat désiré dans le répertoire du jeu.)

Quelques précisions sur le script.

Pour activer, un objectif voici le format qu'il faut utiliser.

objective_add(numéro de l'objectif, "active", "le texte à afficher via le fichier str", l'origine)

Dans cet exemple on ajoute l'objectif 1, qui sera actif lorsque vous appuirez sur la touche "TAB", avec le texte qui suivra.
A la fin, on indique au  compas la direction à prendre. Pour cela, on demande au système de rechercher l'entité ayant pour targetname "docs" en utilisant la commande
geten (qui veut dire "get entity") et pour spécifier la position on ajoute l'extention .origin après la commande.

Enfin n'oubliez pas de mettre vos thread entre accolades. { et } pour bien délimiter le début et la fin du thread.

N'oubliez pas non plus de terminer chaque ligne par un point-virgule. ; sinon le jeu lira la ligne suivante comme si elle avait été sa suite. (ce qui fera planter le jeu).

 

Pour CaskAmiProd et MohaaScriptLib
Tropheus©
mai 2005