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



Ich hab das Tutorial hier durchgearbeitet:
http://www.hl2world.com/wiki/index.php/Hud_Monitor

das geht aber nicht mehr, weil valve seit dem letzten update (so wies aussieht)
wesentliche teile des sources einfach weggelassen hat, bzw. es sind nur noch die funktionsrümpfe da aber nicht die funktionen selbst.

(z.B. CHudElement::SetActive)

die kann ich ja auch alle nachcoden...nur wenns dann so weitergeht, dann reichts mir:

vgui::Panel *pParent=g_pClientMode->GetViewPort();

ergibt nun:
LINK: unaufgelöstes externes symbol "class IClientMode * g_pClientMode"

also ab da weiss ich dann selbst nicht mehr weiter....

kann bitte bitte bitte jemand ein tutorial oder zumindest source posten,
das/der funktioniert. FUNKTIONIERT. ich dreh noch ab......

danke.

--


Dieser Beitrag wurde am 12.11.2006 um 15:28 von JohnLeDon bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
12.11.2006, 16:40
Bluthund



Also dein angegebenes Beispiel der CHudElement::SetActive ist bei mir in der hud.cpp vollständig implementiert... (Du darfst unter Umständen nicht nur in die Header Files kucken; dass da nur das Interface steht ist klar)

Also ich hab das Tut grad mal eben probiert und das Dingen compiled und linked nach 2 Minuten Copy&Paste einwandfrei... Evtl solltest du deine SDK Dateien nochmal neu aufspielen.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
002
12.11.2006, 17:42
Russak



passend zum thema so viel ich weis hat das was mit VGUI zu tunn. Ich möchte das wenn man auf denn server geht eine Klasse wählen soll mein problemm ist ich versteh noch nicht ganz wie das alles bei c++ funktioniert wie speicher ich daten zum beispiel die der user dann angibt damit ich später mittels einer if bedingung festlegen kann welche waffen der user bekommt.

variable höchstwahrscheinlich aber bleibt die dann auch dauerhaft da, ich bin nämlich an php gewöhnt und da ist es halt so das ein script nicht dauerhaft läuft sondern nur einmal und währen der laufzeit kann man nichts machen.

gibt es vieleicht irgend so ein tutorial möglichst auf deutsch?

--

zum Seitenanfang zum Seitenende Profil || Suche
003
12.11.2006, 18:34
Bluthund



Deine Frage war zwar bisschen undurchsichtig formuliert, aber ich interpretier das mal als: Wo sind meine Variablen gültig :)

http://www.cplusplus.com/doc/tutorial/

da bei
http://www.cplusplus.com/doc/tutorial/variables.html
unter: Scope of Variables

In deinem speziellen Fall würde ich sagen reicht es eine Variable in der Player-Klasse (in HL: CBasePlayer wies in hl2 aussieht ka) im ServerCode zu deklarieren, die nen "unsigned char"-Wert hält (außer du willst mehr als 255 Klassen erstellen). Dann schreibst du auf der Client-Seite dein VGUI-Menü. Insofern das noch wie bei hl1 ist, werden deine Interaktionen mit dem VGUI-Window dann an den Server übergeben (falls nicht musst du dies selbst tun). Dann brauchst du noch eine Routine die das ganze auswertet (am Server) und dann den Wert für die Variable in der Player-Klasse am Server schreibt. Welche Waffen du dem Player gibst entscheidest du dann in der Spawn-Funktion der Player-Klasse mit nem switch(Klassenvariable). Kannst natürlich auch if() arbeiten aber das wird spätestens nach der zweiten Klasse zu einem Riesenhaufen Code, der einfach mit switch() auf nen viel kleineren Raum gebracht werden kann.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 12.11.2006 um 18:34 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
12.11.2006, 20:31
Russak



ah danke,
was sollte ich mir am besten durchlesesn für mein menü in dem man die klasse wählen kann das hier oder:
http://developer.valvesoftware.com/wiki/VGUI2:_Creating_a_panel

--

zum Seitenanfang zum Seitenende Profil || Suche
005
12.11.2006, 21:27
Bluthund



Exakt. Das sollte dir ein gutes Grundverständnis über das System vermitteln.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
006
12.11.2006, 21:56
Russak



ok jetzt noch eine frage^^
wie kann ich denn status über sv_cheats abfragen ob es auf 1 steht oder auf 0 weil ich möchte alle hl2 waffen nur mit sv_cheats verfügbar machen

hab mir ad nämlich schon vieles durgelessen aber das stand nirgends wo da

--


Dieser Beitrag wurde am 12.11.2006 um 21:57 von Russak bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
12.11.2006, 22:12
Bluthund



aus view.h in allgemeiner Form:
Quellcode:extern const ConVar *sv_cheats;

void MyFunc( void )
{
    if ( !sv_cheats ) // sv_cheats nicht belegt?
    {
        sv_cheats = cvar->FindVar( "sv_cheats" ); // belege sv_cheats mit Wert der Konsolenvariable sv_cheats
    }

    if ( sv_cheats && sv_cheats->GetBool() ) // sv_cheats == 1?
        foo();
    else // sv_cheats == 0
        bar();
}
Das hab ich jetzt nach 5 Sekunden suchen gefunden... Falls du MSVC++ 2005 nutzt kannst du mit Strg+Shift+F dein gesamtes Projekt nach einer Zeichenkette durchsuchen.
Und du darfst auch ruhig für deine Probleme einen eigenen Thread öffnen... Denn mit dem ursprünglichen Problem hat deine Frage eigentlich nicht wirklich etwas zu tun.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 12.11.2006 um 22:13 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche