Page 6 of 33

Posted: Sat Aug 26, 2006 21:20
by Doomed Soul
"Blank Spot" is only used IF the actor (In this case RPG) is needed to inherit stuff(Flags, states, etc.). If it does not...get rid of the ":" and just have "ACTOR RPG replaces Rocket" instead. If you need to learn about DECORATE, do what I did and just repeatedly read DECORATE from other mods, escpecialy WRW, or the ARW, when it comes out, that is.

Posted: Sat Aug 26, 2006 23:34
by lizardcommando
Alright, I got this problem fixed now. Thanks DS.
If you need to learn about DECORATE, do what I did and just repeatedly read DECORATE from other mods, escpecialy WRW, or the ARW, when it comes out, that is.
That's exactly what I have been doing. It's just that reading through globs of text and scripts and coding and crap that gets me so confused and lost.

BTW, where is this WRW mod you speak of?

I still have two more things to fix which are on the bottom of PAGE 5 of this thread.

Posted: Sat Aug 26, 2006 23:51
by wildweasel
It's the Weapons Resource Wad, available at the idgames archives. Though I'm not sure how it's going to help you...

Posted: Sun Aug 27, 2006 6:28
by lizardcommando
Alright, time for an update.

I finished making the Heavymachinegun (M60) and the .357 Magnum. The coding works the way I want them to. I'm going to need to make the ammo box for that gun and I also need to make the reloading animations for the .357 Magnum. I'll try to get screenshots in a bit...

I still have the problems from PAGE 5 minus the rocket thing. Doomed Soul solved that one. I also still have the problem with the .45 Pistol not loading right either. I think that one is mentioned on either PAGE 4 or PAGE 5.

Posted: Mon Aug 28, 2006 23:04
by Doomed Soul
Can't help ya with reloading. Too much math, or something confuzzling...lol. I feel like a n00b.

Posted: Fri Sep 01, 2006 3:37
by lizardcommando
Hey guys, I've got a question about making powerup items. How do I make it so that if I were to pick up the Berserk pack (Which will be called the Berserksphere from now one), I can have more than one powerup type on? For example, the Berserksphere is going to give you Strength, Speed, Invulnerability, and Frightener. Also, how do I have it so that it affects only the Combatknife and Katana and no other weapons?

Posted: Fri Sep 01, 2006 4:33
by wildweasel
I've yet to figure out the multiple-powerup stuff myself (which is why ww-cola's super-six-pack doesn't give you health).

Posted: Fri Sep 01, 2006 9:03
by lizardcommando
Well, here's a mini update:

I've got some of the coding fixed thanks to Wildweasel. Although, I still haven't gotten that soundbug fixed yet with the grenade, I do have it so that now that you pick up the RocketBox (which is replaced with the Grenades and Grenadeammo), now you'll be able to use the grenades once you pick up the grenade ammo.

The pistol reload needs to be fixed, but hopefully theshooter7 will be able to whip up a piece of code for me. I also have to get going on making the sprites for the EX-AR1, but everytime I attempt to make it, it looks like crap. :x... I have bad luck making assault rifles for some reason... I can make pistols and Heavy Machineguns just fine... but I'll be damn if I can get a decent looking Assault Rifle...

Lessee... what else... Oh right. Since my college classes are starting next week, I may not be able to find time to work on this mod. I'll probably end up having to look for a job as well... But the good news is that I only have classes on Mondays and Wednesdays, so hooray for me. :)

Posted: Sun Sep 03, 2006 1:40
by lizardcommando
Ok, I think I have a theory as to why my pistol reloading doesn't work. In the reloading tutorial here, there were a few frames labeled as TNT1. Now, are those actual sprites or are they blank sprites that serve no purpose?

Posted: Sun Sep 03, 2006 2:13
by wildweasel
Those sprites are GZDoom's equivalent to NULLA0 for Edge. When TNT1 is used as a sprite, GZDoom doesn't render anything at all for that sprite. But you can still use decorate commands on those frames.

Posted: Sun Sep 03, 2006 2:29
by lizardcommando
Ah. Ok, so that means I don't need to insert those sprites into my wad, right?

EDIT: Ok, doing that shit did nothing at all. I'm at the same spot I'm at. Maybe I need a complete rundown of what each of the commands in the reload script does.

Posted: Sun Sep 03, 2006 3:21
by wildweasel
Take a look - I added comments to all the commands and stuff in there, and suggestions on what to change.

Code: Select all

   States
   {
   Ready:
      PISG A 1 A_WeaponReady
      PISG A 0 A_JumpIfInventory("IsReloading",1,11) //checks for the player pressing the reload key and jumps accordingly. i changed this from 15 to 11
      Loop
   Deselect:
      PISG A 1 A_Lower
      Loop
   Select:
      PISG A 1 A_Raise
      Loop
   Fire:
      PISG B 2 A_JumpIfNoAmmo(7) //checks for empty clip. notice i reduced this by one - count from the next state down to the state you want to jump to
      PISG C 2 A_GunFlash
      PISG D 2
      PISG E 2
      PISG C 2
      PISG B 1
      PISG A 0
      Goto Ready
      PISR A 1 A_Playsound("weapons/click")
   //Reload:
      PISR A 0 A_JumpIfInventory(".45BULLETS",8,2) //checks that the clip is already full - if it's full, the reload is cancelled
      PISR A 0 A_JumpIfInventory(".45MAGS",1,2) //checks that there's an extra clip - if there is, it jumps to the reload animation
      PISR A 0
      Goto Ready
      PISR A 0 A_TakeInventory(".45BULLETS",999) //purely for aesthetic effect - empties the current clip to 0 rounds
      PISR A 4
      PISR B 3 A_PlaySound("weapons/pmagout")
      PISR C 2
      PISR B 1
      PISR A 2
      PISR D 1
      PISR A 1 A_PlaySound("weapons/pmagin")
      PISR A 0 A_TakeInventory(".45MAGS",1) //takes a clip
      PISR A 0 A_GiveInventory(".45BULLETS",999) //fills the gun
      PISG A 1
      Goto Ready
   Flash:
      PISF A 2 BRIGHT A_FireBullets(2,1,-1,10,0,1,0) //shouldn't this command be in the Fire state, not the flash?
      stop

  }

}

Posted: Sun Sep 03, 2006 3:59
by lizardcommando
Thanks for the complete rundown of that script. It helped me understand what I was doing wrong.

As for the Flash state, that has the muzzleflash sprite like how the original Doom guns have seperate sprites of the muzzle flash.

EDIT: Ok, after fiddling around with the coding, I think I may have made things even more fucked up. Alright, so I got it now that the .45Pistol will make a clicking noise if you press the trigger with an empty magazine, but now I can't even reload the gun! I also tried the reloading script with my .357 magnum too, but it's fucked up like the .45 Pistol. I even pasted the coding you wrote up recently in this thread too (making the necessary changes) but it still won't work. Everything's even more fucked up than when I previously tried to fix it!

Posted: Sun Sep 03, 2006 5:21
by wildweasel
When I put that comment on the flash state, I meant that you should move A_FireBullets to one of the Fire frames.

Posted: Tue Sep 05, 2006 2:04
by lizardcommando
I think I've made a breakthrough with this reloading crap. So the guns reload automatically if I shoot while I have an empty clip and it will play the reload animation and it will fill up the gun's magazine with fresh bullets, but the thing is that I can't reload manually pressing the R button. Also, ammo won't be taken from the inventory either. I think I can figure that second problem out, but I haven't the slightest effing clue as to why I can no longer press R to reload the guns.

Code: Select all

ACTOR .45Pistol : Weapon replaces Pistol
{
   +NOAUTOFIRE
   +AMMO_OPTIONAL
   	Obituary "%o was capped by %k's trusty ol' .45." 
   AttackSound "weapons/pistol"
   Weapon.AmmoType1 ".45MAG" //The guns magazine
   Weapon.AmmoType2 ".45BULLETS" //The real ammo
   Weapon.AmmoGive 0
   Weapon.AmmoGive2 1
   Weapon.AmmoUse 1 
   Weapon.SelectionOrder 6000
   States
   {
   Ready:
      PISG A 1 A_WeaponReady
      PISG A 0 A_JumpIfInventory("IsReloading",1,11)
      Loop
   Deselect:
      PISG A 1 A_Lower
      Loop
   Select:
      PISG A 1 A_Raise
      Loop
   Fire:
      PISG A 0 A_JumpIfNoAmmo(9)
      PISG B 1 BRIGHT A_GunFlash  
      PISG B 1 A_FireBullets(2,1,-1,10,0,1,0) 
      PISG C 2
      PISG D 2
      PISG E 2
      PISG C 2
      PISG B 1
      PISG A 0
      Goto Ready
      PISG A 1 A_Playsound("weapons/click") 
    //Reload:
      PISR A 0 A_JumpIfInventory(".45MAG",8,2)
      PISR A 0 A_JumpIfInventory(".45BULLETS",1,2)
      Goto Ready
      PISR A 0 A_TakeInventory(".45BULLETS",999)
      PISR A 4
      PISR B 3 A_PlaySound("weapons/pmagout")
      PISR C 8
      PISR B 3
      PISR A 3
      PISR A 4 A_PlaySound("weapons/pmagin")
      PISR A 4
      PISR D 4 A_PlaySound("weapons/pslide")
      PISR D 0 A_GiveInventory(".45MAG",8)
      PISR D 0 A_GiveInventory(".45BULLETS",999)
      PISG A 1
      Goto Ready 
   Flash:
      PISF A 2 BRIGHT
      stop

  } 

}

ACTOR .357Magnum : Weapon 14500
{
   +NOAUTOFIRE
   +AMMO_OPTIONAL
   	Obituary "%o's head was blown clean off by %k's .357 Magnum."
        Inventory.Pickupmessage "You got the .357 Magnum!"
   AttackSound "weapons/357"
   Weapon.AmmoType "MAGNUMCLIP"
   Weapon.AmmoType2 "MAGNUMAMMO"
   Weapon.AmmoGive 0
   Weapon.AmmoGive2 6
   Weapon.AmmoUse 1
   Weapon.SelectionOrder 5000
   States
   {
   Spawn:
      MAGN A -1
      LOOP
   Ready:
      MAGG A 1 A_WeaponReady
      Loop
   Deselect:
      MAGG A 1 A_Lower
      Loop
   Select:
      MAGG A 1 A_Raise
      Loop
   Fire: 
      MAGG A 0 A_JumpIfNoAmmo(7)
      MAGG A 1 BRIGHT A_GunFlash
      MAGG A 3 A_FireBullets(2,1,-1,25,0,1,0)
      MAGG B 5
      MAGG C 3
      MAGG D 2
      MAGG A 0
      Goto Ready
      MAGG A 1 A_Playsound("weapons/click")
  //Reload:
      MAGR A 0 A_JumpIfInventory("MAGNUMAMMO",6,2) 
      MAGR A 0 A_JumpIfInventory("MAGNUMCLIP",1,2) 
      Goto Ready
      MAGR A 0 A_TakeInventory("MAGNUMAMMO",999)
      MAGR A 2
      MAGR B 2
      MAGR C 5 A_PlaySound("weapons/magnumopen")
      MAGR D 1 A_PlaySound("weapons/magnumload1")
      MAGR E 1
      MAGR F 1
      MAGR G 5
      MAGR H 3
      MAGR I 3 A_PlaySound("weapons/magnumload2")
      MAGR I 0 A_GiveInventory("MAGNUMCLIP",6)
      MAGR I 0 A_GiveInventory("MAGNUMAMMO",999)
      MAGR J 2
      MAGR K 2
      MAGR L 2
      MAGR M 4 A_PlaySound("weapons/magnumclose")
      MAGR N 2
      Goto Ready 
   Flash:
      MAGF A 2 BRIGHT
      stop

  } 

}