Forum posts

Posted 16 years ago2008-06-18 14:25:51 UTC
in hl2 in hl1 mod Post #251485
I actually was quite fond of the sandtraps, as annoying as the level was, i believe, if you wanted to make it 'your own' and instead of replacing it, added more walls and blockades to block vision, and some twists and turns, it may actually work.
hmm, that might work... if i knew exactly what you were talking about.

i don't know 100% about what you are saying, but if i keep the sandtrap level, i should add more walls to block vision, thus hiding the simpleness of the map?
if so, i think thats a great idea, if thats not you were saying, just say so.
Posted 16 years ago2008-06-18 12:54:40 UTC
in hl2 in hl1 mod Post #251478
and I mean really alter the engine and I believe theres a team already doing that.
those people are doing the same thing as me, adding and bending the engine, but they gave up quite a while ago. the name was "beyond half life"
Anyway, if you want this mod to succeed, then you'll have to do some planning. You'll have to decide what to put in and what to leave out.
well, since it's my mod, i can give it it's own style right?
so mabye i'll just replace the things it can't handle with other things or remove them completly.
mabye i'll replace sand trap with a small indoor area like nova prospekt (not actually nova prospekt, a map that should resemble it).
you've just givin me a lot of ideas here, thanks
I'm willing to give you another chance, just dont turn for the worse like last time-
hehe, yeah, this was the second forum i was ever on, so i pretty much thought i was the king of the internet.

but now i know how to actually behave properly on forums, unlike last time.

EDIT: gah, i'm tired of having to scroll down all the way to the end to just SEE my post... i'm going to remove those darn images.

EDIT: oh noes, i can't edit it because it isn't the last post, oh noes.
Posted 16 years ago2008-06-17 23:55:09 UTC
in hl2 in hl1 mod Post #251447
well mabye it's the fact that i have to use ninjacloak to actually visit the site, mind removing the ip ban then let me test it? :P

EDIT: i also tested it using ie7 to see if it was firefox causing the problem.
Posted 16 years ago2008-06-17 23:42:16 UTC
in hl2 in hl1 mod Post #251445
Now, I am NOT going to get you banned again, not yet anyway. I'm going to watch you and judge for myself whether or not you deserve to stay.
just glad you havn't given me a instant ban, like other times. also, you have any clue why my shouts aren't appearing? or are you stopping my shouts from appearing? does anyone know why??

EDIT: woa,
18 Jun 08, 03:36
By yodalman

18 Jun 08, 03:37
By Strider
Posted 16 years ago2008-06-17 23:36:35 UTC
in hl2 in hl1 mod Post #251443
i like apples
and i like how saw here continues to flame on and on while i stare at the screen laughing, he's only embarrassing himself.
Posted 16 years ago2008-06-17 23:11:07 UTC
in hl2 in hl1 mod Post #251439
and now you're arguing with a mod
admin, not mod.
Posted 16 years ago2008-06-17 22:57:41 UTC
in hl2 in hl1 mod Post #251436
It doesn't look good, even in OpenGL, sorry, but you need to improve much more on your mapping skills before you want to make a mod with such purpose
this topic's purpose isn't to show my mapping skills, it's to show my mod :P
Since when is it ok around here for banned folk to simply invite themselves back in? :\

There are these things called rules, you know?
i got banned because i was acting like a 2 yr old, flaming, typing in caps lock, calling people idiots, and creating flamewars. i don't act like that anymore, i've been on several forums now, i know how to behave properly. also, this was the second forum i was ever on, now it's like the... uh... 5th or 7th?

strider, you're a mod, why aren't any of my shouts appearing after i type it in and hit "go"? yes, i did refresh a million times, it still doesn't appear...
Posted 16 years ago2008-06-17 19:49:07 UTC
in hl2 in hl1 mod Post #251421
ah, thanks, i will use opengl then.

EDIT: okay, i'm uploading new images in opengl mode, and with fixed sky.

new screens:

(removed)
Posted 16 years ago2008-06-17 18:21:55 UTC
in hl2 in hl1 mod Post #251417
why should i use opengl? what could opengl possibly do?
Posted 16 years ago2008-06-17 17:42:00 UTC
in hl2 in hl1 mod Post #251415
i'm turning 12 in july too :P
Posted 16 years ago2008-06-17 16:39:42 UTC
in hl2 in hl1 mod Post #251411
Sorry but it looks very ugly
the tower or the map?
hi, i'm sure some of you have heard i was making a mod for hl1 that puts almost everything from hl2 into the goldsource engine.
Smells like thehalflifedude...
lol, that was a long time ago, and i was only ten. i won't go throwing a tantrum everytime somebody called me dumb :P
Posted 16 years ago2008-06-17 14:55:17 UTC
in hl2 in hl1 mod Post #251401
hi, i'm sure some of you have heard i was making a mod for hl1 that puts almost everything from hl2 into the goldsource engine.
i got bored and decided to make a map.

i didn't realize i was mapping for my mod, i sorta expected i was mapping for regular hl, but i soon started adding things from hl2 to demonstrate my mod. here are some screeneys:
User posted image
User posted image
User posted image
User posted image
User posted image
User posted image
Posted 16 years ago2008-06-17 14:26:35 UTC
in Model search Post #251399
heres the smokestack model from half life 2, converted to hl1 mdl format for you:

http://myfreefilehosting.com/f/518b265e74_0.54MB
http://www.badongo.com/file/9935176
smokestack.mdl
Posted 16 years ago2008-06-17 13:46:28 UTC
in Spirit of halflife download Post #251398
if you want spirit of half life 1.5 alpha 4 and source code, a member there was kind enough to give me working links: http://www.member.nbb-clan.com/lederhose/spirit15alpha4source.rar

http://www.member.nbb-clan.com/lederhose/Spirit15a4.zip
Posted 16 years ago2008-06-17 12:46:38 UTC
in There was a problem compiling the map. & Post #251396
please use the edit button next time, it gets a little annoying seeing all those posts made by the same user.

and also try to use paragraphs, it makes you seem... more professional or something.
but it's definitely better then seeing all those sentences bunched together.

converted to paragraphs and spelling corrected:

yeah, i was trying to make a "-not too complicated for you", but "really complicated for me" ceiling lol.

it was like slanted to a point and i think i screwed it up, maybe when i tried to carve windows in it and maybe through vertex manipulation...

argh this is so bad, but i deleted it, i even restarted the whole warehouse section.

the map is pretty small, theres a pretty big room with only a few crates atm (warehouse kinda thing) and goes into a small adjoining security area with a couple of offices, with a vent leading into the next map (still to come).

I've zoomed fully out and i cant see anything that shouldn't be there, but I'll have another look.

should i just upload the map to the problems vault so you can see for yourselves?

sorry bout the trouble this is causing frustration - :(
thanks heaps guys smile
Posted 16 years ago2008-06-16 19:53:14 UTC
in laser trial for grenade? Post #251357
lol, if you had bothere to read my post properly, you'd know that i was trying to add a laser trail to HL1 not hl2.

EDIT: oops, sorry, typo, i meant "hl1 mod" not "hl2 mod"... sorry.
Posted 16 years ago2008-06-16 19:28:45 UTC
in laser trial for grenade? Post #251354
plz don't ban me! (cough you all know who i am... cough) to tell you the truth, when i regestered on twhl it was only the second forum i've been on, and i also was like... uh, oh how old was i... 10? i think so, anyway, trust me, i won't go throwing a tantrum everytime someone called me dumb :P

anyway, i need help with my code:


okay, i got the laser for the grenade for my hl2 mod, but i finally got rid of all errors but one, it says "precache();" is a "undeclared identifier"

here's my 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.
*
  • Use, distribution, and modification of this source code and/or resulting
  • object code is restricted to non-commercial enhancements to products from
  • Valve LLC. All other use, distribution, or modification is prohibited
  • without written permission from Valve LLC.
*
****/
/*
generic grenade.cpp ==================================================
*/

#include "extdll.h"
#include "util.h"
#include "cbase.h"
#include "monsters.h"
#include "weapons.h"
#include "nodes.h"
#include "soundent.h"
#include "decals.h"

//===================grenade

LINK_ENTITY_TO_CLASS( grenade, CGrenade );

2}// Grenades flagged with this will be triggered when the owner calls detonateSatchelCharges</SPAN>
#define SF_DETONATE 0x0001

//
// Grenade Explode
//
void CGrenade::Explode( Vector vecSrc, Vector vecAim )
{
TraceResult tr;
UTIL_TraceLine ( pev->origin, pev->origin + Vector ( 0, 0, -32 ), ignore_monsters, ENT(pev), & tr);

Explode( &tr, DMG_BLAST );
}

// UNDONE: temporary scorching for PreAlpha - find a less sleazy permenant solution.
void CGrenade::Explode( TraceResult *pTrace, int bitsDamageType )
{
float flRndSound;// sound randomizer

pev->model = iStringNull;//invisible
pev->solid = SOLID_NOT;// intangible

pev->takedamage = DAMAGE_NO;

// Pull out of the wall a bit
if ( pTrace->flFraction != 1.0 )
{
pev->origin = pTrace->vecEndPos + (pTrace->vecPlaneNormal * (pev->dmg - 24) * 0.6);
}

int iContents = UTIL_PointContents ( pev->origin );

MESSAGE_BEGIN( MSG_PAS, SVC_TEMPENTITY, pev->origin );
WRITE_BYTE( TE_EXPLOSION ); // This makes a dynamic light and the explosion sprites/sound
WRITE_COORD( pev->origin.x ); // Send to PAS because of the sound
WRITE_COORD( pev->origin.y );
WRITE_COORD( pev->origin.z );
if (iContents != CONTENTS_WATER)
{
WRITE_SHORT( g_sModelIndexFireball );
}
else
{
WRITE_SHORT( g_sModelIndexWExplosion );
}
WRITE_BYTE( (pev->dmg - 50) * .60 ); // scale * 10
WRITE_BYTE( 15 ); // framerate
WRITE_BYTE( TE_EXPLFLAG_NONE );
MESSAGE_END();

CSoundEnt::InsertSound ( bits_SOUND_COMBAT, pev->origin, NORMAL_EXPLOSION_VOLUME, 3.0 );
entvars_t *pevOwner;
if ( pev->owner )
pevOwner = VARS( pev->owner );
else
pevOwner = NULL;

pev->owner = NULL; // can't traceline attack owner if this is set

RadiusDamage ( pev, pevOwner, pev->dmg, CLASS_NONE, bitsDamageType );

if ( RANDOM_FLOAT( 0 , 1 ) < 0.5 )
{
UTIL_DecalTrace( pTrace, DECAL_SCORCH1 );
}
else
{
UTIL_DecalTrace( pTrace, DECAL_SCORCH2 );
}

flRndSound = RANDOM_FLOAT( 0 , 1 );

switch ( RANDOM_LONG( 0, 2 ) )
{
case 0: EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/debris1.wav", 0.55, ATTN_NORM); break;
case 1: EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/debris2.wav", 0.55, ATTN_NORM); break;
case 2: EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/debris3.wav", 0.55, ATTN_NORM); break;
}

pev->effects |= EF_NODRAW;
SetThink(&CGrenade:: Smoke );
pev->velocity = g_vecZero;
SetNextThink( 0.3 );

if (iContents != CONTENTS_WATER)
{
int sparkCount = RANDOM_LONG(0,3);
for ( int i = 0; i < sparkCount; i++ )
Create( "spark_shower", pev->origin, pTrace->vecPlaneNormal, NULL );
}
}

void CGrenade::Smoke( void )
{
if (UTIL_PointContents ( pev->origin ) == CONTENTS_WATER)
{
UTIL_Bubbles( pev->origin - Vector( 64, 64, 64 ), pev->origin + Vector( 64, 64, 64 ), 100 );
}
else
{
MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin );
WRITE_BYTE( TE_SMOKE );
WRITE_COORD( pev->origin.x );
WRITE_COORD( pev->origin.y );
WRITE_COORD( pev->origin.z );
WRITE_SHORT( g_sModelIndexSmoke );
WRITE_BYTE( (pev->dmg - 50) * 0.80 ); // scale * 10
WRITE_BYTE( 12 ); // framerate
MESSAGE_END();
}
UTIL_Remove( this );
}

void CGrenade::Killed( entvars_t *pevAttacker, int iGib )
{
Detonate( );
}

// Timed grenade, this think is called when time runs out.
void CGrenade::DetonateUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
{
SetThink(&CGrenade:: Detonate );
SetNextThink( 0 );
}

void CGrenade::PreDetonate( void )
{
CSoundEnt::InsertSound ( bits_SOUND_DANGER, pev->origin, 400, 0.3 );

SetThink(&CGrenade:: Detonate );
SetNextThink( 1 );
}

void CGrenade::Detonate( void )
{
TraceResult tr;
Vector vecSpot;// trace starts here!

vecSpot = pev->origin + Vector ( 0 , 0 , 8 );
UTIL_TraceLine ( vecSpot, vecSpot + Vector ( 0, 0, -40 ), ignore_monsters, ENT(pev), & tr);

Explode( &tr, DMG_BLAST );
}

//
// Contact grenade, explode when it touches something
//
void CGrenade::ExplodeTouch( CBaseEntity *pOther )
{
TraceResult tr;
Vector vecSpot;// trace starts here!

pev->enemy = pOther->edict();

vecSpot = pev->origin - pev->velocity.Normalize() * 32;
UTIL_TraceLine( vecSpot, vecSpot + pev->velocity.Normalize() * 64, ignore_monsters, ENT(pev), &tr );

Explode( &tr, DMG_BLAST );
}

void CGrenade::DangerSoundThink( void )
{
if (!IsInWorld())
{
UTIL_Remove( this );
return;
}

CSoundEnt::InsertSound ( bits_SOUND_DANGER, pev->origin + pev->velocity * 0.5, pev->velocity.Length( ), 0.2 );
SetNextThink( 0.2 );

if (pev->waterlevel != 0 && pev->watertype > CONTENT_FLYFIELD)
{
pev->velocity = pev->velocity * 0.5;
}
}

void CGrenade::BounceTouch( CBaseEntity *pOther )
{
// don't hit the guy that launched this grenade
if ( pOther->edict() == pev->owner )
return;

// only do damage if we're moving fairly fast
if (m_flNextAttack < gpGlobals->time && pev->velocity.Length() > 100)
{
entvars_t *pevOwner = VARS( pev->owner );
if (pevOwner)
{
TraceResult tr = UTIL_GetGlobalTrace( );
ClearMultiDamage( );
pOther->TraceAttack(pevOwner, 1, gpGlobals->v_forward, &tr, DMG_CLUB );
ApplyMultiDamage( pev, pevOwner);
}
m_flNextAttack = gpGlobals->time + 1.0; // debounce
}

Vector vecTestVelocity;
// pev->avelocity = Vector (300, 300, 300);

// this is my heuristic for modulating the grenade velocity because grenades dropped purely vertical
// or thrown very far tend to slow down too quickly for me to always catch just by testing velocity.
// trimming the Z velocity a bit seems to help quite a bit.
vecTestVelocity = pev->velocity;
vecTestVelocity.z *= 0.45;

if ( !m_fRegisteredSound && vecTestVelocity.Length() <= 60 )
{
//ALERT( at_console, "Grenade Registered!: %f\n", vecTestVelocity.Length() );

// grenade is moving really slow. It's probably very close to where it will ultimately stop moving.
// go ahead and emit the danger sound.

// register a radius louder than the explosion, so we make sure everyone gets out of the way
CSoundEnt::InsertSound ( bits_SOUND_DANGER, pev->origin, pev->dmg / 0.4, 0.3 );
m_fRegisteredSound = TRUE;
}

if (pev->flags & FL_ONGROUND)
{
// add a bit of static friction
pev->velocity = pev->velocity * 0.8;

pev->sequence = RANDOM_LONG( 1, 1 );
}
else
{
// play bounce sound
BounceSound();
}
pev->framerate = pev->velocity.Length() / 200.0;
if (pev->framerate > 1.0)
pev->framerate = 1;
else if (pev->framerate < 0.5)
pev->framerate = 0;

}

void CGrenade::SlideTouch( CBaseEntity *pOther )
{
// don't hit the guy that launched this grenade
if ( pOther->edict() == pev->owner )
return;

// pev->avelocity = Vector (300, 300, 300);

if (pev->flags & FL_ONGROUND)
{
// add a bit of static friction
pev->velocity = pev->velocity * 0.95;

if (pev->velocity.x != 0 || pev->velocity.y != 0)
{
// maintain sliding sound
}
}
else
{
BounceSound();
}
}

void CGrenade :: BounceSound( void )
{
switch ( RANDOM_LONG( 0, 2 ) )
{
case 0: EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/grenade_hit1.wav", 0.25, ATTN_NORM); break;
case 1: EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/grenade_hit2.wav", 0.25, ATTN_NORM); break;
case 2: EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/grenade_hit3.wav", 0.25, ATTN_NORM); break;
}
}

void CGrenade :: TumbleThink( void )
{
if (!IsInWorld())
{
UTIL_Remove( this );
return;
}

StudioFrameAdvance( );
SetNextThink( 0.1 );

if (pev->dmgtime - 1 < gpGlobals->time)
{
CSoundEnt::InsertSound ( bits_SOUND_DANGER, pev->origin + pev->velocity * (pev->dmgtime - gpGlobals->time), 400, 0.1 );
}

if (pev->dmgtime <= gpGlobals->time)
{
SetThink(&CGrenade :: Detonate );
}
if (pev->waterlevel != 0 && pev->watertype > CONTENT_FLYFIELD)
{
pev->velocity = pev->velocity * 0.5;
pev->framerate = 0.2;
}
}

void CGrenade:: Spawn( void )
{
precache();
SetThink(&CRpgRocket :: IgniteThink );
SetTouch(&CRpgRocket :: ExplodeTouch );
pev->movetype = MOVETYPE_BOUNCE;
pev->classname = MAKE_STRING( "grenade" );

pev->solid = SOLID_BBOX;

SET_MODEL(ENT(pev), "models/grenade.mdl");

UTIL_SetSize(pev, Vector( 0, 0, 0), Vector(0, 0, 0));

pev->dmg = 100;
m_fRegisteredSound = FALSE;
}

void CGrenade :: IgniteThink( void )
{
// rocket trail
MESSAGE_BEGIN( MSG_BROADCAST, SVC_TEMPENTITY );

WRITE_BYTE( TE_BEAMFOLLOW );
WRITE_SHORT(entindex()); // entity
WRITE_BYTE( 40 ); // life
WRITE_BYTE( 5 ); // width
WRITE_BYTE( 224 ); // r, g, b
WRITE_BYTE( 224 ); // r, g, b
WRITE_BYTE( 255 ); // r, g, b
WRITE_BYTE( 255 ); // brightness

MESSAGE_END(); // move PHS/PVS data sending into here (SEND_ALL, SEND_PVS, SEND_PHS)
}

CGrenade *CGrenade::ShootContact( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity )
{
CGrenade *pGrenade = GetClassPtr( (CGrenade *)NULL );
pGrenade->Spawn();
// contact grenades arc lower
pGrenade->pev->gravity = 0.5;// lower gravity since grenade is aerodynamic and engine doesn't know it.
UTIL_SetOrigin( pGrenade, vecStart );
pGrenade->pev->velocity = vecVelocity;
pGrenade->pev->angles = UTIL_VecToAngles (pGrenade->pev->velocity);
pGrenade->pev->owner = ENT(pevOwner);

// make monsters afaid of it while in the air
pGrenade->SetThink(&CGrenade:: DangerSoundThink );
pGrenade->SetNextThink( 0 );

// Tumble in air
pGrenade->pev->avelocity.x = RANDOM_FLOAT ( -100, -500 );

// Explode on contact
pGrenade->SetTouch(&CGrenade:: ExplodeTouch );

pGrenade->pev->dmg = gSkillData.plrDmgM203Grenade;

return pGrenade;
}

CGrenade * CGrenade:: ShootTimed( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, float time )
{
CGrenade *pGrenade = GetClassPtr( (CGrenade *)NULL );
pGrenade->Spawn();
UTIL_SetOrigin( pGrenade, vecStart );
pGrenade->pev->velocity = vecVelocity;
pGrenade->pev->angles = UTIL_VecToAngles(pGrenade->pev->velocity);
pGrenade->pev->owner = ENT(pevOwner);

pGrenade->SetTouch(&CGrenade:: BounceTouch ); // Bounce if touched

// Take one second off of the desired detonation time and set the think to PreDetonate. PreDetonate
// will insert a DANGER sound into the world sound list and delay detonation for one second so that
// the grenade explodes after the exact amount of time specified in the call to ShootTimed().

pGrenade->pev->dmgtime = gpGlobals->time + time;
pGrenade->SetThink(&CGrenade:: TumbleThink );
pGrenade->SetNextThink( 0.1 );
if (time < 0.1)
{
pGrenade->SetNextThink( 0 );
pGrenade->pev->velocity = Vector( 0, 0, 0 );
}

pGrenade->pev->sequence = RANDOM_LONG( 3, 6 );
pGrenade->pev->framerate = 1.0;

// Tumble through the air
// pGrenade->pev->avelocity.x = -400;

pGrenade->pev->gravity = 0.5;
pGrenade->pev->friction = 0.8;

SET_MODEL(ENT(pGrenade->pev), "models/w_grenade.mdl");
pGrenade->pev->dmg = 100;

return pGrenade;
}

CGrenade * CGrenade :: ShootSatchelCharge( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity )
{
CGrenade *pGrenade = GetClassPtr( (CGrenade *)NULL );
pGrenade->pev->movetype = MOVETYPE_BOUNCE;
pGrenade->pev->classname = MAKE_STRING( "grenade" );

pGrenade->pev->solid = SOLID_BBOX;

SET_MODEL(ENT(pGrenade->pev), "models/grenade.mdl"); // Change this to satchel charge model

UTIL_SetSize(pGrenade->pev, Vector( 0, 0, 0), Vector(0, 0, 0));

pGrenade->pev->dmg = 200;
UTIL_SetOrigin( pGrenade, vecStart );
pGrenade->pev->velocity = vecVelocity;
pGrenade->pev->angles = g_vecZero;
pGrenade->pev->owner = ENT(pevOwner);

// Detonate in "time" seconds
pGrenade->SetThink(&CGrenade:: SUB_DoNothing );
pGrenade->SetUse(&CGrenade:: DetonateUse );
pGrenade->SetTouch(&CGrenade:: SlideTouch );
pGrenade->pev->spawnflags = SF_DETONATE;

pGrenade->pev->friction = 0.9;

return pGrenade;
}

void CGrenade :: UseSatchelCharges( entvars_t *pevOwner, SATCHELCODE code )
{
edict_t *pentOwner;

if ( !pevOwner )
return;

CBaseEntity *pOwner = CBaseEntity::Instance( pevOwner );

pentOwner = pOwner->edict();

CBaseEntity *pEnt = UTIL_FindEntityByClassname( NULL, "grenade" );
while ( pEnt )
{
if ( FBitSet( pEnt->pev->spawnflags, SF_DETONATE ) && pEnt->pev->owner == pentOwner )
{
if ( code == SATCHEL_DETONATE )
pEnt->Use( pOwner, pOwner, USE_ON, 0 );
else // SATCHEL_RELEASE
pEnt->pev->owner = NULL;
}
pEnt = UTIL_FindEntityByClassname( pEnt, "grenade" );
}
}

//======================end grenade

heres the error: C:\Documents and Settings\elliot\Desktop\spirit15alpha4source\spiri t15alpha4\dlls\ggrenade.cpp(346) : error C2065: 'precache' : undeclared identifier

please help me, it's probably some simple thing, but this is my first piece of c++ i ever wrote.

oh, i almost forgot, heres the line that contains the error:

void CGrenade:: Spawn( void )
{
precache();