Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
09.08.2002, 22:42
King of Darkness



ok es is nich direckt durch das buy system aber ich weis net was er von mir will mit dieser Fehlermeldung:
E:\C++\HL-Mod\DarkProject\Source Code\dlls\teamplay_gamerules.cpp(52) : error C2014: Praeprozessor-Direktive muss mit dem ersten Zeichen in der Zeile beginnen
das ganze bei dem funtionsaufruf:
ShowMenu(pPlayer, 0xFF, FALSE, FALSE, #BuyHead);

sooo ich glaube er meint das 0xFF aber was soll da hin ???
die funtion is so:
void ShowMenu (CBasePlayer *pPlayer, int bitsValidSlots, int nDisplayTime, BOOL fNeedMore, char *pszText)
{
MESSAGE_BEGIN( MSG_ONE, gmsgShowMenu, NULL, pPlayer ->pev);
WRITE_SHORT( bitsValidSlots);
WRITE_CHAR( nDisplayTime );
WRITE_BYTE( fNeedMore );
WRITE_STRING (pszText);
MESSAGE_END();
}

sooo das ganze war erst ein team change menu von mhhhhhhhhhh ich glaub ausm dhcc tuts bereich

währ nett wen ihr mir helfen könntet

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
001
09.08.2002, 22:52
Bluthund



Zitat:
King of Darkness postete
sooo ich glaube er meint das 0xFF

ich glaube es ist das #BuyHead das afaik in "" muss. (präprozessor-direktiven fangen ja immer mit # an). korrigiert mich wenns falsch sein sollte.

--

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
09.08.2002, 22:53
King of Darkness



wahhhhh daran hab ich garnet gedacht wahhhhhhh dick fett sorry leute

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
003
10.08.2002, 18:40
King of Darkness



mhhh noch ein problem

wenn ich etwas aus dem menu auswählen will und es auswerten möchte brauch ich ja die variable pcmd also wenn ich das so auswerte

int slot = atoi( CMD_ARGV(1) );

ShowMenu(pPlayer, 0xFF, FALSE, FALSE, "#BuyHead");

if ( FStrEq( pcmd, "menuselect" ) )
{
slot = atoi( CMD_ARGV(1) );

if ( slot == 1) // bögen und schwert
{
ShowMenu(pPlayer, 0xFF, FALSE, FALSE, "#BuyWeapon");
if ( FStrEq( pcmd, "menuselect" ) )
{
slot = atoi( CMD_ARGV(1) );
if ( slot == 1) // BofenPfeil
{
pPlayer->GiveAmmo( 5, "pfeile", PFEIL_MAX_CARRY );
pPlayer->GiveNamedItem( "weapon_bogenpfeil" );
}
if ( slot == 2) // BogenFeuer
{
pPlayer->GiveAmmo( 5, "pfeile", FEUERPFEIL_MAX_CARRY );
pPlayer->GiveNamedItem( "weapon_bogenfeuerpfeil" );
}
if ( slot == 3) // BogenGas
{
pPlayer->GiveAmmo( 5, "pfeile", GASPFEIL_MAX_CARRY );
pPlayer->GiveNamedItem( "weapon_bogengaspfeil" );
}
if ( slot == 4) // BogenLaerm
{
pPlayer->GiveAmmo( 5, "pfeile", LAERMPFEIL_MAX_CARRY );
pPlayer->GiveNamedItem( "weapon_bogenlaermpfeil" );
}
if ( slot == 0) // abbrechen
{

}
}
}
if ( slot == 2) // Items
{
ShowMenu(pPlayer, 0xFF, FALSE, FALSE, "#BuyItem");
if ( FStrEq( pcmd, "menuselect" ) )
{
slot = atoi( CMD_ARGV(1) );

if ( slot == 1) // HeilTrank
{
pPlayer->GiveNamedItem( "weapon_heiltrank" );
}
if ( slot == 2) // Blendgrante
{

}
if ( slot == 0) // abbrechen
{

}
}

if ( slot == 0) //abbrechen
{

}
return TRUE;
}
return FALSE;

diese pcmd bekommt zb die funtion playercommand aber wie kann ich sagen das meine funtion es auch haben will ich habe nirgends die variable gesehen jedenfalls weiss ich nich von wo ich die übergeben kann

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
004
10.08.2002, 20:53
Exec



hää? was wilslt du konkret? habs irgendwie nich verstanden :\

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
005
10.08.2002, 21:02
King of Darkness



also ich will ein buymenu nur brauche ich um die eingabe auszuwerten die variable pcmd(warscheinlich playercommand oder sowas)diese variable habe ich bisher nur in der funtion C... ::PlayerCommand(CBasePlayer *pPlayer, const char *pcmd) gesehen bei mir is das so das das teammenu in der funtion ausgewertet wird, und da ich nich weiss wie ich da nun feststellen kann um welches menu es sich handelt gerade angezeigt wird wollte ich ne neue funtion machen in der ich das auswerte aber ich keine ahung wie ich die variable bekomme die ich ja für den aufruf
if ( FStrEq( pcmd, "menuselect" ) )
brauche

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
006
10.08.2002, 21:29
Bluthund



mach nen integer in der CBasePlayerClass und setz dann je nach menue nen einzigartigen wert. dann kannst das ganz bequem mit nem switch in der PlayerCommand machen.

--

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
007
10.08.2002, 22:01
King of Darkness



mhhh ja gut ich versuchs mal also praktisch so

switch(variabel)
{
case teamauswahl
{
}
case buymenu
{
}
}

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
008
10.08.2002, 22:12
Bluthund



nee so:
Quellcode:switch(variable)
{
case teammenu:
  if( slot == 1 )
   tudies;
  if( slot == 2 )
   tudas;
  break;
case buymenu:
  if( slot == 1 )
   tudies1;
  if( slot == 2 )
   tudas1;
  break;
}

--

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
009
10.08.2002, 22:15
Exec



aba theoretisch hatte ers richtig ... beim compilen wäre er auch drauf gekommen, das er die ":" machen muss ... und sone {-klammern mach ich auch immer drum, weils übersichtlicher is :) (und viel langsamer wirds auch nich - oder doch? eingendlich nich)

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
010
10.08.2002, 22:20
Bluthund



ka ich machs schon immer so und außerdem siehe Sig =)

--

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
011
10.08.2002, 23:23
King of Darkness



lol

mhhhh nu aber noch ein letztes wo soll ich sagen das er mir das menu anzeigen soll in chalflife_teamplay gib keine spawn funtion, und in der chalflife_multiplayer sehe ich da nich direkt wo der player spawnt und in der cbaseplayer glaube ich nich das ichs da rein machen muss

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
012
10.08.2002, 23:26
Exec



client.cpp wo die ganzen else-if teile sind ...

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
013
10.08.2002, 23:37
Bluthund



also ich denk ma, dass du jetz dein teamwahlmenü meinst. das packst du einfach in die playerspawn funci der chalflife_multiplayer klasse rein, wenn du kein dm mehr brauchst. wenn du dm und tp haben willst musst du einfach ne playerspawn für chalflife_teamplay machen (also nur vererben)

--

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
014
11.08.2002, 10:09
King of Darkness



nein ich meine eigendlich nich das teammenu ich spreche hier vom buymenu

aber als ich den letzte post von mir gemacht habe habe ich nich nachgedacht weil eigendlich muss ja das buymenu auf tasten druck kommen und nich beim spawn

also ich danke euch erstmal wenn ich nochmal ein prob damit habe komm ich wieder ;)

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
015
11.08.2002, 12:18
King of Darkness



mhhh sooo ich habe jetz ein paar keys definiert (für buymenu und fürs teammenu) nun stehe ich vor nem problem ... wie soll ich das menu anzeigen ??? die buttons werden clientseitig definiert das menu kommt aber vom server und wenn ich die nötigen header einbinde (player.h, cbase.h, teamplay_gameruls.h) kommen auf einmal über 100 (!) fehler

gibt es eine möglichkeit ne message zum server zu schicken ??? zum client weiss ich ja das is ja das mit messagebegin und end

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
016
11.08.2002, 12:19
theDon



ClientCommand()

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
017
11.08.2002, 12:59
King of Darkness



mhhhhhh
damit soll ich was anfangen ???
sooo und welche ??? da gib mehrere die in teamplay die in multiplayer und wer weiss noch wo

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
018
11.08.2002, 13:03
theDon



wenn du einen teamplay mod machst (war doch so oder) dann natürlich im teamplay

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
019
11.08.2002, 13:27
Exec



machs doch einfach ins normale ... da gehts überall O_o

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
020
11.08.2002, 15:22
theDon



hm ja..aber wenn man zb net will das im deathmatch was gekauft wird *theorethisier* ;)

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
021
11.08.2002, 19:51
King of Darkness



naja so genau scheinst du das net verstanden haben oder ich nich *G* also das zum auswerten des buymenus is schon da nur wie soll das menu angezeigt werden
oder geht das mit dem clientcommand wenn ja wie ??
also ok funtion aufrufen aber in der funtion wette ich aja auch noch das team manu aus...
hier schau dir die funtion mal an:
int damageFlags = DMG_GENERIC;
int clientIndex = pPlayer->entindex();

int slot = atoi( CMD_ARGV(1) );

damageFlags |= DMG_NEVERGIB;

entvars_t *pevWorld = VARS( INDEXENT(0) );

switch(pPlayer->menuvariable)
{
case TEAMMENU:
{
if ( FStrEq( pcmd, "menuselect" ) )
{
int slot = atoi( CMD_ARGV(1) );

if ( slot == 1 )
{
JoinTeam(pPlayer, TEAM1_NAME);
//ChangePlayerTeam( pPlayer, TEAM1_NAME, FALSE, FALSE );
//pPlayer->TakeDamage( pevWorld, pevWorld, 900, damageFlags );
}
if ( slot == 2)
{
JoinTeam(pPlayer, TEAM2_NAME);
// ChangePlayerTeam( pPlayer, TEAM2_NAME, FALSE, FALSE );
// pPlayer->TakeDamage( pevWorld, pevWorld, 900, damageFlags );
break;
}
if ( slot == 0) //abbrechen
{
break;
}
RecountTeams();
}
return TRUE;
}
case BUYMENU:
{
if ( FStrEq( pcmd, "menuselect" ) )
{

if ( slot == 1) // bögen und schwert
{
ShowMenu(pPlayer, 0xFF, FALSE, FALSE, "#BuyWeapon");
if ( FStrEq( pcmd, "menuselect" ) )
{
slot = atoi( CMD_ARGV(1) );
if ( slot == 1) // BofenPfeil
{
pPlayer->GiveAmmo( 5, "pfeile", PFEIL_MAX_CARRY );
pPlayer->GiveNamedItem( "weapon_bogenpfeil" );
break;
}
if ( slot == 2) // BogenFeuer
{
pPlayer->GiveAmmo( 5, "pfeile", FEUERPFEIL_MAX_CARRY );
pPlayer->GiveNamedItem( "weapon_bogenfeuerpfeil" );
break;
}
if ( slot == 3) // BogenGas
{
pPlayer->GiveAmmo( 5, "pfeile", GASPFEIL_MAX_CARRY );
pPlayer->GiveNamedItem( "weapon_bogengaspfeil" );
break;
}
if ( slot == 4) // BogenLaerm
{
pPlayer->GiveAmmo( 5, "pfeile", LAERMPFEIL_MAX_CARRY );
pPlayer->GiveNamedItem( "weapon_bogenlaermpfeil" );
break;
}
if ( slot == 0) // abbrechen
{
break;
}
}
}
}
if ( slot == 2) // Items
{
ShowMenu(pPlayer, 0xFF, FALSE, FALSE, "#BuyItem");
if ( FStrEq( pcmd, "menuselect" ) )
{
slot = atoi( CMD_ARGV(1) );

if ( slot == 1) // HeilTrank
{
pPlayer->GiveNamedItem( "weapon_heiltrank" );
break;
}
/* if ( slot == 2) // Blendgrante
{
break;
}
*/ if ( slot == 0) // abbrechen
{
break;
}
}
}
if ( slot == 0) //abbrechen
{
break;
}
}
return TRUE;
}
return FALSE;

wahhhhhhhhhh

während ich hier schreibe fällt mir ein wie ich es machen könnte:

ich setz die menuvariable auf buymenu und fertig

danke für den gedankenstoss

----edit
mhhh naja theoretisch gings was ich mir dachte aber naja praktisch ganz anderes :(
gibt es irgendwo tuts wie man nen neuen key erstellt(habsch mon gemacht) und wie man den dann verbindet mit einer funtion aufm server(zb ein buymenu oder ein teammenu)

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm


Dieser Beitrag wurde am 11.08.2002 um 21:56 von King of Darkness bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
022
12.08.2002, 13:44
King of Darkness



:( weis keiner wie man ne funtion auf einen key legt (die funtion is afm server)

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
023
12.08.2002, 14:04
K-Putt



Schau dir Mal das Tut auf dhcc an mit dem Nachsichtgerät, hat zwar nix mit dem Buymenu zu tun, aber da steht drin wie du per Tastendruck etwas auslöst, und wie du die Taste in der Configuration belegen kannst.

--

Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database

zum Seitenanfang zum Seitenende Profil || Suche
024
12.08.2002, 14:11
King of Darkness



danke werd ich machen

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche