Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
27.05.2001, 23:38
Retro



So, als dritte Waffe wollte ich nu mal die "original" M14 aus dem Tutorial bauen... Vorerst hab ich das CS Model genommen und auch die Sounds, aber das spielt jetzt garkeine rolle!

Denn wenn ich die hl.dll kompiliere kommen volgende Fehler, die ich absolut nicht Verstehe.

--

m14.cpp
C:\Half-Life SDK\Sdk\SourceCode\dlls\m14.cpp(265) : error C2065: 'CM14AmmoClip' : nichtdeklarierter Bezeichner
C:\Half-Life SDK\Sdk\SourceCode\dlls\m14.cpp(265) : error C2059: Syntaxfehler : ')'
C:\Half-Life SDK\Sdk\SourceCode\dlls\m14.cpp(267) : error C2059: Syntaxfehler : ')'
Fehler beim Ausführen von cl.exe.

hl.dll - 3 Fehler, 0 Warnung(en)

--

So, und die Stelle im Code:

--

LINK_ENTITY_TO_CLASS(ammo_M14clip, CM14AmmoClip);
LINK_ENTITY_TO_CLASS(ammo_M14, CM14AmmoClip);

--

Und jetzt noch wie's im Tut steht:

--

LINK_ENTITY_TO_CLASS(ammo_m14clip, CM14AmmoClip
);
LINK_ENTITY_TO_CLASS(ammo_m14, CM14AmmoClip
);

--

So, nur verseth ich net was ich nu flasch gemacht habe...
1. isses genau nach dem Tut
2. wo ist da denn nen Syntax-Fehler?

Und noch etwas was mir merkwürdig vor kam, als ich im Game "impulse 101" eingegeben hab, hab ich alle normalen Waffen bekommen aber nicht die M14, und im Waffenmenü ist sie auch nicht (Ich wollte sie erstmal unter dem Colt)!

Das könnte aber auch daran liegen das noch fehler in der hl.dll sind, oder?

