Errors
-
hey leute, ich bin neu und ich weiß net wohin damit:
ich wollte mal einen compilten sourcecode von einem multiplayer angucken, da gab mir jemand einen legalen link, ok alles klar, nur ich kenn mich mit c++ nicht so ganz aus^^
hier mal aus einem anderen forum.: (mein beitrag:)boa, das kann doch net am script liegen, es geht ja auch bei anderen oder nich?
hab sogar schon compile eigenschaft auf release gestellt!
auserdem JEDE (von über 237 zeilen) zeile zu übersetzen wäre an einem tag nicht so einfach fertig (für einen anfänger wie mir)
auserdem wüsste ich nicht mal wie man das problem lösen sollte, zb. das:
(das erste warning:)Zitat
1>d:\games\sa_online\packet\CPacket.h(175) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.auf deutsch soviel wie
Zitat
1>d:\games\sa_online\packet\CPacket.h(175) : warnung C4996: 'strcpy': diese funktion oder variable ist nicht / un-gesichert. Consider ( wat hieß dat noma ... xD) benutzt strcpy_s anstatt "keine ahnung was, anstatt xD)schon da wüsste ich net weiter
Hier mal weiter, dort kam ich zum ersten error.:
wie beseitige ich denn include-errors?

//EDIT:
ich denke mal indem ich die includes hole, aber wo kommen die dann rein?^^
also mir fehlt schon bei den ersten error's, die include "d3dx9.h" beim errrorZitat
"1>d:\games\sa_online\client\main.h(45) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "d3dx9.h": No such file or directory
1>CDraw.cpp"achja, hier mal der komplette c++ log:
http://pastebin.com/m1e1d4d0fdazu möchte ich noch sagen:
Zitat
ich lerne dann alleine und selbständig c++ ( ,,schwör kolegge :P" ) wenn, und ich betone wenn, diese probleme ( oder problem ) aus der welt sind. ich möchte erstmal gucken, wie der sourcecode compiled aussieht, dann entscheide ich, ob ich es wircklich ( also an dieser sourcecode ) weiter arbeite.ok, nicht direkt aus meinen sätzen zitiert, aber ich hoffe ihr versteht was ich meine^^
ich möchte doch erstmal sehen, wie die compilte version aussieht, wenn ich sage "joa, also da kann man wircklich noch was drauß machen!" dann lerne ich ... ja lerne ich ... hm ... lerne ich wie ne wilde sau xD
ich schwörs euch doch leute, aber bitte sagt mir nur das problem (die / e ), ich möchte nur sehen was der MP mode bis jetzt alles hat, und was ich nicht mehr zu erledigen brauche.^^
(nochmal in kurz: ich == gucken was drin is, if gut, then weiter machen, if nich gut, then trotzdem lernen und dannach weiter machen. ) lernen werd' ich erst, wenn ich dafür ein ziel habe. (in diesem falle der SA_Online mod :D)bitte helft mir, im anderem forum wissen die nicht viel über c++.^^
-
Die Warnungen kannst erstmal ignorieren, wenn das fertige Programm funktioniert (und das tut es ja wohl), dann waren sie wohl überflüssig.
Was deinen ersten Fehler angeht:
fatal error C1083: Datei (Include) kann nicht geöffnet werden: "d3dx9.h": No such file or directory
Das klingt nach einem Header für directx. Du benötigst anscheinend entweder eine Entwicklerversion für directx oder du hast eine solche und dein Compiler findet sie nicht, weil die Pfade nicht gesetzt sind.
Such mal auf deiner Festplatte nach d3dx9.h, wenn du was findest, setz die Pfade entsprechend, wenn nicht, such mal nach den Stichworten 'directx development' oder 'directx sdk' ich schätze mal, du wirst bei Microsoft selbst fündig werden.
-
hey, danke erstmal das jemand so nett ist, und mir nun wircklich helfen kann!

nur eine frage: was meinst du mit "pfad zuweißen"?//EDIT:
jepp, gefunden, habe testweiße einmal 2006 SDK und einmal 2009 SDK installiet!
(also dxsdk^^)
ok, und das mit dem zuweißen?^^//EDIT:
achso , schon gut^^neues prob:
error C2011: '_IDEREGS': 'struct' Typneudefinition
was bedeutet das?^^
besser gefragt, was das hier bedeutet xD
2>.\Misc\CompInfo.cpp(76) : error C2011: '_IDEREGS': 'struct' Typneudefinition
2> C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winioctl.h(2426): Siehe Deklaration von '_IDEREGS'
2>.\Misc\CompInfo.cpp(91) : error C2011: '_SENDCMDINPARAMS': 'struct' Typneudefinition
2> C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winioctl.h(2462): Siehe Deklaration von '_SENDCMDINPARAMS'
2>.\Misc\CompInfo.cpp(109) : error C2011: '_DRIVERSTATUS': 'struct' Typneudefinition
2> C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winioctl.h(2478): Siehe Deklaration von '_DRIVERSTATUS'
2>.\Misc\CompInfo.cpp(120) : error C2011: '_SENDCMDOUTPARAMS': 'struct' Typneudefinition
2> C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winioctl.h(2517): Siehe Deklaration von '_SENDCMDOUTPARAMS'
2>.\Misc\CompInfo.cpp(237) : error C2079: 'scip' verwendet undefiniertes struct '_SENDCMDINPARAMS'oh man^^
-
Loadup[GER] schrieb:
neues prob:
error C2011: '_IDEREGS': 'struct' Typneudefinition
was bedeutet das?^^
besser gefragt, was das hier bedeutet xD
2>.\Misc\CompInfo.cpp(76) : error C2011: '_IDEREGS': 'struct' Typneudefinition
2> C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winioctl.h(2426): Siehe Deklaration von '_IDEREGS'Es bedeutet, dass in dem Programmcode der Bezeichnung _IDEREGS in CompInfo.cpp Zeile 76 eine neue Bedeutung zugewiesen werden soll, obwohl bereits in winioctl.h Zeile 2426 eine Bedeutung zugewiesen wurde. Dies ist in C++ nicht erlaubt.
Warum dieser Fehler auftritt ist eine ganz andere Sache. Ein fertiges Programm sollte sich fehlerfrei kompilieren lassen, sofern alle Voraussetzungen erfüllt wurden (und wenn du nichts verändert hast). Daher nehme ich an, dass du irgendetwas beim Compilieren nicht richtig gemacht hast. War eine Anleitung bei dem Programm dabei und hast du dich haargenau dran gehalten?
Du könntest auch mal im Spiele-/Grafikprogrammierungs Unterforum fragen. Vielleicht hat dein Fehler eine typische Ursache und die Leute dort wissen sofort Bescheid, was falsch ist.P.S.: Und lass deine Fehlermeldungen nicht von babelfisch übersetzen. Programmierer verstehen alle Englisch und die übersetzten Meldungen regen eher zum Schmunzeln an, als das sie weiterhelfen.
-
nein, eine anleitung war nicht dabei.
und wer ist babelfish?
meinste breadfish? xD
und wie bekomm' ich das jetzt noch auf die reihe?
wollte es unbedingt auf die kette bekommen^^//EDIT:
auserdem möchte ich keine ver/ warnung bekommen, wegen doppeltread :/^^
-
Loadup[GER] schrieb:
nein, eine anleitung war nicht dabei.
und wer ist babelfish?Wortneuschöpfungen wie "Typneudefinition" ließen mich annehmen, dass du einen automatischen Übersetzer auf die Fehlermeldungen losgelassen hast, wie den berühmten Babelfish:
und wie bekomm' ich das jetzt noch auf die reihe?
wollte es unbedingt auf die kette bekommen^^//EDIT:
auserdem möchte ich keine ver/ warnung bekommen, wegen doppeltread :/^^Gute Frage, entweder weiß hier jemand anderes Rat, du wirst verschoben (wenn ein Moderator hier reinguckt und es für sinnvoll hält) oder du riskierst es einfach einen zweiten Thread aufzumachen.
-
Hm, also ich warte lieber^^
aber danke schön, das du zumindest versucht hast mir zu helfen
(trotzdem fänd' ich es schade, wenn es nicht funktionieren würd' :()
-
Wie gesagt, lerne C++.
-
och nööö, jetzt kommt der spam-fish auch noch rein, jetzt lass das kack spammen!
du bist moderator im samp forum, also lass es.( bitte nur posten, wenn mir jemand helfen kann, und deathcube, lass es jetzt bitte )
-
Auch wenn CubeDeath recht hat, versuch mal herauszufinden ob evtl. ein Compiler-Define (also entweder -dRelease oder -dDebug) anzugeben ist, auch sie mal in der Projektdatei nach, ob dort etwas von #define soundso steht nur auskommentiert "\".
Ansonsten meine Kristallkugel ist schon wieder zur Reparatur, ist letzte Woche ganz eklig abgefackelt

-
ok, ich verstehe, hier mal die projectmappe / bzw alles drum und dran xD:
http://www.mafia-mp.com/UZI-I/1/?id=220unten auf SA Online (Fichier ZIP) klicken
und ich verstehe nicht was du mit
versuch mal herauszufinden ob evtl. ein Compiler-Define (also entweder -dRelease oder -dDebug) anzugeben ist
meinst ^^
-
Loadup[GER] schrieb:
und ich verstehe nicht was du mit
versuch mal herauszufinden ob evtl. ein Compiler-Define (also entweder -dRelease oder -dDebug) anzugeben ist
meinst ^^
das liegt halt daran, dass du kein C++ verstehst
. Es wäre jedoch ziemlich schwierig dies zu erklären, ohne C++ Begriffe zu verwenden.
-
hm, ich stöber seid 10 min schon wieder tuts, also schieß los, wenn ich prob's beim lesen habe, google ich's halt xD
-
Loadup[GER] schrieb:
hm, ich stöber seid 10 min schon wieder tuts, also schieß los, wenn ich prob's beim lesen habe, google ich's halt xD
Na wenn du meinst, dass das etwas nützt, die googlebaren Begriffe habe ich hervorgehoben:
Sehr oft werden bei komplexen Programmen mehrere Alternative Versionen geschrieben um auf allen möglichen Systemen zu funktionieren oder um verschiedene Funktionalitäten ein und aus zu schalten. Dies wird üblicherweise mittels bedingter Compilerung erreicht. Dabei werden Präprozessormakros benutzt und je nachdem ob ein Makro definiert wurde oder nicht, wird ein bestimmter Teil des Codes verwendet/nicht verwendet. Es ist möglich, dem Compiler Definitionen für Präprzessormakros mitzugeben, dies geschieht bei den meisten Compilern mittels -d oder -D und danach der Makroname. Also beispielsweise -dDEBUG um das Makro DEBUG zu definieren. Es könnten auch Makros im Quelltext selbst definiert werden und es wird erwartet, dass vor dem Compilieren die richtigen Makros mittels Kommentarzeichen ( // ) An- und Ausgeschaltet werden.
Dein Fehler könnte gut auf so etwas zurückzuführen sein. Allerdings kann das ohne den konkreten Quelltext oder Anleitung niemand sagen und ich werde mir bestimmt nicht tausende Zeilen Code durchlesen. Aber du bist ja motiviert und kannst das Programm durchlesen, vielleicht findest du irgendwo einen Teil wo oft #define mit vielen Kommentaren vorkommt.
Und im übrigen ist die Quelle dieses Sourcecodes, soweit ich weiß, ein frustrierter Entwickler von SA Online. Das ist eigentlich nicht so vorgesehen, dass da jeder reinguckt. Wozu willst du das überhaupt?
-
ich wollte mal sehen wie ein compilierter sourcecode aussieht
auf gut deutsch, ich will gucken wie's dann ingame aussieht

und wollte dann vllt meinen eigenen MP modus machen, für freunde ^^achja, ist es soooo schwer, diese dinge zu scripten??:
- spieler connecten lassen
- server erstellen können
- start exe machen
- eventuell dannach noch die syncro anpassen
-
Ja.. Das ist relativ schwer.

Vor allem, wenn man noch keine Ahung von C++ hat. Lern zuerst mal anständig C++ programmieren und dann kannst du dich mal so in 2-3 Jahren an dein erstes Netzwerkspiel wagen.Etwas anderes anzupassen ist imo noch ein Stückchen schwerer, da man sich zuerst einmal in den (vielleicht unverständlichen) Code einarbeiten muss und dann all die Dinge beachten, die die vorschreiben. Ist nicht gerade das coolste, was man machen kann.

-
also im dem sinne will ich ja nur ein spiel einen multiplayer modus hinzufügen

naja ok, ja ähm ... keine ahnung was ich noch sagen soll xD^^
-
Das ist ja noch schlimmer...
Ein Spiel, welches nicht mit dem Gedanken im Hinterkopf gemacht wurde, dass es im MP gespielt wird, kannste so gut, wie vergessen.

Ausser du hast sehr viel Zeit, Geduld und natürlich Erfahrung..
-
vergessen, kann ich es nicht.
wie hat es denn dann kye (SA:MP project leiter) und das team von MTA geschafft?
-
Ich habe nicht gesagt, dass es unmöglich ist, aber es ist kein Zuckerschlecken und imo macht es auch nicht halb so viel Spass irgendwelches Zeugs anpassen, wie was (von Grund auf) selbst zu coden.
-
d.h., man kann ein spiel auch ändern?
oh man, ich brauch mal ne ausszeit, ich hab momentan zu viel um die ohren...