Map à objectif. (Voler des documents)
Seconde utilisation d'un "trigger", le "trigger_use"

retour sommaire

1. mapping
Dans un premier temps, réalisez une pièce avec de la lumière. Rajoutez votre "info_Player_start" Une fois cela terminé, nous allons mettre une table qui servira pour déposer les "documents à voler".
Pour cela, dans la vue 2D,
clic-droit/static/furniture/bunkertable. et une table apparaît sur l'écran.

Positionnez-la, comme il faut (mettez en grille 1 si nécessaire).

La seconde étape consiste à placer les documents à voler.
Positionner un "script_origin" (Vue 2D, clic droit/script/origin) à l'endroit où doivent venir les documents.

Donnez lui les key et value suivantes (touche "N")
$targetname / document
model / models/items/documents1a.tik

Positionnez les documents de façon à les poser sur la table. (utiliser la grille1 si nécessaire).

Créez maintenant un brush qui englobera les documents, comme ceci :

Gardez-le sélectionné, puis dans la vue 2D "clic droit/trigger/use"
Appuyer sur la touche "N" et entrez les données suivantes : key / value
setthread / objective1
Voici la partie mapping terminée, passons au script.

2. scripting

Ouvrez comme d'habitude "notepad" et enregistrez votre script du même nom que votre map sans oubliez l'extension.scr : ici "test_voldoc.scr"
écrivez ceci :

//mon script "vol de doscuments"
//Architecture : Tropheus
//Script : Tropheus

exec global/ai.scr
exec global/loadout.scr maps/test_voldoc.scr
main:
     level waittill prespawn
         $player stufftext "tmstart sound/music/mus_15a_mystery.mp3"
     level waittill spawn
         $player item weapons/colt45.tik
         $player ammo pistol 1000
         waitthread global/objectives.scr::add_objectives 1 2 "Voler les documents." $document.origin
         set_objective_pos $document
     level.script = level.test_voldoc.scr
end
////////////////////////////////////////////////////////////////////////////////
objective1:
         $document remove
         goto levelend
end
///////////////////////////////////////////////////////////////////////////////
levelend:
         waitthread global/objectives.scr::add_objectives 1 2 "Voler les documents" $obj1.origin
         waitthread global/objectives.scr::current_objectives 0
         iprintln "Mission terminée."
         exec global/missioncomplete.scr test_voldoc
end

Allez, quelques explications.

//mon script "vol de documents"
//Architecture : Tropheus
//Script : Tropheus

exec global/ai.scr
exec global/loadout.scr maps/test_voldoc.scr
main:
     level waittill prespawn
         $player stufftext "tmstart sound/music/mus_15a_mystery.mp3"//musique maestro !
     level waittill spawn
         $player item weapons/colt45.tik//une arme
         $player ammo pistol 1000//des munitions
         waitthread global/objectives.scr::add_objectives 1 2 "Voler les documents." $document.origin//affiche l'objectif (touche tab)
         set_objective_pos $document//attire le compas vers les documents à voler.
     level.script = level.test_voldoc.scr
end
///////////////////////////////
objective1://activé par la touche action dans le jeu au niveau du trigger_use.
         $document remove//enlève les documents de la table
         goto levelend
end
/////////////////////////////
levelend:
         waitthread global/objectives.scr::add_objectives 1 2 "Voler les documents" $document.origin
         waitthread global/objectives.scr::current_objectives 0
         iprintln "Mission terminée."//s'afiiche à la fin de la partie.
         exec global/missioncomplete.scr test_voldoc//on retourne faire un tour pour voir.
end

Bon, voici une encore une map avec un objectif bien défini.

Télécharger le pk3

Ce tutorial c'est largement inspiré de celui de Manstein "Scripting SP-Objectives Part I" de "Manstein leveldesign"

Tropheus.