Bisher haben die kleine sachen die ich selbst ohne Tut gecodet hab besser geklappt als alles was ich mit Tuts ge,acht habe... ich weis auch net weiter, aber es ist halt so! :(

--

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
001
28.05.2001, 00:14
Another1



Tipp1:also versuch mal nen bissle groß& kleinschreibung zu beachten, das spielt in C nämlich ne rolle =P

Tipp2:
LINK_ENTITY_TO_CLASS(ammo_[c=red]M[/c]14clip, CM14AmmoClip);
LINK_ENTITY_TO_CLASS(ammo_[c=red]M[/c]14, CM14AmmoClip);

p.s Man is die Schrift auf nem `94er 21" Monitor FETT ... und da hab ich schon 1024*768 =P

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
002
28.05.2001, 01:45
Retro



Hehe, was ist besser: 3Fehler oder 3Fehler und 2Warnungen? *gg*

Jetzt als ich an der groß/kleinschreibung was geänder hab kommt das hier:


m14.cpp
Linker-Vorgang läuft...
mp5.obj : error LNK2005: _ammo_9mmbox bereits in m14.obj definiert
mp5.obj : error LNK2005: _ammo_ARgrenades bereits in m14.obj definiert
mp5.obj : warning LNK4006: _ammo_9mmbox bereits in m14.obj definiert; zweite Definition wird ignoriert
mp5.obj : warning LNK4006: _ammo_ARgrenades bereits in m14.obj definiert; zweite Definition wird ignoriert
Bibliothek .\Profilehl/hl.lib und Objekt .\Profilehl/hl.exp wird erstellt
.\Profilehl/hl.dll : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
Fehler beim Ausführen von link.exe.

hl.dll - 3 Fehler, 2 Warnung(en)

*boing* ich find die fehler hören sich noch schlimmer an! :(
Auf jedenfall funzt es so, und so nicht!

--

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
003
28.05.2001, 09:27
Lorkes



Mach mal alles neu compilen.

--

zum Seitenanfang zum Seitenende Profil || Suche
004
28.05.2001, 13:52
Saugie



du solltest vielelciht alle mp5 models kopieren und umbennant in deinen mod tun und die in M14.cpp dann halt nehmen weil man kann (gleube ich) nicht das gleiche model für 2 vershcviedene waffen nehmen
aber ich habe auch riesen probs mit der waffe (siehe fehöer bei neuer waffe thread!)

--

zum Seitenanfang zum Seitenende Profil || Suche
005
28.05.2001, 16:58
Retro



So, ich bin jetzt nen schritt weiter! Ich habe einige LINK_ENTITY_TO_CLASS ausgeklammert, und zwar die, in der M14.cpp wo ammo_9mmbox und ammo_ARgrenades gekinkt wurden. Jetzt funzt es schon soweit!

Ich gehe ins Spiel und geben Impulse 101 ein, nun kann ich auch die M14 auswählen und mit ihr schießen! Aber hier nun zwei Bildchen:


So, das sind zwei sachen die natürlich nicht so toll sind! :(
Ich habe eine /events/m14.sc erstellt, da nichts reingeschrieben, ich glaub das ist so richtig, oder?!

Noch dazu kommt das ich keine Sprites sehe, und auch keinen "schweif" der Kugel so wie bei der MP5. Die animationen sind auch falsch, aber ich schätze das liegt daran das ich das CS-Model genommen hab, und dort die animationen anders heisen... aber irgendwas stimmt da immer noch nicht! :(

--

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
006
28.05.2001, 17:06
Archangel



hmm, das du kein muzzleflash siehst kann daran liegen das das im eventfile abgespielt wird, wo aber bei dir ja nichts drinsteht... und außerdem spielt es afaik keine rolle wie die animationen heißen... guck dir an in welcher reihenfolge sie im modelviewer stehen und schreib dann das enum um..

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
007
28.05.2001, 17:50
Executioner



hi

mushahahhahhahahaha ich habe genau die gleichen probs!

nur bei mir siehts so aus:

mingw32 compile fenster:

gcc -march=pentium -O2 -w -I../engine -I../common -I../pm_shared -c m1891.cpp -o
m1891.o
m1891.cpp:141: syntax error before `::'
m1891.cpp:216: syntax error before `::'
m1891.cpp: In function `void ammo_m1891(struct entvars_t *)':
m1891.cpp:276: redefinition of `void ammo_m1891(struct entvars_t *)'
m1891.cpp:275: `void ammo_m1891(struct entvars_t *)' previously defined here
C:\PROGRA~1\MINGW32\BIN\MAKE.EXE: *** [m1891.o] Error 1
1 Datei(en) kopiert

hier mal der ganze quellcode:

/***
*
* Copyright (c) 1999, 2000 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.
*
****/

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

enum mp5_e
{
MP5_LONGIDLE = 0,
MP5_IDLE1,
MP5_LAUNCH,
MP5_RELOAD,
MP5_DEPLOY,
MP5_FIRE1,
MP5_FIRE2,
MP5_FIRE3,
};

class CM1891 : public CBasePlayerWeapon
{
public:
void Spawn( void );
void Precache( void );
int iItemSlot( void ) { return 3; }
int GetItemInfo(ItemInfo *p);
int AddToPlayer( CBasePlayer *pPlayer );

void PrimaryAttack( void );
void SecondaryAttack( void );
int SecondaryAmmoIndex( void );
BOOL Deploy( void );
void Reload( void );
void WeaponIdle( void );
float m_flNextAnimTime;
int m_iShell;
private:
unsigned short m_usM1891;
};
LINK_ENTITY_TO_CLASS( weapon_M1891, CM1891 );
LINK_ENTITY_TO_CLASS( weapon_9mmAR, CM1891 );

//=========================================================
//=========================================================
int CM1891::SecondaryAmmoIndex( void )
{
return m_iSecondaryAmmoType;
}

void CM1891::Spawn( )
{
pev->classname = MAKE_STRING("weapon_9mmAR"); // hack to allow for old names
Precache( );
SET_MODEL(ENT(pev), "models/w_9mmAR.mdl");
m_iId = WEAPON_M1891;

m_iDefaultAmmo = M1891_DEFAULT_GIVE;

FallInit();// get ready to fall down.
}

void CM1891::Precache( void )
{
PRECACHE_MODEL("models/v_9mmAR.mdl");
PRECACHE_MODEL("models/w_9mmAR.mdl");
PRECACHE_MODEL("models/p_9mmAR.mdl");

m_iShell = PRECACHE_MODEL ("models/shell.mdl");// brass shellTE_MODEL

PRECACHE_MODEL("models/grenade.mdl"); // grenade

PRECACHE_MODEL("models/w_9mmARclip.mdl");
PRECACHE_SOUND("items/ammopickup1.wav");

PRECACHE_SOUND("items/clipinsert1.wav");
PRECACHE_SOUND("items/cliprelease1.wav");
// PRECACHE_SOUND("items/guncock1.wav");

PRECACHE_SOUND ("weapons/m1891-fire1.wav");// H to the K
PRECACHE_SOUND ("weapons/m1891-fire2.wav");// H to the K
PRECACHE_SOUND ("weapons/m1891-fire3.wav");// H to the K

PRECACHE_SOUND( "weapons/glauncher.wav" );
PRECACHE_SOUND( "weapons/glauncher2.wav" );

PRECACHE_SOUND ("weapons/357_cock1.wav");

m_usM1891 = PRECACHE_EVENT( 1, "events/mp5.sc" );
}

int CM1891::GetItemInfo(ItemInfo *p)
{
p->pszName = STRING(pev->classname);
p->pszAmmo1 = "M1891";
p->iMaxAmmo1 = M1891_MAX_CARRY;
p->pszAmmo2 = NULL;
p->iMaxAmmo2 = -1;
p->iMaxClip = M1891_MAX_CLIP;
p->iSlot = 2;
p->iPosition = 3;
p->iFlags = 0;
p->iId = m_iId = WEAPON_M1891;
p->iWeight = M1891_WEIGHT;

return 1;
}

int CM1891::AddToPlayer( CBasePlayer *pPlayer )
{
if ( CBasePlayerWeapon::AddToPlayer( pPlayer ) )
{
MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev );
WRITE_BYTE( m_iId );
MESSAGE_END();
return TRUE;
}
return FALSE;
}

BOOL CMP5::Deploy( )
{
return DefaultDeploy( "models/v_9mmAR.mdl", "models/p_9mmAR.mdl", MP5_DEPLOY, "mp5" );
}

void CM1891::PrimaryAttack()
{

Vector vecFeuer = pev->origin + gpGlobals->v_forward * 2;
MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, vecFeuer ); WRITE_BYTE(TE_DLIGHT);
WRITE_COORD(vecFeuer.x);
WRITE_COORD(vecFeuer.y);
WRITE_COORD(vecFeuer.z);
WRITE_BYTE( 16 ); // dies ist der Radius in dem man es sieht
// farbwerte nach RGB
WRITE_BYTE( 255 ); //rot
WRITE_BYTE( 180 ); //grün
WRITE_BYTE( 96 ); //blau
WRITE_BYTE( 0.2 ); //wie lange es leuchtet
WRITE_BYTE( 0.1 ); //wie schnell es ausgeblendet wird
MESSAGE_END( );

// don't fire underwater
if (m_pPlayer->pev->waterlevel == 3)
{
PlayEmptySound( );
m_flNextPrimaryAttack = gpGlobals->time + 0.15;
return;
}

if (m_iClip <= 0)
{
PlayEmptySound();
m_flNextPrimaryAttack = gpGlobals->time + 0.15;
return;
}

PLAYBACK_EVENT( 0, m_pPlayer->edict(), m_usM1891 );

m_pPlayer->m_iWeaponVolume = NORMAL_GUN_VOLUME;
m_pPlayer->m_iWeaponFlash = NORMAL_GUN_FLASH;

m_iClip--;

// player "shoot" animation
m_pPlayer->SetAnimation( PLAYER_ATTACK1 );

Vector vecSrc = m_pPlayer->GetGunPosition( );
Vector vecAiming = m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );

if ( g_pGameRules->IsDeathmatch() )
{
// optimized multiplayer. Widened to make it easier to hit a moving player
m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_6DEGREES, 8192, BULLET_PLAYER_MP5, 2 );
}
else
{
// single player spread
m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_3DEGREES, 8192, BULLET_PLAYER_MP5, 2 );
}

if (!m_iClip && m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0)
// HEV suit - indicate out of ammo condition
m_pPlayer->SetSuitUpdate("!HEV_AMO0", FALSE, 0);

m_flNextPrimaryAttack = m_flNextPrimaryAttack + 0.95;
if (m_flNextPrimaryAttack < gpGlobals->time)
m_flNextPrimaryAttack = gpGlobals->time + 0.95;

m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT ( 10, 15 );
}

void CMP5::Reload( void )
{
DefaultReload( M1891_MAX_CLIP, MP5_RELOAD, 1.5 );
}

void CM1891::WeaponIdle( void )
{
ResetEmptySound( );

m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );

if (m_flTimeWeaponIdle > gpGlobals->time)
return;

int iAnim;
switch ( RANDOM_LONG( 0, 1 ) )
{
case 0:
iAnim = MP5_LONGIDLE;
break;

default:
case 1:
iAnim = MP5_IDLE1;
break;
}

SendWeaponAnim( iAnim );

m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT ( 10, 15 );// how long till we do this again.
}

class CM1891AmmoClip : public CBasePlayerAmmo
{
void Spawn( void )
{
Precache( );
SET_MODEL(ENT(pev), "models/w_9mmARclip.mdl");
CBasePlayerAmmo::Spawn( );
}
void Precache( void )
{
PRECACHE_MODEL ("models/w_9mmARclip.mdl");
PRECACHE_SOUND("items/ammopickup1.wav");
}
BOOL AddAmmo( CBaseEntity *pOther )
{
int bResult = (pOther->GiveAmmo( AMMO_M1891CLIP_GIVE, "M1891", M1891_MAX_CARRY) != -1);
if (bResult)
{
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/ammopickup1.wav", 1, ATTN_NORM);
}
return bResult;
}
};
LINK_ENTITY_TO_CLASS( ammo_m1891, CM1891AmmoClip );
LINK_ENTITY_TO_CLASS( ammo_m1891, CM1891AmmoClip );

class CMP5Chainammo : public CBasePlayerAmmo
{
void Spawn( void )
{
Precache( );
SET_MODEL(ENT(pev), "models/w_chainammo.mdl");
CBasePlayerAmmo::Spawn( );
}
void Precache( void )
{
PRECACHE_MODEL ("models/w_chainammo.mdl");
PRECACHE_SOUND("items/ammopickup1.wav");
}
BOOL AddAmmo( CBaseEntity *pOther )
{
int bResult = (pOther->GiveAmmo( AMMO_CHAINBOX_GIVE, "9mm", _9MM_MAX_CARRY) != -1);
if (bResult)
{
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/ammopickup1.wav", 1, ATTN_NORM);
}
return bResult;
}
};
LINK_ENTITY_TO_CLASS( ammo_9mmbox, CMP5Chainammo );

class CMP5AmmoGrenade : public CBasePlayerAmmo
{
void Spawn( void )
{
Precache( );
SET_MODEL(ENT(pev), "models/w_ARgrenade.mdl");
CBasePlayerAmmo::Spawn( );
}
void Precache( void )
{
PRECACHE_MODEL ("models/w_ARgrenade.mdl");
PRECACHE_SOUND("items/ammopickup1.wav");
}
BOOL AddAmmo( CBaseEntity *pOther )
{
int bResult = (pOther->GiveAmmo( AMMO_M203BOX_GIVE, "ARgrenades", M203_GRENADE_MAX_CARRY ) != -1);

if (bResult)
{
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", 1, ATTN_NORM);
}
return bResult;
}
};
LINK_ENTITY_TO_CLASS( ammo_mp5grenades, CMP5AmmoGrenade );
LINK_ENTITY_TO_CLASS( ammo_ARgrenades, CMP5AmmoGrenade );

wo is hier der fehler????? *G*

bin noch neu in der branche (wenn das so geschrieben wird ...)

ps: die models hab ich nich umgeändert! mir absicht, ich hab noch keine neue

helft mir!

--

www.virus-mod.de.vu <- die neue Mod, zur Vorgeschichte von Half-Life (*lol* steht noch nich in der Story auf der Hp ... is eben noch nich formuliert)

zum Seitenanfang zum Seitenende Profil || Suche
008
28.05.2001, 18:15
Retro



ARG! du &%$§& wetten dank dir kümmer sich keiner mehr mich?! Ließ dir mal durch wie ich das Prob gelöst hab, dann entdekcste den Fehler!

Auf jedenfall liegt mein prob nich an der *.sc datei... :(
ich weis jetzt nicht was ich noch anstellen soll, also coding treibt mich auf die Palme! :(

--

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
009
28.05.2001, 19:21
Executioner



So, ich bin jetzt nen schritt weiter! Ich habe einige LINK_ENTITY_TO_CLASS ausgeklammert, und zwar die, in der M14.cpp wo ammo_9mmbox und ammo_ARgrenades gekinkt wurden. Jetzt funzt es schon soweit!

---------------------------------------------------------------------------

haste die total rausgelöscht ???

hab ich nämlich einfach mal gemacht, aba da kommt immernoch dieser syntax fehler und noch was anderes (fällt mir jetzt nich ein)

also wie haste das gemacht??? (ich meine das ausklammern- versteh ich nich ... bin newbie ;) )

thx

--

www.virus-mod.de.vu <- die neue Mod, zur Vorgeschichte von Half-Life (*lol* steht noch nich in der Story auf der Hp ... is eben noch nich formuliert)

zum Seitenanfang zum Seitenende Profil || Suche
010
28.05.2001, 20:00
Retro



Such mal folgende Zeilen:

LINK_ENTITY_TO_CLASS( ammo_9mmbox, Cm14Chainammo );
LINK_ENTITY_TO_CLASS( ammo_ARgrenades, Cm14AmmoGrenade );

Und vor die machst du einfach // dann isses grün, und das heist das es nen Kommentar ist, aber kein Code!

Bei dir muß das nicht Cm14 heißen, meine Waffe heißt halt M14...

[c=red]P.S: ich brauche auch noch Hilfe... :([/c]

--

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
011
28.05.2001, 20:35
Executioner



jop thx

habs schon alleine gefixt - habs einfach gelöscht, ging auch - aba trotzdem thx!

nur noch ein prob:

wie haste die waffe bekommen?

den impulse 101 cheat hab ich umgeändert hab das noch eingefügt:

GiveNamedItem( "weapon_m1891" );

so auch die weapon_mp5.txt in weapon_m1891.txt umbenannt und in mein sprite ordner gepackt, ein wenig gecheatet und nix kam! :-(

wie hast du das gemacht?

thx

--

www.virus-mod.de.vu <- die neue Mod, zur Vorgeschichte von Half-Life (*lol* steht noch nich in der Story auf der Hp ... is eben noch nich formuliert)

zum Seitenanfang zum Seitenende Profil || Suche
012
28.05.2001, 22:10
Retro



So, ich bin jetzt wieder nen schritt weiter - aber noch nicht am ziel! :-\

Langsam beginnt alles zu funzen, und wenn ichs einmal gemacht habe, werd ich wahrscheinlich nie wieder Probleme mit haben!

Jetzt stimmt die Anzeige im HUD schonmal, ich hatte die weapon_m14.txt im Falschen verzeichnis.

Jetzt gibt es noch nen paar schönheitsprobleme:

Die animationen stimmen immer noch nit, aber ich glaub das kirge ich noch hin...
Das was mir mehr sorgen bereitet ist das kein Muzzelflash (Mündungsfeuer) da ist, und auch keine Decals an den Wänden bleine... Diese "leuchtspuren" von den Kugeln wie bei der MP5 fehlen auch. Wenn das geschafft ist, ist es fertig!

Jetzt schonmal Thx für die Hilfe!

--

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
013
30.05.2001, 12:24
Saugie



ihr habt einfach das link entitie to class entfernt und das hat trozdem gefunzt?
also ich denke mal das müsste irgenteinen fehler verursachen oder? (viellciht nmich beim compilieren sondern im spiel?)

--

zum Seitenanfang zum Seitenende Profil || Suche
014
30.05.2001, 18:11
Executioner



ne es funzt bei mir eben nich :-(

aba mir hilft ja keiner ...

--

www.virus-mod.de.vu <- die neue Mod, zur Vorgeschichte von Half-Life (*lol* steht noch nich in der Story auf der Hp ... is eben noch nich formuliert)

zum Seitenanfang zum Seitenende Profil || Suche