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



Hey,
ich kann CBaseEntity in meinem Plugin teilweise verwenden aber z.B dies klappt nicht:
Quellcode:CBaseEntity *PlayerBase = pEntity->GetUnknown()->GetBaseEntity();
CBasePlayer *pCBPlayer = (CBasePlayer*) PlayerBase;
if(pCBPlayer && PlayerBase) {
    pCBPlayer->Event_Killed( CTakeDamageInfo( pCBPlayer, pCBPlayer, 0, DMG_CLUB ) );
}

PatiAdmin error LNK2019: unresolved external symbol "public: __thiscall CTakeDamageInfo::CTakeDamageInfo(class CBaseEntity *,class CBaseEntity *,float,int,int)" (??0CTakeDamageInfo@@QAE@PAVCBaseEntity@@0MHH@Z) referenced in function "public: virtual enum PLUGIN_RESULT __thiscall PatiAdmin::ClientCommand(struct edict_t *)" (?ClientCommand@PatiAdmin@@UAE?AW4PLUGIN_RESULT@@PAUedict_t@@@Z)

Vielleicht wiss ihr wie ich das beheben kann...

Danke

Gruß

--

zum Seitenanfang zum Seitenende Profil || Suche
001
16.09.2005, 16:22
Adrian_Broher
Admin


Gibt es überhaupt einen Konstruktor von CTakeDamageInfo der diese Signatur implementiert hat?

CTakeDamageInfo::CTakeDamageInfo(class CBaseEntity *,class CBaseEntity *,float,int,int)

--

There is nothing wrong with high standards. It's your problem that you don't meet them.
If you think it's simple, then you have misunderstood the problem.
When a customer says "nothing has changed", assume they're lying.


Dieser Beitrag wurde am 16.09.2005 um 16:23 von Adrian_Broher bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
16.09.2005, 16:48
HammerBlade



Adrian_Broher, ja die gibt es in:
src\game_shared\takedamageinfo.h
src\game_shared\takedamageinfo.cpp

LaLaLa, LNK2019 besagt soviel wie: Die Funktion/Methode ist deklariert, aber der Linker kann die Implementierung nicht finden, weil sie z.B. nicht compilert wurde, aber in Sourcecode vorliegt.

Du musst also nach der Implementierung der Klasse CTakeDamageInfo suchen und dafür sorgen, dass sie mitcompilert wird. Teilweise sind .cpp-Datein von der Compilierung ausgeschlossen, dies kann man unter den Eigensaften der jeweiligen Datei einstellen.

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way


Dieser Beitrag wurde am 16.09.2005 um 16:50 von HammerBlade bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
16.09.2005, 17:00
LaLaLa



Danke,
ich hab nun einfach die Datein:
takedamageinfo.h
und
takedamageinfo.cpp
in mein Projekt mit eingebunden nun geschiet das was ich erwartet habe es gibt nun statt einem Linker Error eben 37 Errors :-/
Ich kann das nicht so einfach in mein Projekt einbinden, da es eben ein Server Plugin ist :-(

Noch irgendwelche Ideen wie ich das trotzdem benutzen kann ?

Danke

Gruß

EDIT: Von der Erstellung sind diese Datein auch nicht ausgeschlossen...

--


Dieser Beitrag wurde am 16.09.2005 um 17:02 von LaLaLa bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
16.09.2005, 18:01
HammerBlade



Du kannst die Klassenhierachie ja nicht einfach so zerpflücken. Ich nehme mal an, dass dadurch, dass du jetzt den src für CTakeDamageInfo hinzugenommen hast wieder neue Abhängigkeiten entstanden sind.

Was sind das denn für 37 neue Errors?

--

"Mit C++ (noch besser mit C) kann man sich _sehr_ leicht in den Fuss schiessen." - theDon
Auspack und freu! - Auszug aus einer, aus dem japanischen übersetzten, Bedienugsanleitung für ein Spielzeugaquarium.
--
Photon Audio Player | Majestic42.net | How To Ask Questions The Smart Way

zum Seitenanfang zum Seitenende Profil || Suche
005
16.09.2005, 18:11
LaLaLa



Hallo,
also wenn ich die Datein nicht ins Projekt einbinde gibts halt nur einen Linker Error includiere bzw. binde ich "takedamageinfo" ein schaut das sdann o aus:
Quellcode:f:\PatiAdmin\game_shared\playernet_vars.h(69): error C2061: syntax error : identifier 'ent'
f:\PatiAdmin\dlls\basecombatcharacter.h(406): error C2061: syntax error : identifier 'm_hActiveWeapon'
f:\PatiAdmin\dlls\player.h(843): error C2061: syntax error : identifier 'm_hConstraintEntity'
f:\PatiAdmin\dlls\baseentity.h(1495): error C2061: syntax error : identifier 'm_hEffectEntity'
f:\PatiAdmin\dlls\baseentity.h(1514): error C2061: syntax error : identifier 'm_hGroundEntity'
f:\PatiAdmin\dlls\baseanimating.h(333): error C2061: syntax error : identifier 'm_hLightingOrigin'
f:\PatiAdmin\dlls\baseentity.h(1483): error C2061: syntax error : identifier 'm_hMoveParent'
f:\PatiAdmin\dlls\player.h(704): error C2061: syntax error : identifier 'm_hObserverTarget'
f:\PatiAdmin\game_shared\baseviewmodel_shared.h(156): error C2061: syntax error : identifier 'm_hOwner'
f:\PatiAdmin\dlls\baseentity.h(1494): error C2061: syntax error : identifier 'm_hOwnerEntity'
f:\PatiAdmin\dlls\player.h(687): error C2061: syntax error : identifier 'm_hVehicle'
f:\PatiAdmin\game_shared\baseentity_shared.h(109): error C2065: 'm_hEffectEntity' : undeclared identifier
f:\PatiAdmin\dlls\baseanimating.h(371): error C2065: 'm_hLightingOrigin' : undeclared identifier
f:\PatiAdmin\dlls\baseentity.h(1733): error C2065: 'm_hMoveParent' : undeclared identifier
f:\PatiAdmin\game_shared\baseentity_shared.h(104): error C2065: 'm_hOwnerEntity' : undeclared identifier
f:\PatiAdmin\dlls\player.h(945): error C2065: 'm_hVehicle' : undeclared identifier
f:\PatiAdmin\dlls\baseentity.h(1733): error C2228: left of '.Get' must have class/struct/union type
f:\PatiAdmin\game_shared\baseentity_shared.h(104): error C2228: left of '.Get' must have class/struct/union type
f:\PatiAdmin\game_shared\baseentity_shared.h(109): error C2228: left of '.Get' must have class/struct/union type
f:\PatiAdmin\dlls\player.h(945): error C2228: left of '.Get' must have class/struct/union type
f:\PatiAdmin\dlls\player.h(951): error C2228: left of '.Get' must have class/struct/union type
f:\PatiAdmin\dlls\player.h(956): error C2228: left of '.Get' must have class/struct/union type
f:\PatiAdmin\dlls\baseentity.h(1494): error C2535: 'int CBaseEntity::CNetworkHandle(CBaseEntity)' : member function already defined or declared
        f:\PatiAdmin\dlls\baseentity.h(1483) : see declaration of 'CBaseEntity::CNetworkHandle'
f:\PatiAdmin\dlls\baseentity.h(1495): error C2535: 'int CBaseEntity::CNetworkHandle(CBaseEntity)' : member function already defined or declared
        f:\PatiAdmin\dlls\baseentity.h(1483) : see declaration of 'CBaseEntity::CNetworkHandle'
f:\PatiAdmin\dlls\player.h(704): error C2535: 'int CBasePlayer::CNetworkHandle(CBaseEntity)' : member function already defined or declared
f:\PatiAdmin\dlls\player.h(843): error C2535: 'int CBasePlayer::CNetworkHandle(CBaseEntity)' : member function already defined or declared
f:\PatiAdmin\dlls\baseentity.h(1483): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\dlls\baseentity.h(1494): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\dlls\baseentity.h(1495): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\dlls\baseanimating.h(333): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\dlls\basecombatcharacter.h(406): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\game_shared\playernet_vars.h(69): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\dlls\player.h(687): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\dlls\player.h(704): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\dlls\player.h(843): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\game_shared\baseviewmodel_shared.h(156): warning C4183: 'CNetworkHandle': missing return type; assumed to be a member function returning 'int'
f:\PatiAdmin\dlls\baseentity.h(1514): warning C4183: 'CNetworkHandleInternal': missing return type; assumed to be a member function returning 'int'
`

Wie gesagt wenn ich takedamageinfo nicht includiere oder einbinde dann gibts halt nur nen Linker Error...

Zeilen wie:
Quellcode:basePlayer->SetModel(...); Klappen ohne Probleme...

Quellcode:SetAbsOrigin(); Das gibt übrigens nen ähnlichen Linker Error

Danke

Gruß

PS: Hoffe der Post ist nun nicht zu stark mit Informationen überfüllt :-)

--

zum Seitenanfang zum Seitenende Profil || Suche