Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
03.03.2002, 17:49
Exec



moin moin

also ich hab mal, ganz nach hlpp, gemacht und siehe da, es geht zur hälfte :-(

ich kann das objekt aufnehmen, es "folgt" mir auch, nur wenn ich es zum capturepoint bringe, dann passiert gar nix .... auch wenn ich es aufnehme, erscheint kein text, was aba immo nich so wichtig is!

hier mal der source, vom caprute teil ..

#include "extdll.h"
#include "util.h"
#include "cbase.h"
#include "weapons.h"
#include "player.h"
#include "soundent.h"
#include "gamerules.h"
#include "animation.h"
#include "object.h"

void CObjectCapture::Spawn( void )
{
Precache( );
pev->movetype = MOVETYPE_TOSS;
pev->solid = SOLID_TRIGGER;
SET_MODEL(ENT(pev), "models/w_m4.mdl"); //wenn der capture point kein model haben soll, dann keins angeben
UTIL_SetOrigin( pev, pev->origin );
UTIL_SetSize(pev, Vector(-64, -64, 0), Vector(64, 64, 64));
SetTouch(Touch);
if(CapturePoints == NULL)
CapturePoints = 5;
}

void CObjectCapture::Precache( void )
{
PRECACHE_SOUND ("capture.wav");
PRECACHE_MODEL ("models/w_m4.mdl"); //nur fuers model, kann weggelassen werden
}

void CObjectCapture::Touch( CBaseEntity *pOther )
{
CBasePlayer *pPlayer = (CBasePlayer *)pOther;

if (!pOther->IsPlayer())
return;

if(!pPlayer->HasObject)
return;

if (pPlayer->HasObject)
{
if(!FStrEq(pPlayer->m_szTeamName, TeamCapture))
return;
char text [201];
sprintf( text, "%s team captured the object!\n", TeamCapture);
UTIL_ClientPrintAll( HUD_PRINTCENTER, text );
pPlayer->HasObject = FALSE;
pPlayer->AddPoints(CapturePoints,FALSE);
EMIT_SOUND_DYN( ENT(pev), CHAN_STATIC, "capture.wav", 1, ATTN_NONE, 0,
100 );
ReturnObject();
return;
}
}

class CRedCapture : public CObjectCapture
{
void Spawn( void )
{
strcpy( TeamCapture, "Red" );
CObjectCapture::Spawn( );
}
void KeyValue( KeyValueData* Data )
{
if( FStrEq( Data->szKeyName, "CapturePoints" ) )
{
CapturePoints = atoi( Data->szValue );
Data->fHandled = TRUE;
}
}

};

LINK_ENTITY_TO_CLASS( object_red_capture, CRedCapture );

class CBlueCapture : public CObjectCapture
{
void Spawn( void )
{
strcpy( TeamCapture, "Blue" );
CObjectCapture::Spawn( );
}
void KeyValue( KeyValueData* Data )
{
if( FStrEq( Data->szKeyName, "CapturePoints" ) )
{
CapturePoints = atoi( Data->szValue );
Data->fHandled = TRUE;
}
}
};

LINK_ENTITY_TO_CLASS( object_blue_capture, CBlueCapture );

sieht da jemand nen fehler? weil, aufgenommen hab ich es ja, nur es will sich nich in punkte verwandeln .... vielleicht is ja nochwas an der aufheb funktion falsch, was den nicht erscheinenden text begründen würde, nämlich, das ich nur das teil mit mir rum schleppe, es aba eigendlich gar nich hab (klingt confusing ...)!

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
001
03.03.2002, 18:19
Retro



(Ohne mir den Code angeguckt zu haben:)

Ich weiss dass das Tut von HLPP mit fehlern behaftet ist, da musst du wohl selber dran, so schwer ist es nicht.

Du erstellst eine Zone (den Capterpunkt) als Brush Based Entity. Die Flagge ist soz. ein Item, welches beim einsammeln eine Variable des Players auf TRUE setzt. Wenn der Spieler nun die Zone berührt, wird geguckt ob er die Flagge hat (die Variable auf TRUE) steht; wenn ja, wird die ihm weg genommen und der Capturepunkt gibt dem Team / Player Punkte oder was auch immer...

Wie es mit dem folgen des Objekts ausschaut (dass es immer am Player haftet) weiss ich nicht, aber ich schätze dass kannst du ganz gut aus dem HLPP tutorials zusammenschustern.

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
002
03.03.2002, 18:52
Mexil



Mit dem Folgen ist doch kein Prob... du machst einfach ein Entity, wo man den MoveType auf MOVETYPE_FOLLOW stellt und dann den AIMENT oder wie das Ding im PEV heisst auf den Player setzen und schon sollte das funzen... also meinet wegen in der Touch Funktion des Object wird das Ding dann erstellt....

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
003
03.03.2002, 20:10
Exec



jo, das mit dem follow teil ging auch 1a .... naja, ich setzt mich morgen mal ran und probier das mal, vielleicht hab ich ja luck und bekomm das hin (was ich aba bezweifle, obwohl ich mir immer schon mut zuhauche *g*)

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche