Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
18.07.2001, 23:03
[GRK]Smurf



HI,
hab folgendes Prob. Ich will vom VGUI aus mit addactionsignal die funktion jointeam starten. die ist in der server dll geschrieben. wie starte ich nun diese funktion.
Ich hab schon einen neuen menu handler deklariert. da kann ich aber nicht einfach jointeam eingeben.
m_pszCommand->JoinTeam(pPlayer, GA_TEAM1_NAME);
geht nicht. BItte helft mir.

--

zum Seitenanfang zum Seitenende Profil || Suche
001
19.07.2001, 00:06
Diablo_bth



das macht man ganz anders... *g*
z. B. fügst du das in:

BOOL CHalfLifemultiplay :: ClientCommand( ... )
ein:

Quellcode:

...
else if ( FStrEq( pcmd, "teamselect" ) )
{

MESSAGE_BEGIN( MSG_ONE, gmsgVGUIMenu, NULL, pPlayer->edict() );
WRITE_BYTE( 2 );
MESSAGE_END();

return TRUE
}

nun nusst du noch in dieser cpp ( multiplay_gamerules.cpp) gmsgVGUIMenu so definieren:
Quellcode:
extern int gmsgVGUIMenu;

und in der Player cpp: ( c. a. zeile 200 )
Quellcode:
int gmsgVGUIMenu = 0;

und dann noch c.a. Zeile 250 ( player.cpp )
Quellcode:
gmsgVGUIMenu = REG_USER_MSG( "VGUIMenu", 1 );

ich gehe mal davon aus, daß du ein erfahrener Coder bist und das ganze für
dich brauchbar machen kannst! ( vielleicht schaust du auch mal die entsprechende MsgFunc_VGUIMenu( .. ) in der cl_dll an.

--


Dieser Beitrag wurde am 19.07.2001 um 00:09 von Diablo_bth bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
19.07.2001, 01:15
Killing Me Softly



Ok, ich gehe jetzt davon aus, das das Command in der server.dll in etwa so aussieht "jointeam <name_des_teams>"

Als erstes gibt's ein neues ActionSignal

class CJointeamHandler : public ActionSignal
{
private:
char m_pszTeam[25];
public:
CJointeamHandler( char *team )
{ strcpy(m_szTeam,team);
}

virtual void actionPerformed(Panel* panel)
{
char szCmd[255];
sprintf(szCmd,"jointeam %s",m_szTeam);
ClientCmd(szCmd);
}
};

und irgendwo steht dann z.B.:

CommandButton *pButton = new CommandButton( ... );
pButton->addActionSignal(new CJointeamHandler("the_red_team") );
pButton->setParent(this);

Sobald der Button angeklickt wird, sendet der Client das Command "jointeam the_red_team" an den Server.

--

Der Horizont vieler Menschen ist ein Kreis mit Radius Null - und das nennen sie ihren Standpunkt.


Dieser Beitrag wurde am 19.07.2001 um 01:16 von Killing Me Softly bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
19.07.2001, 10:46
[GRK]Smurf



Ok. Danke für die ausführlichen Antworten.

--

zum Seitenanfang zum Seitenende Profil || Suche