Forum posts

Posted 4 years ago2020-01-29 18:58:13 UTC
in Post your screenshots! WIP thread Post #343706
Oh yes!!, if you watch the movie, the gameplay depicts the whole sequence, some changes because of engine limitations are done, but, basically, the scene is the same: Aascari drills fall from the ceiling, the Hand of God destroys the tower, another Ascari drill breaks through one of the bridges, the Mjolnir enters the zion dock breaking the gates and then fires the EMP... :crowbar:

Oh: I have finished the Gnosis, the Shiva is WIP actually.
User posted image
User posted image
User posted image
User posted image
Posted 4 years ago2020-01-29 15:48:45 UTC
in Post your screenshots! WIP thread Post #343704
Oh, those are only for the menu background map!, yes, it´ll sound crazy to do 10 models just for seeing there standing still, but...well, I want things well done :)
Posted 4 years ago2020-01-27 14:39:34 UTC
in Post your screenshots! WIP thread Post #343702
Haha, thans!!, it´s like "if a newbie like me can, you can!!" :crowbar:
Well, maybe it is not the best model ever, but it is seen from the distance, so 4K detail is not 100% needed.
User posted image
User posted image
And (believe it or not) this is the Gnosis :walter:
LEGO forever...LEGO forever...
Posted 4 years ago2020-01-26 17:58:54 UTC
in Binding new Keys that run clientside functions. Post #343700
Don´t you worry. I repeat, that´s s feature that can wait, or maybe it will not be added once I finish this v2.0 of the mod. I have played this morning a full match and find that it is almost done, some little polishment in the health and damage of certain npcs and that´s all the code left I can do. I think it´s time to led Zion Warcry sourcecode have a rest. :)
Posted 4 years ago2020-01-26 15:14:44 UTC
in Binding new Keys that run clientside functions. Post #343698
No. The Gunner guys walk and run, and the trolleys do the same. What I want is that the gunners follow the movement of the trolley guys that also walks and run. Once they spawn, the trolley guys run to "attack" (give ammo) the player, or the bot that has no ammo loaded, and I want the gunners (that spawn at the same time) follow the trolley guy at a given distance, instead of running or standing still engaging combat, I want them to engage combat BUT always keeping distance with the trolley guys, as if they are tied with a beam that has a fixed lenght.
Posted 4 years ago2020-01-26 12:23:49 UTC
in Post your screenshots! WIP thread Post #343696
Finally!!
Nebuchadnezzar in map, flying and landingNebuchadnezzar in map, flying and landing
Now for the Caduceus...
Lego in Matrix...Lego in Matrix...
And, also, I have taken back the RADAR...
RadarRadar
It looks better now, bigger and the dots are more like in the movie.
Posted 4 years ago2020-01-26 12:16:19 UTC
in Binding new Keys that run clientside functions. Post #343695
They must get close to the trolley guys, as a bodyguard.
I will try your sound method!!. Thanks for helping me in this last steps!

BTW:
	//======================================
	// Mostrar-Esconder HUD HUD
	//======================================

	if ( g_bShowHudToggle )
	   	{

			gHUD.m_iHideHUDDisplay &= ~ HIDEHUD_WEAPONS;
            gHUD.m_iHideHUDDisplay &= ~ HIDEHUD_HEALTH;
			gHUD.m_iHideHUDDisplay &= ~ HIDEHUD_ALL;
			gHUD.m_iHideHUDDisplay &= ~HIDEHUD_FLASHLIGHT;
			if ( CL_IsThirdPerson ()) { gViewPort->ShowHud1(); gViewPort->HideHud();}
			if ( !CL_IsThirdPerson ()) { gViewPort->ShowHud(); gViewPort->HideHud1();}

			PlaySound("player/hudon.wav", 1);//(c)Admer


		}

		if ( g_bHideHudToggle )
		{
			gHUD.m_iHideHUDDisplay |=  HIDEHUD_WEAPONS;
			gHUD.m_iHideHUDDisplay |=  HIDEHUD_HEALTH;
			gHUD.m_iHideHUDDisplay |=  HIDEHUD_FLASHLIGHT;
			gViewPort->HideHud();//HUD reticle Firstperson
			gViewPort->HideHud1();//HUD reticle Thirdperson

			PlaySound("player/hudoff.wav", 1);//(c)Admer

		}


//=============================
It compiled fine this way!!
Posted 4 years ago2020-01-25 15:26:32 UTC
in Binding new Keys that run clientside functions. Post #343692
Oh nothing of that, just that I use the:
EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/hudon.wav", 1, ATTN_NORM);
I obtain:
E:\DevZWC20\Elementos Basicos MAYO 2017\Single-Player Source\cl_dll\input.cpp(902) : error C2065: 'EMIT_SOUND' : undeclared identifier
BTW: i need spoonfeeding with the gunners following the trolleys. I have added the Nebuchadnezzar ship to the map, the Ganesha and Caduceus are ready too, I´m rewriting the manual, the mod is finished except for that part. I really can left that undone, I did it with the trolley code ages ago in 2008, but it could be cool if that part could be added before I can consider dinished the mod finally. :lol:
Posted 4 years ago2020-01-24 00:29:47 UTC
in Binding new Keys that run clientside functions. Post #343689
Oh. I found tons of errors when I try to use sounds...my bad coding again.
Posted 4 years ago2020-01-23 15:33:41 UTC
in Post your screenshots! WIP thread Post #343687
Milkshape is good for modelling, but a disaster for animating unless it is for non very complex sequences.
Posted 4 years ago2020-01-23 15:14:24 UTC
in Binding new Keys that run clientside functions. Post #343686
I will try your method for the bind keys!. Thanks Admer! :P
Done...with some issues, but it works!!, BTW: How can I do the emitting sound in the client part? (and, BTW, the "monster following another monster" thingy forgotten ages ago, I swear I tried all but with no luck, haha!!!)

thread here...
Posted 4 years ago2020-01-23 10:41:30 UTC
in Binding new Keys that run clientside functions. Post #343682
HOW I DO IT

AKA: the absolute dummies method!! :nya:

NOTE: All credit must go to Sluggo the author of the original tutorial of which I commit the heresy of modifying it in the authentic Abbadon´s Clumsy Coding style!! :crowbar:

In your CLIENT workspace just do this for creating toggle keys:

In hud.cpp

Under
#include "vgui_scorepanel.h"
Put
bool g_bShowHudToggle;// Or whatever key you want
Inside
//DECLARE_MESSAGE(m_Logo, Logo)
int __MsgFunc_ResetHUD(const char *pszName, int iSize, void *pbuf)
{
return gHUD.MsgFunc_ResetHUD(pszName, iSize, pbuf );
Put
g_bShowHudToggle = false;
Inside
// This is called every time the DLL is loaded
void CHud :: Init( void )
{
Put
g_bShowHudToggle = false; 
Now in input.cpp

Under
extern int g_iAlive;
Put
extern bool g_bShowHudToggle;
Under
kbutton_t	in_graph;  // Display the netgraph
Put
kbutton_t   in_showhud;
Under
void IN_DuckUp(void) {KeyUp(&in_duck);}
Put
void IN_ShowHudToggle( void ) {g_bShowHudToggle = !g_bShowHudToggle;}
Now into
int CL_ButtonBits( int bResetState )
{
Put
//=============================
	if ( g_bShowHudToggle )
	{
	 Yourstuff here...
	}
//==============================
And into
void InitInput (void)
{
Put
gEngfuncs.pfnAddCommand ( "showhud", IN_ShowHudToggle);
Probably into both input.cpp and hud.cpp you must put...
#include "vgui_TeamFortressViewport.h"
...because I cannot remember if, because I add the "showhud" stuff there (the function that shows and hides the Combat HUD), the compiler needs it to build the client.dll.

Now in your kb_act.lst file into the yourmod\gfx\shell folder of your mod just add (I am using my code here as an example):
"showhud"				"Combat Screen Reticle CSR ON"
I hope that it works for you too. :glad:
Posted 4 years ago2020-01-23 10:11:11 UTC
in Binding new Keys that run clientside functions. Post #343680
Done!! I have do some testings and discovered that I don´t need the IN_ whatever part, just create the command inside the client part and call the "showhud" part inside the code that handles the toggle mechanism. Now it works very well!!, pity that I don´t know how to put it in the kb_act.lst file so I can execute the impulse command that disables the HUD (HIDEHUD_ALL) and the command "showhud" at the same time... I mean, bind ONE key for two commands, of course. :crowbar:
Posted 4 years ago2020-01-22 23:51:58 UTC
in Post your screenshots! WIP thread Post #343679
Haha!, yes Niobe said that about the rear end of the Mjolnir: "this hip has a fat ass!!!" :nya:
Posted 4 years ago2020-01-22 22:49:55 UTC
in Post your screenshots! WIP thread Post #343677
I think your work is right. Far better than many assets of other mods and indie games around there.

And... in the other hand...Done!!
Neb1Neb1
Neb2Neb2
Neb3Neb3
Neb4Neb4
It´s time to do some trick with the animation!! :crowbar: Remember, it is not so much detailed except in the ass because it could only be seen from the distance as it lands on the pier number 12. ;)
Posted 4 years ago2020-01-22 21:28:34 UTC
in Binding new Keys that run clientside functions. Post #343676
I did the duck part for the SIEGE position!!, the problem is that it was applied to IN_ keys, so I can´t figure how to do it for commands like "ShowScope" or "HideScope" as the impulse commnads do in the server side part:
	case 102:
       CLIENT_PRINTF( ENT(pev), print_console, "Radar System OFF \n" );
       EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/radaroff.wav", 1, ATTN_NORM);
       radar_on = 0;
       MESSAGE_BEGIN( MSG_ONE, gmsgRadar, NULL, pev );
       WRITE_BYTE(0);
       MESSAGE_END();
       break;
Any material you´ll need just ask. Thank you so much Admer. :)
Posted 4 years ago2020-01-22 20:50:09 UTC
in Binding new Keys that run clientside functions. Post #343674
It is supposed to use this two functions:

ShowScope ();
HideScope();

That is, the HUD overlay shown OVER the player HUD.
caption textcaption text
Is the frame rectangle with the letters, the space for the radar, etc. When I hide the HUD (HIDEHUD_ALL) the frame persists, and the two functions that create and erase the frame are those two.
Posted 4 years ago2020-01-22 14:59:28 UTC
in Post your screenshots! WIP thread Post #343670
Also, someone might ask me "Why are you doing everything, even the stuff you're not good at?"
Amen
Posted 4 years ago2020-01-21 16:09:43 UTC
in After compile some models cycler_sprite missing Post #343666
DON´T duplicate entities... insert them one by one. Sometimes if you duplicate them ( because they are the same and you don´t feel the need of doing that boring thing on and on ) the compiler start doing crazy things (believe me, that happened to me... ).
Posted 4 years ago2020-01-21 15:36:53 UTC
in Binding new Keys that run clientside functions. Post #343665
I am studying this tutorial trying to understand how to make that, when a impulse command is activated a function that is in the clientside part (cl.dll) runs.

Binding New keys TUT

But I cannot find a good solution for it, although I know that the weapon code is shared between client and server projects, overall if I try to use the function I want into the "impulse" cases part in the server side.

I DON´T know how to do it.
If there are any examples of that, please tell me where they are to study them so I can implement the method.
Posted 4 years ago2020-01-20 20:04:39 UTC
in Post your screenshots! WIP thread Post #343659
Wow!!! :gak: I like the grenade and the Beretta M92
Posted 4 years ago2020-01-20 14:24:42 UTC
in Post your screenshots! WIP thread Post #343655
What I do is do the model using barney´s mesh as a rule for the size. For the mod I use a single scale of 37 for mesh and bones (in HLMV) once compiled , this way the models take the size they need for Zion Warcry.
Posted 4 years ago2020-01-19 22:33:38 UTC
in Post your screenshots! WIP thread Post #343647
That´s right!, MS3D. And that´s speed modelling. The model tooks me only one hour to finish it. :crowbar:
Posted 4 years ago2020-01-16 15:24:49 UTC
in Post your screenshots! WIP thread Post #343628
Nebuchadnezzar1Nebuchadnezzar1
Nebuchadnezzar2Nebuchadnezzar2
Nebuchadnezzar3Nebuchadnezzar3
Nebuchadnezzar4Nebuchadnezzar4
Nebuchadnezzar5Nebuchadnezzar5
Nebuchadnezzar6Nebuchadnezzar6
Nevermind. I kinda fixed it. Thanks tschumann :crowbar:
Aniway... Any ideas on how to solve this? I have surrender some hours ago... I mean: how can I make the gunners follow the trolley guy without crashing the whole game. My compile is Win32_release not debug, so I cannot debug a thing, also, I am not able to setup the projects correctly to be Win32_debug instead (each time I did it I find myself with a ton of errors and "thiscall", "unknown stuff" etc.

PS: I have tried the tracktarget method of the Hornet and, no, it still crashes the game. :)
THANKS so much Penguinboy, In the formatting options the code was enclosed in this singns code, and it look awful (sorry), but did not look into the Formatting Help link, moron me. :crowbar:
BTW: if I comment THIS part...
//=================================================
        if ( HasConditions (bits_COND_SEE_HATE ) )
        {
            return  GetScheduleOfType( SCHED_TARGET_CHASE );
        }
     //=================================================
...the game runs perfect. The gunners attack the Trolley guy, yes, but the game does not crash at all. :|
:crowbar: Done!!, but game crash each time the monster spawns... :pwned:

Here´s all the code. Forgive me if I did not rename the Islave monster from CIslave to CGunner :lol:

I have modified its relationship:
//=========================================================
// Classify - indicates this monster's place in the
// relationship table.
//=========================================================
int    CISlave :: Classify ( void )
{
    return    CLASS_PLAYER_ALLY;
}


int CISlave::IRelationship( CBaseEntity *pTarget )
{

    if ( FClassnameIs( pTarget->pev, "monster_sentinel" ) )
    {
        return R_NM;
    }
    if ( FClassnameIs( pTarget->pev, "player" ) )
    {
        return R_AL;
    }
    if ( FClassnameIs( pTarget->pev,  "monster_trolley" ) )
    {
        return R_HT;
    }


    return CBaseMonster::IRelationship( pTarget );
}
wrote the new code:
//=========================================================
// Codigo para seguir a los Trolley
//=========================================================

Task_t    tlFollow[] =
{
//    { TASK_SET_FAIL_SCHEDULE,    (float)SCHED_CANT_FOLLOW },    // If you fail
    { TASK_MOVE_TO_TARGET_RANGE,(float)640        },    // Move within 640 of target ent (monster_trolley)
//    { TASK_SET_SCHEDULE,        (float)SCHED_TARGET_FACE },
};

Schedule_t    slFollow[] =
{
    {

        tlFollow,
        ARRAYSIZE ( tlFollow ),
        bits_COND_NEW_ENEMY |
        bits_COND_LIGHT_DAMAGE |
        bits_COND_HEAVY_DAMAGE |
        bits_COND_HEAR_SOUND,
        bits_SOUND_COMBAT |
        bits_SOUND_DANGER,
        "Follow"
    },
};
Of course I have definded all...
DEFINE_CUSTOM_SCHEDULES( CISlave )
{
    slSlaveAttack1,
    slSlaveEstablishLineOfFire,
    slFollow,
};
And in:
Schedule_t *CISlave :: GetSchedule( void )
I placed:
//=================================================
// He follows who he hates...
//=================================================
    if ( HasConditions (bits_COND_SEE_HATE ) )
    {
        return  slFollow;
    }
 //=================================================
Also I put the "follow" thing in:
Schedule_t *CISlave :: GetScheduleOfType ( int Type )
{
    switch    ( Type )
    {
    case SCHED_FAIL:
        slSlaveEstablishLineOfFire;//ZWC
     case SCHED_RANGE_ATTACK1:
        return slSlaveAttack1;
    case SCHED_TARGET_CHASE:
        return slFollow;
    }
    return CSquadMonster :: GetScheduleOfType( Type );
}
Posted 4 years ago2020-01-05 21:02:40 UTC
in A Utopia At Stake Post #343558
I freak out with how you progress in coding, Admer. :nuts:
AIscripted sequence structureAIscripted sequence structure
First AIscripted sequenceFirst AIscripted sequence
Second AIscripted sequenceSecond AIscripted sequence
Multimanager setupMultimanager setup
Trigger Auto setupTrigger Auto setup
Monster setupMonster setup
Qc file in GuiStudioQc file in GuiStudio
It "works". It plays ok the animations but showing 0.5-1 sec of the idle animation just before the second aiscripted sequence is played. Oh. It seem to ignore the player or the bots, it does not attack them...

And, sorry for posting ALL the code...
/***
*
*	Copyright (c) 1996-2002, Valve LLC. All rights reserved.
*
*	This product contains software technology licensed from Id
*	Software, Inc. ("Id Technology").  Id Technology (c) 1996 Id Software, Inc.
*	All Rights Reserved.
*
*   This source code contains proprietary and confidential information of
*   Valve LLC and its suppliers.  Access to this code is restricted to
*   persons who have executed a written SDK license with Valve.  Any access,
*   use or distribution of this code by or to any unlicensed person is illegal.
*
****/
//=========================================================
// HandOfGod Monster (10-7-2015) First Attempt.
// Modificado 19/11/2019
//=========================================================

// UNDONE: Don't flinch every time you get hit

#include	"extdll.h"
#include	"util.h"
#include	"cbase.h"
#include	"monsters.h"
#include	"schedule.h"

// New Includes
#include    "weapons.h"
#include	"effects.h"


//=========================================================
// Monster's Anim Events Go Here
//=========================================================
#define	HOG_AE_ATTACK_RIGHT		0x01

class CHog : public CBaseMonster
{
public:
	void Spawn( void );
	void Precache( void );
	void SetYawSpeed( void );
	int  Classify ( void );
	void HandleAnimEvent( MonsterEvent_t *pEvent );
	int IgnoreConditions ( void );

		int  IRelationship( CBaseEntity *pTarget );

	void IdleSound( void );
	void AttackSound( void );

	static const char *pAttackSounds[];
	static const char *pIdleSounds[];
	static const char *pAttackHitSounds[];
	static const char *pAttackMissSounds[];


	int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType );

    	void TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType );
   	void PrescheduleThink( void );

};

LINK_ENTITY_TO_CLASS( monster_hog, CHog );

const char *CHog::pAttackHitSounds[] =
{
	"sentinel/slash1.wav",
	"sentinel/slash2.wav",
};

const char *CHog::pAttackMissSounds[] =
{
	"drone/claw_miss1.wav",
	"drone/claw_miss2.wav",
};

const char *CHog::pAttackSounds[] =
{
	"drone/attack1.wav",
	"drone/attack2.wav",
};

const char *CHog::pIdleSounds[] =
{
	"drone/idle1.wav",
	"drone/idle2.wav",
	"drone/idle3.wav",
	"drone/idle4.wav",
};


//=========================================================
// Classify - indicates this monster's place in the
// relationship table.
//=========================================================
int	CHog :: Classify ( void )
{
	return	CLASS_ALIEN_MILITARY;

}

//=========================================================
// Relationship - El bichito tiene ahora muchas cosas
// a las que atacar.
//=========================================================
int CHog::IRelationship( CBaseEntity *pTarget )
{

	if ( FClassnameIs( pTarget->pev, "player" ) )
	{
		return R_HT; // Probar R_NM;
	}

	if ( FClassnameIs( pTarget->pev, "monster_crane" ) )
	{
		return R_NO;
	}


	return CBaseMonster::IRelationship( pTarget );
}

//=========================================================
// SetYawSpeed - allows each sequence to have a different
// turn rate associated with it.
//=========================================================
void CHog :: SetYawSpeed ( void )
{
	int ys;

	ys = 180;

#if 0
	switch ( m_Activity )
	{
	}
#endif

	pev->yaw_speed = ys;
}

int CHog :: TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType )
{
	// Take 10% damage from bullets
	if ( bitsDamageType == DMG_BULLET )
	{
		Vector vecDir = pev->origin - (pevInflictor->absmin + pevInflictor->absmax) * 0.5;
		vecDir = vecDir.Normalize();
		float flForce = DamageForce( flDamage );
		pev->velocity = pev->velocity + vecDir * flForce;
		flDamage *= 0.1;
	}

	return CBaseMonster::TakeDamage( pevInflictor, pevAttacker, flDamage, bitsDamageType );
}


void CHog :: IdleSound( void )
{
	int pitch = 95 + RANDOM_LONG(0,9);

	// Play a random idle sound
	EMIT_SOUND_DYN ( ENT(pev), CHAN_VOICE, pIdleSounds[ RANDOM_LONG(0,ARRAYSIZE(pIdleSounds)-1) ], 1.0, ATTN_NORM, 0, 100 + RANDOM_LONG(-5,5) );
}

void CHog :: AttackSound( void )
{
	// Play a random attack sound
	EMIT_SOUND_DYN ( ENT(pev), CHAN_VOICE, pAttackSounds[ RANDOM_LONG(0,ARRAYSIZE(pAttackSounds)-1) ], 1.0, ATTN_NORM, 0, 100 + RANDOM_LONG(-5,5) );
}


//=========================================================
// HandleAnimEvent - catches the monster-specific messages
// that occur when tagged animation frames are played.
//=========================================================
void CHog :: HandleAnimEvent( MonsterEvent_t *pEvent )
{
	switch( pEvent->event )
	{
		case HOG_AE_ATTACK_RIGHT:
		{
			CBaseEntity *pHurt = CheckTraceHullAttack( 70, RANDOM_LONG (2,10), DMG_SLASH );


		if ( pHurt )
			{
				if ( pHurt->pev->flags & (FL_FAKECLIENT|FL_CLIENT) )
				{
					pHurt->pev->punchangle.z = -300;
					pHurt->pev->punchangle.x = 300;
					pHurt->pev->velocity = pHurt->pev->velocity - gpGlobals->v_right * 550;
				}
				// Play a random attack hit sound
				EMIT_SOUND_DYN ( ENT(pev), CHAN_WEAPON, pAttackHitSounds[ RANDOM_LONG(0,ARRAYSIZE(pAttackHitSounds)-1) ], 1.0, ATTN_NORM, 0, 100 + RANDOM_LONG(-5,5) );
			}
			else // Play a random attack miss sound
				EMIT_SOUND_DYN ( ENT(pev), CHAN_WEAPON, pAttackMissSounds[ RANDOM_LONG(0,ARRAYSIZE(pAttackMissSounds)-1) ], 1.0, ATTN_NORM, 0, 100 + RANDOM_LONG(-5,5) );

			if (RANDOM_LONG(0,1))
				AttackSound();
				pev->nextthink = gpGlobals->time + 10;//Tiempo de espera entre éste ataque y el siguiente
		}
		break;



		default:
			CBaseMonster::HandleAnimEvent( pEvent );
			break;
	}
}

//=========================================================
// Spawn
//=========================================================
void CHog :: Spawn()
{
	Precache( );

	SET_MODEL(ENT(pev), "models/monster_hog.mdl");
	//UTIL_SetSize( pev, VEC_HUMAN_HULL_MIN, VEC_HUMAN_HULL_MAX );//Buscar tamaño del tentacle
    UTIL_SetSize( pev, Vector( -32, -32, 0 ), Vector( 32, 32, 64 ) );

	pev->solid			= SOLID_SLIDEBOX;
	pev->movetype		= MOVETYPE_FLY;
	m_bloodColor		= DONT_BLEED;
	pev->health			= 10000;
	pev->view_ofs		= VEC_VIEW;// position of the eyes relative to monster's origin.
	m_flFieldOfView		= VIEW_FIELD_FULL;
	m_MonsterState		= MONSTERSTATE_COMBAT;
	//m_afCapability		= bits_CAP_DOORS_GROUP;

	MonsterInit();


}

//=========================================================
// Precache - precaches all resources this monster needs
//=========================================================
void CHog :: Precache()
{
	int i;

	PRECACHE_MODEL("models/monster_hog.mdl");

	for ( i = 0; i < ARRAYSIZE( pAttackHitSounds ); i++ )
		PRECACHE_SOUND((char *)pAttackHitSounds[i]);

	for ( i = 0; i < ARRAYSIZE( pAttackMissSounds ); i++ )
		PRECACHE_SOUND((char *)pAttackMissSounds[i]);

	for ( i = 0; i < ARRAYSIZE( pAttackSounds ); i++ )
		PRECACHE_SOUND((char *)pAttackSounds[i]);

	for ( i = 0; i < ARRAYSIZE( pIdleSounds ); i++ )
		PRECACHE_SOUND((char *)pIdleSounds[i]);

}

//=========================================================
// AI Schedules Specific to this monster
//=========================================================



int CHog::IgnoreConditions ( void )
{
	int iIgnore = CBaseMonster::IgnoreConditions();

	if ((m_Activity == ACT_MELEE_ATTACK1))
	{
#if 0
		if (pev->health < 20)
			iIgnore |= (bits_COND_LIGHT_DAMAGE|bits_COND_HEAVY_DAMAGE);
		else
#endif

    }
	return iIgnore;

}


//====================================================
// Hog TraceAttack Definitions
//====================================================
void CHog::TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType )
{


	bitsDamageType &= DMG_GENERIC;

	if ( bitsDamageType == 0)
	{
		if ( pev->dmgtime != gpGlobals->time || (RANDOM_LONG(0,100) < 20) )
		{
			UTIL_Ricochet( ptr->vecEndPos, RANDOM_FLOAT(0.5,1.5) );
			pev->dmgtime = gpGlobals->time;

		}
		flDamage *= 0.1;
	}

	CBaseMonster::TraceAttack( pevAttacker, flDamage, vecDir, ptr, bitsDamageType );

}


void CHog :: PrescheduleThink( void )
{

}
Any ideas?.
Well...no avail. Now I cannot give you the aiscript setup, but the moster still do crazy things instead of what it should do...I will try to do a vídeo to show you what this monster is behaving.
It´s a copy of the zombie, with minor modifications: it´s a flying monster (if not, it fall to the ground) for the trace attack function ( it emits sparks if you shot at it) and the punch angle once it hits the player, which in this case is monstruous (300/500 while in the Ichtyosaur is 5 or 8).

Aniway, I did some tests last night (2:00 p.m... I´m tired) and the animations played ok, except that when finished the script, the idle animation returns to the idle-off animation by itself, I think is because the monster lacks of the attack animation yet (i am working on this animation right now).

I will do further tests and see what happen once the model is 100% finished. I can pass you the Mod for you to test it if you want with the map file so you can see what´s wrong in case it fails again.

Thanks Tschumann!!!
The monster must have not its AI activated because it start to attack even before finishing the scripted sequence :( , also there is the idle problem, it performs the idle between each scripted sequence. I am thinking about Quark be the culprit :/
Any solution ?, I'm still looking to remedy this problem.
PS: don't answer all at once, please!

:nya: :crowbar:
Posted 5 years ago2019-11-30 16:01:19 UTC
in Half-Life: Alyx Post #343418
Amen
Posted 5 years ago2019-11-30 10:04:56 UTC
in Half-Life: Alyx Post #343415
I see in the far distance a TOTAL FAILURE... It´s not normal to push people to spend 1500$ or more just to play an only game. It´s nuts. Bad is the situation for a game if it have to go VR just to make us be interested... Just my opinion.
Please. I tried the tuts and something is wrong because the idle anim still plays between each animation.Could someone give me a basic setup for this?.

1.Trigger Auto activates Multimanager
2.Multimanager starts each animation at a given time(aiscript or script), now I am not sure of what should I use, because I used those for generic monsters without problems, the problem came because of me using a monster with its own AI (the handofgod monster).
3.Once done the monster starts its own AI, idleing and attacking.

Help. :pwned: If you need files, or the Mod, or whatever thinng you say, just tell.
Posted 5 years ago2019-11-27 08:48:32 UTC
in Guess who's coming to dinner... Post #343410
I will do further tests and then I'll do a new post abought it. ;)
Theory:
User posted image
Sad but true :crowbar:
Posted 5 years ago2019-11-26 20:39:23 UTC
in Guess who's coming to dinner... Post #343408
Oh, the solution was nonsense, something basic that I forgot totally until I found it in my old archives of web pages on modification of Half-Life, pages of the year 1999 or 2001, I do not remember 100% well the date.
Well, this is weird. I did scripted sequences before but this time I am having troubles because the IDLE animation plays between each scripted sequence making all look wrong.
Here´s my multimager and scripted_sequences setup.
multimanagermultimanager
first scripted_sequencefirst scripted_sequence
Second to fourth are the same except the nameSecond to fourth are the same except the name
Just in case, this is the QC file of the model.
Qc fileQc file
What can you see that´s wrong?. I have used the same scripted sequence and multimanager setup of other sequence but with only the names changed.

Also. How can I do so the turrets will not shoot where Bip01 is and shoot to the center of mass of the model?
Posted 5 years ago2019-11-12 20:15:48 UTC
in half-life still updating with necessary features Post #343356
BG maps is a full fledged feature only a dozen mods would really take advantage of
I love how they look on my mod :(
I think this...
v 2.0 menuv 2.0 menu
Look far better than this...
v1.1 menuv1.1 menu
The background map has moving APUs patrolling the bridges, trolleys running here and there carrying ammo boxes, and the Neb hovercraft flying around. :)

And that map, the playable map, needs HW acceleration for all the models it has (VERY-high-poly models i´m afraid :( ) overall when it is full of npcs flying around and 32 bots and 8 turrets are firing their guns with the addition of all the tracers, explosions, debris, etc. you can imagine. :(
Posted 5 years ago2019-11-12 17:14:08 UTC
in Guess who's coming to dinner... Post #343354
EDIT: I have noticed after using the aiscripted sequence that 4 of the animations did a JUMP or suffer of HICCUPS along a certain number of frames. Could it be caused because of the high number of joints and the lenght of the animation?

The model has 100 joints with a total number of 50 frames with all keyframes SET, no frames generated by MS3D on those sequences.
The animations look right in MS3D, no jumps or hiccups whatsoever, the problem is shown in HLMV after they being exported as smd and then compiled (I did use MS3D and Guistudiomdl to do so).

That makes the full sequence look horrible!!!

Any help will be much apreciated. :)

BTW: Will it be compiled in Blender without all this problems?

Any ideas? :/

Edit: No problem!!: I have fixed it although with minor problems almost unnoticeable. :glad: :crowbar:
Posted 5 years ago2019-11-12 17:08:23 UTC
in half-life still updating with necessary features Post #343353
-Support for background menu maps.
-ed_alloc crash fix increasing number of entities.
-Full GPU rendering posibilities.
That´s no reinventing at all!!

It´s just:

Add a better background for Half-Life mods
Avoid frustrating crashes pushing you to reduce entities that you need
Avoid using the whole CPU horsepower for rendering the map and models

That´s no reinventing, it´s just updating!! erase the background map if you wish, but the other two things must have been done ages ago. Period.
Posted 5 years ago2019-11-12 13:10:38 UTC
in half-life still updating with necessary features Post #343351
Yes, you are right, but for Goldsource modders will help them to publish very demanding mods onn Steam, because I think Xash is not very welcome there. ;)

I don't care about bump mapping or other fancy things, with just the GPU part and the ed_alloc fix will be more than enough.
Posted 5 years ago2019-11-12 10:16:20 UTC
in half-life still updating with necessary features Post #343349
When will they add this?

-Support for background menu maps.
-ed_alloc crash fix increasing number of entities.
-Full GPU rendering posibilities.

Many Xash3D users will return to Goldsource...
Yet I know this is merely wishful thinking...
Posted 5 years ago2019-11-11 21:22:35 UTC
in Guess who's coming to dinner... Post #343348
Hand Of God monster test #1 SuccessfulHand Of God monster test #1 Successful
Hand Of God monster test #2 SuccessfulHand Of God monster test #2 Successful
Now I am working on the full animated sequence synchronizing the attack of the "hand of God" with the fall and destruction of the Hecatonquiro crane. That's why I stopped working on the design of the device for 3D games, but as soon as I finish this part of the Zion Warcry mod I go back to it !!
I hope you like it!!
Posted 5 years ago2019-10-19 18:23:41 UTC
in Half Life Remake Post #343226
You´re welcome. keep us updated!!! :)
Posted 5 years ago2019-10-15 22:14:15 UTC
in My npc (monster) wont move! Post #343222
Move bip01 joint in the z axis (if the animation consist of 30 frames set the keyframe on 1 at distance zero, 15, half the distance, and set keyframe 30 at distance goal), and, ta-dah!! of course it must be done in the animation program.
Posted 5 years ago2019-10-12 12:22:09 UTC
in Half Life Remake Post #343212
But, what will you do?, maybe mapping? it is hard to find people to join a project which only have a name and no other information.

Also: what you aer asking for is a full team of developers that have to make a mod (or a total conversion) just for the like of doing it!!. If you can give some work already done sometimes people will spoonfed you a bit as I was before (thanks eternally to Sheppard and Solokiller for spoonfed me with a showel :heart: ), but you give very few to others to make them be interested in your project.

What about a storyline?, it could be cool to see how the story will start, what are your goals, what amount of work you have already done, what assets you will need (let´s say you´ll need 4 monsters, 4 new weapons, and so on), what kind of maps you will need (remember that unless you use Xash3D open world maps are not very Goldsource friendly), if you will overpass engine limits (max_edicts crashes will occur), etc, etc.

Once that info is available, people will consider to join a team. In the meantime you SHOULD start to gather some skills in any of the areas of the mod: mapping, 2D editing, sound editing, modelling, etc.

Oh. And AVOID DOING THINGS LIKE THIS!!!

https://www.moddb.com/mods/half-life-aliens-vs-predator

You cannot take another game´s assets and then put them into your mod. (Gamebanana is your paradise, man).

It is better to use SKINS and modify them giving ALL credit to the creators and AFTER ALWAYS asking permission from them.

Unless you are doing a private and non distributable mod, of course. :)