.
|
|
| Autor | Beitrag |
|---|---|
|
000 08.06.2000, 15:16 Morgan |
Kann nicht jemand ein Tutorial über mehrere Menüs schreiben. Unser Mod bleibt an dieser Sache kleben. Wir haben 2 Menüs. In dem einen sucht man sich sein Team aus und in dem anderen kauft man Waffen. Man kann 5 Waffen kaufen (also slot 1-5). Will ich mir jetzt aber die erste Waffe kaufen obwohl ich in Team 2 bin, dann gibt er mir nicht die erste Waffe sondern setzt mich in Team 1. Dasselbe ist wenn ich in team 1 bin und mir die waffe 2 kaufen will. Morgan (http://hlfuture.net-games.com) -- |
|
Profil || Suche |
|
001 09.06.2000, 07:57 PsyDAD |
Dieses Problem hatte ich auch mal, und bin auf eine ganz simple Lösung gestossen. Das war jetzt alles in Schnelldurchlauf, wenn du etwas nicht verstehst, frag einfach nach. PsyDAD -- |
|
Profil || Suche |
|
002 09.06.2000, 13:59 Morgan |
Bei mir klappte das nicht so ganz! (L( Wstrike_gamerules.cpp: //========================================================= if ( FStrEq( pcmd, "menuselect" ) ) int slot = atoi( CMD_ARGV(1) ); JoinTeam(pPlayer, Wstrike_TEAM2_NAME);//option two case 3: JoinTeam(pPlayer, TeamWithFewestPlayers());//option three case Menu_Buy: case 1: return TRUE; pPlayer->m_nMenu = Menu_ChangeTeam; "); return TRUE; return FALSE; //Chris Ende und jetzt die Player.h: //Morgan }; class CBasePlayer : public CBaseMonster Helft mir!!!!!!! -- |
|
Profil || Suche |
|
003 09.06.2000, 16:31 Prefect |
Was kümmert dich das jetzt noch? Das Menüsystem im SDK2 arbeitet völlig anders. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
004 09.06.2000, 16:42 PsyDAD |
Dieses Problem schaffen wir jetzt ein für alle Mal aus dem Weg =) if ( FStrEq( pcmd, "menuselect" ) ) int slot = atoi( CMD_ARGV(1) ); //chris Beginn { JoinTeam(pPlayer, Wstrike_TEAM1_NAME);// option one case 2: JoinTeam(pPlayer, Wstrike_TEAM2_NAME);//option two case 3: JoinTeam(pPlayer, TeamWithFewestPlayers());//option three // Hier war ein } zuviel case 2: //Sagen wir 2 ist der Wert für das Kaufmenü case 1: pPlayer->m_iMoneyAmount -= 1000; } pPlayer->m_nMenu = 1; //Wir sagten ja 1 ist die Teamauswahl return TRUE; // if we're not handling a menuselection, but handling the changeclass command, do this: else if (FStrEq(pcmd, "buy" )) return TRUE; return FALSE; //Chris Ende und jetzt die Player.h: //Morgan }; class CBasePlayer : public CBaseMonster PsyDAD -- |
|
Profil || Suche |
|
005 09.06.2000, 16:45 PsyDAD |
@ Perfect: PsyDAD -- |
|
Profil || Suche |
|
006 09.06.2000, 18:17 Prefect |
Was ist dein Problem? Du kannst die Maus ja ausschalten, dann hast du genauso Zahlen-Bedienung wie im alten Menü. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
007 09.06.2000, 19:35 PsyDAD |
Ja, schon klar. Aber ich mein die Handhabung vom coden her... Ja, ok, es giebt jetzt noch keine Tutorials und ich blick sonst auch NOCH nicht ganz durch. Aber ich denke für "Newbie Coder" ist das doch besser.. Lassen wir das, ich versuch auf jeden Fall das VGUI mal (wenigstens halb) zu kapieren, werde ich aber nicht in nächster Zeit hinkriegen. PsyDAD -- |
|
Profil || Suche |
|
008 10.06.2000, 12:27 Morgan |
kannst du mir jetzt vielleicht auch sagen, wiem man mehrere Menüs wie in Counterstrike machen kann. z.B. Ein Pistolenmenü: |
|
Profil || Suche |
|
009 10.06.2000, 12:41 DarkCloud14 |
Wenn wir schon bei Menüs wie kann ich solche Menüs wie in TFC machen also mit dem VGUI meine ich ? THX -- |
|
Profil || Suche |
|
010 12.06.2000, 21:13 Morgan |
Weiß hie niemand wie man mehrere menüs ineinander wie in Counterstrike macht ?? -- |
|
Profil || Suche |
|
011 13.06.2000, 11:50 DarkCloud14 |
Hmm wenn du willst,dass man z.b. als erstes ein team wählt und dann die Klasse musst du einfach das Klassenmenü aufrufen nachdem der Spieler das Team gewählt hat und natürlich das m_imenu(oder wie auch immer es bei dir heißt)switchen.Versuchs einfach mal :) -- |
|
Profil || Suche |
|
012 13.06.2000, 15:12 Morgan |
Und wie geht das mit dem switschen??? -- |
|
Profil || Suche |
|
013 14.06.2000, 12:32 PsyDAD |
Wie wärs wenn du mal ein Menü Tutorial durchmachst und verstehst... Englisch solltest du können... PsyDAD -- |
|
Profil || Suche |
|
014 15.06.2000, 09:54 Morgan |
Wie geht das denn genau mit dem switchen. Mein Code ist doch oben!!!! Kann mir keiner helfen??? -- |
|
Profil || Suche |
|
015 15.06.2000, 20:08 DarkCloud14 |
Also da du in deinem Code ja mit Jointeam in ein Team joinst,musst du diese Funktion auch irgendwo in der selben Datei haben der Anfang könnte wie folgt aussehen(bin mir nicht sicher da ich den ja nicht gesehen habe):void void CHalfLifeTeamplay::JoinTeam(CBasePlayer *pPlayer, const char *pTeamName) if (FStrEq(pPlayer->m_szTeamName, pTeamName)) usw. void CHalfLifeTeamplay::JoinTeam(CBasePlayer *pPlayer, const char *pTeamName) //DarkCloud14 if (FStrEq(pPlayer->m_szTeamName, pTeamName)) wobei du Menu_ChangeClass auch in der ClientCommand haben musst(wie das mit dem Teammenü)also so etwas ähnliches wie folgt: case Menu_ChangeClass: Ok ich hoffe den Rest kannst du selbst |
|
Profil || Suche |
|
016 15.06.2000, 22:04 Morgan |
Wenn's klappt dann hast du es dir ja verdient!! -- |
|
Profil || Suche |
|
017 16.06.2000, 09:45 Morgan |
Nein, ich glaube du hast das falsch verstanden !!!! Das mit den 2 Menüs das klapt jetzt !! |
|
Profil || Suche |
|
018 16.06.2000, 14:08 DarkCloud14 |
Achso ehh das dürfte aber kein Problem mehr sein oder ?? case Menu_Buy: case 1: case 2: case Menu_Pistols: case 1: case 2: case Menu_Mps: case 1: case 2: else if (FStrEq(pcmd, "buy" )) return TRUE; So ungefähr müsste es aussehen.Ich hab das alte Menu_Buy umgeändert da das mit den Waffen erst in dem nächsten Menü (das aufgerufen wird)gebraucht wird.Und ja ich weiß,dass die Shotgun keine MP ist das soll nur ein Beispiel sein. |
|
Profil || Suche |
|
019 16.06.2000, 14:26 DarkCloud14 |
Ach bevor ichs vergesse du musst in der Titles.txt noch sowas wie folgt schreiben: buy_menu 1. Pistols pistols 1. Glock mps 1. Mp5 So das wars du kannst das in der Titles.txt natürlich beliebig verändern. Das 0x3 im ShowMenu(hinter pPlayer, ) bedeutet,dass nur die ersten 2 Tasten also 1 und 2 benutzt werden können. Cya -- |
|
Profil || Suche |
|
020 19.06.2000, 21:24 DarkCloud14 |
Hi Morgan kurze Frage klappt das was ich da hingeschrieben habe ?? Cya -- |
|
Profil || Suche |
|
021 24.06.2000, 11:50 Boogdoo |
Super, dass endlich mal jemand dieses Problem erklärt!! Thx PsyDad und DarkCloud14!! Thx i.a. Boogdoo --------------------------------
|
|
Profil || Suche |
|
022 24.06.2000, 12:53 DarkCloud14 |
Moin Boogdoo ich hab heut mal nen guten Tag also das mit dem JoinTeam sollte wie folgt aussehen(habs in der teamplay_gamerules.cpp benutzt): void CHalfLifeTeamplay::JoinTeam(CBasePlayer *pPlayer, const char *pTeamName) if (FStrEq(pPlayer->m_szTeamName, pTeamName)) if ( pPlayer->m_afPhysicsFlags & PFLAG_OBSERVER) sprintf( text, "* %s has joined the %s team pPlayer->Spawn(); sprintf( text, "* %s has changed to the %s team RecountTeams(); wobei du noch folgendes in die teamplay_gamerules.h bzw deine_gamerules.h schreiben musst : virtual BOOL IsValidTeam( const char *pTeamName ); virtual void JoinTeam( CBasePlayer *pPlayer, const char *pTeamName); So das Showmenu hast du ja hoffentlich. Cya -- |
|
Profil || Suche |
|
023 24.06.2000, 13:00 DarkCloud14 |
Ahh ich hab das mit dem Observer vergessen am besten schaust du dir das Tutorial auf http://www.planethalflife.com/whenitsdone/projects/hmctf.shtml an dort ist das ganze nur halt noch mit CTF Zeugs Cya -- |
|
Profil || Suche |
|
024 24.06.2000, 20:36 Mike |
HI, wenn ihr menus sehn wollt wie ihn TFC 1.5 zieht euch die Seals-Alpha 2 von www.navysealsmod.com. Die haben welche ! Mike -- |
|
Profil || Suche |
|

