Discuter:Command post
Un article de Wiki-Mapping.
Version du 28 octobre 2006 à 14:22 (modifier) Tok (Discuter | contribs) M (Sauvegarde du travail effectuer) ← Différence précédente |
Version du 28 octobre 2006 à 14:58 (modifier) (défaire) Tok (Discuter | contribs) M (Sauvegade du travail effectué) Différence suivante → |
||
Ligne 31: | Ligne 31: | ||
Très important elle avoir une [[Liste_des_commandes#construction_class|construction_class]] de 2 . | Très important elle avoir une [[Liste_des_commandes#construction_class|construction_class]] de 2 . | ||
- | Donc nous allons faire une ensemble de brush avec la texture '''clip'''(des textures '''common''') qui représente un '''command post''' ouvert, que vous pouvez trouvez dans le fichier .map à la fin. N'oublions surtout pas le brush origine généralement un brush de 16*16*16 avec la texture '''origin''' (des textures '''common'')placé hors des clips , au-dessus, qui facilite la selection de l'entité mais surtout qui est obligatoire ! | + | Donc nous allons faire une ensemble de brush avec la texture '''clip''' (des textures '''common''') qui représente un '''command post''' ouvert, que vous pouvez trouvez dans le fichier .map à la fin. N'oublions surtout pas le brush origine généralement un brush de 16*16*16 avec la texture '''origin''' (des textures '''common''')placé hors des clips , au-dessus, qui facilite la selection de l'entité mais surtout qui est obligatoire ! |
[[Image:Tuto_hq_func_contructible.jpg]] | [[Image:Tuto_hq_func_contructible.jpg]] | ||
Ligne 125: | Ligne 125: | ||
*Un gamemodel:(cp ouvert) | *Un gamemodel:(cp ouvert) | ||
- | #'''model''': | + | |
- | #'''skin''': | + | #'''model''':models/mapobjects/radios_sd/compostalliedopened.md3 |
- | #'''targetname''': | + | #'''skin''':models/mapobjects/radios_sd/compostalliedopened.skin |
- | #'''scriptname''': | + | #'''targetname''':allied_hqradio_openbuilt_model |
+ | #'''scriptname''':allied_hqradio_openbuilt_model | ||
#'''modelscale''':1.5 | #'''modelscale''':1.5 | ||
*Un gamemodel:(cp détruit) | *Un gamemodel:(cp détruit) | ||
- | #'''model''': | + | #'''model''':models/mapobjects/radios_sd/compostallieddamaged.md3 |
- | #'''skin''': | + | #'''skin''':models/mapobjects/radios_sd/compostallieddamaged.skin |
- | #'''targetname''': | + | #'''targetname''':allied_hqradio_damaged_model |
- | #'''scriptname''': | + | #'''scriptname''':allied_hqradio_damaged_model |
#'''modelscale''':1.5 | #'''modelscale''':1.5 | ||
+ | |||
+ | *Un trigger_objective_info: | ||
+ | #'''scriptname''':allied_hqradio_toi | ||
+ | #'''target''':allied_hqradio | ||
+ | #'''track''':Allied command post | ||
+ | #'''shortname''':Allied CP | ||
+ | #'''spawnflags''':64(traduit par la case is_commandpost cochée) | ||
+ | |||
+ | |||
+ | == Script == | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | game_manager | ||
+ | { | ||
+ | spawn | ||
+ | { | ||
+ | wm_axis_respawntime 5 | ||
+ | wm_allied_respawntime 5 | ||
+ | } | ||
+ | } | ||
+ | |||
+ | allied_hqradio_damaged_clip | ||
+ | { | ||
+ | spawn | ||
+ | { | ||
+ | wait 200 | ||
+ | setstate allied_hqradio_damaged_clip invisible | ||
+ | setstate allied_radio_destroyed_model invisible | ||
+ | } | ||
+ | trigger hide | ||
+ | { | ||
+ | setstate allied_hqradio_damaged_clip invisible | ||
+ | setstate allied_radio_destroyed_model invisible | ||
+ | } | ||
+ | trigger show | ||
+ | { | ||
+ | setstate allied_hqradio_damaged_clip default | ||
+ | setstate allied_hqradio_damaged_model default | ||
+ | } | ||
+ | } | ||
+ | |||
+ | allied_hdradio_closed_clip | ||
+ | { | ||
+ | spawn | ||
+ | { | ||
+ | wait 200 | ||
+ | setstate allied_hdradio_closed_clip default | ||
+ | setstate allied_hqradio_closed_modell default | ||
+ | } | ||
+ | trigger hide | ||
+ | { | ||
+ | setstate allied_hdradio_closed_clip invisible | ||
+ | setstate allied_hqradio_closed_model invisible | ||
+ | } | ||
+ | trigger show | ||
+ | { | ||
+ | setstate allied_hdradio_closed_clip default | ||
+ | setstate allied_hqradio_closed_model default | ||
+ | } | ||
+ | } | ||
+ | |||
+ | allied_hqradio_openbuilt | ||
+ | { | ||
+ | spawn | ||
+ | { | ||
+ | wait 400 | ||
+ | constructible_class 2 | ||
+ | trigger allied_hqradio_openbuilt setup | ||
+ | } | ||
+ | |||
+ | trigger setup //On donne les valeur de base au temps de charge. | ||
+ | { | ||
+ | setchargetimefactor 1 soldier 1 | ||
+ | setchargetimefactor 1 lieutenant 1 | ||
+ | setchargetimefactor 1 medic 1 | ||
+ | setchargetimefactor 1 engineer 1 | ||
+ | setchargetimefactor 1 covertops 1 | ||
+ | sethqstatus 1 0 | ||
+ | } | ||
+ | |||
+ | buildstart final | ||
+ | { | ||
+ | trigger allied_hqradio_openbuilt_model trans | ||
+ | trigger allied_hqradio_damaged_clip hide | ||
+ | trigger allied_hqradio_closed_clip hide | ||
+ | } | ||
+ | |||
+ | decayed final | ||
+ | { | ||
+ | trigger allied_hqradio_openbuilt_model hide | ||
+ | trigger allied_hqradio_closed_clip show | ||
+ | } | ||
+ | |||
+ | built final | ||
+ | { | ||
+ | trigger allied_hqradio_openbuilt_model show | ||
+ | trigger allied_hqradio_closed_clip hide | ||
+ | trigger allied_radio_damaged_clip hide | ||
+ | |||
+ | trigger allied_radio_built_model enable_allied_features // On appel le "boost" des temps de charge. | ||
+ | enablespeaker alliedhq_sound | ||
+ | } | ||
+ | |||
+ | death | ||
+ | { | ||
+ | trigger allied_hqradio_openbuilt_model hide | ||
+ | trigger allied_radio_destroyed show | ||
+ | |||
+ | trigger allied_hqradio_openbuilt_model disable_allied_features // On appel le "deboost" des temps de charges. | ||
+ | disablespeaker alliedhq_sound | ||
+ | } | ||
+ | } | ||
+ | |||
+ | allied_hqradio_openbuilt_model | ||
+ | { | ||
+ | spawn | ||
+ | { | ||
+ | wait 400 | ||
+ | setstate allied_hqradio_openbuilt_model invisible | ||
+ | |||
+ | } | ||
+ | |||
+ | trigger show | ||
+ | { | ||
+ | setstate allied_hqradio_openbuilt_model default | ||
+ | } | ||
+ | |||
+ | trigger hide | ||
+ | { | ||
+ | setstate allied_hqradio_openbuilt_model invisible | ||
+ | } | ||
+ | |||
+ | trigger trans | ||
+ | { | ||
+ | setstate allied_hqradio_openbuilt_model underconstruction | ||
+ | } | ||
+ | |||
+ | trigger enable_allied_features | ||
+ | { | ||
+ | //----------------------------------------------------------------------- | ||
+ | // Increase Allies charge times | ||
+ | //----------------------------------------------------------------------- | ||
+ | setchargetimefactor 1 soldier 0.75 | ||
+ | setchargetimefactor 1 lieutenant 0.75 | ||
+ | setchargetimefactor 1 medic 0.75 | ||
+ | setchargetimefactor 1 engineer 0.75 | ||
+ | setchargetimefactor 1 covertops 0.75 | ||
+ | sethqstatus 1 1 | ||
+ | |||
+ | // *----------------------------------- vo ------------------------------------------* | ||
+ | wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies" | ||
+ | |||
+ | wm_teamvoiceannounce 1 "allies_hq_compost_constructed" | ||
+ | |||
+ | wm_removeteamvoiceannounce 1 "allies_hq_compost_construct" | ||
+ | // *---------------------------------------------------------------------------------* | ||
+ | |||
+ | wm_objective_status 7 1 1 | ||
+ | wm_objective_status 7 0 2 | ||
+ | wm_announce "Allied Command Post constructed. Charge speed increased!" | ||
+ | |||
+ | accum 0 bitset 0 | ||
+ | } | ||
+ | |||
+ | trigger disable_allied_features | ||
+ | { | ||
+ | //----------------------------------------------------------------------- | ||
+ | // Decrease Allies charge times | ||
+ | //----------------------------------------------------------------------- | ||
+ | setchargetimefactor 1 soldier 1 | ||
+ | setchargetimefactor 1 lieutenant 1 | ||
+ | setchargetimefactor 1 medic 1 | ||
+ | setchargetimefactor 1 engineer 1 | ||
+ | setchargetimefactor 1 covertops 1 | ||
+ | sethqstatus 1 1 | ||
+ | |||
+ | // *----------------------------------- vo ------------------------------------------* | ||
+ | wm_teamvoiceannounce 1 "allies_hq_compost_damaged" | ||
+ | |||
+ | wm_addteamvoiceannounce 1 "allies_hq_compost_construct" | ||
+ | // *---------------------------------------------------------------------------------* | ||
+ | |||
+ | wm_announce "Axis team has destroyed the Allied Command Post!" | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </pre> |
Version du 28 octobre 2006 à 14:58
Note: Je commence la rédaction du tuto sur la partie théorique, je vais tacher de respecter le très bon format proposez par psylopat !
Sommaire |
Description
Voilà nous allons nous attaquer au command post, alors il y a 2 types de command post:
- les command post exclusif à une équipe.
- les command post "neutre".
Ils permettent d'augmenter le temps de rechargement de l'équipe qui la construite, et peut être utilisé pour d'autres avantages ( ex: donner un spawn).
Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image
Command post exclusif
Entitées requises
Pour réaliser notre command post nous allons devoir utilisé une flotte d'entitées, pour ne pas nous y perdre les voici dans un joli organigramme :
Nota: le trigger_objectif_info n'est pa représenté car il n'intervient pas dans le script.
func_constructible
Une fonction contructible qui sera en fait le groupe de clip du command post ouvert, c'est la seule entitée sur laquelle les joueurs peuvent agir depuis le jeu.
Très important elle avoir une construction_class de 2 .
Donc nous allons faire une ensemble de brush avec la texture clip (des textures common) qui représente un command post ouvert, que vous pouvez trouvez dans le fichier .map à la fin. N'oublions surtout pas le brush origine généralement un brush de 16*16*16 avec la texture origin (des textures common)placé hors des clips , au-dessus, qui facilite la selection de l'entité mais surtout qui est obligatoire !
Misc_gammemodel
Les gammemodels sont plus que de simple model car eux on peut les animés et/ou les faire apparaitrent/disparaitrent grâce au script. Nous allons donc avoir besoin de plusieurs model de ce type, les clefs importantes:
- targetname: (ex:)
- scriptname: (ex:)
- model (ex:)
- skin (ex:)
- modelscale : 1.5 (Très important sinon vous aurez un command post taille hobbit)
les clefs model & skin peuvent prendre plusieurs valeur selon qu l'on souhaite un command post , neutre,allié ouvert, axis cassé, etc ...
En voici la liste par regroupement:
*models\mapobjects\radios_sd\compostalliedclosed.md3 | Model du 'command post' allié fermé. *models\mapobjects\radios_sd\compostalliedclosed.skin | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostallieddamaged.md3 | Model du 'command post' allié détruit. *models\mapobjects\radios_sd\compostallieddamaged.skin | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostalliedopened.md3 | Model du 'command post' allié ouvert. *models\mapobjects\radios_sd\compostalliedopened.skin | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostaxisclosed.md3 | Model du 'command post' axis fermé. *models\mapobjects\radios_sd\compostaxisclosed.skin | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostaxisdamaged.md3 | Model du 'command post' axis détruit. *models\mapobjects\radios_sd\compostaxisdamaged.skin | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostaxisopened.md3 | Model du 'command post' axis ouvert. *models\mapobjects\radios_sd\compostaxisopened.skin | Le 'skin' équivalent .
*models\mapobjects\radios_sd\compostneutralclosed.md3 | Model du 'command post' neutre, toujours fermé. *models\mapobjects\radios_sd\compostneutralclosed.skin | Le 'skin' équivalent .
Script_mover
Ici les script_mover nous serviront juste à "clipé" notre command post dans les états détruit, fermé et en construction. On les fera apparaitre et disparaitre pour nos besoin. On aura donc besoin de plusieurs scritp_mover, les clefs importantes:
- targetname: (ex:)
- scriptname: (ex:)
Les 'script_mover' seront un groupe de brush de la forme voulue (ex:fermé), ils devront comme la 'func_constructible' possedé un brush origine de 16*16*16 avec la texture origin' (des textures common) placé hors des clips, au-dessus, ce qui facilitera la selection mais il est surtout obligatoire !
Trigger_objective_info (TOI)
L'entité target_objective_info sert à positionner le command post sur la carte il définit aussi à partir d'où les ingénieurs pourront construire notre command post.
Il doit donc englober nos entitées et posséder un brush origine de 16*16*16 avec la texture origin' (des textures common) placé hors des clips, au-dessus, ce qui est surtout obligatoire !
Image Image Image |
|
Liste des entitées et leur clefs
- Une func_construcible: de la forme d'un "cp" ouvert.
- scriptname:allied_hqradio_openbuilt
- targetname:allied_hqradio
- spawnflags:8(ce traduit par la case allied_constructible cochée)
- Un script_mover: de la forme d'un cp fermé.
- scriptname:allied_hdradio_closed_clip
- targetname:allied_hdradio_closed_clip
- spawnflags:2(traduit par la case solid de cochée)
- Un script_mover: de la forme d'un "cp" cassé.
- scriptname:allied_hqradio_damaged_clip
- targetname:allied_hqradio_damaged_clip
- spawnflags:2(traduit par la case solid de cochée)
- Un gamemodel:(cp fermé)
- model:models/mapobjects/radios_sd/compostalliedclosed.md3
- skin:models/mapobjects/radios_sd/compostalliedclosed.skin
- targetname:allied_hqradio_closed_model
- scriptname:allied_hqradio_closed_model
- modelscale:1.5
- Un gamemodel:(cp ouvert)
- model:models/mapobjects/radios_sd/compostalliedopened.md3
- skin:models/mapobjects/radios_sd/compostalliedopened.skin
- targetname:allied_hqradio_openbuilt_model
- scriptname:allied_hqradio_openbuilt_model
- modelscale:1.5
- Un gamemodel:(cp détruit)
- model:models/mapobjects/radios_sd/compostallieddamaged.md3
- skin:models/mapobjects/radios_sd/compostallieddamaged.skin
- targetname:allied_hqradio_damaged_model
- scriptname:allied_hqradio_damaged_model
- modelscale:1.5
- Un trigger_objective_info:
- scriptname:allied_hqradio_toi
- target:allied_hqradio
- track:Allied command post
- shortname:Allied CP
- spawnflags:64(traduit par la case is_commandpost cochée)
Script
game_manager { spawn { wm_axis_respawntime 5 wm_allied_respawntime 5 } } allied_hqradio_damaged_clip { spawn { wait 200 setstate allied_hqradio_damaged_clip invisible setstate allied_radio_destroyed_model invisible } trigger hide { setstate allied_hqradio_damaged_clip invisible setstate allied_radio_destroyed_model invisible } trigger show { setstate allied_hqradio_damaged_clip default setstate allied_hqradio_damaged_model default } } allied_hdradio_closed_clip { spawn { wait 200 setstate allied_hdradio_closed_clip default setstate allied_hqradio_closed_modell default } trigger hide { setstate allied_hdradio_closed_clip invisible setstate allied_hqradio_closed_model invisible } trigger show { setstate allied_hdradio_closed_clip default setstate allied_hqradio_closed_model default } } allied_hqradio_openbuilt { spawn { wait 400 constructible_class 2 trigger allied_hqradio_openbuilt setup } trigger setup //On donne les valeur de base au temps de charge. { setchargetimefactor 1 soldier 1 setchargetimefactor 1 lieutenant 1 setchargetimefactor 1 medic 1 setchargetimefactor 1 engineer 1 setchargetimefactor 1 covertops 1 sethqstatus 1 0 } buildstart final { trigger allied_hqradio_openbuilt_model trans trigger allied_hqradio_damaged_clip hide trigger allied_hqradio_closed_clip hide } decayed final { trigger allied_hqradio_openbuilt_model hide trigger allied_hqradio_closed_clip show } built final { trigger allied_hqradio_openbuilt_model show trigger allied_hqradio_closed_clip hide trigger allied_radio_damaged_clip hide trigger allied_radio_built_model enable_allied_features // On appel le "boost" des temps de charge. enablespeaker alliedhq_sound } death { trigger allied_hqradio_openbuilt_model hide trigger allied_radio_destroyed show trigger allied_hqradio_openbuilt_model disable_allied_features // On appel le "deboost" des temps de charges. disablespeaker alliedhq_sound } } allied_hqradio_openbuilt_model { spawn { wait 400 setstate allied_hqradio_openbuilt_model invisible } trigger show { setstate allied_hqradio_openbuilt_model default } trigger hide { setstate allied_hqradio_openbuilt_model invisible } trigger trans { setstate allied_hqradio_openbuilt_model underconstruction } trigger enable_allied_features { //----------------------------------------------------------------------- // Increase Allies charge times //----------------------------------------------------------------------- setchargetimefactor 1 soldier 0.75 setchargetimefactor 1 lieutenant 0.75 setchargetimefactor 1 medic 0.75 setchargetimefactor 1 engineer 0.75 setchargetimefactor 1 covertops 0.75 sethqstatus 1 1 // *----------------------------------- vo ------------------------------------------* wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies" wm_teamvoiceannounce 1 "allies_hq_compost_constructed" wm_removeteamvoiceannounce 1 "allies_hq_compost_construct" // *---------------------------------------------------------------------------------* wm_objective_status 7 1 1 wm_objective_status 7 0 2 wm_announce "Allied Command Post constructed. Charge speed increased!" accum 0 bitset 0 } trigger disable_allied_features { //----------------------------------------------------------------------- // Decrease Allies charge times //----------------------------------------------------------------------- setchargetimefactor 1 soldier 1 setchargetimefactor 1 lieutenant 1 setchargetimefactor 1 medic 1 setchargetimefactor 1 engineer 1 setchargetimefactor 1 covertops 1 sethqstatus 1 1 // *----------------------------------- vo ------------------------------------------* wm_teamvoiceannounce 1 "allies_hq_compost_damaged" wm_addteamvoiceannounce 1 "allies_hq_compost_construct" // *---------------------------------------------------------------------------------* wm_announce "Axis team has destroyed the Allied Command Post!" } }