Jump to content


  • Posts

  • Joined

  • Last visited

Posts posted by Ramikad

  1. Judging by the lack of shadows, I'm assuming this is a dynamic model (misc_model_static, misc_model_breakable or other). The model seems to be working fine, but I'd advise you to check the textures and texture paths, as well as the shader, as that seems to be the culprit. It's normal that it appears full bright because dynamic models don't cast or receive shadows unless set to do so, with the properties _cs 1 and _rs 1 in the Radiant entity respectively.

    Based on the Blender version you're using, you should either make sure that the md3shader custom property is there and correct (for Blender 2.79 or older) or the material is (I seem to remember that's how it's done with the newer versions of the Blender JA plugin on 2.8+).

  2. The extra part you tried with (npc spawn sithtrooper dark_side sith) from what I understand is specific to Movie Duels, basically allowing you to make any NPC you spawn friend or foe. For base Jedi Academy and OpenJK, the correct syntax is the one you tried before: npc spawn sithtrooper sith. This spawns a Sith Trooper with the assigned targetname sith, which can be used for scripts.

    Now, having said that, the huntkill falls in the category of behaviors. Supposedly they're special scripts that are used for various situations, but after trying multiple times in the past to get these "behavior" scripts working, I never managed to. Ultimately I'm not sure these even existed in the first place - the descriptions in NPC Spawner in Radiant seem to suggest they did, but I couldn't find any way to get them working. So maybe it was just a planned feature that never got past the concept.


    spawnscript - default script to run once spawned (none by default)
    usescript - default script to run when used (none by default)
    awakescript - default script to run once awoken (none by default)
    angerscript - default script to run once angered (none by default)
    painscript - default script to run when hit (none by default)
    fleescript - default script to run when hit and below 50% health (none by default)
    deathscript - default script to run when killed (none by default)
    These strings can be used to activate behaviors instead of scripts - these are checked
    first and so no scripts should be names with these names:
        default - 0: whatever
        idle - 1: Stand around, do abolutely nothing
        roam - 2: Roam around, collect stuff
        walk - 3: Crouch-Walk toward their goals
        run - 4: Run toward their goals
        standshoot - 5: Stay in one spot and shoot- duck when neccesary
        standguard - 6: Wait around for an enemy
        patrol - 7: Follow a path, looking for enemies
        huntkill - 8: Track down enemies and kill them
        evade - 9: Run from enemies
        evadeshoot - 10: Run from enemies, shoot them if they hit you
        runshoot - 11: Run to your goal and shoot enemy when possible
        defend - 12: Defend an entity or spot?
        snipe - 13: Stay hidden, shoot enemy only when have perfect shot and back turned
        combat - 14: Attack, evade, use cover, move about, etc.  Full combat AI - id NPC code
        medic - 15: Go for lowest health buddy, hide and heal him.
        takecover - 16: Find nearest cover from enemies
        getammo - 17: Go get some ammo
        advancefight - 18: Go somewhere and fight along the way
        face - 19: turn until facing desired angles
        wait - 20: do nothing
        formation - 21: Maintain a formation
        crouch - 22: Crouch-walk toward their goals


  3. In theory, if the map name matches the one you wrote as reference, no. In practice, double check for any loose quotation marks that could be breaking the new briefing file. Also make sure that the file is actually a .str file, and not a .str.txt (I know it's unlikely, but it might be possible). Other than that, I'm not sure what could be causing it.

  4. I wonder if SET_HEALTH can be incremental - I know some variables in Behaved are, in that you can do, for example, SET (variable, +1) and it is incremented by 1 every time it's done. If it works the same with health, then it could be simplified that if health < 100, then set health +1. May be worth a try.

    Droidy365 likes this
  5. Most likely, the weapon command without anything after it is considered the same as weapon 0, and that, as you said, puts away your weapon - pretty much like at the beginning of t2_dpred. After you put away your weapon, you should give yourself weapon_scepter: it's not enough to type weapon_scepter. With no weapon currently selected, it should automatically switch to the Scepter of Ragnos, which is basically a glorified sniper rifle. To summarize: weapon (or weapon 0), then give weapon_scepter.

  6. On 12/29/2020 at 6:59 PM, fullkevlar said:

    More scripting questions, and perhaps more clarity for what im trying to achieve.   

    1.  How to you make an move block that rotates the script_targetname in the opposite direction(counterclockwise)?       I had (0 180 0) in my rotation vector, and changed it to (0 -180 0) - no change the brush still rotates in the same direction (clockwise).      Script below.

    2.  What do you do to make a script fire and run at intermission for multiplayer?       Ive tried a few things but cannot figure out how to make the script run during intermission.         EDIT:  I think I found a solution to this question.   Researched and found out there was a key "spawnscript".   I attached that to a few things trying to make it work... eventually trying it on Worldspawn -   seems to work,  is that a proper solution or is there something better?

    3.  And if I used brushes as func_static mover,  how to I make it spawn on start of script running?       I want my func_static to be invisible before the script is run, I cannot figure out how to accomplish.

    Ive been working on it for a good while, and having a hard time finding solutions.


    Here is the script thats not cooperating:

    //Generated by BehavEd

    rem ( "rci" );

    affect ( "rcflyin", /*@AFFECT_TYPE*/ FLUSH )
        move ( $tag( "begin", ORIGIN)$, < 0.000 0.000 0.000 >, 1000.000 );
        wait ( 1000.000 );
        move ( $tag( "approach", ORIGIN)$, < 0.000 0.000 0.000 >, 1000.000 );
        wait ( 1000.000 );
        move ( $tag( "turn", ORIGIN)$, < 0.000 0.000 0.000 >, 1000.000 );
        rotate ( < 0.000 -180.000 0.000 >, 1000.000 );
        wait ( 1000.000 );
        move ( $tag( "land", ORIGIN)$, < 0.000 -180.000 0.000 >, 1000.000 );

    1. Not sure if it's possible - try rotating twice, first at -90 and then to -180.

    2. If it works, then it definitely is a solution. :oldtongue:

    3. You can either spawn it and hide it somewhere, and move it back when it has to be seen, or you can try a script with a convenient:

    set ( /*@SET_TYPES*/ "SET_INVISIBLE", /*@BOOL_TYPES*/ "true" );

    It should work on brushes too, if I remember correctly. You can set it to false at the start of the moving script, when you want it to be seen again.

    fullkevlar likes this
  • Create New...