Jump to content

Langerd

Members
  • Posts

    2,046
  • Joined

  • Last visited

Posts posted by Langerd

  1. I can try messaging him on Twitter to see if he can fix the typo at least.

    Listen!! I dont want to be nit-picky too much ;P 

     

    I just gave my opinion on that! It just gave me feeling like this situation:

     

    You are watching the jk3 gameplay and You see the player model that You have never seen before. So You ask the author of the movie:

     

    -Where did You get that model?

     

    and author of the video answers like this

     

    -Here! <Gives us link> this is a Lobot model made by Psych0Sith. Enjoy

     

    Just a little tribute to the authors . I rly dont want to be called a prick or dickhead... I Rly enjoyed that video!! It is amazing work by Dash and i rly appreciate what he done! 

     

     

    Many thanks You All for Your comments.

  2. Well i am not looking only on my situation. If someone make a video with the modification - giving the names of the authors .. i think it would be nice to see them there... I am not calling Dash about anythng. Modding is modding. I sent the file for People to play with. 

    The problem is with the rights for the maps, files and my work. I think it is not the same situation as uploading the art on the special site, blog or even making something with the proper license. 8-10 years ago when i saw the map, modifaction or even small skin - i was looking at the authors name because i felt it is in some way a tribute to them. Living Dead Jedi , Sjc for example are modders that made me start mapping. 

    I am just a little afraid about the future staff.. if someone with big amount of money will take my project (even if it is a mod) , gain a lot of fans and good ratings and he will license it that it is his work from scratch i cant do shiet...

  3. One Thing Guys.... The author of this video doesnt wrote who exactly made the modification or even tell. I am not the only one who made things for this mod - but i made 90-95%. 

    How license of the mod works? Is this something like - i can add  name of the author but i dont need to? I just feel a little bad that there is no Langerd or You Guys in the description of the video. There is a Link to the modification but with the typo..

    Wasa, Jolly and TheWhitePhoenix like this
  4. after modeling and uv-mapping, I typically merge verts unless I have a specific reason not to. Then I convert the quads to triangles. I export as a wavefront obj, then import into blender, where I set up the md3shader and export the md3. For the model in these screenshots, I went back in and tried selecting and sharpening the edges where needed (most of the model frankly). However I was doubtful that this would affect the final md3, and I was right. It didn't help.

     

    shot2017-09-13_13-35-54.jpg shot2017-09-13_13-36-26.jpg shot2017-09-13_13-36-38.jpg

     

    The model in question is this approximation of the door-frames in SWTOR (I've since come to question making them so similar to SWTOR's and might rebuild similar to my previous map version's frames.)

     

    As you can see, the edges aren't sharp and the shading on flat surfaces gets weird, making the triangles more obvious.

    You are using the misc_model right? :

     

    -Select the model in the gtkradiant.

    -add a key - spawnflags and value - 4

    -compile the map and check the resaults.

     

    Like Pande said before in one of the topics- 

     

     Spawnflags 4   the model receives lightmapping instead of vertex light and leaves the model nonsolid. Spawnflags 6 combines auto-solid and lighting.

    PK_Azlon likes this
  5. What you want can be achieved! I can't remember exactly how I've done it, but I think you can give a spawnscript to the player that makes him undying and a deathscript that should activate when he reaches 1 point of HP. 

    Yep deathscript activetes with the undying set on - 1 hp. Not sure for a player tho..

  6. @@Langerd I hope you still check from time to time, but your mod recently got a little advertising by Dash Star. :D

    Ow... Mah... God.... This is... amazing O___O 

     

    For that! Before my next holiday Trip i will send You Guys a big annoucment and my entire Holdiay work (screens... not modficiation.. sadly. A LOOOOT of work )  ;) + BONUS- I managed to change some codes for the weapons. The game will work with the OpenJk ;)

    Wasa, TheWhitePhoenix and yeyo JK like this
  7. To be honest, what I would like to do is marry the Dark Forces mod with DICE's Battlefront. Meaning that I'm going to remove all those crazy ass doom-like weapons the original Dark Forces game had, replace some of them with weapons from the movies and have Kyle carry only three guns plus inventory. Think about it as a branch of the original Dark Forces mod. That said, I'm not ruling out making weapon models for the community. Now I know how to put them in the game and the modeling part is quite easy.

    I always loved the feel of normal blasters more than these weird Jk2 looking weapons.. I am thinking about changing concussion rifle into the T-21 rifle.

  8. @@GPChannel If they are .md3 files, they don't need .ase files.

    .ase is a different model format entirely. Neither requires the other to appear textured.

     

    Something else went wrong in your conversion process. Which program did you use to convert the models?

    I saw the models. He converter them into glm (because blender doesnt have md3 importer) and he tried import it in blender.. for some reason he cannot load them because the : cant load a skin! error shows up (Even if he remove default in the skin table blender for some reason automaticly fill blank space and put untitled.. i dont have this thing in my own blender). But later he sent me all of those models. They dont have UV coordinates.. no Uv layout. Models are one color because of that.

  9. How You exported the MD3 model and have You added in the custom properites the md3shader property ? If not:

    -Select the model in the object mode
    -go to the properties
    -Object
    -slide down to the Custom properties
    -click add and edit on the right
    -in property name type : md3shader
    -in property value the path to the texture. One object of the MD3 / One texture. example : models/map_objects/bespin/generator
    (You can have multiple texture but first You need create multiple objects. Of course two objects can use two textures)
    Remember that radiant need paths to your folder as well. So if you want see texture in the program you must add them first. 
    And now UV layout = no texture coordinates .. simply no texture at all. And MD3 needs to be Tris too. However You can use seams in the program instead of the sharp edges (like in glm models) the exporter split them automaticlly (no problems and bugs with the MD3 exporter to be honest from my side).

  10. Trying to make dismember guns and i am half on my way .. still after killing the enemy his body doesnt react on eny hitloc mechanic. Even if i shot the bodies head g_debugdamage 1 code shows me that hitloc is set to - none. Is any way to fix that? I also find out that if g_sabermorerealistic is set to the default 0 (i think it is default value) saber is not using hit_loc as well.. only on the hands and arms. Someone knows where i can find the code fot the g_sabermorerealistic cheat command and how to fix this body issue? It is not like i want to shot the bodies. If i will shot the enemy with flechette for example - all of thoise shots will dismember the enemy into pieces. 

  11. So i saw there are only two weapons that actually. I can dismember the body after the kill. The reason i want this is not to torture bodies on the floor .. but to actually dismember enemies while shooting a barrage of missles at them. 

    The Disruptor - main and alt fire and also conussion rifle - only alt fire. These two are similar - laser that instantly goes through entire map. But i also saw in a code this line.
     


    int hitLoc = G_GetHitLocFromTrace(&tr, MOD_CONC_ALT);
    qboolean noKnockBack = (qboolean)((traceEnt->flags&FL_NO_KNOCKBACK) != 0);//will be set if they die, I want to know if it was on *before* they died
    if (traceEnt && traceEnt->client && traceEnt->client->NPC_class == CLASS_GALAKMECH)
    {//hehe
    G_Damage(traceEnt, ent, ent, forwardVec, tr.endpos, 10, DAMAGE_NO_KNOCKBACK | DAMAGE_NO_HIT_LOC, MOD_CONC_ALT, hitLoc);
    break;
    }
    G_Damage(traceEnt, ent, ent, forwardVec, tr.endpos, damage, DAMAGE_NO_KNOCKBACK | DAMAGE_NO_HIT_LOC, MOD_CONC_ALT, hitLoc);

     

     

    and for disruptor
     

    if (render_impact)
    {
    if (tr.entityNum < ENTITYNUM_WORLD && traceEnt->takedamage)
    {
    // Create a simple impact type mark that doesn't last long in the world
    G_PlayEffect(G_EffectIndex("disruptor/flesh_impact"), tr.endpos, tr.plane.normal);
     
    if (traceEnt->client && LogAccuracyHit(traceEnt, ent))
    {
    ent->client->ps.persistant[PERS_ACCURACY_HITS]++;
    }
     
    int hitLoc = G_GetHitLocFromTrace(&tr, MOD_DISRUPTOR);
    if (traceEnt && traceEnt->client && traceEnt->client->NPC_class == CLASS_GALAKMECH)
    {//hehe
    G_Damage(traceEnt, ent, ent, forwardVec, tr.endpos, 3, DAMAGE_DEATH_KNOCKBACK, MOD_DISRUPTOR, hitLoc);
    }
    else
    {
    G_Damage(traceEnt, ent, ent, forwardVec, tr.endpos, damage, DAMAGE_DEATH_KNOCKBACK, MOD_DISRUPTOR, hitLoc);
    }
    }
    else
    {
    G_PlayEffect(G_EffectIndex("disruptor/wall_impact"), tr.endpos, tr.plane.normal);
    }
    }

     


    This lines are similar. One thing that i dont understand is those traces. Well.. i dont understand many things. Like why the hell i see GALAK_MECH class??? Dunno . 

    Still cant understand why bodies loss for most of the weapons hitscan but for saber, disruptor and concussion dont. 

    EDIT: fixed this weird issue .. in g_combat.cpp line : 2348 i wrote - qboolean doDismemberment = qtrue; oriignally there is qboolean doDismemberment = qfalse; .. it bugged the dismember mechanic by simply dismember the playermodel after hurting an enemy even if we hit the tags that are not for dismemberment. Still cant find this syupid line in the code that turns off the hitloc for the dead enemies..
  12. bowcaster is a saber, or is a shoot weapons? (if is a shoot weapons, really you need to explain me how yoi did a dismember gun D: without coding! )

    if is a saber... the solution is to set g_saberrealistcombat cvar to 9 or some value like that. if i remember fines.

    I made it using Dismember like this - I started to play a little with Openjk and coding but i will not try to change or add something to my Cloud City modification . I have edited Weapons.h and i found out that there is not all options for all weapons.

    I wanted to change the damage of the weapons wo be higher and also the speed of the lasers. And i was very proud that it worked out. But when i was looking on the archieved topic that i started - i wanted to make dismember guns. @@eezstreet wrote that i must change in g_combat.cpp this line - 

     

    if ( !g_iscensored->integer && ( g_dismemberment->integer || g_saberRealisticCombat->integer > 1 ) && mod == MOD_SABER )//only lightsaber to if ( !g_iscensored->integer && ( g_dismemberment->integer || g_saberRealisticCombat->integer > 1 ))

     

    It didnt change anything sadly. But later on i looked in the code more. 

     

    In The Wp_Bowcaster.cpp at the bottom  i added this - missile->dflags = DAMAGE_DISMEMBER; like this

     

    //---------------------------------------------------------
    static void WP_BowcasterMainFire( gentity_t *ent )
    //---------------------------------------------------------
    {
    int damage = weaponData[WP_BOWCASTER].damage, count;
    float vel;
    vec3_t angs, dir, start;
    gentity_t *missile;
     
    VectorCopy( muzzle, start );
    WP_TraceSetStart( ent, start, vec3_origin, vec3_origin );//make sure our start point isn't on the other side of a wall
     
    // Do the damages
    if ( ent->s.number != 0 )
    {
    if ( g_spskill->integer == 0 )
    {
    damage = BOWCASTER_NPC_DAMAGE_EASY;
    }
    else if ( g_spskill->integer == 1 )
    {
    damage = BOWCASTER_NPC_DAMAGE_NORMAL;
    }
    else
    {
    damage = BOWCASTER_NPC_DAMAGE_HARD;
    }
    }
     
    count = ( level.time - ent->client->ps.weaponChargeTime ) / BOWCASTER_CHARGE_UNIT;
     
    if ( count < 1 )
    {
    count = 1;
    }
    else if ( count > 5 )
    {
    count = 5;
    }
     
    if ( !(count & 1 ))
    {
    // if we aren't odd, knock us down a level
    count--;
    }
     
    // if ( ent->client && ent->client->ps.powerups[PW_WEAPON_OVERCHARGE] > 0 && ent->client->ps.powerups[PW_WEAPON_OVERCHARGE] > cg.time )
    // {
    // // in overcharge mode, so doing double damage
    // damage *= 2;
    // }
     
    WP_MissileTargetHint(ent, start, forwardVec);
    for ( int i = 0; i < count; i++ )
    {
    // create a range of different velocities
    vel = BOWCASTER_VELOCITY * ( Q_flrand(-1.0f, 1.0f) * BOWCASTER_VEL_RANGE + 1.0f );
     
    vectoangles( forwardVec, angs );
     
    if ( !(ent->client->ps.forcePowersActive&(1<<FP_SEE))
    || ent->client->ps.forcePowerLevel[FP_SEE] < FORCE_LEVEL_2 )
    {//force sight 2+ gives perfect aim
    //FIXME: maybe force sight level 3 autoaims some?
    // add some slop to the fire direction
    angs[PITCH] += Q_flrand(-1.0f, 1.0f) * BOWCASTER_ALT_SPREAD * 0.2f;
    angs[YAW] += ((i+0.5f) * BOWCASTER_ALT_SPREAD - count * 0.5f * BOWCASTER_ALT_SPREAD );
    if ( ent->NPC )
    {
    angs[PITCH] += ( Q_flrand(-1.0f, 1.0f) * (BLASTER_NPC_SPREAD+(6-ent->NPC->currentAim)*0.25f) );
    angs[YAW] += ( Q_flrand(-1.0f, 1.0f) * (BLASTER_NPC_SPREAD+(6-ent->NPC->currentAim)*0.25f) );
    }
    }
     
    AngleVectors( angs, dir, NULL, NULL );
     
    missile = CreateMissile( start, dir, vel, 10000, ent );
     
    missile->classname = "bowcaster_proj";
    missile->s.weapon = WP_BOWCASTER;
     
    VectorSet( missile->maxs, BOWCASTER_SIZE, BOWCASTER_SIZE, BOWCASTER_SIZE );
    VectorScale( missile->maxs, -1, missile->mins );
     
    // if ( ent->client && ent->client->ps.powerups[PW_WEAPON_OVERCHARGE] > 0 && ent->client->ps.powerups[PW_WEAPON_OVERCHARGE] > cg.time )
    // {
    // missile->flags |= FL_OVERCHARGED;
    // }
     
    missile->damage = damage;
    missile->dflags = DAMAGE_DEATH_KNOCKBACK;
    missile->dflags = DAMAGE_DISMEMBER;
    missile->methodOfDeath = MOD_BOWCASTER;
    missile->clipmask = MASK_SHOT | CONTENTS_LIGHTSABER;
    missile->splashDamage = weaponData[WP_BOWCASTER].splashDamage;
    missile->splashRadius = weaponData[WP_BOWCASTER].splashRadius;
     
    // we don't want it to bounce
    missile->bounceCount = 0;
    ent->client->sess.missionStats.shotsFired++;
    }
    }
     
    //---------------------------------------------------------
    static void WP_BowcasterAltFire( gentity_t *ent )
    //---------------------------------------------------------
    {
    vec3_t start;
    int damage = weaponData[WP_BOWCASTER].altDamage;
     
    VectorCopy( muzzle, start );
    WP_TraceSetStart( ent, start, vec3_origin, vec3_origin );//make sure our start point isn't on the other side of a wall
     
    WP_MissileTargetHint(ent, start, forwardVec);
     
    gentity_t *missile = CreateMissile( start, forwardVec, BOWCASTER_VELOCITY, 10000, ent, qtrue );
     
    missile->classname = "bowcaster_alt_proj";
    missile->s.weapon = WP_BOWCASTER;
     
    // Do the damages
    if ( ent->s.number != 0 )
    {
    if ( g_spskill->integer == 0 )
    {
    damage = BOWCASTER_NPC_DAMAGE_EASY;
    }
    else if ( g_spskill->integer == 1 )
    {
    damage = BOWCASTER_NPC_DAMAGE_NORMAL;
    }
    else
    {
    damage = BOWCASTER_NPC_DAMAGE_HARD;
    }
    }
     
    VectorSet( missile->maxs, BOWCASTER_SIZE, BOWCASTER_SIZE, BOWCASTER_SIZE );
    VectorScale( missile->maxs, -1, missile->mins );
     
    // if ( ent->client && ent->client->ps.powerups[PW_WEAPON_OVERCHARGE] > 0 && ent->client->ps.powerups[PW_WEAPON_OVERCHARGE] > cg.time )
    // {
    // // in overcharge mode, so doing double damage
    // missile->flags |= FL_OVERCHARGED;
    // damage *= 2;
    // }
     
    missile->s.eFlags |= EF_BOUNCE;
    missile->bounceCount = 3;
     
    missile->damage = damage;
    missile->dflags = DAMAGE_DEATH_KNOCKBACK;
    missile->dflags = DAMAGE_DISMEMBER;
    missile->methodOfDeath = MOD_BOWCASTER_ALT;
    missile->clipmask = MASK_SHOT | CONTENTS_LIGHTSABER;
    missile->splashDamage = weaponData[WP_BOWCASTER].altSplashDamage;
    missile->splashRadius = weaponData[WP_BOWCASTER].altSplashRadius;
    }
     
    //---------------------------------------------------------
    void WP_FireBowcaster( gentity_t *ent, qboolean alt_fire )
    //---------------------------------------------------------
    {
    if ( alt_fire )
    {
    WP_BowcasterAltFire( ent );
    }
    else
    {
    WP_BowcasterMainFire( ent );
    }

     

    }

     

     

    That made my bowcaster killing shot to dismember the limb. Headshots makes heads flying (This is rly fun change.. but brutal ;)

     

    Also i found out that changing these lines in weapon.h :

     

    #define BOWCASTER_SPLASH_DAMAGE 0
    #define BOWCASTER_SPLASH_RADIUS 0

     

    to 

     

    #define BOWCASTER_SPLASH_DAMAGE 20
    #define BOWCASTER_SPLASH_RADIUS 100

    Makes Bowcaster very powerful and more fun weapon but less fun when i am fightning the lighstaber user. I think it is in the code that enemies with force powers are trying to push or jump/evade the weapons with splash damage. adding this made lightsaber user to force push - even if they cannot do it. Would be cool to change that too for weapons that are pushable (imagine jedi pushing Your main flechette shots)

     

    I also changed the damage of the melee. Now - player and enemis deals always the same damage. Still it was weird andhard for me to understand. I found out that player was dealing only 6... dmg. And sometimes even less- 3 . But Grans Boxers for example were dealing something like 40 and 60 It is very weird because everything changed after i made some changes in the Wp_melee.cpp . Now boxers and player deals the same amount of damage and it will always be 40. But i wanted to find out..  why it is made this way?  

     

    In the Wp_melee (again at the bottom):

     

    void WP_Melee( gentity_t *ent )
    //---------------------------------------------------------
    {
    gentity_t *tr_ent;
    trace_t tr;
    vec3_t mins, maxs, end;
    int damage = ent->s.number ? (g_spskill->integer*2)+1 : 3; <- this 3 is somehow x2 sometimes . That is why player deals - 6 dmg  too. I think it is because of the line that is below.
    float range = ent->s.number ? 64 : 32;
     
    VectorMA( muzzle, range, forwardVec, end );
     
    VectorSet( maxs, 6, 6, 6 );
    VectorScale( maxs, -1, mins );
     
    gi.trace ( &tr, muzzle, mins, maxs, end, ent->s.number, MASK_SHOT, (EG2_Collision)0, 0 );
     
    if ( tr.entityNum >= ENTITYNUM_WORLD )
    {
    if ( tr.entityNum == ENTITYNUM_WORLD )
    {
    G_PlayEffect( G_EffectIndex( "melee/punch_impact" ), tr.endpos, forwardVec );
    }
    return;
    }
     
    tr_ent = &g_entities[tr.entityNum];
     
    if ( ent->client && !PM_DroidMelee( ent->client->NPC_class ) )
    {
    if ( ent->s.number || ent->alt_fire )
    {
    damage *= Q_irand( 2, 3 ); here i think it is for the enemies. You may ask why? I dont know.. i am a noob but it works for me. If Gran Boxer deals 40 and 60 i looked down below on the : damage *= 4; Lets do the math : 4x10=40 4x15=60 .. and i changed in my wp_melee file this line to *= Q_irand( 2, 2 ); and guess what. Gran was dealing only 40dmg ONLY!
    }
    else
    {
    damage *= Q_irand( 1, 2 ); remember that i what i was saying before ? I think this line is for player - in my wp_melee i changed these line to damage *= Q_irand( 2, 2 );
    }
    }
     
    if ( tr_ent && tr_ent->takedamage )
    {
    int dflags = DAMAGE_NO_KNOCKBACK;
    G_PlayEffect( G_EffectIndex( "melee/punch_impact" ), tr.endpos, forwardVec );
    //G_Sound( tr_ent, G_SoundIndex( va("sound/weapons/melee/punch%d", Q_irand(1, 4)) ) );
    if ( ent->NPC && (ent->NPC->aiFlags&NPCAI_HEAVY_MELEE) )
    { //4x damage for heavy melee class
    damage *= 4; this damage is not damage for the player. This is the damage of the npcs. Weird fact that it was .. x10 and x15
    dflags &= ~DAMAGE_NO_KNOCKBACK;
    dflags |= DAMAGE_DISMEMBER;
    }
     
    G_Damage( tr_ent, ent, ent, forwardVec, tr.endpos, damage, dflags, MOD_MELEE );
    }
    }

     

    So as i was thinking - maybe i will just look for the line in the code that makes enemies somehow dealing x10 and x15 with this mase damage. It was getting out of control when Gran Boxer punched me and killed me with one hit... dealing 750 damage. Wow. 

    But i cant found it anywhere. I thought it is in AI_Grendardier but nope. 

     

    But back to the main topic : - Dismember work once. After the enemy is killed the Hit_Loc of the body is turned off. Which means that - shooting at the head of the DEAD body will not deal extra damage (because headshots are 2x damage right?) . When i turned on the g_debugdamage to 1 i saw that game reads it as the : none . Not a head or leg or arm.. Because of that game does not know to actually cut the limb because damage is not based on the hit_loc anymore :/ I might be wrong here but this is my observation.

    Vade Parvis likes this
  13. Hello,

     

    I have create new version of Deathwatch mandalorian. It is class Bobba Fett with same lines in .npc file but he doesn´t use his jetpack. He is flying but no fuel is visible. It is very weird.

    That is because Boba_fett uses extra tags - I think Jet1 and Jet2. The wirst is also bugged in normal models because flamethrower comes from their asses.

    Tompa9, Penekowski and Noodle like this
  14. Langerd is saying that mm's are baked into the .bsp geometry and don't require the original mesh file to be included in the .pk3 - mms however needs the model as it loads the mesh in runtime.

     

    So using misc_model will prevent the ship from being decompiled.

    Yep! Because when i wanted to use the bench and Lando statue for my map - it wasnt in the orinal assets of the game. There were textures but no MD3 model. 

    After long looking i found them in the SDK files for JO.

    AngelModder likes this
  15. Alot of things already are md3. However certain things like the ship etc will not be infact I'm having them written off as an entity. The reason for that is when kids decide to decompile this it will erase it and other area's and details I do not wish reused in other maps. Lets face it people do it. 

    I've always had an issue with people using my materials and such. Even asking me honestly just kind of gets under my skin in a weird way. As for the Rhino, if any one's going to turn it into a vehicle it will be me, no one else. :/ just how I am. 

    I thought MD3 as misc_model will also be earesed. If You will not put the MD3 in the pk3 file it will still load misc_model - misc_model_static will not. ..I might be wrong 

     

    EDIT: Because misc_model is baked into the map. Misc_model Static is just loaded model without shading from the map.

    AngelModder likes this
×
×
  • Create New...