Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
22.12.2001, 20:00
MurdoC



So ich wollte eine neue Waffe coden und wenn ich compiliere kommen folgende Fehler was kann man da machen???

Kompilierung läuft...
player.cpp
C:\spiele\SIERRA\Half-Life\SDK\SourceCode\dlls 2\player.cpp(236) : error C2039: 'ShowVGUIMenu' : Ist kein Element von 'CBasePlayer'
C:\spiele\SIERRA\Half-Life\SDK\SourceCode\dlls 2\player.h(71) : Siehe Deklaration von 'CBasePlayer'
C:\spiele\SIERRA\Half-Life\SDK\SourceCode\dlls 2\player.cpp(238) : error C2065: 'pev' : nichtdeklarierter Bezeichner
uzi.cpp
C:\quiver\uzi.cpp(50) : error C2065: 'WEAPON_UZI' : nichtdeklarierter Bezeichner
C:\quiver\uzi.cpp(52) : error C2065: 'UZI_DEFAULT_GIVE' : nichtdeklarierter Bezeichner
C:\quiver\uzi.cpp(74) : error C2065: 'UZI_MAX_CARRY' : nichtdeklarierter Bezeichner
C:\quiver\uzi.cpp(77) : error C2065: 'UZI_MAX_CLIP' : nichtdeklarierter Bezeichner
C:\quiver\uzi.cpp(82) : error C2065: 'UZI_WEIGHT' : nichtdeklarierter Bezeichner
Fehler beim Ausführen von cl.exe.

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

--

Wer anderen ein Grube gräbt, der hat wohl ein Grubengrabgerät...
-----------------------------
http://www.murdocs-world.de
*****ICQ 126894404*****

zum Seitenanfang zum Seitenende Profil || Suche
001
22.12.2001, 20:01
MurdoC



hier der coder der uzi.cpp

#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 uzi_e
{
UZI_LONGIDLE = 0,
UZI_IDLE1,
UZI_LAUNCH,
UZI_RELOAD,
UZI_DEPLOY,
UZI_FIRE1,
UZI_FIRE2,
UZI_FIRE3,
};

class CUzi : 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 );
BOOL Deploy( void );
void Reload( void );
void WeaponIdle( void );
float m_flNextAnimTime;
int m_iShell;
};
LINK_ENTITY_TO_CLASS( weapon_uzi, CUzi );

//=========================================================
//=========================================================

void CUzi::Spawn( )
{
pev->classname = MAKE_STRING("weapon_uzi");
Precache( );
SET_MODEL(ENT(pev), "models/weapons/w_uzi.mdl");
m_iId = WEAPON_UZI;

m_iDefaultAmmo = UZI_DEFAULT_GIVE;

FallInit();
}

void CUzi::Precache( void )
{
PRECACHE_MODEL("models/weapons/v_uzi.mdl");
PRECACHE_MODEL("models/weapons/w_uzi.mdl");
PRECACHE_MODEL("models/weapons/p_uzi.mdl");

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

PRECACHE_SOUND("weapons/uzi1.wav");

}

int CUzi::GetItemInfo(ItemInfo *p)
{
p->pszName = STRING(pev->classname);
p->pszAmmo1 = "9mm";
p->iMaxAmmo1 = UZI_MAX_CARRY;
p->pszAmmo2 = NULL;
p->iMaxAmmo2 = -1;
p->iMaxClip = UZI_MAX_CLIP;
p->iSlot = 2;
p->iPosition = 3;
p->iFlags = 0;
p->iId = m_iId = WEAPON_UZI;
p->iWeight = UZI_WEIGHT;

return 1;
}

int CUzi::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 CUzi::Deploy( )
{
return DefaultDeploy( "models/weapons/v_uzi.mdl", "models/weapons/p_uzi.mdl", UZI_DEPLOY, "mp5" );
}

void CUzi::PrimaryAttack()
{
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;
}

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

m_iClip--;

m_pPlayer->pev->effects = (int)(m_pPlayer->pev->effects) | EF_MUZZLEFLASH;

if (1 || m_flNextAnimTime < gpGlobals->time)
{
SendWeaponAnim( UZI_FIRE1 + RANDOM_LONG(0,2));
m_flNextAnimTime = gpGlobals->time + 0.2;
}

m_pPlayer->SetAnimation( PLAYER_ATTACK1 );

EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/uzi1.wav", 1, ATTN_NORM, 0, 94 + RANDOM_LONG(0,0xf));

UTIL_MakeVectors( m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle );

Vector vecShellVelocity = m_pPlayer->pev->velocity
+ gpGlobals->v_right * RANDOM_FLOAT(100,150)
+ gpGlobals->v_up * RANDOM_FLOAT(100,150)
+ gpGlobals->v_forward * 35;

EjectBrass ( pev->origin + m_pPlayer->pev->view_ofs
+ gpGlobals->v_up * -12
+ gpGlobals->v_forward * 35
+ gpGlobals->v_right * 6, vecShellVelocity, pev->angles.y, m_iShell, TE_BOUNCE_SHELL);

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

m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_8DEGREES, 8192, BULLET_PLAYER_MP5, 0 );

m_flNextPrimaryAttack = gpGlobals->time + 0.08;
m_flNextSecondaryAttack = gpGlobals->time + 0.1;

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

m_pPlayer->pev->punchangle.x = RANDOM_FLOAT( -2, 2 );
}

void CUzi::Reload( void )
{
DefaultReload( UZI_MAX_CLIP, UZI_RELOAD, 1.5 );
}

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

m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );

if (m_flTimeWeaponIdle > gpGlobals->time)
return;

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

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

SendWeaponAnim( iAnim );

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

class CUziAmmoClip : 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/9mmclip1.wav");
}
BOOL AddAmmo( CBaseEntity *pOther )
{
int bResult = (pOther->GiveAmmo( AMMO_UZICLIP_GIVE, "9mm", UZI_MAX_CARRY) != -1);
if (bResult)
{
EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", 1, ATTN_NORM);
}
return bResult;
}
};
LINK_ENTITY_TO_CLASS( ammo_uziclip, CUziAmmoClip );

--

Wer anderen ein Grube gräbt, der hat wohl ein Grubengrabgerät...
-----------------------------
http://www.murdocs-world.de
*****ICQ 126894404*****

zum Seitenanfang zum Seitenende Profil || Suche
002
22.12.2001, 20:03
gerk



C:\spiele\SIERRA\Half-Life\SDK\SourceCode\dlls 2\player.cpp(236) : error C2039: 'ShowVGUIMenu' : Ist kein Element von 'CBasePlayer'
C:\spiele\SIERRA\Half-Life\SDK\SourceCode\dlls 2\player.h(71) : Siehe Deklaration von 'CBasePlayer'
C:\spiele\SIERRA\Half-Life\SDK\SourceCode\dlls 2\player.cpp(238) : error C2065: 'pev' : nichtdeklarierter Bezeichner

dise fehler dürften nichts mit der waffe zu tun haben.

die anderen kannst du mit hilfe der weapons.cpp beheben.

--

„Und da wir uns ja seit heute etwas näher gekommen sind, kann ich nur sagen: Mir hilft da immer Norther volle Lautstärke (so wie jetzt), sodass die ganzen unrasierten, Wasserpfeife rauchenden, alternativen Wichsstudenten aus ihren, aus Bananenschalen und Abfall gebastelten, Sitzkissen fliegen.“

zum Seitenanfang zum Seitenende Profil || Suche
003
23.12.2001, 10:04
EVZ-NiMBiS



Genau, du hong!!!
_______________
uzi.cpp
C:\quiver\uzi.cpp(50) : error C2065: 'WEAPON_UZI' : nichtdeklarierter Bezeichner
C:\quiver\uzi.cpp(52) : error C2065: 'UZI_DEFAULT_GIVE' : nichtdeklarierter Bezeichner
C:\quiver\uzi.cpp(74) : error C2065: 'UZI_MAX_CARRY' : nichtdeklarierter Bezeichner
C:\quiver\uzi.cpp(77) : error C2065: 'UZI_MAX_CLIP' : nichtdeklarierter Bezeichner
C:\quiver\uzi.cpp(82) : error C2065: 'UZI_WEIGHT' : nichtdeklarierter Bezeichner
Fehler beim Ausführen von cl.exe.
_______________

WEAPON_UZI
UZI_DEFAULT_GIVE
UZI_MAX_CARRY
UZI_MAX_CLIP
etc...

