TeaM KingS
[center]Ola Convidado, seja bem vindo ao TeaM KingS !

Nós temos tutoriais sobre o WarCraft World Editor: se você tiver alguma duvida pode perguntar que os moderadores ou membros experientes vão lhe ajudar.

Para melhor utilizar nossos recursos é extremamente recomendado que esteja logado em nosso fórum e que leia o nosso regulamento oficial.

Também temos fóruns sobre DotA AllstarS, com guias, estratégias, e muito mais!



[Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por Staar. em 2010-10-07, 11:33

Introdução do sistema
O mais nova tecnologia de Cinematic no World Editor (WE). Um Cinema avançado e muito bom de uso e concerteza mais complicado e que usa variables. Para ser ezato, usam-se 52 variables!

Tutorial do Sistema
1º Passo
Criando as Variables:
Variable Name: cinS_act_colourA
Variable Type: Real Array (1)

Variable Name: cinS_act_colourB
Variable Type: Real Array (1)

Variable Name: cinS_act_colourG
Variable Type: Real Array (1)

Variable Name: cinS_act_colourR
Variable Type: Real Array (1)

Variable Name: cinS_act_colourTime
Variable Type: Real Array (1)

Variable Name: cinS_act_colourVA
Variable Type: Real Array (1)

Variable Name: cinS_act_colourVB
Variable Type: Real Array (1)

Variable Name: cinS_act_colourVG
Variable Type: Real Array (1)

Variable Name: cinS_act_colourVR
Variable Type: Real Array (1)

Variable Name: cinS_act_groups
Variable Type: Unit Group Array (1)

Variable Name: cinS_act_moveAZ
Variable Type: Real Array (1)

Variable Name: cinS_act_moveTime
Variable Type: Real Array (1)

Variable Name: cinS_act_moveVX
Variable Type: Real Array (1)

Variable Name: cinS_act_moveVY
Variable Type: Real Array (1)

Variable Name: cinS_act_moveVZ
Variable Type: Real Array (1)

Variable Name: cinS_act_moveX
Variable Type: Real Array (1)

Variable Name: cinS_act_moveY
Variable Type: Real Array (1)

Variable Name: cinS_act_moveZ
Variable Type: Real Array (1)

Variable Name: cinS_act_sizeS
Variable Type: Real Array (1)

Variable Name: cinS_act_sizeTime
Variable Type: Real Array (1)

Variable Name: cinS_act_sizeVS
Variable Type: Real Array (1)

Variable Name: cinS_act_turnFi
Variable Type: Real Array (1)

Variable Name: cinS_act_turnTime
Variable Type: Real Array (1)

Variable Name: cinS_act_turnVFi
Variable Type: Real Array (1)

Variable Name: cinS_actor
Variable Type: Unit Array (1)

Variable Name:cinS_cam_accprim
Variable Type: Real Array (1)

Variable Name: cinS_cam_accsec
Variable Type: Real Array (1)

Variable Name: cinS_cam_endtime
Variable Type: Real Array (1)

Variable Name: cinS_cam_fadeUnit
Variable Type: Unit

Variable Name: cinS_cam_ignoreTerrain
Variable Type: Boolean

Variable Name: cinS_cam_OvRangEndtime
Variable Type: Real

Variable Name: cinS_cam_OvRangSmooth
Variable Type: Boolean

Variable Name: cinS_cam_OvRangTime
Variable Type: Real

Variable Name: cinS_cam_OvRangUnitPrim
Variable Type: Unit

Variable Name: cinS_cam_OvRangUnitSec
Variable Type: Unit

Variable Name: cinS_cam_OvRoffset
Variable Type: Real Array (1)

Variable Name: cinS_cam_OvRxyzEndtime
Variable Type: Real

Variable Name: cinS_cam_OvRxyzSmooth
Variable Type: Boolean

Variable Name: cinS_cam_OvRxyzTime
Variable Type: Real

Variable Name: cinS_cam_OvRxyzUnitPrim
Variable Type: Unit

Variable Name: cinS_cam_OvRxyzUnitSec
Variable Type: Unit

Variable Name: cinS_cam_startval
Variable Type: Real Array (1)

Variable Name: cinS_cam_startvel
Variable Type: Real Array (1)

Variable Name: cinS_cam_time
Variable Type: Real Array (1)

Variable Name: cinS_cam_trigger
Variable Type: Trigger

Variable Name: cinS_camera
Variable Type: Camera Object Array (1)

Variable Name: cinS_displaySubtitles
Variable Type: Boolean

Variable Name: cinS_effect
Variable Type: Special Effect Array (1)

Variable Name: cinS_effectCount
Variable Type: Integer

Variable Name: cinS_effectFree
Variable Type: Integer Array (1)

Variable Name: cinS_GC
Variable Type: Game Cache

Variable Name: cinS_tempPoint
Variable Type: Point
Pronto, as 52 Variables estão prontas
2º Passo
Crie as Cameras nos locais desejados
3º Passo
Criando as Triggers
E cria 1 Categoria chamada: Needed Variables for Cinematic System
E as triggers dentro dela:
Needed Variables for Cinematic System
Events
Conditions
cinS_actor[0] Equal to No unit
cinS_act_moveX[0] Equal to cinS_act_moveVX[0]
cinS_act_moveY[0] Equal to cinS_act_moveVY[0]
cinS_act_moveZ[0] Equal to cinS_act_moveVZ[0]
cinS_act_moveAZ[0] Equal to cinS_act_moveTime[0]
cinS_act_turnFi[0] Equal to cinS_act_turnVFi[0]
cinS_act_sizeS[0] Equal to cinS_act_sizeVS[0]
cinS_act_turnTime[0] Equal to cinS_act_sizeTime[0]
cinS_act_colourA[0] Equal to cinS_act_colourVA[0]
cinS_act_colourR[0] Equal to cinS_act_colourVR[0]
cinS_act_colourG[0] Equal to cinS_act_colourVG[0]
cinS_act_colourB[0] Equal to cinS_act_colourVB[0]
cinS_act_colourTime[0] Equal to (Load a of b from cinS_GC)
cinS_cam_startval[0] Equal to cinS_cam_startvel[0]
cinS_cam_accprim[0] Equal to cinS_cam_accsec[0]
cinS_cam_time[0] Equal to cinS_cam_endtime[0]
cinS_cam_OvRangUnitPrim Equal to cinS_cam_OvRangUnitSec
cinS_cam_OvRxyzUnitPrim Equal to cinS_cam_OvRxyzUnitSec
cinS_cam_OvRangEndtime Equal to cinS_cam_OvRangTime
cinS_cam_OvRxyzEndtime Equal to cinS_cam_OvRxyzTime
cinS_cam_OvRangSmooth Equal to cinS_cam_OvRxyzSmooth
cinS_cam_OvRoffset[0] Equal to 0.00
cinS_cam_ignoreTerrain Equal to cinS_displaySubtitles
cinS_effectCount Equal to cinS_effectFree[0]
Actions
Set cinS_cam_trigger = (This trigger)
Set cinS_tempPoint = (Center of (Playable map area))
Set cinS_cam_fadeUnit = No unit
Set cinS_camera[0] = (Current camera)
Set cinS_act_groups[0] = (Last created unit group)
Set cinS_effect[0] = (Last created special effect)
-------- TRIGGER FOR AUTO-GENERATION OF NEEDED VARIABLES --------
-------- First of all, have "Automatically create unknown variables while pasting trigger data" ON in your editor's prefferences dialog --------
-------- Then copy this trigger to the map where you want to create the needed variables --------
-------- All the variables needed for this system to run should now be in your map, you can remove this trigger from it --------
(Clique na imagem abaixo para amplia-la)
.

Agora crie uma pasta com nome: Example
E dentro dela, uma Trigger "Comments" chamada: Usage Sample
Abaixo crie 1 trigger chamada: Sample Initialization
Com as triggers
Sample Initialization
Events
Map initialization
Conditions
Actions
Custom script: call InitCinematicSystem()
Custom script: call ActorCreate(Player(0), 1, 'Edem') //demon hunter
Custom script: call ActorCreate(Player(0), 2, 'Udre') //dreadlord
Custom script: call ActorCreate(Player(0), 3, 'earc') //the archer that dies at the start
Custom script: call ActorCreate(Player(0), 4, 'earc') //archer 2
Custom script: call ActorCreate(Player(0), 5, 'earc') //archer 3
Custom script: call ActorCreate(Player(0), 6, 'esen') //huntress 1
Custom script: call ActorCreate(Player(0), 7, 'esen') //huntress 2
Custom script: call ActorCreate(Player(0), 8, 'e002') //demon hunter portrait
Custom script: call ActorCreate(Player(0), 9, 'e001') //dreadlord portrait
Custom script: call ActorWalkProperties( 'Edem', 8, 0.867, 300) //setup the demon hunter walk properties
Cinematic - Turn cinematic mode On for (All players)
Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
Set cinS_camera[1] = Camera 001
Set cinS_camera[2] = Camera 002
Set cinS_camera[3] = Camera 003
Set cinS_camera[4] = Camera 004
Set cinS_camera[5] = Camera 005
Sound - Stop music Immediately
Sound - Clear the music list
Sound - Stop music Immediately
Sound - Disable dawn and dusk sounds
Environment - Set sky to Felwood Sky
Custom script: call StopSound(bj_nightAmbientSound, true, true)
Custom script: call StopSound(bj_dayAmbientSound, true, true)
(Clique na imagem abaixo para amplia-la)


Agora cria mais uma trigger, chamada: Sample PlayMovie
Com as seguintes triggers dentro
Sample PlayMovie
Events
Time - Elapsed game time is 1.00 seconds
Conditions
Actions
Cinematic - Fade in over 0.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
Custom script: call PlayScene(1)
(Clique na imagem abaixo para amplia-la)


Agora crie mais uma trigger com o nome: Sample Scene 1
Porem esta será diferente, esta você terá que copiar o codigo pois é em JASS.
Spoiler:
Código:
//TESH.scrollpos=0
http://TESH.alwaysfold=0
//It's always useful to have a copy of the list of scripting functions near:

//function ScriptNextScene takes real time returns nothing

//function ScriptExternalFunc takes real time, string funcName returns nothing
//function ScriptPlaySound takes real time, string path, real pitch, integer volume returns nothing
//function ScriptPointEffect takes real time, real x, real y, real z, string path, real duration returns nothing
//function ScriptActEffect takes real time, integer actor, string path, string attachpoint, real duration returns nothing

//function ScriptActAbilityLvl takes real time, integer actor, integer abilityID, integer level returns nothing

//function ScriptActAnimPlay takes real time, integer actor, integer animationID, real animationBlend returns nothing
//function ScriptActAnimReset takes real time, integer actor returns nothing
//function ScriptActAnimSpeed takes real time, integer actor, real speed returns nothing
//function ScriptActSlide takes real time, integer actor, real x, real y, real duration, real g returns nothing
//function ScriptActWalk takes real time, integer actor, real x, real y, real duration, real animationBlend returns nothing
//function ScriptActTurn takes real time, integer actor, real destAng, real duration, integer clockwise returns nothing
//function ScriptActFace takes real time, integer actor, integer destActor, integer headORchest, real xoff, real yoff, real zoff, real animationBlend returns nothing
//function ScriptActFaceReset takes real time, integer actor, real animationBlend returns nothing
//function ScriptActColour takes real time, integer actor, real red, real green, real blue, real opacity, real duration returns nothing
//function ScriptActSize takes real time, integer actor, real size, real duration returns nothing

//function ScriptCamera takes real time, integer camera, real duration, integer changeType returns nothing
//function ScriptCameraStat takes real time, integer statID, real duration, real endValue, real endSpeed, integer changeType returns nothing
//function ScriptCameraIgnoreTerrain takes real time, boolean ignore returns nothing
//function ScriptActCameraLock takes real time, integer actor, real xoff, real yoff, real zoff, boolean smooth, real duration returns nothing
//function ScriptActCameraLockReset takes real time, boolean smooth, real duration returns nothing
//function ScriptActCameraFace takes real time, integer actor, real xoff, real yoff, real zoff, boolean smooth, real duration returns nothing
//function ScriptActCameraFaceReset takes real time, boolean smooth, real duration returns nothing
//function ScriptFog takes real time, real startZ, real endZ, real red, real green, real blue, real duration returns nothing
//function ScriptFade takes real time, real red, real green, real blue, real opacity, real duration returns nothing

//function ScriptSubtitleLine takes real time, string line returns nothing
//function ScriptSubtitleClear takes real time returns nothing


function InitActorColour takes nothing returns nothing
    //Demon Hunter
    call SetUnitColor(udg_cinS_actor[1], GetPlayerColor(Player(12)))
    //Dreadlord
    call SetUnitColor(udg_cinS_actor[2], GetPlayerColor(Player(12)))
    //Night Elves
    call SetUnitColor(udg_cinS_actor[3], GetPlayerColor(Player(10)))
    call SetUnitColor(udg_cinS_actor[4], GetPlayerColor(Player(10)))
    call SetUnitColor(udg_cinS_actor[5], GetPlayerColor(Player(10)))
    call SetUnitColor(udg_cinS_actor[6], GetPlayerColor(Player(10)))
    call SetUnitColor(udg_cinS_actor[7], GetPlayerColor(Player(10)))
    //portraits
    //call SetUnitColor(udg_cinS_actor[8], GetPlayerColor(Player(12)))
    call SetUnitColor(udg_cinS_actor[9], GetPlayerColor(Player(12)))
endfunction

function MusicStart takes nothing returns nothing
    call SetSoundPitch(gg_snd_PursuitTheme, 0.8)
    call StartSound(gg_snd_PursuitTheme)
endfunction
function MusicStop takes nothing returns nothing
    call StopSound(gg_snd_PursuitTheme, false, true)
endfunction

function Lightning1 takes nothing returns nothing
    set bj_lastCreatedLightning = AddLightningEx("CHIM", false, -400,3000,3000, -100,3000,1050)
endfunction
function LightningCleanup takes nothing returns nothing
    call DestroyLightning(bj_lastCreatedLightning)
endfunction

function Scene1Part1 takes nothing returns nothing
    local real t=0.0 //Lets us easily move whole segments of actions around

    call WriteToScene(1) //Tells the system to save the actions to scene 1 (DO NOT FORGET THIS)

    call ScriptCamera(t+0.0, 1, 1.0, 1) //Change the camera instantly to camera[1]
    call ScriptFog(t+0.0, 100.0, 5000.0, 15,15,16, 0) //Setup starting fog
    call ScriptFade(t+0.0, 0,0,0,100, 0.0)
    call ScriptExternalFunc(t+0.0, "InitActorColour")

    call ScriptExternalFunc(t+0.0, "MusicStop") //stop the music

    //Init dreadlord
    call ScriptActAnimPlay(t+0.0, 2, 0, 0.15) //Let the dreadlord play his stand - 1 animation only (Stand - 1 is animationID 0)
    call ScriptActAnimSpeed(t+0.0, 2, 1.0) //Set the animation speed of the dreadlord to 100% (1.0)
    call ScriptActSlide(t+0.0, 2, 800, -1600, 0.0, 0.0) //Instantly moves the dreadlord
    call ScriptActTurn(t+0.0, 2, 320.00, 0, 0) //Makes the dread lord face 320 degrees
    call ScriptActSlide(t+0.0, 9, -3000,0, 0.0, 0.0) //put the portrait in a place where it won't bother us

    //Init demon hunter
    call ScriptActAnimPlay(t+0.0, 1, 0, 0.15) //Let the demon hunter play his stand - 1 animation only (Stand - 1 is animationID 0)
    call ScriptActAnimSpeed(t+0.0, 1, 0.5) //Set the animation speed of the demon hunter to 50% (0.5)
    call ScriptActSlide(t+0.0, 1, 450, 1100, 0.0, 0.0) //Instantly moves the demon hunter
    call ScriptActTurn(t+0.0, 1, 270.00, 0, 0) //Makes the demon hunter face 270 degrees
    call ScriptActSlide(t+0.0, 8, -3000,0, 0.0, 0.0) //put the portrait in a place where it won't bother us
   
    //Init dying nightelves
    call ScriptActSlide(t+0.0, 3, 1100, -1850, 0.0, 0.0)//archer1
    call ScriptActTurn(t+0.0, 3, 120.00, 0, 0)

    //play the death animation on the rest
    call ScriptActAnimPlay(t+0.2, 4, 4, 0.15) //archer2
    call ScriptActAnimPlay(t+0.2, 5, 4, 0.15) //archer3
    call ScriptActAnimPlay(t+0.2, 6, 3, 0.15) //huntress1
    call ScriptActAnimPlay(t+0.2, 7, 3, 0.15) //huntress2
    //move them into positions after they have died
    call ScriptActSlide(t+2.0, 4, 500, -1850, 0.0, 0.0)//archer2
    call ScriptActTurn(t+2.0, 4, 70.00, 0, 0)
    call ScriptActSlide(t+2.0, 5, 300, -1750, 0.0, 0.0)//archer3
    call ScriptActTurn(t+2.0, 5, 300.00, 0, 0)
    call ScriptActSlide(t+2.0, 6, 350, -1600, 0.0, 0.0)//huntress1
    call ScriptActTurn(t+2.0, 6, 0.00, 0, 0)


    //scene opens with archer's death
    call ScriptPlaySound(t+0.8, "Units\\Undead\\Varimathras\\VarimathrasYes2.wav", 1.10, 127)
    call ScriptSubtitleLine(t+1.0, "Stay out of my way!")
    call ScriptSubtitleClear(t+3.2)

    call ScriptActAnimPlay(t+2.0, 2, 10, 0.15) //dreadlord attack 2
    call ScriptActAnimSpeed(t+2.7, 2, 0.0) //stop the animation mid-attack

    call ScriptActAnimPlay(t+2.5, 3, 4, 0.15) //Death animation for the archer
    call ScriptActAnimSpeed(t+2.9, 3, 0.75) //slow down the animation slightly
    call ScriptFade(t+2.8, 0,0,0,0, 1.0) //fade in, showing archer die
    call ScriptExternalFunc(t+3.0, "MusicStart") //start the music

    call ScriptActAnimSpeed(t+5.0, 2, 0.1) //slowly resume dreadlord stand position
    call ScriptActAnimSpeed(t+6.0, 2, 0.25)
    call ScriptActAnimSpeed(t+7.0, 2, 0.5)
    call ScriptActAnimPlay(t+7.2, 2, 0, 0.25) //Let the dreadlord play his stand - 1 animation only (Stand - 1 is animationID 0)

    //Camera shows the other dead night elves around the dreadlord
    call ScriptActCameraLock(t+8.0, 2, 0,0,200, false, 0.0)
    call ScriptActCameraFace(t+8.0, 3, 0,0,0, false, 0.0)
    call ScriptCameraStat(t+8.0, 9, 0.0, 200.0,0.0, 1) //9-distance to target, 1-instant change
    call ScriptActCameraFace(t+8.1, 3, -500,0,0, true, 8.0)
    call ScriptCameraStat(t+8.1, 9, 6.0, 1000.0,0.0, 2) //increase the distance to target over time
    call ScriptActAnimPlay(t+9.5, 2, 2, 0.25) //dreadlord looks around (stand-2 animation)
    call ScriptActTurn(t+9.5, 2, 270.00, 1.5, 0)
    call ScriptActAnimPlay(t+9.5+(2.933/0.5), 2, 1, 0.25) //back to stand-1 animation when stand-2 finishes
    call ScriptActFace(t+9.8, 2,4, 0, 0,0,0, 0.5) //look at the other corpses
    call ScriptActTurn(t+13.8, 2, 300.00, 1.0, 0)
    call ScriptActFaceReset(t+15.5, 2, 0.5)

    //The demon hunter challenges the dreadlord
    call ScriptActCameraLock(t+16.2, 2, 20,0,170, false, 0.0) //Show the dreadlord's back as he is spoken to
    call ScriptActCameraFace(t+16.2, 2, 50,-300,150, false, 0.0)
    call ScriptCameraStat(t+16.2, 9, 0.0, 200.0,0.0, 1) //close up
    call ScriptCameraStat(t+16.5, 9, 5.0, 600.0,0.0, 3) //zoom out slowly again

    call ScriptPlaySound(t+16.5, "Sound\\Dialogue\\NightElfCampaign\\NightElf06\\N06Illidan22.mp3", 1.25, 96)
    call ScriptSubtitleLine(t+16.5, "Let's see how confident you are against one of your own kind, Dreadlord!")
    call ScriptSubtitleClear(t+21.0)
   
    call ScriptActAnimSpeed(t+16.8, 2, 0.0) //dreadlord freezes a bit as he hears the voice
    call ScriptActAnimSpeed(t+17.6, 2, 0.5)
    call ScriptActTurn(t+17.8, 2, 100.0, 2.0, 0) //Make the dread lord turn towards the demon hunter
    call ScriptActFace(t+17.7, 2,1, 0, 0,0,100, 0.75) //Make the dreadlord face the demon hunter

    //zoom in on the demon hunter
    call ScriptCamera(t+22.0, 2, 1.0, 1) //Change the camera instantly to camera[2]
    call ScriptActCameraLockReset(t+22.0, false, 0.0) //reset camera lock
    call ScriptActCameraFaceReset(t+22.0, false, 0.0)

    call ScriptFog(t+24.5, 100.0, 5000.0, 35,35,40, 0) //lightning strike
    call ScriptExternalFunc(t+24.5, "Lightning1")
    call ScriptFade(t+24.5, 90,90,96,10, 0.0)
    call ScriptFog(t+24.6, 100.0, 5000.0, 15,15,16, 0) //back to default fog and fade
    call ScriptExternalFunc(t+24.6, "LightningCleanup")
    call ScriptFade(t+24.6, 0,0,0,0, 0.0)
    call ScriptPlaySound(t+24.8, "Doodads\\Cinematic\\Lightningbolt\\LightningBolt1.wav", 1.0, 120 )
   
    call ScriptCameraStat(t+24.7, 9, 0.0, 1500.0,0.0, 1) //9-distance to target, 1-instant change
    call ScriptCameraStat(t+27.4, 9, 0.0, 650.0,0.0, 1) //9-distance to target, 1-instant change

    call ScriptFog(t+26.0, 100.0, 5000.0, 43,43,50, 0) //lightning strike
    call ScriptFade(t+26.0, 90,90,96,10, 0.0)
    call ScriptFog(t+26.1, 100.0, 5000.0, 15,15,16, 0) //back to default fog and fade
    call ScriptFade(t+26.1, 0,0,0,0, 0.0)

    call ScriptFog(t+26.5, 100.0, 5000.0, 35,35,40, 0) //lightning strike
    call ScriptFade(t+26.5, 90,90,96,10, 0.0)
    call ScriptFog(t+26.6, 100.0, 5000.0, 15,15,16, 0) //back to default fog and fade
    call ScriptFade(t+26.6, 0,0,0,0, 0.0)
    call ScriptPlaySound(t+26.9, "Doodads\\Cinematic\\Lightningbolt\\LightningBolt1.wav", 0.75, 90 )

    //show the dreadlord portrait
    call ScriptActSlide(t+29.0, 9, 800+512, -1600-512, 0.0, 0.0) //put the portrait into position
    call ScriptActTurn(t+29.0, 9, 90.00, 0, 0)
    call ScriptActSize(t+29.0, 9, 2.0, 0)
    call ScriptCamera(t+29.5, 3, 1.0, 1) //Change the camera instantly to camera[3]
    call ScriptPlaySound(t+29.5, "Units\\Undead\\Varimathras\\VarimathrasYes4.wav", 1.10, 96)
    call ScriptActAnimSpeed(t+29.5, 9, 0.25)
    call ScriptActAnimPlay(t+29.6, 9, 1, 0.15) //dreadlord portrait talk animation
    call ScriptSubtitleLine(t+29.7, "Right...")
    call ScriptActAnimPlay(t+30.5, 9, 0, 0.15) //dreadlord portrait stand animation
    call ScriptSubtitleClear(t+30.7)
    call ScriptActSlide(t+31.0, 9, -3000,0, 0.0, 0.0) //put the portrait in a place where it won't bother us

    //show the demon hunter portrait
    call ScriptActSlide(t+30.0, 8, 450, 1100+256, 0.0, 0.0) //put the portrait into position
    call ScriptActTurn(t+30.0, 8, 270.00, 0, 0)
    call ScriptActSize(t+30.0, 8, 2.0, 0)
    call ScriptCamera(t+30.8, 4, 1.0, 1) //Change the camera instantly to camera[4]
    call ScriptPlaySound(t+31.0, "Units\\NightElf\\Illidan\\IllidanYesAttack2.wav", 0.92, 127)
    call ScriptActAnimPlay(t+31.0, 8, 1, 0.15) //demon hunter portrait talk animation
    call ScriptSubtitleLine(t+31.1, "Die fool!")
    call ScriptActAnimPlay(t+32.0, 8, 0, 0.15) //demon hunter portrait stand animation
    call ScriptSubtitleClear(t+32.0)
    call ScriptActSlide(t+32.1, 8, 450, 1100+128, 0.8, 0.0) //move portrait forward right before the camera change
    call ScriptActSlide(t+32.2, 8, -3000,0, 0.0, 0.0) //put the portrait in a place where it won't bother us

    call ScriptActFaceReset(t+24.0, 2, 0.5)
   
    call ExecuteFunc("Scene1Part2")
endfunction

//we break up the initialization into multiple functions
//for organizational reasons and to avoid hitting the threadlimit

function Scene1Part2 takes nothing returns nothing
    local real t = 32.0
    local integer i = 0

    //we re-setup the actor positions so we can use PlaySceneFromTime at this point when testing:
    call ScriptActSlide(t+0.0, 2, 800, -1600, 0.0, 0.0)
    call ScriptActTurn(t+0.0, 2, 100.00, 0, 0)
    call ScriptActSlide(t+0.0, 1, 450, 1100, 0.0, 0.0)

    //the demon hunter charges towards the dreadlord, who begins channeling a spell
    call ScriptFog(t+0.5, 100.0, 5000.0, 43,43,50, 0) //lightning strike
    call ScriptFade(t+0.5, 90,90,96,10, 0.0)
    call ScriptFog(t+0.6, 100.0, 5000.0, 15,15,16, 0) //back to default fog and fade
    call ScriptFade(t+0.6, 0,0,0,0, 0.0)
    call ScriptPlaySound(t+1.2, "Doodads\\Cinematic\\Lightningbolt\\LightningBolt1.wav", 1.0, 120 )
   
    call ScriptCamera(t+0.2, 5, 1.0, 1) //Change the camera instantly to camera[5]
    call ScriptActCameraFace(t+0.2, 1, 0,-192,128, false, 0.0) //follow the demon hunter with the camera
    call ScriptActWalk(t+0.2, 1, 800, -1500, 7.0, 0.15) //demon hunter run
    call ScriptActCameraFace(t+0.3, 2, -256,0,-128, true, 3.2) //focus from the demon hunter to dreadlord
    call ScriptActAnimSpeed(t+2.3, 2, 0.25) //slow down the start of the animation so it seems like the dread lord is gathering energy
    call ScriptActAnimPlay(t+2.4, 2, 6, 0.15) //dreadlord spell slam animation
    call ScriptActEffect(t+2.6, 2, "Abilities\\Spells\\Other\\AcidBomb\\BottleImpact.mdl", "hand left", 1.8)
    call ScriptActEffect(t+2.6, 2, "Abilities\\Spells\\Other\\AcidBomb\\BottleImpact.mdl", "hand right", 1.8)
//    call ScriptActEffect(t+2.6, 2, "Abilities\\Spells\\Other\\Drain\\DrainTarget.mdl", "hand right", 1.8)
//    call ScriptActEffect(t+2.6, 2, "Abilities\\Spells\\Undead\\Darksummoning\\DarkSummonMissile.mdl", "hand right", 1.8)
   
    //the dreadlord unleashes the spell
    call ScriptActCameraLock(t+3.2, 2, -300,100,100, false, 0.0) //focus camera on the dreadlord
    call ScriptActCameraFace(t+3.2, 2, 0,50,50, false, 0.0)
    call ScriptCameraStat(t+3.2, 9, 0.0, 100.0,0.0, 1) //close up
    call ScriptActCameraLock(t+3.3, 2, -400,150,400, true, 3.0) //move the camera source
    call ScriptActAnimSpeed(t+4.0, 2, 1.25) //speed up the spell animation to let it finish
    call ScriptPlaySound(t+4.2, "Abilities\\Spells\\Undead\\CarrionSwarm\\CarrionSwarmDamage3.wav", 0.80, 127 ) //spell osund effect
    loop //spell effect line
        set i=i+1
        exitwhen i>= 25
        call ScriptPointEffect(t+4.3+i*0.1, 800-(12*i),-1600+(90*i),0, "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl",0.0)
    endloop

    //the demon hunter dodges
    call ScriptActCameraFace(t+4.4, 1, 0,0,70, true, 0.7) //switch camera focus to the demon hunter
    call ScriptActAnimSpeed(t+4.9, 1, 1.00) //normal animation speed
    call ScriptActAnimPlay(t+4.9, 1, 6, 0.15) //demon hunter spinning attack
    call ScriptActSlide(t+4.9, 1, 400, -1000, 1.0, 200.0)
    call ScriptActSlide(t+5.9, 1, 380, -1010, 0.25, 0.0) //slide a bit further after the jump
    call ScriptActEffect(t+5.9, 1, "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl", "origin", 0.0)

    //the two champions clash
    call ScriptActWalk(t+6.2, 1, 700, -1500, 1.3, 0.15)
    call ScriptActCameraLock(t+6.0, 2, -450,-300,80, true, 1.0) //move the camera source
    call ScriptActCameraFace(t+6.0, 1, 200,0,60, true, 1.0) //switch camera focus a bit ahead of the demon hunter to see the dreadlord as well

    call ScriptPlaySound(t+7.0, "Sound\\Interface\\BattleNetWooshStereo1.wav", 1.00, 127 ) //slow-motion effect sound
    call ScriptActCameraFace(t+7.0, 1, 100,0,60, true, 0.5*10) //as they get closer, the camera no longer needs to be focused so far ahead of the demon hunter
    call ScriptActAnimSpeed(t+7.0, 1, 0.1) //slow motion
    call ScriptActAnimPlay(t+7.0, 1, 6, 0.25) //demon hunter spinning attack
    call ScriptActSlide(t+7.0, 1, 700, -1500, 5.0, 5.0)
    call ScriptActAnimSpeed(t+7.0, 2, 0.1) //slow motion
    call ScriptActAnimPlay(t+7.0, 2, 9, 0.15) //dreadlord attack
    call ScriptActTurn(t+7.0+0.2*10, 2, 135.00, 0.3*10, 0) //dreadlord turns towards his enemy as he attacks
   
    call ScriptFade(t+10.8, 100,100,100,0, 0.0) //prepare for a white fade
    call ScriptFade(t+11.0, 100,100,100,100, 0.5) //fade out to pure white as they clash
    call ScriptFade(t+12.0, 0,0,0,100, 3.0)
    //to be continued...
    call ScriptExternalFunc(t+11.2, "MusicStop") //stop the music
    call ScriptExternalFunc(t+15.0, "Trig_EndMovie_Actions") //This function will call the GUI trigger EndMovie, remember that jass is case sensitive and forgetting about it will crash the game. Also remember to replace any spaces by _
endfunction

//===========================================================================
function InitTrig_Sample_Scene_1 takes nothing returns nothing
    set gg_trg_Sample_Scene_1 = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Sample_Scene_1, function Scene1Part1 )
endfunction
(PARA CANCELAR A CAMERA)
E agora cria 1 Trigger comments chamada: GUI Triggers called from the sample
E cria uma trigger logo abaixo chamada: EndMovie
E dentro dela:
EndMovie
Events
Player - Player 1 (Red) skips a cinematic sequence
Conditions
Actions
Cinematic - Turn cinematic mode Off for (All players)
Custom script: call CinematicCameraDisable()
Game - Victory Player 1 (Red) (Skip dialogs, Skip scores)
Bom, é isso ae.. Postado 1 video do cinematic em processo:
Spoiler:
Tá ae o Video
(Desculpe qualquer coisa do video: Piscadas: É pq meu Windows é 7 e o Warcraft III Não é 100% Suportado.
A Tela inteira. Engraçado que nunca grava dentro do Warcraft III a Tela toda.. Isso eu não sei pq, então eu dei 1 Zoom pra melhorar xD)
Créditos a: Anitarf

Status do Mapa:
Segurança: OFF
Local Started: Battle.net and Garena
Linguajar(Idioma): Português – Brasil (PT – BR)
Empresa: Staar. Productions
Link de DownLoad (DL) no EpicWar: Staar. Productions (Clique aqui para baixar o mapa)


Última edição por Staar. em 2010-10-14, 22:42, editado 3 vez(es)


Oloko bicho


  • Alguma coisa me diz que alguém vai se lembrar desse forum algum dia e vai vir dar uma olhada nele, assim como eu fiz! 11/24/2016

  • Não esqueci do forum e de ninguem daqui não! <- Isso permanece :D 11/24/2016


Staar.

Número de Posts : 408
Data de inscrição : 24/07/2010
Reputação : 14 Pontos : 12413

Warning Necropost
10 / 10010 / 100


http://www.duhdesigner.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por Raziel_br em 2010-10-07, 12:32

num é tipo..
mais fácil criar 10 câmeras não?
Very Happy

vo esperar ficar pronto primeiro

Raziel_br

Número de Posts : 3346
Data de inscrição : 22/10/2008
Reputação : 53 Pontos : 18494

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por Staar. em 2010-10-14, 13:25

Pronto, Tutorial Completo! (Uffa .. Finalmente, Que trabalheira que me deu.. '-')
Mas vlw a pena, ajuda bastante gente
(Incluido um Video do Cinematic)

Edit: *VIDEO


Oloko bicho


  • Alguma coisa me diz que alguém vai se lembrar desse forum algum dia e vai vir dar uma olhada nele, assim como eu fiz! 11/24/2016

  • Não esqueci do forum e de ninguem daqui não! <- Isso permanece :D 11/24/2016


Staar.

Número de Posts : 408
Data de inscrição : 24/07/2010
Reputação : 14 Pontos : 12413

Warning Necropost
10 / 10010 / 100


http://www.duhdesigner.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por Staar. em 2010-10-22, 17:59

er.. UP! :X
xD... UHAUAH
Pq fiz isso n sei, mas acho que ninguem viu a cinematic que está escrito (COMPLETO) ^^


Oloko bicho


  • Alguma coisa me diz que alguém vai se lembrar desse forum algum dia e vai vir dar uma olhada nele, assim como eu fiz! 11/24/2016

  • Não esqueci do forum e de ninguem daqui não! <- Isso permanece :D 11/24/2016


Staar.

Número de Posts : 408
Data de inscrição : 24/07/2010
Reputação : 14 Pontos : 12413

Warning Necropost
10 / 10010 / 100


http://www.duhdesigner.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por TroiA em 2010-10-24, 01:39

Ficou bem completo mesmo, e bem explicado LooOOooL



TroiA

Número de Posts : 4150
Data de inscrição : 14/09/2008
Reputação : 127 Pontos : 22900

Warning Necropost
0 / 1000 / 100


http://teamkings.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por Staar. em 2010-10-24, 01:41

hahaha... Vlw.. =p


Oloko bicho


  • Alguma coisa me diz que alguém vai se lembrar desse forum algum dia e vai vir dar uma olhada nele, assim como eu fiz! 11/24/2016

  • Não esqueci do forum e de ninguem daqui não! <- Isso permanece :D 11/24/2016


Staar.

Número de Posts : 408
Data de inscrição : 24/07/2010
Reputação : 14 Pontos : 12413

Warning Necropost
10 / 10010 / 100


http://www.duhdesigner.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por DarTiN em 2010-10-24, 12:19

Muito interessante o cinematic

Assim que tiver tempo vou dar uma boa olhada...

DarTiN

Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 12302

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por Raziel_br em 2010-10-27, 07:46

mais tipo, u não entendi muito bem o porque das variáveis, voce poderia explicar melhor?

Raziel_br

Número de Posts : 3346
Data de inscrição : 22/10/2008
Reputação : 53 Pontos : 18494

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por Staar. em 2010-10-27, 10:31

Bom, como eu estava digitando 1 texto bem grande e a net caiu.. achei put... sacanagem U_U
Então vo direto ao assunto.
Não fui eu que fiz esse cinematic, então não sei direito pra que tanta variable


Oloko bicho


  • Alguma coisa me diz que alguém vai se lembrar desse forum algum dia e vai vir dar uma olhada nele, assim como eu fiz! 11/24/2016

  • Não esqueci do forum e de ninguem daqui não! <- Isso permanece :D 11/24/2016


Staar.

Número de Posts : 408
Data de inscrição : 24/07/2010
Reputação : 14 Pontos : 12413

Warning Necropost
10 / 10010 / 100


http://www.duhdesigner.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por SN.Edysefer em 2013-12-03, 23:36

muito bom vou tentar fazer um desses

SN.Edysefer

Número de Posts : 93
Data de inscrição : 28/12/2012
Reputação : 1 Pontos : 8267

Warning Necropost
10 / 10010 / 100


Voltar ao Topo Ir em baixo

Re: [Tutorial] Cinematic Avançado (Atualizado e COMPLETO)

Mensagem por Conteúdo patrocinado Hoje à(s) 02:43


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum