[ogl] OGL - Menu

THX sUxx ! Bei mir hat´s funktioniert ! :)
 
-TheKilla- schrieb:
Ich danke dir erstmal für dieses Tutorial. Nur ich habe ein Problem. Und zwar habe ich

in die OpenGl32.cpp kopiert, nur ich bekomme dann trotzdem diese errors.

Code:
 --------------------Konfiguration: opengl32 - Win32 Release--------------------
 Kompilierung läuft...
 opengl32.cpp
 C:\Dokumente und Einstellungen\ischmael\Desktop\opengl32.cpp(248) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'menu'
 C:\Dokumente und Einstellungen\ischmael\Desktop\opengl32.cpp(248) : error C2501: 'menu_s' : Fehlende Speicherklasse oder Typbezeichner
 C:\Dokumente und Einstellungen\ischmael\Desktop\opengl32.cpp(248) : fatal error C1004: Unerwartetes Dateiende gefunden
 Fehler beim Ausführen von cl.exe.
 
 opengl32.dll - 3 Fehler, 0 Warnung(en)
weil du die Structuren vor ihrer Verwendung definieren musst sprich

Code:
typedef struct {
 	int count;
 	int maxcount;
 	bool active;
 }menu_s;
 
 typedef struct {
 	bool menu;
 	bool chair;
 	bool esp;
 	bool info;
 	bool enable;
 }draw_s;
musst du gemacht haben bevor du sagst menu_s menu;
 
das liegt daran das ich es in dem Tutorial mit sizeof() mache
Code:
menu.maxcount = sizeof(Entry);
wenn du es Manuel machst tritt der Fehler nicht auf ... sprich
Code:
menu.maxcount = 9; // Bei 9 Einträgen
 
Ich würde meinem hack auch gerane ein menü geben.
Leider bekomme ich beim compilieren noch einige fehler:
Code:
Compiling...
Command line warning D4002 : ignoring unknown option '/Op'
Command line warning D4002 : ignoring unknown option '/Ob2'
opengl32.cpp
C:\wrapper unfair v1\Menü\vars.h(37) : error C2370: 'vp' : redefinition; different storage class
C:\wrapper unfair v1\Menü\vars.h(18) : see declaration of 'vp'
C:\wrapper unfair v1\Menü\vars.h(40) : error C2146: syntax error : missing ';' before identifier 'menu'
C:\wrapper unfair v1\Menü\vars.h(40) : error C2501: 'menu_s' : missing storage-class or type specifiers
C:\wrapper unfair v1\Menü\vars.h(40) : fatal error C1004: unexpected end of file found
OtherOGL.cpp
Generating Code...
Error executing cl.exe.

opengl32.dll - 4 error(s), 2 warning(s)
und das alles in der header datei, die so aussieht
Code:
bool lamberttoggle=false;

bool wallhacktoggle=false;
bool asus=false;
bool wire=false;
bool dSky = false;
bool night=false;
bool crosshair = false;
float cross_size = 48.0f;
bool white=false;
bool bright=false;
bool hud=false;
bool keypress=false;
//zoom 
bool zoo=false;
int zoom_lvl = 30;
// removes
 int vp[4]; // Enthält Informationen über den Screen
      GLfloat color[4];
      bool bFlash = false;
      bool bScope = false;
 bool bSky = false; // Wenn ihr den Sky Remove benutzen wollt dann müsst ihr den bool entweder auf true setzten oder ein KeyBinding machen
 bool bSmoke = false;
      bool bClearbit = false;
      bool bQuads = false;
//------------------  Menü
	  //Für die Das erstellen und ausgeben der Schrift
GLuint base;
HDC hDC;
bool FirstInit = false;
int viewportcount=0;

// Für die Keyverwaltung
int Last_Key=0;

// Informationen über die Bildschirm
static GLint	vp[4];

// Init Der Strukturen
menu_s	menu;
draw_s	draw;
//--------------------- Menü
typedef struct {
	int count;
	int maxcount;
	bool active;
}menu_s;

typedef struct {
	bool menu;
	bool chair;
	bool esp;
	bool info;
	bool enable;
}draw_s;
//------------------ Menü ENde
Bitte Bitte Bitte Helft mir ;-)
 
Doppelt Dekliniert ...
static GLint vp[4];
int vp[4];

Geht nicht im Header ... musst du in der Opengl32.cpp machen
// Init Der Strukturen
menu_s menu;
draw_s draw;
 
Ich bekomme wieder Fehler beim compilieren, die ich nicht verstehe.
Also ich hab bisher die einzelnen hack´s mit key bindigs (GetAsyncKeyState) gemacht. nun möchte ich das in meinem menü machen.
Da ich mehrere hacks habe es aber zu umständlich wäre alles zu posten, mache ich es an einem beispiel.
Bisher:
Code:
bool lamberttoggle=false;// in der vars.h
void sys_glVertex3f (GLfloat x, GLfloat y, GLfloat z) // in opengl32.cpp
{


if(lamberttoggle)
{
(*orig_glColor3f)(1.0f, 1.0f, 1.0f); //Lambert
}

(*orig_glVertex3f) (x, y, z);
} // in opengl32.cpp
//--------------------------------------------------------
if(GetAsyncKeyState(VK_NUMPAD4)& (1==1)) //Lambert
{
lamberttoggle=!lamberttoggle;
}
so nun zum menü:
Code:
		// bei ---> void MenuUp()
case 4:
			{
				cvar.lamberttoggle=!cvar.lamberttoggle;
				break;
			}

//--------------------------------------


 void DrawMenu(int x, int y)
{
	char Entry[10][30];
	sprintf(Entry[4]," - Lamberttoggle  s",cvar.lamberttoggle?"On":"Off");
Wenn ich das so mache bekomme ich immer den fehler:
opengl32.cpp(288) : error C2228: left of '.lamberttoggle' must have class/struct/union type

und
opengl32.cpp(406) error C2228: left of '.lamberttoggle' must have class/struct/union type
opengl32.cpp(406) error C2228: left of '.lamberttoggle' must have class/struct/union type

Wei mache ich ein class/struct/union type??
Bitte bitte nochmal helfen ;-)
 
sorry dies ist aber nicht als Anfänger Tutorial gedacht also kann ich nur sagen Lern C++

ps: du musst die Variable cvar definieren
 
JUHUI ich hab die cvar definiert

JUHUI ich hab die cvar definiert in einer cvar.h header datei
Code:
#ifndef  HEADER_CVAR_H
#define  HEADER_CVAR_H


//=======================================================================================
class CVARList 
{
public:
	// registrieren aller cvars beim prozessor und initialiesierten
void init();

public:
	int asus;
	int scope;
	int smoke;
	int sky;
	int flash;
	int wallhacktoggle;
	int lambert;
	int xqz;
	int lamberttoggle;
	int white;
	int wire;
};

extern CVARList cvar;

#endif
Einen winzigen fehler habe ich noch:
opengl32.cpp(299) : error C2065: 'glPrint' : undeclared identifier
Code:
	glPrint(x,y-28,1.0f,0.5f,0.5f,1.0f,"------------------------");
	glPrint(x,y-17,1.0f,0.5f,0.5f,1.0f,"-   P3N!$ of 00de OGL    -");
	glPrint(x,y-6 ,1.0f,0.5f,0.5f,1.0f,"------------------------");
	
	for (int i=1; i < menu.maxcount+1;i++) {

		if (menu.count == i) 
			glPrint(x,y+(14 * i)+5 ,1.0f,1.0f,0.2f,0.2f,Entry[i]); 
		else 
			glPrint(x,y+(14 * i)+5 ,1.0f,1.0f,1.0f,1.0f,Entry[i]);
anscheinend ist dem compiler meine glPrint funktion nicht bekannt ??? komisch .. habe ich doch in der opengl32.cpp gemacht:
Code:
void sys_glPrint(float x, float y, float z, float r, float g, float b, const char *fmt, ...)
{
	char		text[256];								
	va_list		ap;			// und so weiter
Ich hoffe ihr helft mir so langsam c++ zu lernen. Mit cheats coden macht es einfach viel mehr spaß ;-)
 
aehm ja schon mal dran gedacht das daß keine richtige Print funktion ist?
 
Warum ? und wie sieht eine richtige Printfunktion aus?
 
Code:
GLvoid glPrint(const char *fmt, ...) // Custom GL "Print" Routine
{
	char text[256]; 				// Holds Our String
	va_list ap; 					// Pointer To List Of Arguments

	if (fmt == NULL) 				// If There's No Text
		return; 					// Do Nothing

	va_start(ap, fmt); 				// Parses The String For Variables
	vsprintf(text, fmt, ap); 		// And Converts Symbols To Actual Numbers
	va_end(ap); 					// Results Are Stored In Text

	glPushAttrib(GL_LIST_BIT); 		// Pushes The Display List Bits ( NEW )
	glListBase(base - 32); 			// Sets The Base Character to 32 ( NEW )

	glCallLists(strlen(text), GL_UNSIGNED_BYTE, text); // Draws The Display List    Text ( NEW )
	glPopAttrib(); // Pops The Display List Bits ( NEW )
}

das der code aber GLvoid glPrint(...) bei ... musst dus noch anpassen

Das ist die Print funktion von
Neon Helium Opengl Tutorial
 
Hmm ich werd einfach nicht schlau draus.
Ich verwende den wrapper den es zum download gibt.. und ich bekomme immer nen fehler.. egal wie ich es anstelle. Mit deinem code sagt der compilor das da:
Code:
opengl32.cpp(320) : error C2664: 'glPrint' : cannot convert parameter 1 from 'int' to 'const char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
 
Kannst mal weiter lesen die Print musst du noch umschreiben.

das der code aber GLvoid glPrint(...) bei ... musst dus noch anpassen
 
P3N!$ schrieb:
Hmm ich werd einfach nicht schlau draus.
Ich verwende den wrapper den es zum download gibt.. und ich bekomme immer nen fehler.. egal wie ich es anstelle. Mit deinem code sagt der compilor das da:
Code:
opengl32.cpp(320) : error C2664: 'glPrint' : cannot convert parameter 1 from 'int' to 'const char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Ich lösch gleich deine posts in diesem Thread wie oft noch dies ist kein Anfänger Tutorial wenn du nicht einfach die Grundkenntnisse in C++ hast dann geh wieder in den Sandkasten ... nun reicht es hier ...
 
Sry dass ich es nicht gleich erkannt habe, dass ich es so schreiben muss:
Code:
void glPrint(float x, float y,  float r, float g, float b, const char *fmt)
.... mein fehler.
Wenn ich mir aber so die ersten public posts ansehe hier im treat
ich behaupte mal nu kommen 40-50 fragen was damit machen und was es überhaupt ist (und mal ne frage die kommen wird) Nein, dass kann man nicht inne cfg schreiben.
dann bin ich da doch einiges entfernt von.
Deshalb nehme ich mir das recht weiter zu fragen und gehe in keinen Sandkasten.

Könnte mir bitte jemand bei diesem fehler helfen?:
Code:
1. opengl32.cpp(23) : error C2065: 'fmt' : undeclared identifier
2. opengl32.cpp(320) : warning C4244: 'argument' : conversion from 'int' to 'float', possible loss of data
 

Beliebte Schlagwörter

Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.

Zurück
Oben Unten