musst du in der weapon.h definieren:

#define ...

Die anderen Waffen sind da auch, also is das anordnen ganz einfach!

Zu den anderen Fehlern: Vielleicht hast du Elemente, die nit in die mp.dll. sondern in die cl_dll.dll gehören, verwendet!

--

Wir sind doch alle Kekse.

zum Seitenanfang zum Seitenende Profil || Suche
004
23.12.2001, 10:09
hausi



Ich würde dir empfehlen, C++ zu lernen (Fehlermeldungen interpretieren) und wenn du das SDK noch nicht so gut kannst, solche Dinge mit einem Tutorial machen. Dort wird das nämlich ziemlich gut beschrieben.

--

zum Seitenanfang zum Seitenende Profil || Suche
005
23.12.2001, 13:12
MurdoC



sooo thx erstmal hab jetzt endlich die dll kompiliert bekommen.

aber! hab jedemenge bugs

1. der slot sprite stimmt net.
2. kein fadenkreuz bei der uzi
3. keine einschusslöcher beim schiessen (aber schaden macht sie)
4. rechts unten im bildschirm die anzeige der munition stimmt net

--

Wer anderen ein Grube gräbt, der hat wohl ein Grubengrabgerät...
-----------------------------
http://www.murdocs-world.de
*****ICQ 126894404*****

zum Seitenanfang zum Seitenende Profil || Suche
006
23.12.2001, 13:40
Retro



:\ Alles schonmal durchgekaut.

Die meisten fehler kommen von fehlenden Dateien.
Slotsprite, Fadenkreuz und die falsche Anzeige lassen sich ganz einfach fixen. Du musst im C:\Half-Life\mod\sprites\ Verzeichnis ne weapon_xxx.txt Datei erstellen, am besten guckst du dir eine an, oder kopierst ne original. Dort sind alle Sprite-Informationen über die Waffe drinne.

Der andere fehler, keine Decals, kommt davon dass du deine Waffe (noch) nicht in der Client.dll gecodet hast. Dafür hab ich nen Tut im DHCC hinterlassen :)

In der client.dll werden die Waffensounds gespielt, decals gemanaged, patronenauswurf... alles mögliche.

--

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
007
24.12.2001, 10:11
bbjoker



Moin MurdoC,

na tut zum Waffenerstellen nicht gelesen?

naja hier die PROBLEM lösung:

>>1. der slot sprite stimmt net.
du hast in deinem Sprites Ordner für jede Waffe eine txt Datei .. da stehe drin wie die Sprite heißt und welches Fadenkreuz genommen wird u.s.w. (und zwar mit Koordinaten angegeben!!)
Natürlich stehet da auch welchen Slot sprite genommen werden soll auch eben mit der x,y koordinate und der x1,y1 koordinate!

>>2. kein fadenkreuz bei der uzi
siehe oben

>> 3. keine einschusslöcher beim schiessen (aber schaden macht sie)
falscher event .. oda? er existiert net!

>>4. rechts unten im bildschirm die anzeige der munition stimmt net
Dann hast du entweder dranrumgespielt oder du hast falsche werte bei der weapons.h eingegeben ...

p:S: Frohe Weihnachten ... *-) *-) *-)

CU!

--

zum Seitenanfang zum Seitenende Profil || Suche
008
25.12.2001, 11:10
Jonathan Dark



Ich finde die Wavelentgh Foren besser. Die sagen zu N00bs net immer lern C++!! Die beantworten einfach deine Fragen und labern dich net blöd an was hier im Forum net gut ankommt und so. Am meisten kotzen mich hier Superhausi, Retro und Rira an. Wenn ihr alles so toll wisst dann helft doch denen die es nicht koennen. Ich scheiss auf eure Hilfe weil ihr selbst nix koennt!!!! Ihr habt mich das letzte mal zu unreht gebannt. nur weil Empty mein Freund ist und scheisse baut ist das noch lange kein Grund mich zu bannen.

--

Ach wie gut das niemand weiss, dass ich undercover-bild-redakteur heiss... :P
---------------------------------------
BTS_Splitta:lighting is noch voll fürn arsch...
-Sir_Pepe-:Mach mich nicht arbeitslos.


Dieser Beitrag wurde am 25.12.2001 um 11:11 von Jonathan Dark bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
25.12.2001, 12:04
RirA



haha von denen hat dich sicher keiner gebannt, weil wir das alle garnicht können.
und ich versuche hier echt allen zu helfen, wenn die fragen nicht ZU dumm sind.

--

zum Seitenanfang zum Seitenende Profil || Suche
010
25.12.2001, 12:45
Jonathan Dark



hast du ICQ? dann können wir da reden. 122210621 ist meine ICQ Numma

--

Ach wie gut das niemand weiss, dass ich undercover-bild-redakteur heiss... :P
---------------------------------------
BTS_Splitta:lighting is noch voll fürn arsch...
-Sir_Pepe-:Mach mich nicht arbeitslos.

zum Seitenanfang zum Seitenende Profil || Suche
011
25.12.2001, 13:30
RirA



connecting...

--

zum Seitenanfang zum Seitenende Profil || Suche
012
25.12.2001, 15:40
hausi



Brauchst du noch einen Nuker?
Ne...
Ehrlich gesagt, ich mach das hier alles Freiwillig, werde zu nichts gezwungen. Ich leiste sowieso in der Woche ca. 15 Stunden Freiwilligenarbeit (Foren und andere solche Dinge mal ausgeschlossen). Ich denke aber, ich könnte diese Zeit auch anders investieren. Zum Beispiel um für mich zu coden und endlich mein Spiel auf einen BETA-Stand zu bringen. Aber ehrlich gesagt, bis ich solche Antworten sehe, denke ich mir immer, dass ich das hier gerne machen. Vielleicht sollte ich aber einfach eine assoziale Sau werden und 100%ig zu den Egoisten gehen. Dann würde ich einfach vergessen werden und niemand würde mich mehr mit ca. 150 Mails / Tag belästigen.
Also wenn dich unsere Antworten stören, dann geh doch in ein anderes Forum (du hast ja schon gesagt, dass du das Wavelength-Forum besser fändest. Wieso bist du dann noch hier?) oder sag einfach am Anfang vom Thread, dass du keine Antworten von uns willst. Ich denke, ich spreche hiermit auch für Retro und RiRa. Falls ihr anderer Meinung sind, einfach nur raus damit.
Ach ja. Ich komme eigentlich mit allen Menschen gut aus und suche keinen Streit, ich hasse es aber, wenn jemand etwas gegen mich sagt und mich (und auch andere Foren-Mitglieder) angreift.
BTW: Meistens hat sich bis jetzt ein guter Weg finden lassen.

--

zum Seitenanfang zum Seitenende Profil || Suche
013
25.12.2001, 20:52
RirA



waoo du superman!
1. hat er ja irgendwie recht (dark)
2. VON UNS ALLEN EIN DANKESCHÖN AN SUPERHAUSI WEIL ER SO SELBSTLOS IST UND HIER IMMER IN DIESES FORUM SCHAUT NUR UM ANDEREN ZU HELFEN.

Also Hausi spar dir des Gschmarri. Wenn du denkst was besseres zu tun zu haben, dann mach das einfach und langweil hier keinen. Das ist jetzt nicht böse gemeint, aber es gibt hier einige, die viel mehr und bessere Antworten posten, also ruhig Blut Mädels!

--

zum Seitenanfang zum Seitenende Profil || Suche
014
25.12.2001, 21:24
hausi



OK, bin schon weg...

--

zum Seitenanfang zum Seitenende Profil || Suche
015
25.12.2001, 21:28
RirA



komische Antwort

--

zum Seitenanfang zum Seitenende Profil || Suche
016
25.12.2001, 21:35
Jonathan Dark



sorry aber es stimmt doch. wie retro wieder. Ich hab ne Frage in einem neuen thread gestellt und der meckert gleich wieder was ich schreibe. Und RirA wie war der Film???

--

Ach wie gut das niemand weiss, dass ich undercover-bild-redakteur heiss... :P
---------------------------------------
BTS_Splitta:lighting is noch voll fürn arsch...
-Sir_Pepe-:Mach mich nicht arbeitslos.

zum Seitenanfang zum Seitenende Profil || Suche
017
25.12.2001, 21:52
RirA



also das ist hier wohl das falsche Forum und wir wollen Retro ja nicht erzürnen :-)

--

zum Seitenanfang zum Seitenende Profil || Suche