Jump to content
The Dark Mod Forums

level

Member
  • Posts

    49
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by level

  1. One point I just noticed going thorugh the zombie def: in the ragdoll section you did not change the model.

     

    // FIXME: Not sure if this ragdoll is appropriate for the skinny mesh

    "ragdoll" "guard_base_newskel"

     

    "model" "tdm_monster_zombie01"

     

    "anim" "idle"

     

    When you KO or kill an AI, it gets exchanged with a ragdoll. So it might be that, as soon as your zombie gets killed, it changes from the guard model to the zombie model. Maybe you want to check that.

     

    That's part of the original code, I didn't change it. I just tested it anyway and it seems to work fine.

     

    level: Bravo! That looks useful. :) I assume it would work with the other human models as well?

     

    Yes. Just change this line

     

    mesh models/md5/chars/guards/proguard/tdm_ai_proguard_use.md5mesh

     

    in the def I posted above to whatever other model you want and that's it

     

     

    SftY9Zm.jpg

     

    • Like 2
  2. Just had a look at it again: Apparently the zombie model uses the same skeleton as the guard models, so the animations of the zombie (as far as I understane how animations work) should be transferable to a guard model. If this is the case, you just have to replace "mesh" "models/md5/chars/undead/zombie/tdm_zombie01.md5mesh" with the mesh of the guard you want to depict (e.g. "models/md5/chars/guards/merc_elite/tdm_ai_merc_elite.md5mesh"). All other properties (including animations, vulnerabilities, damage etc) should stay the same, as the zombie definition is still used. Maybe I will find time later on today to test it myself, but I cannot promise anything, so you might want to try it yourself.

     

    Replacing only the mesh wouldn't do anything, I had to change some other stuff but it seems to be working now (ai moves and attacks using zombie animations). Here's the def file for the zombie class if anyone wants to try it.

     

     

     

    //

    // =================== ZOMBIES =====================braaains====

    //

     

     

    model tdm_monster_zombie01

    {

    // This zombie is using the standard proguard skeleton

    inherit tdm_ai_proguard

     

    mesh models/md5/chars/guards/proguard/tdm_ai_proguard_use.md5mesh

     

    channel torso ( *Spine_Dummy)

    channel legs ( origin Pelvis Pelvis2 *Hips)

     

    anim walk1 models/md5/chars/undead/zombie/zombie_walk.md5anim

    {

    frame 5 footstep

    frame 23 footstep

    frame 44 footstep

    frame 64 footstep

    frame 85 footstep

    frame 103 footstep

    }

    anim walk2 models/md5/chars/undead/zombie/zombie_walk.md5anim

    {

    frame 5 footstep

    frame 23 footstep

    frame 44 footstep

    frame 64 footstep

    frame 85 footstep

    frame 103 footstep

    }

    anim run models/md5/chars/undead/zombie/zombie_run.md5anim

    {

    frame 8 footstep

    frame 24 footstep

    frame 40 footstep

    frame 55 footstep

    frame 71 footstep

    frame 88 footstep

    }

    anim idle models/md5/chars/undead/zombie/zombie_idle.md5anim

    anim zombie_idle_look_left_01 models/md5/chars/undead/zombie/zombie_idle_look_left_01.md5anim

    anim zombie_idle_shift_01 models/md5/chars/undead/zombie/zombie_idle_shift_01.md5anim

    {

    frame 27 footstep

    frame 44 footstep

    frame 121 footstep

    frame 133 footstep

    }

    anim zombie_idle_shift_back models/md5/chars/undead/zombie/zombie_idle_shift_back.md5anim

    {

    frame 12 footstep

    frame 88 footstep

    }

    anim zombie_idle_shift_right_01 models/md5/chars/undead/zombie/zombie_idle_shift_right_01.md5anim

    {

    frame 30 footstep

    frame 125 footstep

    }

     

    anim sleep_idle models/md5/chars/undead/zombie/zombie_sleep.md5anim

    anim stand_2_sleep models/md5/chars/undead/zombie/zombie_idle_2_sleep.md5anim

    { frame 1 disableWalkIK }

     

    anim sleep_2_stand models/md5/chars/undead/zombie/zombie_sleep_2_idle.md5anim

    { frame 40 enableWalkIK }

     

    anim melee_attack models/md5/chars/undead/zombie/zombie_attack_lefthand.md5anim

    {

    frame 12 sound snd_swing

    frame 15 melee melee_zombie_Left

     

    }

     

    anim melee_attack2 models/md5/chars/undead/zombie/zombie_attack_righthand.md5anim

    {

    frame 19 sound snd_swing

    frame 22 melee melee_zombie_Right

     

    }

     

    anim melee_attack3 models/md5/chars/guards/proguard/combat_sword_attack_overhead.md5anim

    {

    prevent_idle_override

     

    frame 19 sound snd_swing

    frame 23 melee melee_zombie_Right

     

    }

     

     

    // needs some attention for 2.01

    /* anim melee_attack3 models/md5/chars/undead/zombie/zombie_attack_bite_eat.md5anim

    {

    frame 15 sound snd_swing

    frame 18 melee atdm:damage_generic

    }

    */

    //zombie looks too smart when he kneels down

    anim kneel_down models/md5/chars/undead/zombie/zombie_idle_look_left_01.md5anim

     

     

    }

     

     

    // Base definition

    entityDef atdm:ai_undead_zombie_base

    {

    "inherit" "atdm:ai_humanoid_undead"

    "editor_displayFolder" "AI/Internal/Base Class"

    "editor_usage" "Don't use; base class for all zombies"

     

    "head_joint" "Head"

    "def_head" "atdm:ai_head_baseguard_prohelmet"

    "offsetHeadModel" ".2 0 -12" // defaultvalue if set

    "atdm:ai_head01_commoner_old" "1.1 0 -.1"

     

    "team" "9"

    "rank" "1"

    "health" "150"

    "def_melee_set" "atdm:ai_melee_set_skilled"// grayman #3331

    "can_be_flatfooted" "0"

     

    "melee_range" "48"

     

     

    "anim_rate_melee_attack" "1.7"

     

    "anim_rate_run" "1.1"

     

    "sleep_location" "0" // grayman #3396 - 1 = sleep on a bed, 0 = sleep on the floor

     

    "turn_rate" "260"

     

    "snd_footstep" "zombie_footstep"

    "snd_footstep_puddle" "movement_water"

    "snd_footstep_wading" "movement_water"

    "snd_footstep_carpet" "human_female_carpet"

     

     

    "def_vocal_set" "atdm:ai_vocal_set_zombie_01"

    "snd_rustle" "nosound"

    "snd_swing" "fist_whoosh"

     

     

     

    "idle_bark_interval_min" "20"

    "idle_bark_interval_max" "30"

     

    "alert_idle_bark_interval_min" "6"

    "alert_idle_bark_interval_max" "10"

     

    // attachment positions for the new skeleton

    "attach_pos_name_hipsheathl" "hip_sheath_l"

    "attach_pos_joint_hipsheathl" "Hips"

    "attach_pos_origin_hipsheathl" "6.5 6.7 -6.2" //f/b, u/d, s/s

    "attach_pos_angles_hipsheathl" "10 140 -10"

     

    "attach_pos_name_handr" "hand_r"

    "attach_pos_joint_handr" "RightHand"

    "attach_pos_origin_handr" "0 0 4.4"

    "attach_pos_angles_handr" "260 90 0"

     

    "attach_pos_name_handl" "hand_l"

    "attach_pos_joint_handl" "LeftHand"

    "attach_pos_origin_handl" "-2 -0.8 -4.5"

    "attach_pos_angles_handl" "80 -90 0"

     

    // greebo: needed different hand attach position due to the longbow being rotated differently

    "attach_pos_name_handrbow" "hand_r_bow"

    "attach_pos_joint_handrbow" "RightHand"

    "attach_pos_origin_handrbow" "0 0 4.4"

    "attach_pos_angles_handrbow" "90 90 0"

     

    // greebo: needed different hand attach position due to the longbow being rotated differently

    "attach_pos_name_handlbow" "hand_l_bow"

    "attach_pos_joint_handlbow" "LeftHand"

    "attach_pos_origin_handlbow" "-2 -0.8 -4.5"

    "attach_pos_angles_handlbow" "-80 90 0"

     

    "attach_pos_name_hipbackr" "belt_back_right"

    "attach_pos_joint_hipbackr" "Hips"

    "attach_pos_origin_hipbackr" "-4 8 4" // x, height, width

    "attach_pos_angles_hipbackr" "90 90 0"

     

    // greebo: needed different back attach position since the longbow is different to hammers

    "attach_pos_name_bowholster" "bow_holster_pos_rl"

    "attach_pos_joint_bowholster" "Spine2"

    "attach_pos_origin_bowholster" "-5 -5 0" //middle value controls distance from back

    "attach_pos_angles_bowholster" "0 90 25"

     

    //these need double-checking

    "attach_pos_name_slbackrl" "slung_across_back_rl"

    "attach_pos_joint_slbackrl" "Spine2"

    "attach_pos_origin_slbackrl" "14 -6 -6" //middle value controls distance from back

    "attach_pos_angles_slbackrl" "0 90 25"

     

    "attach_pos_name_slbacklr" "slung_across_back_lr"

    "attach_pos_joint_slbacklr" "Spine2"

    "attach_pos_origin_slbacklr" "14 -2 -6"

    "attach_pos_angles_slbacklr" "0 90 -5"

     

     

     

     

    "ik_numLegs" "2"

    "ik_minWaistAnkleDist" "0"

    "ik_footSize" "0"

    "ik_waist" "Pelvis2"

    "ik_hip1" "LeftUpLeg"

    "ik_hip2" "RightUpLeg"

    "ik_knee1" "LeftLeg"

    "ik_knee2" "RightLeg"

    "ik_ankle1" "LeftFoot"

    "ik_ankle2" "RightFoot"

    //normally a knee joint

    //"ik_dir1" "LeftFoot"

    //"ik_dir2" "RightFoot"

    "ik_foot1" "LeftToeBase"

    "ik_foot2" "RightToeBase"

    }

     

    // greebo's Zombie

     

    entityDef atdm:ai_undead_zombie

    {

    "inherit" "atdm:ai_undead_zombie_base"

     

     

     

    "editor_displayFolder" "AI/Monsters/Undead/Zombies"

    "editor_usage" "A walking corpse with gaping mouth"

     

    // FIXME: Not sure if this ragdoll is appropriate for the skinny mesh

    "ragdoll" "guard_base_newskel"

     

    "model" "tdm_monster_zombie01"

     

    "anim" "idle"

     

     

     

     

    "idle_animations_interval" "18" // in seconds +/- 20%

    "idle_search_animations_interval" "10" // in seconds +/- 20% - grayman #3857

     

    "idle_animations" "zombie_idle_look_left_01,zombie_idle_shift_01,zombie_idle_shift_back,zombie_idle_shift_right_01"

    "idle_animations_torso" ""

    "idle_animations_sitting" ""

     

    "unarmed_melee" "1"

    "attack_cone" "70"

    "attack_accuracy" "0"

    "mass" "70"

     

    "snd_bounce" "body_collapse_soft"

    }

     

    // this refers to the same zombie now; leftover from D3

    entityDef atdm:ai_undead_zombie_alt01

    {

    "inherit" "atdm:ai_undead_zombie"

     

    "editor_displayFolder" "AI/Monsters/Undead/Zombies"

    "editor_usage" "A bloodier version of the default zombie"

    "skin" "skins/monsters/zombie/tdm_zombie01_bloody"

    }

     

     

     

     

    entityDef melee_zombie_Left {

    // melee specific parameters

    "snd_hit" "weapon_hit_default"

     

    "kickDir" "0 -1 0"

     

    // damage parameters

    "damage" "20"

     

     

     

    "knockback" "15"

     

    "kick_time" "350"

    "kick_amplitude" "1.1"

     

    "dv_time" "100"

    }

     

    entityDef melee_zombie_Right {

    "snd_hit" "weapon_hit_default"

     

    "kickDir" "0 1 0"

     

    "damage" "20"

     

     

    "knockback" "20"

     

    "kick_time" "350"

    "kick_amplitude" "1.1"

     

    "dv_time" "100"

    }

     

     

     

     

     

     

    nPol1oA.jpg?1

     

     

    • Like 4
  3. I think your following the line backwards. It should start at an entity and end in nothing. follow the line until you find out where there's a hole in the wall which would allow something to slip through and fall forever.

     

    Oh shit! You're right, lol. I thought it worked the other way around. Thank you and sorry for the pointless thread.

  4. I have some problems with leaks in my map, Ive tried dmapping and using the pointfile to locate it, but it would always only point to entities (which were not in the void or conflicting with anything). I ended up deleting all the entities in the map, leaving nothing but the brushwork and the player start.

     

    Dmapping eventually pointed at a leak on the player start, and after removing it and leaving my map with nothing more than brushes and patches, no more pointfiles were generated so it turned almost impossible for me to locate where the leak is (I made the mistake of building way too much without dmapping).

     

    I tried with a testmap, which consisted of nothing more than a room with a light and the player start. I intentionally created a leak, and dmapped for the pointfile. The same happened: first it pointed at the light as being the culprit, then at the player start, and after that, when only the 6 walls of the room remained (plus the leak), the console showed the leak warning but no pointfiles were generated.

     

    Is this intended to work this way? I think it used to point me at gaps leading to the void on some of the test maps I did some months ago. Can anyone help me, please? (I have the latest version of DR)

  5. I dont seem to be able to create lights properly on my map. Light propagates well on some parts, but then it will just cut off and leave everything completely black. Last time I worked on it was a couple of months ago and I really dont remember anything like this happening. Does anybody know why this happens?

     

    I think I adressed this bug with a recent fix in SVN. You'll need to check whether this happens in the upcoming release.

     

    Just dropping by to say that updating to the latest version did indeed fix the problem.

  6. I dont seem to be able to create lights properly on my map. Light propagates well on some parts, but then it will just cut off and leave everything completely black. Last time I worked on it was a couple of months ago and I really dont remember anything like this happening. Does anybody know why this happens? 43253425.jpg

×
×
  • Create New...