Comment ajouter un objet sur une map déjà construite.
Texte original : SpawnNewThingsIntoStockMapsWithScripting By Bjarne
GRÖNEVICK
from : The Rjukan Project
Traduction et interprétation : Tropheus
Comme son nom l'indique nous allons rajouter des objets (un
flak88) sur une
map initiale sans que nous ayons le fichier.map. Tout se fera donc par le script.
L'étape
se déroulera en plusieurs parties.
Le spawn du flak (juste la tourelle) (tout le script pour son fonctionnement
reste inchangé. Par
ici pour vous éclaircir
la mémoire)
Le spawn du trigger
La recherche des coordonnées.
Pour les 2 premières parties voici le script à placer dans votre fichier.scr . Pour l'appeler, voici la ligne à mettre dans la partie après le "level waittill prespawn" de la method "main".
thread spawn_a_flak
// ARCHITECTURE: Bjarne Grönnevik
// SCRIPTING: Bjarne Grönnevik
spawn_a_flak88:
// Spawn un scipt model et lui donner un targetname
local.flak = spawn script_model "targetname" "flak88"
// paramètre pour que le model soit modéliser sur la map.
local.flak model "statweapons/flak88turret.tik"
// Définisser l'endroit où il doit apparaître (coordonnées
pour placer l'objet voir plus loin)
local.flak.origin = ( -100.0 .0 0.0 )
// Définissez ses caractéristiques
local.flak.angles = ( 0.0 0.0 0.0 )
// Définissez son échelle
local.flak.scale = 1.0
// Créer le trigger et lui donner
une key/value
local.trigger = spawn trigger_use "setthread" "fire_flak88"
// Définisser son endroit d'apparition
local.trigger.origin = ( 0.0 100.0 0.0 )
// Définissez sa taille
local.trigger setsize ( -50 -50 -50 ) ( 50 50 50 )
end
Bon mais maintenant comment trouver les bonnes coordonnées pour placer son objet ?
Première technique
Et bien tout simplement en se promenant sur la map vous déterminez le meilleur
endroit et lorsque vous l'avez trouvé vous appelez la console et vous y tapez
la commande suivante : coord
Vous verrez apparaître sur la ligne en dessous les coordonnées de votre joueur
(3 coordonnées car vous êtes en 3 dimensions) c'est à dire (X Y Z).
Et encore en dessous les angles de votre joueur.
Voila vous avez tout ce qu'il faut maintenant pour placer tous les models que vous voulez sur vos map.
Une autre technique.
Vous décompilez la map et y palcez les objets de votre choix. Une fois placés,
prenez leur coordonnées et les angles et reportez-les dans le script.
Encore une autre technique.
Cette fois-ci vous connaissez le nom d'une entité sur la map (exemple : tireur)
et vous voulez spawner un objet au-dessus de lui.
L'objet à spawner lui portera aussi un nom (par exemple
: bouteille) et sera utilisé comme variable local (local.bouteille)
Pour définir, les coordonnées voici comment faire.
local.bouteille.origin = $tireur.origin + (0 0 100)
De ce fait, l'objet nommé "bouteille" apparaîtra à 100 unités au-desus de l'entité nommée "tireur".
Pour peaufiner le tout, n'hésitez pas à utiliser les commandes editscript et restart qui vous aideront à placer et orienter correctement vos models. Pour de plus amples détails allez voir ici.
Alors à vos map.
Tropheus