logo
Connexion
 
Pseudo : 

Mot de passe : 


Perdu le mot de passe ?

Inscrivez-vous maintenant !

Tutoriaux, Guides
 

Menu principal
 

Qui est en ligne ?
 22 utilisateur(s) en ligne (dont 5 sur Forum)

Membre(s): 0
Invité(s): 22

plus...

Sondages
 
Etes-vous pour la création d'une partie ET:QuakeWars
Oui, une section ET:Quakewars façon site/thème changeant
Oui, une section ET:Quakewars façon forum supplémentaire
Non, pas de ET:Quakewars ici

Partenariat
 
Visualiser tous les Partenaires...

Index des forums de EasyMapping
   Scripting
     Tuto, faire des objectif à prendre.
Enregistrez-vous pour poster

Par conversation | Les + récents en premier Sujet précédent | Sujet suivant | Bas
Expéditeur Conversation
the-mappeur
Envoyé sur :  24/8/2006 11:00
Bétonneur
Inscrit le: 26/9/2005
De: Devant mon écran
Envois: 41
Tuto, faire des objectif à prendre.
Bonjour!
Je poste ce topic aujourd'hui pour les mappeurs qui ont déjà un peu d'expérience.
Ce mini-tuto va leur permettre de créer un objectif qu'il faudra prendre à un point et le déposer à un autre, style goldrush ou radar.

I La partie radiant.

Pour cette première partie commencez déja à créer un team_ctf_redflag( si vous voulez un objet à prendre par les alliés ou si c'est pour les axis team_ctf_blueflag) qui sera l'objet à prendre.
Mettez-lui les keys suivantes:


Puis juste au-dessus faites un misc_commandmap_marker, il définira l'endroit de l'objet.


Pour continuer faites un brush envelloppant le tout et apposez-lui la texture common/trigger.
Dans une des vues 2D: clic droit et trigger_objective_info appelé couramment TOI.
Key/Value:


Cochez également les cases: AXIS_OBJECTIVE, ALLIED_OBJECTIVE et IS_OBJECTIVE ce qui fait spawnflags 19.

Si tout va bien vous verrez une flèche relier le TOI au misc_commandmap_marker.

Maintenant on va faire l'endroit où seront déposés les objectifs.
Commencez par un clic droit dans une vue 2D puis misc>misc_gamemodel.
Une fenêtre s'ouvre refermez-la en faisant annuler, vous aurez alors un petit carré.
Sélectionnez-le et faites N pour ouvrir la fenêtre des entités, ajoutez alors les keys:


Le model que nous venons de créer sera rouge et transparent, ce sera l'emplacement de l'objectif à mettre.

Continuons avec un autre misc_gamemodel qui sera l'objectif quand il sera positionné à la fin.
Faites donc votre deuxième misc_gamemodel de la même manière que le premier puis ajoutez-lui les keys suivantes:

ATTENTION! Les deux gamemodels doivent être surperposés.

Pour terminer la partie à faire dans radiant faites un brush avec la texture trigger. Ce brush sera la zone où l'objet pourra être déposé par le joueur pour remplir ses objectifs.
Dans une vue 2D cliquez droit et faites trigger_flagonly_multiple, là encore nous allons mettre des keys:


Cochez également le spawnflag red_flag ce qui aura pour effet que seuls les alliés peuvent déposer l'objectif ( pour que ce soit le contraire cochez blue_flag )

II Scripting

Voilà la dernière étape; le scripting. Je vais mettre ici le script qui fera fonctionner tout ça et j'expliquerais par portions de code.
Avant tout vérifiez bien que vous avez mis un script_multiplayer avec comme key:scriptname /value:game_manager


game_manager
{
spawn
{
wm_axis_respawntime 20 // le nombre de sec avant que les axis respawn
wm_allied_respawntime 20//idem pour les alliés
wm_number_of_objectives 1 //le nombre d'objectifs listés ci dessous
wm_set_round_timelimit 30// le temps en min de la duré de la map


//Qui défend en mode stopwatch? (0=Axis, 1=Allies)
wm_set_defending_team 0

// Qui gagne si on arrive à la fin du temps imparti?
// 0 == AXIS, 1 == ALLIES
wm_setwinner 0
// Objectifs
wm_objective_status 1 1 0
wm_objective_status 1 0 0
//syntaxe: wm_objective_statut <chiffre de l'objectif>(souvenez-vous le objflag du //TOI) <team 1= alliés 0=axis><statut 0= défaut>
}

trigger stolen_circuit
{
accum 1 inc 1
trigger game_manager checkgame
}

trigger checkgame
{
accum 1 abort_if_not_equal 1
wm_setwinner 1
wait 1500
wm_endround
}
}

Voyons déjà le game_manager:
_le trigger stolen_circuit correspond à un objectif sécurisé, le accum 1 inc 1 veut dire augmente la valeur de la variable 1 de 1 puis trigger game_manager checkgame appelle la fonction checkgame un peu plus bas.
_trigger checkgame vérifie si l'équipe auquel il advient de prendre l'objet gagne.
Déja il vérifie si les objectifs sont bien remplis en faisant accum 1 abort_if_not_equal 1 ce qui veut dire regarde la valeur de la variable 1 et si ce n'est pas égal à 1 arrête.
wm_setwinner 1 --> Ce sont les alliés qui gagnent
wait 1500 --> on attend un peu
wm_endround --> on arrête la map et on affiche le résultat.

Voilà on a fini avec la partie game_manager, voyons la suite:

radarbox//Voilà notre objectif team_ctf_redflag
{
spawn
{
}

trigger stolen//si on prend l'objectif
{
setstate circuit invisible//alors on enlève l'image de la carte
}

trigger returned//si les axis reprennent l'objectif
{
setstate circuit default //on remet l'image en place
}

trigger captured// quand les alliés sécurisent l'objectif
{
trigger truckbox visible//on change l'apparence de l'objectif rouge transparent
trigger truckboxtrans invisible
}
}

truckbox//on initialise l'arrivée de l'objectif par défaut
{
spawn
{
wait 50
setstate truckbox invisible
accum 1 set 0//Dès que l'objectif est ramené cette valeur est changé à 1
}

trigger visible// dès que les alliés sécurisent l'objectif
{
setstate truckbox default //on donne sont apparence normale à l'arrivée
accum 1 abort_if_not_equal 0//si ce n'est pas égal à 0 on ne continue pas
wm_announce "Allies have secured the Radar Parts!"

accum 1 set 1//on augmente la valeur de 1
}

trigger invisible//ci aucune des conditions ci-dessus sont remplies
{
setstate truckbox invisible//on donne l'apparence rouge transparent
}
}

truckboxtrans //l'objectif rouge transparent
{
trigger visible//par défaut est visible
{
setstate truckboxtrans default
}

trigger invisible//quand on ramène l'objectif
{
setstate truckboxtrans invisible// il devient invisible
}
}
truck_exitpoint //le trigger où sera déposé l'objectif
{
death//dès qu'on dépose on appele la fonction stolen_circuit
{
trigger game_manager stolen_circuit
}
}

Voilà, grâce à ce mini-tuto (pas si mini quand même ) Vous pourrez faire des maps à objectif à prendre, Enjoy .


----------------
Si la vie était un jeu, le paradis serait le dernier niveau...

remy
Envoyé sur :  24/8/2006 11:15
Compagnon du bâtiment
Inscrit le: 18/1/2006
De:
Envois: 139
Re: Tuto, faire des objectif à prendre.
faudrait mettre des screens sa serait beaucoup mieux
pakalatak
Envoyé sur :  24/8/2006 20:13
Accro au béton
Inscrit le: 24/12/2005
De:
Envois: 733
Re: Tuto, faire des objectif à prendre.
cool merci ! on peut utiliser un brush comme obj ?
the-mappeur
Envoyé sur :  24/8/2006 20:44
Bétonneur
Inscrit le: 26/9/2005
De: Devant mon écran
Envois: 41
Re: Tuto, faire des objectif à prendre.
Ben normalement non ce doit être un team_ctf_redflag.
Sinon transforme ton brush en model et applique-le en key model à ton team_ctf_redflag.


----------------
Si la vie était un jeu, le paradis serait le dernier niveau...

Par conversation | Les + récents en premier Sujet précédent | Sujet suivant | Top

Enregistrez-vous pour poster
 
Administré par cR4ZyB3n © 1998-2006 sur une base de XOOPS Modifications par cR4ZyB3n
Testé sur IE6 & Mozilla 1.6, optimisé pour une résolution de 1024*768



 

[3.RFPI] Clan Francais Enemy Territory