|
|
Menüs erstellen |
:: GTAvision.com ::
:: Scripting - Multiplayer ::
|
|
Author: |
dödel |
|
E-Mail: |
Write me a Mail
|
Kategorie: |
Scripting - Multiplayer |
GTA-Serien: |
|
Description: |
Da ich schon so einige Anfragen bekommen habe, wie man ein Menü erstellt (bzw. ob ich ihnen eins erstelle), kommt hier für euch ein Tutorial zum Erstellen von Menüs! |
|
|
|
Tutorial:
|
|
|
Schritt 1: Wie man ein Menü erstellt
Zuerst wird für das Menü eine schöne Variable festgelegt, damit man es später viel leichter hat. Dies könnt ihr mit folgendem Code, am besten bei euren anderen Deklarationen, erreichen:
Nun wird das Menü in "OnGameModeInit" erstellt:
menu = CreateMenu("~b~Haupt-~w~Menu",1,300,150,300); if(IsValidMenu(menu)) { } |
...dann kommen die Auswahlmöglichkeiten hinzu:
menu = CreateMenu("~b~Haupt-~w~Menu",1,300,150,300); if(IsValidMenu(menu)) { AddMenuItem(menu ,0,"Infernus"); AddMenuItem(menu ,0,"SMG"); AddMenuItem(menu ,0,"Energie und Rüstung"); } |
Schließlich braucht ihr nur noch die Callback-Funktion "OnPlayerSelectMenuRow" zu benutzen.
Tipp: Es ist nützlich immer hinter den Codezeilen Notizen zu setzen, so hat man einen besseren Überblick.
So sollte euer "OnPlayerSelectMenuRow" dann aussehen:
new Menu:Current = GetPlayerMenu(playerid);
if(Current == menu) // Menü:menu { switch(row) //Anfang switch case { case 0: //Anfang case 0 | Infernus {
if(IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid, COLOR_RED, "Du bist bereits in einem Fahrzeug"); TogglePlayerControllable(playerid,true); //erlaubt dem Spieler sich wieder zu bewegen return 1; }
if(GetPlayerMoney(playerid) >= 2500) { new Float:menu_x, Float:menu_y, Float:menu_z, Float:menu_za, vid; GetPlayerPos(playerid, menu_x, menu_y, menu_z); GetPlayerFacingAngle(playerid, menu_za); vid = CreateVehicle(411, menu_x, menu_y, menu_z, menu_za, -1, -1, 12000); PutPlayerInVehicle(playerid, vid); GivePlayerMoney(playerid, -2500); } else SendClientMessage(playerid, COLOR_RED, "Du kannst dir dieses Fahrzeug nicht leisten!");
TogglePlayerControllable(playerid,true); //erlaubt dem Spieler sich wieder zu bewegen SetCameraBehindPlayer(playerid); //Setzt die Kamera hinter den Spieler
} case 1: //Anfang case 1 | SMG {
if(GetPlayerMoney(playerid) >= 300) { GivePlayerWeapon(playerid, 29, 210); GivePlayerMoney(playerid, -300); } else SendClientMessage(playerid, COLOR_RED, "Du kannst dir diese Waffe nicht leisten!");
TogglePlayerControllable(playerid,true); SetCameraBehindPlayer(playerid);
} case 2: //Anfang case 2 | Health & Armour {
if(GetPlayerMoney(playerid) >= 1200) { SetPlayerHealth(playerid, 100.0); SetPlayerArmour(playerid, 100.0); GivePlayerMoney(playerid, -1200); } else SendClientMessage(playerid, COLOR_RED, "Du kannst dir dieses Equipment nicht leisten!");
TogglePlayerControllable(playerid,true); SetCameraBehindPlayer(playerid);
} } //Ende switch case } //Ende Menu:menu |
Jetzt schnell noch dafür sorgen, dass man beim Schließen des Menüs wieder laufen kann (d.h. wenn man abbricht und nichts wählt):
public OnPlayerExitedMenu(playerid) { new Menu:Current = GetPlayerMenu(playerid); HideMenuForPlayer(Current,playerid); TogglePlayerControllable(playerid,true); } |
Und nun fehlt nur noch der Auslöser des Menüs:
if(strcmp(cmd, "/menu", true) == 0) { TogglePlayerControllable(playerid,false); SetCameraBehindPlayer(playerid); ShowMenuForPlayer(menu,playerid); return 1; }
|
Ergänzungen zu diesem Tutorial:
Mit Erlaubnis des Autors wurde dieses Tutorial auf
http:///www.GTAvision.com hochgeladen. Weitere Tutorials rund um GTA findet ihr dort im Tutorialbereich.
|
|
|
|
|