Author Topic: [Tutorial] Artillerie interactive par le script  (Read 567 times)

bazan_private

  • Tailleur de maps
  • Posts: 275
    • http://
[Tutorial] Artillerie interactive par le script
« on: December 20, 2006, 06:35:02 PM »
Nous allons apprendre ici comment insérer l'artillerie interactive c'est à dire que l'on peut utiliser. Il s'agit de quatre éléments : le flak88, l'AAgun, le nebelwerfer et le grantwerfer (le mortier).
Je précise que ce tutorial ne vaut que pour MOH SH et MOH BT.

Tout d'abord le script général. Après de longs tatonnements j'ai finalement réussi à comprendre que l'agencemetn des lignes de codes avait son importance. Ainsi lorsque vous rédigerez votre .scr il faut que le lignes soient placées de cette façon :

Quote
// MAMAP
// ARCHITECTURE: MOI MEME
// SCRIPTING: MOI MEME ITOU

main:

// set scoreboard messages
setcvar "g_obj_alliedtext1" "Ma map"
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""

setcvar "g_scoreboardpic" "mamap"

exec global/exploder.scr

   // call additional stuff for playing this map round based is needed
   if(level.roundbased)
  thread roundbasedthread

level waitTill prespawn

waitthread <nom du thread>

//*** Precache Dm Stuff
exec global/DMprecache.scr

level.script = "maps/dm/mamap.scr"
level.music = mp_brest_dm
exec global/ambient.scr

level waittill spawn

end

//-----------------------------------------------------------------

roundbasedthread:

// Can specify different scoreboard messages for round based games here.
   
level waitTill prespawn

level waittill spawn

// set the parameters for this round based match
level.dmrespawning = 0 // 1 or 0
level.dmroundlimit = 5 // round time limit in minutes
level.clockside = kills // set to axis, allies, kills, or draw

level waittill roundstart

end

<nom du thread>:
[...]
end
[/color][/b]

- Insérer un flak88



Quote
level waitTill prespawn

waitthread flak

               Version été

Quote
flak:
spawn statweapons/P_flak88 "targetname" "flak88" "classname" "turretweapon_german_flak88"
$flak88.origin = ( -814.9 2808.7 0.1 ) //set your origin
$flak88.angles = ( -3.3 -102.3 0.0 )
$flak88_turret0 maxyawoffset 80 // changed 35
$flak88_turret0 turnspeed 15
$flak88_turret0 pitchspeed 7.5
$flak88_turret0 pitchcaps "-45 10 0"
$flak88_turret0 viewjitter 7
$flak88_turret0 firedelay 3
$flak88_turret0.collisionent = $flak88_turret_collision
$flak88.collisionent = $flak88_collision
$flak88 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/flak88_d.tik" $flak88_destroyed_collision
end

               Version hiver

Quote
flak:
spawn statweapons/P_flak88_s "targetname" "flak88" "classname" "turretweapon_german_flak88-snowy"
$flak88.origin = ( -814.9 2808.7 0.1 ) //set your origin
$flak88.angles = ( -3.3 -102.3 0.0 )
$flak88_turret0 maxyawoffset 80 // changed 35
$flak88_turret0 turnspeed 15
$flak88_turret0 pitchspeed 7.5
$flak88_turret0 pitchcaps "-45 10 0"
$flak88_turret0 viewjitter 7
$flak88_turret0 firedelay 3
$flak88_turret0.collisionent = $flak88_turret_collision
$flak88.collisionent = $flak88_collision
$flak88 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/flak88_d.tik" $flak88_destroyed_collision
end

- Insérer un AAgun



Version été

Quote
aagun:
spawn statweapons/P_aagun_base "targetname" "aagun" "classname" "turretweapon_player_aagun"
$aagun.origin = ( -1115.4 2874.1 0.1 ) //set your origin
$aagun.angles = ( -3.3 -102.3 0.0 )
$aagun_turret0 maxyawoffset 115.0
$aagun_turret0 turnspeed 25
$aagun_turret0 pitchspeed 25
$aagun_turret0 pitchcaps "-50 10 0"
$aagun_turret0 viewjitter 1
$aagun_turret0 firedelay 0.08
$aagun_turret0.collisionent = $aagun_turret_collision
$aagun.collisionent = $aagun_collision
$aagun thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_aagun_d.tik" $aagun_destroyed_collision
end

Version hiver
Quote
aagun:
spawn statweapons/P_aagun_base_w "targetname" "aagun" "classname" "turretweapon_player_aagun-winter"
$aagun.origin = ( -1115.4 2874.1 0.1 ) //set your origin
$aagun.angles = ( -3.3 -102.3 0.0 )
$aagun_turret0 maxyawoffset 115.0
$aagun_turret0 turnspeed 25
$aagun_turret0 pitchspeed 25
$aagun_turret0 pitchcaps "-50 10 0"
$aagun_turret0 viewjitter 1
$aagun_turret0 firedelay 0.08
$aagun_turret0.collisionent = $aagun_turret_collision
$aagun.collisionent = $aagun_collision
$aagun thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_aagun_d.tik" $aagun_destroyed_collision
end

- Insérer un nebelwerfer
Seul la version hiver est disponible si vous trouvez le moyen d'utiliser la version d'été n'hésitez pas!  ;)



Quote
nebel:
spawn statweapons/P_nebelwerfer "targetname" "nebelwerfer" "classname" "turretweapon_german_nebelwerfer-w"
$nebelwerfer.origin = ( -1493.2 2956.5 0.1 ) //set your origin
$nebelwerfer.angles = ( -3.3 -102.3 0.0 )
$nebelwerfer.collisionent = $nebelwerfer_collision
$nebelwerfer_turret0.collisionent = $nebelwerfer_turret_collision
$granat_1 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/nebelwerfer_d.tik"
end

- Insérer un mortier



Version été

Quote
granat:
spawn statweapons/P_granatwerfer_base "targetname" "granat_1" "classname" "addon_turretweapon_german_granatwerfer"
$granat_1.origin = ( -1942.9 3054.5 0.1 ) //set your origin
$granat_1.angles = ( -3.3 -102.3 0.0 )
$granat_1_turret0 maxyawoffset "40"
$granat_1.collisionent = $granatwerfer_collision
$granat_1_turret0.collisionent = $granatwerfer_turret_collision
$granat_1 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_granatwerfer_d.tik" $granatwerfer_destroyed_collision
end

Version hiver

Quote
granat:
spawn statweapons/P_granatwerfer_w_base "targetname" "granat_1" "classname" "addon_turretweapon_german_granatwerfer-snowy"
$granat_1.origin = ( -1942.9 3054.5 0.1 ) //set your origin
$granat_1.angles = ( -3.3 -102.3 0.0 )
$granat_1_turret0 maxyawoffset "40"
$granat_1.collisionent = $granatwerfer_collision
$granat_1_turret0.collisionent = $granatwerfer_turret_collision
$granat_1 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_granatwerfer_d.tik" $granatwerfer_destroyed_collision
end

Voilà! Si vous détruisez une de ces pièces il se peut que plusieurs d'entre elles disparaissent! Tout simplement parceque certains n'otn pas de .tik représentant la pièce détruite. C'est le cas pour le flak88 et le nebelwerfer. Si pour le flak j'ai trouvé le .tik sur MOHDA je n'ai pas réussi pour le nebelwerfer.

Bon j'espère avoir été lisible et clair.
[size=9]Vous n'avez jamais vu une bille? Un bricolo du mapping? Le Type qui bidouille un peu et qui arrive à un résultat pas trop dégueulasse? C'est moi!...[/size]