world of warcraft npc's

Need Help? The Day isnt going so well on the Mapping front?
Post Reply
[JSC][GU]PREDATOR
Obsidian Premium
Obsidian Premium
Posts: 1624
Joined: Mon May 29, 2006 12:06 pm

world of warcraft npc's

Post by [JSC][GU]PREDATOR »

I'm having trouble getting them to work as a monster_generic, all i want it to do is go after players but all it does is stand there, its because there is something you have to do with the .qc file and i don't know what that is.

here is a video of me messing around with the animations
[youtube][/youtube]

the names of each smd files:

felreaver_attackunarmed
felreaver_attackunarmed2
felreaver_channelcastomni
felreaver_combatcritical
felreaver_combatwound
felreaver_dance
felreaver_dead
felreaver_death
felreaver_idle
felreaver_parryunarmed
felreaver_runspecialunarmed
felreaver_stand
felreaver_walk

if i can get this resolved i'll release it so you can have this huge thing as a custom npc in your maps
[JSC][GU]PREDATOR
Obsidian Premium
Obsidian Premium
Posts: 1624
Joined: Mon May 29, 2006 12:06 pm

Re: world of warcraft npc's

Post by [JSC][GU]PREDATOR »

heres another video, why not
[youtube][/youtube]
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: world of warcraft npc's

Post by MaestraFénix »

Oh, another veteran who comes from the past, excelent.


I think that i know what is happening, i had a similar issue with a zombie model: https://developer.valvesoftware.com/wiki/$animation

Look the align and world movement parts. You have to put the XY or similar thing.

This is an example of the QC of the default zombie model:

Code: Select all

$animation a_WalkS "Walk"
{ loop walkframe 60 LX LY startloop 0 rotateto -180 fps 50.00 }

$animation a_WalkSE "Walk"
{ loop walkframe 60 LX LY startloop 0 rotateto -135 fps 50.00 }

$animation a_WalkE "Walk"
{ loop walkframe 60 LX LY startloop 0 rotateto -90 fps 50.00 }

$animation a_WalkNE "Walk"
{ loop walkframe 60 LX LY startloop 0 rotateto -45 fps 50.00 }

$animation a_WalkN "Walk"
{ loop walkframe 60 LX LY startloop 0 rotateto 0 fps 50.00 }

$animation a_WalkNW "Walk"
{ loop walkframe 60 LX LY startloop 0 rotateto 45 fps 50.00 }

$animation a_WalkW "Walk"
{ loop walkframe 60 LX LY startloop 0 rotateto 90 fps 50.00 }

$animation a_WalkSW "Walk"
{ loop walkframe 60 LX LY startloop 0 rotateto 135 fps 50.00 }
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
[JSC][GU]PREDATOR
Obsidian Premium
Obsidian Premium
Posts: 1624
Joined: Mon May 29, 2006 12:06 pm

Re: world of warcraft npc's

Post by [JSC][GU]PREDATOR »

With that, this is what my .qc looks like

Code: Select all

$scale 50
$modelname "worldofwarcraft\felreaver\felreaver_idle2.mdl"
$body "Body" "felreaver_idle.SMD"
$cdmaterials "worldofwarcraft\felreaver"

$surfaceprop "Metal"

$sequence stand "felreaver_stand.SMD" fps 30
$sequence idle "felreaver_idle.SMD" fps 30
$sequence attack1 "felreaver_attackunarmed.SMD" fps 30
$sequence attack2 "felreaver_attackunarmed2.SMD" fps 30
$sequence channelcastomni "felreaver_channelcastomni.SMD" fps 30
$sequence criticallyhit "felreaver_combatcritical.SMD" fps 30
$sequence combatwound "felreaver_combatwound.SMD" fps 30
$sequence dance "felreaver_dance.SMD" fps 30
$sequence dead "felreaver_dead.SMD" fps 30
$sequence death "felreaver_death.SMD" fps 30
$sequence parryunarmed "felreaver_parryunarmed.SMD" fps 30
$sequence run "felreaver_run.SMD" fps 30
$sequence specialattack "felreaver_specialunarmed.SMD" fps 30
$sequence walk "felreaver_walk.SMD" fps 30

$animation a_WalkS "felreaver_walk"
{ loop walkframe 60 LX LY startloop 0 rotateto -180 fps 30.00 }

$animation a_WalkSE "felreaver_walk"
{ loop walkframe 60 LX LY startloop 0 rotateto -135 fps 30.00 }

$animation a_WalkE "felreaver_walk"
{ loop walkframe 60 LX LY startloop 0 rotateto -90 fps 30.00 }

$animation a_WalkNE "felreaver_walk"
{ loop walkframe 60 LX LY startloop 0 rotateto -45 fps 30.00 }

$animation a_WalkN "felreaver_walk"
{ loop walkframe 60 LX LY startloop 0 rotateto 0 fps 30.00 }

$animation a_WalkNW "felreaver_walk"
{ loop walkframe 60 LX LY startloop 0 rotateto 45 fps 30.00 }

$animation a_WalkW "felreaver_walk"
{ loop walkframe 60 LX LY startloop 0 rotateto 90 fps 30.00 }

$animation a_WalkSW "felreaver_walk"
{ loop walkframe 60 LX LY startloop 0 rotateto 135 fps 30.00 }
guistudio says there is a problem with

{ loop walkframe 60 LX LY startloop 0 rotateto -180 fps 30.00 }
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: world of warcraft npc's

Post by MaestraFénix »

What it says?
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
[JSC][GU]PREDATOR
Obsidian Premium
Obsidian Premium
Posts: 1624
Joined: Mon May 29, 2006 12:06 pm

Re: world of warcraft npc's

Post by [JSC][GU]PREDATOR »

Code: Select all

GUIStudioMDL 2.2/Source - © 2007 Neil 'Jed' Jedrzejewski - http://www.wunderboy.org/

Loaded QC file - "C:\Users\predator\Desktop\unused desktop\brutallusfinaltry\felreaver\felreaver_idle2.qc"

Created command line: "C:\Program Files (x86)\Steam\steamapps\marksoundy\sourcesdk\bin\orangebox\bin\studiomdl.exe" -game "c:\program files (x86)\steam\steamapps\marksoundy\half-life 2 deathmatch\hl2mp" -nop4 -nox360 "C:\Users\predator\Desktop\unused desktop\brutallusfinaltry\felreaver\felreaver_idle2.qc"

