• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

[General] 1st person + gun

Status
Not open for further replies.

sentrywiz

S

sentrywiz

I've been meaning to ask this for awhile. There was this one map where some insane genius added a 1st person and you could see the gun infront. To this day I don't know if that was a "specially made model" that the guy used with attached camera inside the unit. That or black magic I believe...

Anyway I want to try and make something similar. So please tell me how can I make that... before I resort to also try black magic.
 
Level 16
Joined
Mar 27, 2011
Messages
1,349
My guess is he used custom fade filters. You basically draw your gun then delete the blank space, creating an alpha channel. When you apply this fade filter in game, the gun will display over the top, and the warcraft 3 will bleed though the empty space.

This explains a fade filter, but doesn't explain how to use an alpha channel.

http://world-editor-tutorials.thehelper.net/fading.php
 

sentrywiz

S

sentrywiz

My guess is he used custom fade filters. You basically draw your gun then delete the blank space, creating an alpha channel. When you apply this fade filter in game, the gun will display over the top, and the warcraft 3 will bleed though the empty space.

This explains a fade filter, but doesn't explain how to use an alpha channel.

http://world-editor-tutorials.thehelper.net/fading.php

The gun had animations, so idk if this is it.
 
Level 23
Joined
Feb 6, 2014
Messages
2,466
I've been meaning to ask this for awhile. There was this one map where some insane genius added a 1st person and you could see the gun infront. To this day I don't know if that was a "specially made model" that the guy used with attached camera inside the unit. That or black magic I believe...

Anyway I want to try and make something similar. So please tell me how can I make that... before I resort to also try black magic.

It appears to be a model (unit) which is moved in front of the camera evertime it moves/turns.

FPS in wc3 is not really ideal because you can't look around (up and down) and looking controls are controlled by keyboard arrow keys not mouse. Furthermore, you can't sidestep unlike the 'A' and 'D' in FPS. If you really want an FPS game, try other game engines like Unity or Unreal. But if you want it to be on Warcraft 3, maybe try to pull it off using SharpCraft's mouse natives.
 
It appears to be a model (unit) which is moved in front of the camera evertime it moves/turns.

FPS in wc3 is not really ideal because you can't look around (up and down) and looking controls are controlled by keyboard arrow keys not mouse. Furthermore, you can't sidestep unlike the 'A' and 'D' in FPS. If you really want an FPS game, try other game engines like Unity or Unreal. But if you want it to be on Warcraft 3, maybe try to pull it off using SharpCraft's mouse natives.
Here is a good example of a smooth key movement system:



It's not that hard. It's a key movement system [q|w|e|a|s|d]. Icemanbo created a nice one for my choplifter map. You can look up and down just fine and side step all day long. FLux, you not discourage people from exploring possibilities or in this case doing something that has been done before and is actually not that difficult. XYZ movement is entirely possible:



I don't think that FPS gun is a model either. Look closely at it. It has no stand animation. There is no directional lighting. Also, it bounces with the movement system. I believe it is accomplished with a set of filters and animated by switching through the set. If you notice there are only a few reloading frames.

@sentrywiz - Check http://www.hiveworkshop.com/forums/cinematics-268/tips-tricks-cinema-39854/#F to see how to create different fade filters for different players. It's at the end of the tutorial. You might want to export a fade filter from the mpq and get it's pixel size and then make your own with the same resolution. Then import it and overwrite the pathname.

I encourage you to take this up as a project, it will be fun and you will learn a lot.
 
Level 25
Joined
May 11, 2007
Messages
4,651
It's not a model.
It's several custom filters that he plays at an interval for each action you do.

You can download the map here, just open it up and check for yourself.
http://www.hiveworkshop.com/forums/maps-564/sharpshooter-online-v1-20b-98378/

Trigger for doing the reload animation.
  • Reload A
    • Events
    • Conditions
    • Actions
      • Quest - Display to (Player group((Picked player))) the Quest Update message: (String((Remaining time for Animation_Timer[(Player number of (Picked player))])))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 1.65
        • Then - Actions
          • -------- R1 --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • introTurn Equal to 0.00
            • Then - Actions
              • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R1.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
            • Else - Actions
              • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\white_mask.blp", 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0 )
          • Unit - Order Sharpshooter[(Player number of (Picked player))] to Human Mountain King - Thunder Clap
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 1.50
        • Then - Actions
          • -------- R2 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R2.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 1.35
        • Then - Actions
          • -------- R3 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R3.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
        • Else - Actions
      • -------- Begin Loop --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 1.20
        • Then - Actions
          • -------- R4 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R4.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 1.05
        • Then - Actions
          • -------- R5 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R5.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 0.90
        • Then - Actions
          • -------- R6 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R6.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
          • Unit - Order Sharpshooter[(Player number of (Picked player))] to Human Mountain King - Activate Avatar
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 0.75
        • Then - Actions
          • -------- R7 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R7.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 0.60
        • Then - Actions
          • -------- R8 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R8.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
          • Player - Set (Picked player) Food used to (((Picked player) Food used) + 1)
          • Item - Set charges remaining in (Item carried by Sharpshooter_Interface[(Player number of (Picked player))] of type |cffffcc00Ammunition|r) to ((Charges remaining in (Item carried by Sharpshooter_Interface[(Player number of (Picked player))] of type |cffffcc00Ammunition|r)) - 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked player) Food used) Less than or equal to 4
              • (Charges remaining in (Item carried by Sharpshooter_Interface[(Player number of (Picked player))] of type |cffffcc00Ammunition|r)) Not equal to 0
            • Then - Actions
              • Set AnimationTest[(Player number of (Picked player))] = 1.20
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Charges remaining in (Item carried by Sharpshooter_Interface[(Player number of (Picked player))] of type |cffffcc00Ammunition|r)) Equal to 0
                • Then - Actions
                  • Item - Remove (Item carried by Sharpshooter_Interface[(Player number of (Picked player))] of type |cffffcc00Ammunition|r)
                • Else - Actions
        • Else - Actions
      • -------- End Loop --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 0.45
        • Then - Actions
          • -------- R9 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R9.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
          • Unit - Order Sharpshooter[(Player number of (Picked player))] to Orc Tauren Chieftain - War Stomp
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 0.30
        • Then - Actions
          • -------- R7 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R7.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 0.15
        • Then - Actions
          • -------- R1 --------
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\R1.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AnimationTest[(Player number of (Picked player))] Equal to 0.00
        • Then - Actions
          • -------- 1 --------
          • Set Animation[(Player number of (Picked player))] = 0
          • Custom script: call CinematicFilterGenericForPlayer( GetEnumPlayer(), 1.0, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\1.blp", 100.0, 100.0, 100.0, 0.0, 100.0, 100.0, 100.0, 0.0 )
        • Else - Actions
 
Level 23
Joined
Feb 6, 2014
Messages
2,466
It's not that hard. It's a key movement system [q|w|e|a|s|d]. Icemanbo created a nice one for my choplifter map. You can look up and down just fine and side step all day long. FLux, you not discourage people from exploring possibilities or in this case doing something that has been done before and is actually not that difficult. XYZ movement is entirely possible:

Where is the side stepping and looking up/down?
 
Status
Not open for further replies.
Top