.| Autor | Beitrag |
|---|---|
|
000 11.08.2007, 18:11 the_Crow |
Ich habe ein Klassensystem in HL2MP eingebaut. Alles funktioniert. Leider bekommt man aber keine Waffe beim respawn. Deswegen hab ich die Datei multiplay_gamerules.cpp modifiziert. Wenn ich das ganze compile dann bekomm ich folgenden Fehler. Ich kann aber keine Stellen finden an der ein ; fehlen würde.
www.the-crow.at - meine persönliche Website | TibiaGerman | Twitter | Wiaschtlsiada Dieser Beitrag wurde am 11.08.2007 um 18:12 von the_Crow bearbeitet. |
|
Profil || Suche |
|
001 11.08.2007, 18:18 Bluthund |
CHL2MP_Player wird wohl eher ne Klasse sein und kein Pointer auf ein Objekt dieser... folglich gibts da auch nix zu dereferenzieren. --The C language combines all the power of assembly language with all the ease-of-use of assembly language. |
|
Profil || Suche |
|
002 11.08.2007, 18:27 the_Crow |
Ja es ist eine Klasse. Weitere Versuche: www.the-crow.at - meine persönliche Website | TibiaGerman | Twitter | Wiaschtlsiada |
|
Profil || Suche |
|
003 11.08.2007, 18:59 Bluthund |
Aua das tut ja weh... Nimm dir mal lieber ein gutes Buch. --The C language combines all the power of assembly language with all the ease-of-use of assembly language. |
|
Profil || Suche |
|
004 11.08.2007, 20:25 the_Crow |
Es wäre einfacher, wenn du mir sagen könntest was daran nicht passt. Edit: Das Problem ist, dass ich nicht weiß wie der Pointer für CHL2MP_Player aussieht. --www.the-crow.at - meine persönliche Website | TibiaGerman | Twitter | Wiaschtlsiada Dieser Beitrag wurde am 11.08.2007 um 20:37 von the_Crow bearbeitet. |
|
Profil || Suche |
|
005 11.08.2007, 20:44 Bluthund |
Erstens weiß ich nicht was LoadOut() für eine Methode ist und zweitens scheinst du es auch nicht zu wissen denn sonst würdest du nicht versuchen eine nichtstatische Memberfunktion über den Scope-Operator aufzurufen. Ein Pointer für CHL2MP_Player sieht so aus: Der zeigt dann willkürlich auf irgendwelchen Speicher. Du solltest ihn also tunlichst vor der Verwendung auf nen gültiges Objekt der Klasse CHL2MP_Player initialisieren. Anbei: Nichts gegen rumprobieren... Das hab ich anfänglich auch gemacht (damals am HLSDK) aber man sollte trotzdem die Grundlagen der Programmiersprache C++ beherrschen und wissen mit was für Klassen man arbeitet bzw wo man deren Definition nachschauen kann (Strg+F ftw) --The C language combines all the power of assembly language with all the ease-of-use of assembly language. |
|
Profil || Suche |
|
006 11.08.2007, 20:49 hausi |
Ich sags mal einfach so: pPlayer ist in deinem Fall wahrscheinlich vom Typ CHL2MP_Player. Wenn dir jetzt allerdings einfach jemand sagt, wie du das schreiben musst, bringt das imo überhaupt nichts. Und damit du dabei noch etwas lernst: Such mal nach dynamic_cast und lies dir ein Tutorial zu den verschiedenen C++-Casts durch. -- |
|
Profil || Suche |
|
007 11.08.2007, 20:54 the_Crow |
Was Loadout(); macht weiß ich. Wie der Pointer aussieht weiß ich, aber nicht wo ich ihn finde. Es ist nicht pPlayer. --www.the-crow.at - meine persönliche Website | TibiaGerman | Twitter | Wiaschtlsiada |
|
Profil || Suche |
|
008 11.08.2007, 21:20 Bluthund |
Diese Aussagen schließen sich gegenseitig aus. Wenn du weißt was Loadout macht, solltest du auch wissen wo das Objekt herkommen soll für das die Methode aufgerufen wird. Gut kombiniert Sherlock ;) pPlayer ist ja ein Pointer auf CBasePlayer und nicht auf CHL2MP_Player. Ich hab jetz grad mal in meiner unendlichen Güte ;P nen HL2SDK installiert und nachgekuckt. Aber da gibt es weder eine Klasse CHL2MP_Player noch eine Funktion Loadout(). Das einzige was vorhanden war war eine Klasse CHL2_Player (abgeleitet von CBasePlayer *auf hausi's post zeig*) allerdings ohne besagte Memberfunktion. Wenn du deine besagte Klasse selbst geschrieben haben solltest, dann solltest du ja wissen ob du diese von CBasePlayer abgeleitet hast und kannst dir dann entsprechend nen Pointer zurechtcasten. --The C language combines all the power of assembly language with all the ease-of-use of assembly language. |
|
Profil || Suche |
|
009 11.08.2007, 21:24 the_Crow |
Loadout is selbst geschrieben. --www.the-crow.at - meine persönliche Website | TibiaGerman | Twitter | Wiaschtlsiada |
|
Profil || Suche |
|
010 11.08.2007, 22:20 the_Crow |
Alles was ich versuche funktioniert nicht. Hab mir auch ein paar Tutorials durchgelesen. Hilft leider auch nix. Ich weiß einfach nicht was ich falsch mach. --www.the-crow.at - meine persönliche Website | TibiaGerman | Twitter | Wiaschtlsiada |
|
Profil || Suche |
|
011 12.08.2007, 11:27 hausi |
Was du falsch machst: Du kannst kein C++ und versuchst trotzdem ein nicht triviales C++-Projekt zu schreiben. Das kann nicht wirklich funktionieren. Dieser Beitrag wurde am 12.08.2007 um 11:30 von hausi bearbeitet. |
|
Profil || Suche |
|
012 12.08.2007, 12:27 the_Crow |
Ich weiß jetzt wie es geht. Das Problem bei der ganzen Sache ist, dass ich mit ein paar Leuten an einer Mod arbeite, wir aber noch keinen Coder haben. Deswegen hab ich mir ein paar Tutorials für die Features, die einbaun wolln, gesucht und versucht diese umzusetzten. Leider passt nicht jedes Tutorial genau so rein, wie ich es gefunden habe. Aus diesem Grund musste ich Sachen änder und es traten Fehler auf. Ich bin eben kein richtiger C++ Coder. Ich kenn mich ganz wenig aus und weiß ungefär was welchen Effekt hat, aber im Grunde bin ich Webcoder, Mapper und Modeller. Wie du siehst will ich das ja gar nicht machen. Aber ich bin der einzige der es ansatzweise versteht. --www.the-crow.at - meine persönliche Website | TibiaGerman | Twitter | Wiaschtlsiada |
|
Profil || Suche |