qdir:    "c:\users\predator\desktop\unused desktop\brutallusfinaltry\felreaver\"
gamedir: "c:\program files (x86)\steam\steamapps\marksoundy\half-life 2 deathmatch\hl2mp\"
g_path:  "C:\Users\predator\Desktop\unused desktop\brutallusfinaltry\felreaver\felreaver_idle2.qc"
Building binary model files...
Working on "felreaver_idle2.qc"
SMD MODEL felreaver_idle.smd
SMD MODEL felreaver_stand.smd
SMD MODEL felreaver_attackunarmed.smd
SMD MODEL felreaver_attackunarmed2.smd
SMD MODEL felreaver_channelcastomni.smd
SMD MODEL felreaver_combatcritical.smd
SMD MODEL felreaver_combatwound.smd
SMD MODEL felreaver_dance.smd
SMD MODEL felreaver_dead.smd
SMD MODEL felreaver_death.smd
SMD MODEL felreaver_parryunarmed.smd
SMD MODEL felreaver_run.smd
SMD MODEL felreaver_specialunarmed.smd
SMD MODEL felreaver_walk.smd
ERROR: c:\users\predator\desktop\unused desktop\brutallusfinaltry\felreaver\felreaver_idle2.qc(24): - bad command {
ERROR: Aborted Processing on 'worldofwarcraft\felreaver\felreaver_idle2.mdl'
[JSC][GU]PREDATOR
Obsidian Premium
Obsidian Premium
Posts: 1624
Joined: Mon May 29, 2006 12:06 pm

Re: world of warcraft npc's

Post by [JSC][GU]PREDATOR »

I changed the lines to resemble what it says in that link you posted and it worked, the model compiled correctly but when i tested it the thing was still not moving, i was getting the exact same thing in console as i was before

Image
User avatar
Shana
Lead Developer
Lead Developer
Posts: 2971
Joined: Tue Aug 29, 2006 8:12 pm
Location: Germany
Contact:

Re: world of warcraft npc's

Post by Shana »

When I saw the name of the thread starter, I thought someone bumped a 6-years old thread.

Anyways I remember hearing from Skidz that you have to set up the NPC movement speeds in a 3D program, I never did any NPC modeling so I can't really tell you what to do exactly, I'd suggest reading up on it in the VDC.
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: world of warcraft npc's

Post by MaestraFénix »

Forget it, because like many things, it doesn´t appear there. At least not directly.

After an intensive search, i found that the following problems makes that error:


Your models lack of a ragdoll.

Your models lack a walk/run animation (you will have to look if you have a ACT_WALK or ACT_RUN). https://developer.valvesoftware.com/wik ... _Sequences https://developer.valvesoftware.com/wiki/$sequence

Your walk/run animation starts and freeze at frame 0 (check it on HLMV).

Check if your npc are spawing on the ground.


Tell me what it happens.
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
[JSC][GU]PREDATOR
Obsidian Premium
Obsidian Premium
Posts: 1624
Joined: Mon May 29, 2006 12:06 pm

Re: world of warcraft npc's

Post by [JSC][GU]PREDATOR »

i put the npc above the ground a little for it to drop down to ensure that it isn't just stuck in the ground, this is what the .qc looks like now, and it fixed that error in console but still no progress he isn't moving

Code: Select all

$scale 50
$modelname "worldofwarcraft\felreaver\felreaver_idle.mdl"
$body "Body" "felreaver_idle.SMD"
$cdmaterials "worldofwarcraft\felreaver"

$surfaceprop "Metal"

$sequence stand "felreaver_stand.SMD" loop ACT_IDLE 1 fps 30
$sequence idle "felreaver_idle.SMD" fps 30
$sequence attack1 "felreaver_attackunarmed.SMD" ACT_RANGE_ATTACK1 1 fps 30
$sequence attack2 "felreaver_attackunarmed2.SMD" fps 30
$sequence channelcastomni "felreaver_channelcastomni.SMD" fps 30
$sequence criticallyhit "felreaver_combatcritical.SMD" fps 30
$sequence combatwound "felreaver_combatwound.SMD" fps 30
$sequence dance "felreaver_dance.SMD" fps 30
$sequence dead "felreaver_dead.SMD" fps 30
$sequence death "felreaver_death.SMD" fps 30
$sequence parryunarmed "felreaver_parryunarmed.SMD" fps 30
$sequence run "felreaver_run.SMD" loop ACT_RUN 1 fps 30
$sequence specialattack "felreaver_specialunarmed.SMD" fps 30
$sequence walk "felreaver_walk.SMD" ACT_WALK 1 fps 30
i took a vmf of a map from gamebanana of a houndeye which was intended for hl2dm, that is what i am basing the felreaver on. all i've done is change the model to a fel reaver. this is what the .qc of the working houndeye looks like

Code: Select all

$modelname "houndeye.mdl"
$model "studio" "houndeye.smd"
$lod 15
 {
  replacemodel "houndeye" "lod1_houndeye"
}
$lod 30
 {
  replacemodel "houndeye" "lod2_houndeye"
}
$lod 55
 {
  replacemodel "houndeye" "lod3_houndeye"
}
$shadowlod
{
  replacemodel "houndeye" "lod4_houndeye"
}
$poseparameter eye_controller 0.00 100.00
$cdmaterials "models\houndeye\"
$hboxset "default"
$hbox 0 "HoundEye.Body" -4.451  -2.893  -4.080  6.321  6.894  4.080
$hbox 0 "HoundEye.Spine" -0.427  -3.106  -6.524  9.779  7.177  6.524
$hbox 0 "HoundEye.Spine1" 0.000  -4.753  -8.648  7.951  11.803  8.648
$hbox 0 "HoundEye.Spine2" -0.962  -7.403  -9.573  12.462  12.753  9.559
$hbox 0 "HoundEye.Spine3" -3.055  -7.653  -11.712  11.381  12.042  11.712
$hbox 0 "HoundEye.Neck" -6.337  -7.274  -11.712  9.055  11.103  11.712
$hbox 0 "HoundEye.Head" -5.720  -9.532  -7.786  5.361  9.509  7.702
$hbox 0 "HoundEye.Eyelid" 0.000  -7.094  -6.580  5.745  6.337  6.581
$hbox 0 "eyelid_b" -1.648  -1.331  -3.496  0.053  1.110  3.291
$hbox 0 "eyelid_l" -2.179  -1.798  -3.974  0.057  0.422  3.569
$hbox 0 "eyelid_t" -2.447  -0.348  -4.315  0.101  2.576  4.172
$hbox 0 "eyelid_tr" -2.452  -1.752  -2.644  0.022  1.659  2.128
$hbox 0 "eyelid_tl" -2.444  -1.554  -2.788  0.062  1.970  1.920
$hbox 0 "eyelid_bl" -1.668  -2.651  -2.951  0.155  2.048  2.566
$hbox 0 "eyelid_br" -1.745  -1.522  -2.950  0.134  3.070  2.560
$hbox 0 "eyelid_r" -0.024  -0.467  -3.470  2.226  1.669  4.024
$hbox 0 "HoundEye.Hairs" 0.000  -5.575  -5.749  7.110  9.401  5.738
$hbox 0 "HoundEye.UpperArmL" -5.401  -6.103  -3.800  15.937  7.958  3.944
$hbox 0 "HoundEye.ForeArmL" -1.867  -1.334  -1.671  11.746  2.796  1.676
$hbox 0 "HoundEye.PawL" -0.962  -1.916  -1.926  4.902  1.313  1.721
$hbox 0 "HoundEye.UpperArmR" -15.934  -7.952  -4.120  5.402  6.224  3.625
$hbox 0 "HoundEye.ForeArmR" -11.744  -2.775  -1.851  1.869  1.356  1.496
$hbox 0 "HoundEye.PawR" -4.908  -1.302  -1.896  0.949  1.927  1.750
$hbox 0 "HoundEye.Thigh" -0.589  -5.176  -4.080  14.477  3.661  4.080
$hbox 0 "HoundEye.Calf" -1.045  -1.762  -2.235  9.886  1.528  2.235
$hbox 0 "HoundEye.Foot" -1.036  -1.107  -1.776  5.370  1.028  1.776
$hbox 0 "HoundEye.Toe" -0.325  -1.663  -1.772  4.833  1.163  1.771
// Model uses material "houndside2.vmt"
// Model uses material "eye.vmt"
// Model uses material "eye_env.vmt"
// Model uses material "individualhairs.vmt"
// Model uses material "eyelid.vmt"
$surfaceprop "alienflesh"
$eyeposition -0.000 0.000 27.000
$illumposition 4.116 0.863 22.343
$sequence idle1 "idle1" ACT_IDLE 1 fps 30.00
$sequence idle2 "idle2" loop ACT_IDLE 20 fps 30.00
$sequence idle3 "idle3" ACT_IDLE 1 fps 30.00
$sequence run "run" loop ACT_RUN 1 fps 30.00
$sequence attack "attack" ACT_RANGE_ATTACK1 1 fps 25.00 {
  { event 2 5 }
  { event 3 59 }
}

$sequence flinch_small "flinch_small" ACT_SMALL_FLINCH 1 fps 30.00
$sequence flinch_small2 "flinch_small2" ACT_SMALL_FLINCH 1 fps 30.00
$sequence running_jump "running_jump" ACT_LEAP 1 fps 30.00
$sequence walk_limp "walk_limp" loop fps 30.00
$sequence walk "walk" loop ACT_WALK 1 fps 30.00
$sequence leaderlook "leaderlook" ACT_GUARD 1 fps 30.00 {
  { event 1 10 }
  { event 1 20 }
}

$sequence sleep "sleep" loop ACT_CROUCHIDLE 1 fps 30.00
$sequence gotosleep "gotosleep" ACT_CROUCH 1 fps 30.00
$sequence sleeptostand "sleeptostand" ACT_STAND 1 fps 30.00
$sequence madidle "madidle" loop ACT_IDLE_ANGRY 2 fps 30.00
$sequence madidle2 "madidle2" loop ACT_IDLE_ANGRY 3 fps 37.00
$sequence madidle3 "madidle3" loop ACT_IDLE_ANGRY 1 fps 30.00
$sequence inspect "inspect" ACT_INSPECT_WALL 1 fps 10.00
$sequence eat "eat" ACT_EAT 1 fps 30.00
$sequence 180l "180l" loop ACT_TURN_LEFT 1 fps 30.00
$sequence 180r "180r" loop ACT_TURN_RIGHT 1 fps 30.00
$sequence jumpback "jumpback" ACT_LEAP 1 fps 30.00 {
  { event 6 10 }
}

$sequence wakefast "wakefast" ACT_HOP 1 fps 60.00
$sequence whimper "whimper" loop fps 35.00
$sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
$animation mdldecompiler_delta.smd "mdldecompiler_delta.smd" fps 30
$animation eyelid0 "eyelid0" fps 30.000000 subtract mdldecompiler_delta.smd 0

$animation eyelid1 "eyelid1" fps 30.000000 subtract mdldecompiler_delta.smd 0

$animation eyelid2 "eyelid2" fps 30.000000 subtract mdldecompiler_delta.smd 0

$sequence eye_controller "eyelid0" fps 30.00 {
  blendwidth 4
  blend eye_controller 0.000000 100.000000
  delta
  autoplay
 eyelid0 eyelid1 eyelid2
}
$collisionjoints "phymodel.smd" {

	$mass 45.0
	$inertia 10.00
	$damping 0.01
	$rotdamping 1.50
	$rootbone "houndeye.body"

	$jointconstrain "houndeye.thigh" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.thigh" y limit -45.00 45.00 0.04
	$jointconstrain "houndeye.thigh" z limit -50.00 30.00 0.04

	$jointconstrain "houndeye.calf" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.calf" y limit -60.00 60.00 0.04
	$jointconstrain "houndeye.calf" z limit -60.00 40.00 0.04

	$jointconstrain "houndeye.foot" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.foot" y limit -30.00 30.00 0.04
	$jointconstrain "houndeye.foot" z limit -30.00 30.00 0.04

	$jointconstrain "houndeye.spine1" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.spine1" y limit -30.00 30.00 0.04
	$jointconstrain "houndeye.spine1" z limit -30.00 30.00 0.04

	$jointconstrain "houndeye.upperarmr" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.upperarmr" y limit -30.00 40.00 0.04
	$jointconstrain "houndeye.upperarmr" z limit -40.00 40.00 0.04

	$jointconstrain "houndeye.forearmr" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.forearmr" y limit -60.00 60.00 0.04
	$jointconstrain "houndeye.forearmr" z limit -60.00 40.00 0.04

	$jointconstrain "houndeye.upperarml" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.upperarml" y limit -40.00 30.00 0.04
	$jointconstrain "houndeye.upperarml" z limit -40.00 40.00 0.04

	$jointconstrain "houndeye.forearml" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.forearml" y limit -60.00 60.00 0.04
	$jointconstrain "houndeye.forearml" z limit -60.00 40.00 0.04

	$jointconstrain "houndeye.pawl" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.pawl" y limit -30.00 30.00 0.04
	$jointconstrain "houndeye.pawl" z limit -30.00 30.00 0.04

	$jointconstrain "houndeye.pawr" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.pawr" y limit -30.00 30.00 0.04
	$jointconstrain "houndeye.pawr" z limit -30.00 30.00 0.04

	$jointconstrain "houndeye.toe" x limit -30.00 30.00 0.04
	$jointconstrain "houndeye.toe" y limit -30.00 30.00 0.04
	$jointconstrain "houndeye.toe" z limit -30.00 30.00 0.04
}
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: world of warcraft npc's

Post by MaestraFénix »

Well, the QC of the Houndeye defines the ragdoll and their physical properties, while the yours not.

https://developer.valvesoftware.com/wiki/Collision_mesh

https://developer.valvesoftware.com/wik ... sionjoints

https://developer.valvesoftware.com/wik ... d_Ragdolls


Also i´m reading that you need info_nodes for your npc moves (place them if you don´t did it before).

Try with that.
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
[JSC][GU]PREDATOR
Obsidian Premium
Obsidian Premium
Posts: 1624
Joined: Mon May 29, 2006 12:06 pm

Re: world of warcraft npc's

Post by [JSC][GU]PREDATOR »

i haven't given up but right now im working on something else
[youtube][/youtube]
Post Reply