Ajouter ses propres sons de portes fermer.
Pour plus de clarté mise en place de codes couleurs.
Les lignes de codes (donc ici les lignes de script) sont en gris.
Les répertoires et noms de fichiers sont en bleu.
Les caractères < et > indiques les termes que vous devez remplacés intégralement avec vos valeurs. Par ex : <votre_son.wav> sera remplacé par porte5.wav.
Voici la procédure à suivre pour modifier les sons des portes fermées.
Il vous faut tout d'abord un son de porte, que vous placerez dans le répertoire main\sound\<votre_dossier>\votre_son.wav

Le script ubersound.scr

Récupérez le fichier \ubersound\ubersound.scr dans le fichier main\pak0.pk3 et ajoutez la ligne suivante à la fin de celui-ci :
aliascache porte_bois_fermee sound// soundparms 1.8 0.1 1.0 0.0 160 1600 item loaded maps "dm obj"
C'est presque fini pour le ubersound.scr modifié. Il ne vous reste qu'à le copier dans votre pk3 final en respectant l'arborescence d'origine (comme dans le pak0.pk3) pour que tout le monde profite de ce nouveau son.

Le script door_locked.scr

Vous devez maintenent éditer le fichier global\door_locked.scr. Il y a deux paragraphes à ajouter pour chaque nouveau son. Le premier en MAUVE pour assigner le trigger_use au nouveau son, le second en JAUNE qui est la boucle de déclenchement.

//**********************************************************************
//*** locked sounds for doors - Revu pas Amigos3D (CASKAMI Prod.)
//*** place a trigger_use in front of the door you want to be locked
//*** make the targetname of the trigger 'door_locked'
//*** add a keyvalue to the trigger of $type [wood | metal | metal_garage]
//*** if you put nothing, then wood is default
//**********************************************************************
lock:
for (local.i = 1 ; local.i <= $door_locked.size ; local.i ++)
{
if ($door_locked[local.i].type == "large")
{
$door_locked[local.i] thread door_locked_large
}
else if ($door_locked[local.i].type == "metal")
{
$door_locked[local.i] thread door_locked_metal
}
else if ($door_locked[local.i].type == "metal_garage")
{
$door_locked[local.i] thread door_locked_metal_garage
}
else if ($door_locked[local.i].type == "porte_bois") // c'est le type du trigger_use.
{
$door_locked[local.i] thread porte_fermee // renvoie a la boucle de déclenchement
}
else
{
$door_locked[local.i] thread door_locked_wood
}
}
end

//****************************************
//*** play a locked sound for metal doors
//****************************************
door_locked_large:

door_locked_large_loop:
local.self waittill trigger
local.self playsound gate_large_locked
//thread global/message_print.scr::message "Door locked - Porte fermee" 1
wait .4
goto door_locked_large_loop

end

//****************************************
//*** play a locked sound for metal doors
//****************************************
door_locked_metal:

door_locked_metal_loop:
local.self waittill trigger
local.self playsound door_metal_locked
//thread global/message_print.scr::message "Door locked - Porte fermee" 1
wait .4
goto door_locked_metal_loop

end

//*******************************************
//*** play a locked sound for metal garage doors
//*******************************************
door_locked_metal_garage:

door_locked_metal_garage_loop:
local.self waittill trigger local.self playsound garagedoor_locked //thread global/message_print.scr::message "Door locked - Porte ferme" 1 wait .4
goto door_locked_metal_garage_loop

end

//****************************************
//*** play a locked sound for wood doors
//****************************************
door_locked_wood:

door_locked_wood_loop:
local.self waittill trigger
local.self playsound door_wood_locked2
//thread global/message_print.scr::message "Door locked - Porte fermee" 1
wait 0.4
goto door_locked_wood_loop

end

//******************************************
//*** play a new locked sound for doors
//******************************************
porte_fermee:

door_wood_loop:
local.self waittill trigger
local.self playsound porte_bois_fermee
//thread global/message_print.scr::message "Door locked - Porte fermee" 1
wait 0.4
goto door_wood_loop

end

Enregistrez le tout puis ajoutez le fichier \global\door_locked.scr à votre fichier pk3 (comme pour le ubersound.scr). Vous pouvez ajouter autant de sons que vous le désirez (enfin dans une limite raisonnable).
Dans la map
Créez un trigger_use en face de votre porte avec les données suivantes :

KEY : targetname VALUE : door_locked

et

KEY : $type VALUE : porte_bois

( Vous vous souvenez? porte_bois C'est le nom que vous avez ajouté dans la partie en MAUVE ).
Et voila. Il n'y a plus qu'a compiler le tout !

Par Amigos3D 2003 - Copyright © by CaskAmi Prod. Tout droit réservé.

Retour à la liste des tutoriels
Copyright Amigos3D © 2018 - Auteur: Amigos3D
Tous droit reserve, reproduction partiele ou totale interdite sans mon accord prealable.
Politique de confidentialité.