Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
11.11.2001, 08:50
[GeF]Duke



Ich hab momentan gemacht das ich den Turret steuern kann aber nur steuer
mein Problem ist das wenn man ihn steuern man die waffen weiterhin behält und das man nicht schiessen kann
man kann also nur bewegen
das ist aber dumm ich will auch damit schiessen können
gibt mir mal nen Tipp
:)
ich meine monster_turret

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^


Dieser Beitrag wurde am 11.11.2001 um 12:37 von [GeF]Duke bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
11.11.2001, 09:25
hausi



Quellcode:
if (FL_FIRE && m_flNextFire < gpGlobals->time)
{
FireBullets(...);
m_flNextFire = gpGLobals->time + 0.15;
}

Keine Ahnung, wie die Variablen heissen. Musst einfach ausprobieren. Und den Code um die Waffen zu verstecken nimmst du am besten vom normalen CTank. (Steht vielleicht auch im CBasePlayer). Denke, das sollte genug sein, um das zu schaffen.

--

zum Seitenanfang zum Seitenende Profil || Suche
002
11.11.2001, 09:28
[GeF]Duke



mhh ich vesuchs
danke
:)

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
003
11.11.2001, 12:36
[GeF]Duke



icz hab alles versucht geht trozdem nicht
mist

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
004
11.11.2001, 12:38
hausi



Kompilier-Fehler?
Stürzt das Spiel ab?
Schiesst er nicht?
Was genau geht nicht?
Mach mal in der Funktion drin ein alert( AT_CONSOLE, "Test\n" );

--

zum Seitenanfang zum Seitenende Profil || Suche
005
11.11.2001, 12:38
[GeF]Duke



soll ich mal die turret.cpp hier aufschreiben

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
006
11.11.2001, 12:44
hausi



Mach mal und schildere dein Proble ein bisschen näher...

--

zum Seitenanfang zum Seitenende Profil || Suche
007
11.11.2001, 12:45
[GeF]Duke



ok warte

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
008
11.11.2001, 12:52
[GeF]Duke



#include "extdll.h"
#include "util.h"
#include "cbase.h"
#include "monsters.h"
#include "weapons.h"
#include "nodes.h"
#include "player.h"
#include "effects.h"
#include "gamerules.h"
#include "hornet.h"
#include "beamshot.h"
#include "turret.h"
#include "effects.h"
#include "customentity.h"
LINK_ENTITY_TO_CLASS( monster_turret, CTurret );
LINK_ENTITY_TO_CLASS( monster_turretbase, CTurretBase );
#define EGON_BEAM_SPRITE "sprites/xbeam1.spr"
void CTurretBase::Spawn( void )
{

Precache( );
SET_MODEL(ENT(pev), "models/base.mdl");
pev->skin=2;
pev->movetype = MOVETYPE_TOSS;
pev->solid = SOLID_BBOX;
UTIL_SetOrigin( pev, pev->origin );
UTIL_SetSize(pev, Vector(-16, -16, 0), Vector(16, 16, 16));
if (DROP_TO_FLOOR(ENT(pev)) == 0)
{
ALERT(at_error, "Item %s ist aus dem Level gefallen genau hier: %f,%f,%f", STRING( pev->classname ), pev->origin.x, pev->origin.y, pev->origin.z);
UTIL_Remove( this );
return;
}
pev->spawnflags |= SF_NORESPAWN;
}
void CTurretBase::Precache( void )
{
PRECACHE_MODEL ("models/base.mdl");
}
void CTurret::SetBase(CBaseEntity *base)
{
Base=base;
}

int CTurret :: Classify ( void )
{

if ( pev->owner && pev->owner->v.flags & FL_CLIENT)
{
return CLASS_PLAYER_BIOWEAPON;
}

return CLASS_ALIEN_BIOWEAPON;
}
int CTurret::IRelationship ( CBaseEntity *pTarget )
{
if ( pTarget->pev->modelindex == pev->modelindex )
{
return R_NO;
}
if(!FNullEnt(m_pRealOwner))
if (pTarget==CBaseEntity::Instance(m_pRealOwner ))
return R_NO;

return CBaseMonster :: IRelationship( pTarget );
}
void CTurret::Upgrade(){
char text[50];
if(level==6) {
sprintf( text, "Du kannst nich weiter upgraden");
if(!FNullEnt(m_pRealOwner)){
CBasePlayer *ownerplayer=(CBasePlayer*) CBaseEntity::Instance(m_pRealOwner );
ClientPrint(ownerplayer->pev, HUD_PRINTCENTER,text);
pev->health=300;
return;
}
}
level++;
sprintf( text, "Sentry wurde zum Level %d upgradet",level);
if(!FNullEnt(m_pRealOwner)){
CBasePlayer *ownerplayer=(CBasePlayer*) CBaseEntity::Instance(m_pRealOwner );
ClientPrint(ownerplayer->pev, HUD_PRINTCENTER,text);
}

switch(level){
case 2:
SET_MODEL(ENT(pev), "models/sentry2.mdl");
maxhealth=200;
break;
case 3:
SET_MODEL(ENT(pev), "models/sentry3.mdl");
maxhealth=300;
break;
case 4:
SET_MODEL(ENT(pev), "models/sentry1.mdl");
maxhealth=300;
break;
case 5:
SET_MODEL(ENT(pev), "models/sentry2.mdl");
maxhealth=300;
break;
case 6:
SET_MODEL(ENT(pev), "models/sentry3.mdl");
maxhealth=300;
break;
}
pev->solid = SOLID_BBOX;
UTIL_SetSize(pev, Vector( -24, -24, 0), Vector(24, 24, 24));
UTIL_SetOrigin( pev, pev->origin );
EMIT_SOUND( ENT(pev), CHAN_VOICE, "weapons/turrset.wav", 1.0, 0.4 );
}
void CTurret::Fix()
{
pev->health+=1000;
if(pev->health>maxhealth) pev->health=maxhealth;
pev->renderamt = 255;
pev->renderfx=kRenderFxGlowShell;
pev->rendercolor=Vector(0,0,255);
pev->nextthink=gpGlobals->time+0.2;
EMIT_SOUND( ENT(pev), CHAN_VOICE, "weapons/turrset.wav", 1.0, 0.4 );

}
void CTurret::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
{
if (!pActivator)
return;
if ( !pActivator->IsPlayer() )
return;
if(!FNullEnt(m_pRealOwner) )
if (pActivator!=CBaseEntity::Instance(m_pRealOwner ))
return;
CBasePlayer* player=(CBasePlayer*)pActivator;
char text[50];
sprintf( text, "Sentry Level %d Health %d \n", level,(int)pev->health );
ClientPrint(player->pev, HUD_PRINTCENTER, text);
pev->angles=pActivator->pev->angles;
pev->angles.x=0;
pev->angles.y=(float) ((int) (pev->angles.y+360)%360);
rotatecounter=22;
}
void CTurret :: Spawn( void )
{
Precache( );
enemyvelocity=Vector(0,0,0);
pev->movetype = MOVETYPE_FLY;
pev->solid = SOLID_NOT;

pev->takedamage = DAMAGE_AIM;
pev->flags |= FL_MONSTER;
pev->gravity=1;
SET_MODEL(ENT(pev), "models/sentry1.mdl");
pev->frame = 0;
pev->body = 3;
pev->dmg=50;
pev->framerate = 0;
UTIL_SetSize(pev, Vector( -24, -24, 0), Vector(24, 24, 24));
UTIL_SetOrigin( pev, pev->origin );
pev->controller[1]=(byte)128;
m_flFieldOfView = 0.5;
pev->flags |= FL_MONSTER;
pev->nextthink = gpGlobals->time + 2;
SetThink( BeepThink );
SetTouch(NULL);
maxhealth=pev->health = 1000;
m_bloodColor = DONT_BLEED;
pev->sequence = 0;
ResetSequenceInfo( );
rotatecounter=22;
attackedcounter=0;
level=6;
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/turrmake.wav", 1.0, ATTN_NORM);
}
void CTurret :: Precache( void )
{
PRECACHE_SOUND("weapons/railgf1a.wav");
PRECACHE_MODEL("models/sentry1.mdl");
PRECACHE_MODEL("models/sentry2.mdl");
PRECACHE_MODEL("models/sentry3.mdl");
PRECACHE_SOUND("weapons/turrset.wav");
PRECACHE_SOUND("weapons/turridle.wav");
PRECACHE_SOUND("weapons/turrspot.wav");
PRECACHE_SOUND("weapons/turrmake.wav");
PRECACHE_SOUND ("weapons/pl_gun3.wav");
PRECACHE_SOUND ("hassault/hw_shoot3.wav");
PRECACHE_SOUND("weapons/electro4.wav");
PRECACHE_SOUND("weapons/rocketfire1.wav");
m_iBeam = PRECACHE_MODEL( "sprites/smoke.spr" );
PRECACHE_MODEL( EGON_BEAM_SPRITE );

}

void CTurret::BeepThink(void)
{
UpdateTrail();
if (pev->owner != NULL)
{
if((pev->origin-VARS(pev->owner)->origin).Length()>100)
{
EMIT_SOUND( ENT(pev), CHAN_VOICE, "weapons/turrset.wav", 1.0, 0.4 );
m_pRealOwner = pev->owner;
pev->solid=SOLID_BBOX;
char text[50];
sprintf( text, "%s hat eine Sentry Gun aufgebaut\n", STRING(VARS(pev->owner)->netname ));
UTIL_ClientPrintAll( HUD_PRINTNOTIFY, text);
pev->owner=NULL;
}
pev->nextthink=gpGlobals->time+0.5;
return;
}
CBaseEntity *pEntity=NULL;
prev_health=(int) pev->health;
TraceResult tr;
Vector vecSrc;
if(level<4)
pev->renderfx=0;
else
{
pev->renderamt = 50;
pev->renderfx=kRenderFxGlowShell;
pev->rendercolor=Vector(0,0,255);
}
pev->owner=NULL;
StudioFrameAdvance( );
rotatecounter++;
if(attackedcounter) {
attackedcounter--;
pev->avelocity.y=-40;
}
else if (m_hEnemy == NULL || !m_hEnemy->IsAlive()){
if(rotatecounter<45)
pev->avelocity.y=-20;
else
pev->avelocity.y=20;
pev->controller[1]=(byte)128;
}

rotatecounter;
rotatecounter%=90;
Vector fireangles;
if(rotatecounter%5==0){
if (m_hEnemy == NULL || !m_hEnemy->IsAlive()){
Look( 1024 );
m_hEnemy = BestVisibleEnemy( );
if (m_hEnemy != NULL){
EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/turrspot.wav", RANDOM_FLOAT(0.9, 1.0), ATTN_NORM);
attackedcounter=0;}
else if(rotatecounter%45==0)
EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/turridle.wav", RANDOM_FLOAT(0.9, 1.0), ATTN_NORM);
}
}
if (m_hEnemy != NULL)
if (!FVisible( m_hEnemy ))
m_hEnemy=NULL;
if ((m_hEnemy != NULL)&&(rotatecounter%2))
if (FVisible( m_hEnemy )){
Vector vecDir=m_hEnemy->EyePosition()-(pev->origin+Vector(0,0,16));
if(level==6){
vecDir=vecDir.Length()/600 * m_hEnemy->pev->velocity + vecDir;
}
fireangles= vecDir.Normalize();
Vector destangles=UTIL_VecToAngles(fireangles);
int fangle=((int) fireangles.z)+128;
if(fangle>256) fangle=256;
else if (fangle<0) fangle=0;
pev->controller[1]=fangle;
pev->controller[2]=fangle;
pev->angles=destangles;
pev->angles.x=-pev->angles.x;
UTIL_MakeVectors(pev->angles);
pev->angles.x=0;
switch(level){
case 1:
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/pl_gun3.wav", RANDOM_FLOAT(0.9, 1.0), ATTN_NORM);
FireBullets( 1, pev->origin +Vector(0,0,16)+ gpGlobals->v_forward * 12, gpGlobals->v_forward , VECTOR_CONE_10DEGREES, 8192, BULLET_PLAYER_9MM, 2 ,8,VARS(m_pRealOwner ));
break;
case 2:
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "hassault/hw_shoot3.wav", RANDOM_FLOAT(0.9, 1.0), ATTN_NORM);
FireBullets( 3, pev->origin +Vector(0,0,16)+ gpGlobals->v_forward * 12, gpGlobals->v_forward , VECTOR_CONE_10DEGREES, 8192, BULLET_PLAYER_9MM, 2 ,8,VARS(m_pRealOwner ));
break;
case 3:
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "hassault/hw_shoot3.wav", RANDOM_FLOAT(0.9, 1.0), ATTN_NORM);
FireBullets( 3, pev->origin +Vector(0,0,16)+ gpGlobals->v_forward * 12, gpGlobals->v_forward , VECTOR_CONE_10DEGREES, 8192, BULLET_PLAYER_9MM, 2 ,8,VARS(m_pRealOwner ));
rotatecounter++;
break;
case 4:
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/electro4.wav", RANDOM_FLOAT(0.9, 1.0), ATTN_NORM);
vecSrc=pev->origin +Vector(0,0,16)+gpGlobals->v_forward * 12;
UTIL_TraceLine(pev->origin +Vector(0,0,16)+ gpGlobals->v_forward * 12,
pev->origin +Vector(0,0,16)+ gpGlobals->v_forward * 1024
, dont_ignore_monsters, ENT(pev), &tr);
pEntity = CBaseEntity::Instance(tr.pHit);
MESSAGE_BEGIN( MSG_PAS, SVC_TEMPENTITY, tr.vecEndPos );
WRITE_BYTE( TE_BEAMPOINTS);
WRITE_COORD( vecSrc.x);
WRITE_COORD( vecSrc.y);
WRITE_COORD( vecSrc.z);
WRITE_COORD( tr.vecEndPos.x);
WRITE_COORD( tr.vecEndPos.y);
WRITE_COORD( tr.vecEndPos.z);
WRITE_SHORT( m_iBeam );
WRITE_BYTE( 0 );
WRITE_BYTE( 0 );
WRITE_BYTE( 1 );
WRITE_BYTE( 25 );
WRITE_BYTE( 0 );
WRITE_BYTE( 0 );
WRITE_BYTE( 255 );
WRITE_BYTE( 0 );
WRITE_BYTE( 255 );
WRITE_BYTE( 0 );
MESSAGE_END();
if (pEntity != NULL){
if (pEntity->pev->takedamage)
if(!FNullEnt(m_pRealOwner)){
ClearMultiDamage();
pEntity->TraceAttack( VARS(m_pRealOwner ), 20, gpGlobals->v_forward * 12, &tr, DMG_BULLET|DMG_ALWAYSGIB );
ApplyMultiDamage( pev,VARS(m_pRealOwner ));
}
else {ClearMultiDamage();
pEntity->TraceAttack( pev, 20, gpGlobals->v_forward * 12, &tr, DMG_BULLET|DMG_ALWAYSGIB );
ApplyMultiDamage( pev,pev);
}
}
break;
case 5:
if(rotatecounter%10==1){
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/railgf1a.wav", 1.0, 0.4);
vecSrc=pev->origin +Vector(0,0,16)+gpGlobals->v_forward * 12;
UTIL_TraceLine(pev->origin +Vector(0,0,16)+ gpGlobals->v_forward * 12,
pev->origin +Vector(0,0,16)+ gpGlobals->v_forward * 8192
, dont_ignore_monsters, ENT(pev), &tr);
pEntity = CBaseEntity::Instance(tr.pHit);
CreateTrail(pev->origin +Vector(0,0,16)+ gpGlobals->v_forward * 12,
tr.vecEndPos);
if (pEntity != NULL){
if (pEntity->pev->takedamage)
if(!FNullEnt(m_pRealOwner)){
ClearMultiDamage();
pEntity->TraceAttack( VARS(m_pRealOwner ), 100, gpGlobals->v_forward * 12, &tr, DMG_BULLET|DMG_ALWAYSGIB );
ApplyMultiDamage( pev,VARS(m_pRealOwner ));
}
else {
ClearMultiDamage();
pEntity->TraceAttack( pev, 100, gpGlobals->v_forward * 12, &tr, DMG_BULLET|DMG_ALWAYSGIB );
ApplyMultiDamage( pev,pev);
}
}
break;
case 6:
if(rotatecounter%3==0){
CGrenade *pGrenade = GetClassPtr( (CGrenade *)NULL );
pGrenade->Spawn();
pGrenade->pev->movetype=MOVETYPE_FLY;
UTIL_SetOrigin( pGrenade->pev, pev->origin +Vector(0,0,16)+ gpGlobals->v_forward * 36);
pGrenade->pev->velocity = gpGlobals->v_forward * 600;
pGrenade->pev->angles = UTIL_VecToAngles (pGrenade->pev->velocity);
if(!FNullEnt(m_pRealOwner)) pGrenade->pev->owner =m_pRealOwner;
else pGrenade->pev->owner = ENT(pev);
pGrenade->SetTouch( CGrenade::ExplodeTouch );
pGrenade->pev->dmg = 80;
EMIT_SOUND(ENT(pev), CHAN_WEAPON, "weapons/rocketfire1.wav", 0.9, 0.6 );
}
break;
}
}
}
pev->nextthink=gpGlobals->time+0.1;
}

void CTurret::CreateTrail(Vector a,Vector b)
{
current_phase=0;
m_pBeam = CBeam::BeamCreate( EGON_BEAM_SPRITE, 40 );
m_pBeam->PointsInit(a,b);
m_pBeam->SetFlags( BEAM_FSINE );
m_pBeam->SetColor( 0, 255, 0 );
m_pBeam->LiveForTime(1);
m_pBeam->pev->spawnflags |= SF_BEAM_TEMPORARY;
m_inBeam = CBeam::BeamCreate( EGON_BEAM_SPRITE, 40 );
m_inBeam->PointsInit(a,b);
m_inBeam->SetFlags( BEAM_FSINE );
m_inBeam->SetColor( 255, 0, 0 );
m_inBeam->pev->spawnflags |= SF_BEAM_TEMPORARY;
m_inBeam->LiveForTime(1);
UpdateTrail();
}
void CTurret::UpdateTrail()
{
if(m_pBeam==NULL) return;
m_pBeam->SetNoise( 10+current_phase * 2 );
m_pBeam->SetBrightness( 200 -current_phase*20 );
m_inBeam->SetNoise( 5 +current_phase);
m_inBeam->SetBrightness( 200 -current_phase*20 );
current_phase++;
if(current_phase==9) DestroyTrail();
}
void CTurret::DestroyTrail()
{
current_phase=0;
if ( m_pBeam ){
UTIL_Remove( m_pBeam );
m_pBeam = NULL;
}
if ( m_inBeam ){
UTIL_Remove( m_inBeam );
m_inBeam = NULL;
}
}
int CTurret :: TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType )
{
if(m_hEnemy == NULL) attackedcounter=90;
pev->renderamt = 255;
pev->renderfx=kRenderFxGlowShell;
pev->rendercolor=Vector(0,255,0);
pev->nextthink=gpGlobals->time+0.1;
bitsDamageType &= ~ ( DMG_ALWAYSGIB );
bitsDamageType |= DMG_NEVERGIB;
return CBaseMonster :: TakeDamage ( pevInflictor, pevAttacker, flDamage, bitsDamageType );
}

void CTurret::Killed( entvars_t *pevAttacker, int iGib )
{
if(!FNullEnt(m_pRealOwner)){
CBasePlayer *ownerplayer=(CBasePlayer*) CBaseEntity::Instance(m_pRealOwner );
char text[50];
ownerplayer->m_turret=false;
sprintf( text, "Deine Sentrygun ist kaputt");
ClientPrint( ownerplayer->pev, HUD_PRINTCENTER,text);
}
pev->takedamage = DAMAGE_NO;
TraceResult tr;
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( 50 * 0.80 );
WRITE_BYTE( 12 );
MESSAGE_END();
UTIL_TraceLine ( pev->origin + m_vecDir * 8, pev->origin - m_vecDir * 64, dont_ignore_monsters, ENT(pev), & tr);
UTIL_Remove(Base);
SetThink(SUB_Remove);
pev->nextthink=gpGlobals->time+0.1;
}

Das Problem ist das wenn ich den Turm andrücke ich ihn zwar steuern kann aber nicht schiessen
Und das is net so toll

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
009
11.11.2001, 13:19
[GeF]Duke



kann mir einer sagen wass ich tun soll

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
010
11.11.2001, 13:38
hausi



Iggit

Zitat:
ALERT(at_error, "Item %s ist aus dem Level gefallen genau hier: %f,%f,%f", STRING( pev->classname ), pev->origin.x, pev->origin.y, pev->origin.z);

Aber nun zum Problem:
Änder das monster_turret zu etwas anderem (schliesslich ist es kein Monster mehr)
Quellcode:
void CTurret::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
{
if (!pActivator)
return;
if ( !pActivator->IsPlayer() )
return;
if(!FNullEnt(m_pRealOwner) )
if (pActivator!=CBaseEntity::Instance(m_pRealOwner ))
return;
CBasePlayer* player=(CBasePlayer*)pActivator;
char text[50];
sprintf( text, "Sentry Level %d Health %d \n", level,(int)pev->health );
ClientPrint(player->pev, HUD_PRINTCENTER, text);
pev->angles=pActivator->pev->angles;
pev->angles.x=0;
pev->angles.y=(float) ((int) (pev->angles.y+360)%360);
rotatecounter=22;
}

Das sieht ja schon mal nicht schlecht aus.
Nun schau dir mal in der CBasePlayer den Code für das func_tank an.
Schreib den Code einfach noch für dein Entity. Du musst folgendes machen:
* Wenn der Turret benützt wird, dann soll deine Waffe verschwinden (Glaubs Holster())
* Wenn FL_FIRE (oder so) ist, dann soll die Funktion des Turrets zum schiessen aufgerufen werden. Mach einfach unbedingt eine Abfrage der Zeit rein.
* Wenn der Spieler sich bewegen will, oder er benutzen drückt, soll die Deploy()-Funktion aufgerufen werden und die Control wieder an den Turret selber übergeben werden.
Sonst fällt mir im Moment nix ein... Sorry...

--

zum Seitenanfang zum Seitenende Profil || Suche
011
11.11.2001, 14:00
[GeF]Duke



ok das oben ist dumm ok was sollte ich sonst schreiben

nun gibts da ein Tut drüber?
nur so ne frage
hast du das schon mal gemacht oder so was?
Oder wie heissen die dateinamen wo ich sonst was machen muss musste net sagen würde mir nur weiter helfen

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
012
11.11.2001, 14:03
[GeF]Duke



mmhhh ich bin schon einen weiteren schritt näher
ich guck mir mal alles genauer an
ich hatte ja mal die Idee was aus der func_tank.cpp rauszuschreiben
aber das würde so oder so nichts bringen

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
013
11.11.2001, 14:11
hausi



Kenne kein Tut darüber, habe das noch nie gemacht, schreibe dafür alles direkt aus dem Kopf *g*.
Deshalb kann es auch noch Fehler drin haben. ABer ich versuche dir einfach gedankenanstösse zu geben.
Was du unbedingt anschauen (und auch verstehen) solltest, ist folgendes:
player.h
player.cpp (Hauptsächlich m_iTank (oder wie die auch immer heisst))
func_tank.cpp
pm_shared.cpp (oder .c)

--

zum Seitenanfang zum Seitenende Profil || Suche
014
11.11.2001, 15:23
[GeF]Duke



mhhh
Ich hab ma versucht zu machen das man keine Waffen mehr hat wenn man es andrückt
ging natürlich wieder net
hhmmm
so ein mist
nagut man sollte sich eigendlich erst mal alles durch den kopf gehen
lassen
ICH KOMM EINFACH NET MEHR WEITER!!!!!
:) nein,nein,das geht bestimmt bald hoff ich mal
muss nur weiter forschen

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
015
11.11.2001, 15:30
[GeF]Duke



mmhhhh
wenn man nachdenk
und sich erinnert was man überhaupt erreichen will
dann muss man nur machen
das wenn man den Turret andrückt
das man auf knopfdruck schiesst
das dürfte doch eigendlich net so schwer sein
@superhausi du hast es doch drauf keine frage
Du weist garantiert etwas oder
Ich meine man muss doch in
void CTurret::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
nur reinschreiben das man schiessen kann
ähnlich wie bei einer normalen waffe
hast du nich irgendeine Idee

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
016
11.11.2001, 15:55
hausi



Mach doch eine neue Waffe, ohne Model etc. und gib dir diese bzw. lösche sie wieder wenn du weg gehst ;).

--

zum Seitenanfang zum Seitenende Profil || Suche
017
11.11.2001, 16:23
[GeF]Duke



mmhh und wie soll das gehen?

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
018
11.11.2001, 16:34
hausi



Ich habe extra ein ;) hinten dran gemacht.
Ist möglich, aber nicht sinnvoll...

--

zum Seitenanfang zum Seitenende Profil || Suche
019
12.11.2001, 18:10
[GeF]Duke



mmhhh
doch das müsste eigendlich gehen
so änlich

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
020
14.11.2001, 02:01
Hanfling



die funktion Classify(); kannst du übrigens rauschmeißen wenns kein monster ist

@superhause warum so umständlich mit dem waffe abfeuern?

Quellcode:

Vector vecShootOrigin = bin grad zu faul in deinem code nachzugucken kannst ja anpassen
Vector vecShootDir =            ||

UTIL_MakeVectors ( pev->angles );

Vector vecShellVelocity = gpGlobals->v_right * RANDOM_FLOAT(40,90) + gpGlobals->v_up * RANDOM_FLOAT(75,200) + gpGlobals->v_forward * RANDOM_FLOAT(-40, 40);

EjectBrass ( pev->origin + gpGlobals->v_up * 32 + gpGlobals->v_forward * 12, vecShellVelocity, pev->angles.y, m_iShell, TE_BOUNCE_SHELL);


FireBullets(1, vecShootOrigin, vecShootDir, VECTOR_CONE_20DEGREES, 2048, BULLET_PLAYER_9MM );

pev->effects |= EF_MUZZLEFLASH;

--

Nun ist deine Zeit gekommen sprach der Tod, stolperte und brach sich das Genick. :o

zum Seitenanfang zum Seitenende Profil || Suche
021
14.11.2001, 13:05
[GeF]Duke



was is das?
oder besser was meinst du?
bist du neu hier?

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
022
14.11.2001, 13:22
Hanfling



die funktion schießt kugeln ab....
nein bin ich nicht

--

Nun ist deine Zeit gekommen sprach der Tod, stolperte und brach sich das Genick. :o

zum Seitenanfang zum Seitenende Profil || Suche
023
14.11.2001, 13:31
[GeF]Duke



NICHT ICH DACHTE
und wo soll ich das reinschreiben????
Aber nun noch ein Problem
ich hab das zwar versucht zu machen aber es kam nur mist raus
Wenn man den Turret andrückt dann soll man keine waffen mehr haben also wie beim Func_Tank

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
024
15.11.2001, 19:12
[GeF]Duke



warum antwortet keiner?
Ists euch zu schwer

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche