Author Topic: [Tutorial] Un flak88 ou DCA interactif  (Read 593 times)

Benjamin d

  • Poseur de brushs
  • Posts: 111
    • http://medalofhonor.ifrance.com
[Tutorial] Un flak88 ou DCA interactif
« on: July 27, 2006, 07:17:24 PM »
Voila, je commence mon premier tuto.

Faire un canon de 88

Vous avez revez de mettre un canon de 88 interactif dans votre map ? Voici comment faire :

Commencer votre map avec info_playerstart et tout ça.

Ensuite vous faite un clique droit dans la grille à l'endroi où sera votre canon de 88 et vous faite un turretweapon => german => flak88



Puis vous selectionnez cette base et vous appuyez sur la touche "N" pour faire apparaitre la fenêtre "entité" et vous tappez comme Key / Value : $targetname / flak88



Vous enregistrez et c'est fini pour la partie mapping  ;)

Passon au script il est assez simple :

(les chiffres utilisés sont les chiffres standart, vous pouvez les modifier selons ce que vous avez envi de faire  ;)  )

Après le

Quote
level waittil spawn

il vous suffit d'ajouter :

Quote
$flak88.collisionent = $flak88_collision
$flak88_turret0.collisionent = $flak88_turret_collision
$flak88 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/flak88_d.tik" $flak88_destroyed_collision

$flak88_turret0 turnspeed 15 // vitesse à laquelle le canon tourne horizontalement
$flak88_turret0 pitchspeed 7.5 // vitesse à laquelle le canon tourne verticalement
$flak88_turret0 pitchcaps "-45 10 0" // angles maxis (X Y Z) du canon
$flak88_turret0 viewjitter 7 // intensité des secousses quand on tire, plus le chiffre est élevé, plus ça secous
$flak88_turret0 firedelay 3 // temps entre chaques tirs

Voila c'est terminé enregistrez votre script, il vous reste plus qu'as aller dégommer quelques joueurs qui auront l'inprudence de passer dans votre ligne de mire  :P  .





Canon de DCA

Pour faire un canon de DCA vous devez faire dans la grille un clik droit => turretweapon => player => aagun

après vous entrez comme Key / Value : $targetname / aagun

passons à la partie scripting, vous mettez dans votre script :

après le
Quote
level waittil spawn

Quote
$aagun.collisionent = $aagun_collision
$aagun_turret0.collisionent = $aagun_turret_collision
$aagun thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_aagun_d.tik" $aagun_destroyed_collision
 
$aagun_turret0 maxyawoffset 115.0
$aagun_turret0 turnspeed 25 // vitesse à laquelle le canon tourne horizontalement
$aagun_turret0 pitchspeed 25 // vitesse à laquelle le canon tourne verticalement
$aagun_turret0 pitchcaps "-50 10 0" // angles maxis (X Y Z) du canon
$aagun_turret0 viewjitter 1 // intensité des secousses quand on tire, plus le chiffre est élevé, plus ça secous
$aagun_turret0 firedelay 0.08 // temps entre chaques tirs
$aagun immune aagun



Et bien sur pour terminer la map à télécharger : url suprimé

Voila j'éspère que mon premier tutorial vous as plus, désolé pour les fautes d'orthographe  :lol:  , et j'éspère que tout le monde à compris.

@+                                    Benjamin d
« Last Edit: August 07, 2006, 10:49:21 AM by Benjamin d »
La défaite n'est pas une option

Benjamin d

  • Poseur de brushs
  • Posts: 111
    • http://medalofhonor.ifrance.com
[Tutorial] Un flak88 ou DCA interactif
« Reply #1 on: July 27, 2006, 11:27:28 PM »
Oups, je me suis apperçu de quelques érreur dans mon tuto que j'ai modifié, donc ce qui ont imprimé et/ou enregistré, bref ce qui ont pris mon tuto avant ma dernière édition du poste auront quelque "bugs".  ;)


Voici les erreur que j'ai corrigé :


-Ajout dans le script de  :
Quote
$flak88.collisionent = $flak88_collision
$flak88_turret0.collisionent = $flak88_turret_collision
$flak88 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/flak88_d.tik" $flak88_destroyed_collision

cela permet de voir le canon de 88 détruit une fois ses points de vie à zero

-Ajout dans le script de :
Quote
$aagun.collisionent = $aagun_collision
$aagun_turret0.collisionent = $aagun_turret_collision
$aagun thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/p_aagun_d.tik" $aagun_destroyed_collision

pareil qu'anvant cela permet de visualiser le canon de DCA détruit



-Encore une autre erreur : pour la base du flak88 il faut créer un
"turretweapon" => "german" => "flak88" sinon vous au lieu d'un 88 interactif vous auriez un 88 détruit et "non solide".
La défaite n'est pas une option

bazan_private

  • Tailleur de maps
  • Posts: 275
    • http://
[Tutorial] Un flak88 ou DCA interactif
« Reply #2 on: July 28, 2006, 08:40:12 PM »
Merci pour le tuto.
Je voudrais aussi savoir comment tu fais pour les mortiers et lse nebelwerfer.
Est-ce qu'on peut insérer les modèles par le script ou doit-on passer par le logiciel de mapping.
Parceque moi je voudrais rajouter ces pièces d'artillerie sur des maps qui ne sont pas de moi...
[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]


Benjamin d

  • Poseur de brushs
  • Posts: 111
    • http://medalofhonor.ifrance.com
[Tutorial] Un flak88 ou DCA interactif
« Reply #3 on: July 28, 2006, 10:47:05 PM »
pour les mortiers ça doit être, clique droit : addon => turretweapon => grenade lancheur
Je sais pu c'est quoi précisément sinon pour les inserer par le script je sais pas faudrais que j'essai  ;)

Et pour le nebelwerfer j'ai pas trouvé.

Désolé mais je peux pas t'aider pour l'instant, je part une semaine en vacance  ;) .
La défaite n'est pas une option

sangoku

  • Poseur de brushs
  • Posts: 138
    • http://www.aniema.fr
[Tutorial] Un flak88 ou DCA interactif
« Reply #4 on: August 04, 2006, 02:18:01 AM »
dit quand je fait clic droit et turretweapon je n'est pas flak88 moi ! fin comme toi tu peu avoir , et je n'est pas non plus le player donc doije faire quoi pour l'avoir ou alors tu à un truc en plus ?

aussi ton lien vers ton pk3 ne fonctionne pas il m'affiche error 404

snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
[Tutorial] Un flak88 ou DCA interactif
« Reply #5 on: August 04, 2006, 11:33:09 PM »
Ce tuto est pour Sh nan? Ca marche sur AA?

bazan_private

  • Tailleur de maps
  • Posts: 275
    • http://
[Tutorial] Un flak88 ou DCA interactif
« Reply #6 on: August 06, 2006, 09:06:57 PM »
Es-tu revenu de ta petite semaine de vacances?  :lol:  ;)
Si tu as une idée de comment procéder pour faire ce que tu fais mais sans passer par le mapping, seulement par le scrippting.
[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]


Benjamin d

  • Poseur de brushs
  • Posts: 111
    • http://medalofhonor.ifrance.com
[Tutorial] Un flak88 ou DCA interactif
« Reply #7 on: August 06, 2006, 11:38:01 PM »
Quote
Es-tu revenu de ta petite semaine de vacances?  
Si tu as une idée de comment procéder pour faire ce que tu fais mais sans passer par le mapping, seulement par le scrippting.

Oui ça y est je suis de retour  :D

Pour repondre à ta question je vais chercher mais je sais pas si c'est possible  ;)

En + faut que je remette des images et des mots en couleurs, expliquer un peu mieu mon tuto !!!  :(  Parceque je viens de le relire, c'est pas terrible !

Quote
Ce tuto est pour Sh nan? Ca marche sur AA?

Je sais pas je test toujours mes maps avec moh "l'offensive" j'ai pas essayé avec AA.  :(  
« Last Edit: August 10, 2006, 11:21:29 AM by Benjamin d »
La défaite n'est pas une option

zerocool

  • Apprenti poseur de brushs
  • Posts: 87
    • http://
[Tutorial] Un flak88 ou DCA interactif
« Reply #8 on: August 09, 2006, 08:09:54 PM »
Slt

deja GG pour le tuto :) . et maintenant ma petite erreur  :(

quand le canon et detruie il disparait et le canon qui devrait etre detrui ne le remplace pas g rien a la place , sa vient de quoi ??

@++
®©

Benjamin d

  • Poseur de brushs
  • Posts: 111
    • http://medalofhonor.ifrance.com
[Tutorial] Un flak88 ou DCA interactif
« Reply #9 on: August 11, 2006, 07:23:56 PM »
Je sais pas j'ai moi même quelques problèmes.  <_<  
La défaite n'est pas une option

bazan_private

  • Tailleur de maps
  • Posts: 275
    • http://
[Tutorial] Un flak88 ou DCA interactif
« Reply #10 on: December 17, 2006, 09:53:07 PM »
As-tu trouvé pour l'isnertion par le script? moi j'ai essayé ça :

Code: [Select]
main:

level.script = maps/dm/bobdm02.scr
level.music = mp_brest_dm

// set scoreboard messages
setcvar "g_obj_alliedtext1" "Band of Brothers"
setcvar "g_obj_alliedtext2" "Modification"
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" "June 5, 1944"
setcvar "g_obj_axistext2" "Normandy France"
setcvar "g_obj_axistext3" "Farm"

setcvar "g_scoreboardpic" "bobdm02"

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

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

exec global/ambient.scr


level waittill spawn
    
$flak88.collisionent = $flak88_collision
$flak88_turret0.collisionent = $flak88_turret_collision
$flak88 thread global/stationaryweapons.scr::MountedStationaryWeaponWithCollision "models/statweapons/flak88_d.tik" $flak88_destroyed_collision

$flak88_turret0 turnspeed 15
$flak88_turret0 pitchspeed 7.5
$flak88_turret0 pitchcaps "-45 10 0"
$flak88_turret0 viewjitter 7
$flak88_turret0 firedelay 3

//INIT
thread wheel
thread wheel2
thread flywheel
thread flywheel2
thread sounds
thread flak88_base
thread flak88_turret

end

wheel:
$wheel bind $pole
$pole rotatey 20

end

flywheel:
$arm1 bind $hub
$arm2 bind $hub
$arm3 bind $hub
$arm4 bind $hub
$hub rotatex 20

end

wheel2:
$wheel2 bind $pole2
$pole2 rotatey 20

end

flywheel2:
$arm12 bind $hub2
$arm22 bind $hub2
$arm32 bind $hub2
$arm42 bind $hub2
$hub2 rotatex 20

end

sounds:
local.cricket = spawn script_model  
local.cricket model "fx/cricket.tik"
local.cricket.origin = ( 3544 3704 8)

local.cricket2 = spawn script_model  
local.cricket2 model "fx/cricket.tik"
local.cricket2.origin = ( 592 3896 8)

local.cricket3 = spawn script_model  
local.cricket3 model "fx/cricket.tik"
local.cricket3.origin = ( 2512 968 8)

local.cricket4 = spawn script_model  
local.cricket4 model "fx/cricket.tik"
local.cricket4.origin = ( 712 -3640 8)

local.cricket5 = spawn script_model  
local.cricket5 model "fx/cricket.tik"
local.cricket5.origin = ( -4616 -2664 8)
end

flak88_base:
local.flak = spawn script_model "targetname" "base"
local.flak model "statweapons/P_flak88.tik"
local.flak.origin = ( 1847.82 3172.27 8.13 )
local.flak.scale = 1.0

end

flak88_turret:
local.flak = spawn script_model "targetname" "flak88"
local.flak model "statweapons/P_flak88_cannon.tik"
local.flak.origin = ( 1847.82 3172.27 56.13 )
local.flak.scale = 1.0

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

Le canon apparaît mais n'est pas interactif.
[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]


bazan_private

  • Tailleur de maps
  • Posts: 275
    • http://
[Tutorial] Un flak88 ou DCA interactif
« Reply #11 on: December 19, 2006, 09:38:21 PM »
J'ai réussi par le script a insérer un flak88.
Le truc qui me chiffonne c'est que cette ligne de code ne marche pas sur toutes les maps.
J'ai essayé d'insérer le flak sur la map "tractor work". Est-elle optimisée pour Sh? je ne sais pas. Voilà le script.
Le morceau en rouge illustre les lignes que j'ai rajouté.

Quote
// The Dzerhezinsky Tractor Works
// ARCHITECTURE: Mark "Slyk" Dittman
// SCRIPTING: Mark "Slyk" Dittman

main:

   // set scoreboard messages
   setcvar "g_obj_alliedtext1" "Comrads -"
   setcvar "g_obj_alliedtext2" "Defend the Complex"
   setcvar "g_obj_alliedtext3" "to the last man!"
   setcvar "g_obj_axistext1" " "
   setcvar "g_obj_axistext2" "Wehrmacht Soldaten -"
   setcvar "g_obj_axistext3" "Clear the Factory Complex!"
   
   setcvar "g_scoreboardpic" "MP_TractorWorks_DM"

exec global/exploder.scr
   

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

waitthread Spawnflak
   
   //*** Precache Dm Stuff
   exec global/DMprecache.scr
   
   level.script = "maps/dm/MP_TractorWorks_DM.scr"
   exec global/ambient.scr MP_TractorWorks_DM


$world farplane_color "0.756863 0.796078 0.815686"
level.fogplane = 6144
$world farplane level.fogplane


   
   level waittill spawn
   
//for(local.playernum = 1; local.playernum <= $player.size; local.playernum++)
  //$player[local.playernum] stufftext "tmstartloop sound/music/mus_06a_mystery.mp3"
  // jv_map: hehe this is my own crap. Won't work when new players join :(

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 = 15 // round time limit in minutes
   level.clockside = kills // set to axis, allies, kills, or draw

   level waittill roundstart

end


//////////////////  Vertical Door Thread /////////////////

updoorsound:
   $updoor_trigger waittill trigger
   local.player = parm.other
   $updoor open local.player
   $updoor playsound door_vault_roll_open
end

////////////////////

axis_take_admin_start:
  while(1)
  {
    $admin_trigger waittill trigger

    local.player = parm.other

    if (local.player.dmteam == axis)
    {
      waitthread axis_take_admin
      break
    }
    waitframe
  }
end

axis_take_admin:
   iprintlnbold "The GERMANS have captured the Administration Building!"
   iprintlnbold "The Allies have lost their foward SPAWN LOCATIONS!"

   $spawn_allied1 disablespawn
   $spawn_allied2 enablespawn
end

////////////////////


//-----------------------------------
//Allies Win!
//-----------------------------------
AlliesWon:

   $player nodamage // jv_map: which player? well might work actually for all players
   $player hide
   freezeplayer // jv_map: does this work?

   forcemusic aux3 aux3 // jv_map: the sound file cannot be read from a .pk3 file!
   
   teamwin allies

   wait 20 // jv_map: uhm, wait for what?

end
//////////////////////////////////////////


//-----------------------------------
//Axis Win!
//-----------------------------------
AxisWon:

   $player nodamage
   $player hide
   freezeplayer

   forcemusic aux5 aux5

   teamwin axis

   wait 20

end
//////////////////////////////////////////

Spawnflak:

spawn statweapons/P_flak88 "targetname" "flakcannon" "classname" "turretweapon_german_flak88"
$flakcannon.origin = ( 4335.6 540.7 64.2 ) //set your origin
$flakcannon.angles = ( 2.1 178.3 0.0 )
$flakcannon_turret0 maxyawoffset 80 // changed 35
$flakcannon_turret0 pitchcaps "-50 50 -50" // changed "-20 20 0"
$flak88_turret0 turnspeed 15
$flak88_turret0 pitchspeed 7.5
$flak88_turret0 pitchcaps "-45 10 0"
$flak88_turret0 viewjitter 7
$flak88_turret0 firedelay 3
$flakcannon_turret0.collisionent = $flak88_turret_collision
$flakcannon.collisionent = $flak88_collision
//$flakcannon nodamage

end


Si je rajoute ces mêmes lignes sur une autre map comme la map 3 du pack band of brother (la batterie de flak si ça vous dit quelque chose) ça ne marche.

Quelqu'un aurait une explication?
 
[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]


snaky

  • Squatteur de forum
  • ****
  • Posts: 3332
    • http://profparty.forumpro.fr
[Tutorial] Un flak88 ou DCA interactif
« Reply #12 on: December 19, 2006, 09:54:49 PM »
spawn statweapons/P_flak88

c'est pas plutot:

spawn statweapons/P_flak88.tik

???



Quote
"classname" "turretweapon_german_flak88"

On évite de déclarer des classnames à tt bout de champs apres le "waittill spawn"...


Quote
$flakcannon_turret0 pitchcaps "-50 50 -50" // changed "-20 20 0"
$flak88_turret0 turnspeed 15

Ton entité a changé de nom entre temps ^^ Conserve le premier ($flakcannon_turret0 et non $flak_turret0)
« Last Edit: December 19, 2006, 09:56:17 PM by snaky »

bazan_private

  • Tailleur de maps
  • Posts: 275
    • http://
[Tutorial] Un flak88 ou DCA interactif
« Reply #13 on: December 19, 2006, 10:05:27 PM »
Quote
spawn statweapons/P_flak88

c'est pas plutot:

spawn statweapons/P_flak88.tik

???
Ben... Je sais pas. ça marche. J'ai trouvé ça sur un forum anglais.

Quote
//for(local.playernum = 1; local.playernum <= $player.size; local.playernum++)
  //$player[local.playernum] stufftext "tmstartloop sound/music/mus_06a_mystery.mp3"
  // jv_map: hehe this is my own crap. Won't work when new players join

Cette ligne était d'origine sur le script. Ne sachant pas à quoi cela correspondait je n'ai pas touché.

Et pour les entités c'est effectivement un problème de copier coller.

Par contre sur mon post précédent je me suis peut-être mal exprimé.
Le script que je vous présente fonctionne.

J'ai essayé sur l'autre map que j'ai décris la map 3 de bandmap.
J'ai crampé pendant 3 jours pour essayer d'insérer; rien.
Aujourd'hui j'ai essayé sur tractor work; ça marche du premier coup. Du coup je regarde sur le script. Je met les lignes de bandmap comme sur tractorwork, j'essaye et ô miracle ça marche!
J'ai juste réagencé certains éléments.

Si vous voulez je mettrais le script de bandmap avant après et peut-être trouverez-vous l'endroit où ça coince.
« Last Edit: December 19, 2006, 10:06:34 PM by bazan_private »
[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]