[Tutorial]Menu's maken
- Replies 63
- Views 20.1k
- Created
- Last Reply
Featured Replies
Recently Browsing 0
- No registered users viewing this page.
A better way to browse. Learn more.
A full-screen app on your home screen with push notifications, badges and more.
Tutorial Menu's
Gemaakt door Sandra18[NL]
Andere Tutorials van mij:
>>Objecten<<
>>Account-systeem<<
>>CheckPoints+AdminArea<<
**Dit is een voorbeeld script dat menu's bevat.
Wat heb je nodig:
- Gta:Sa-mp
- Sa-mp 0.2.* Script-tools
- Basis scriptkennis
Beknopte uitleg:
In dit script bevat een menu waarmee je een teleport-locatie kan uitzoeken.
Er zijn 10 verschillende locaties verdeeld over de 3 steden:
Het menu kan je openen door /teleport in te typen.
In dat menu kan je kiezen uit de 3 steden (Ls, Sf & Lv)
Als je een stad kiest, opent er een nieuw menu die je locaties in de betreffende stad toont:
Los Santos:
-GroveSteet
-Ls Vliegveld
-Hoogste gebouw
San Fiero:
-Wang Cars
-Sf Vliegveld
-Pier 69
Las Venturas:
-Piratenschip
-Lv Vliegveld
-4 Dragons Casino
-Parkeergarage
In dit script gebruiken we 7 hoofd-functies:
- CreateMenu("tekst-in-header", aantal-keuzes, x, y, kolom-breedte, kolom-hoogte);
- AddMenuItem(naam-doel-menu, kolom, "tekst");
- TogglePlayerControllable(playerid, waarde); waarde: 1=aan 0 =uit
- ShowMenuForPlayer(menu, playerid);
- SetPlayerPos(playerid, x, y, z);
- SetPlayerFacingAngle(playerid, hoek);
- SetCameraBehindPlayer(playerid);
Uitgebreidere uitleg komt misschien later.
Voorlopig zal je gewoon goed het script moeten doorlezen en proberen te begrijpen wat elke functie doet.
(Zo heb ik ook leren scripten
#include <a_samp> //defineren van de 4 menu's: new Menu:TeleportMenu; new Menu:LsTeleports; new Menu:SfTeleports; new Menu:LvTeleports; public OnGameModeInit() { SetGameModeText("TutorialGM by Sandra18[NL]"); //Karakters plaatsen AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddPlayerClass(93, 2494.4888, -1675.5619, 13.3359, 55.9011, 0, 0, 0, 0, 0, 0); //Het maken van de menu's: //eerst maak je een nieuw menu aan met CreateMenu TeleportMenu = CreateMenu("Kies een stad uit:",1,200,200,400,35); //Vervolgens maak je de keuzes met AddMenuItem: AddMenuItem(TeleportMenu, 0, "Los Santos"); // 1e keuze AddMenuItem(TeleportMenu, 0, "San Fiero"); //2e keuze AddMenuItem(TeleportMenu, 0, "Las Venturas"); //3e keuze LsTeleports = CreateMenu("Los Santos Teleports:",1,200,200,400,35); AddMenuItem(LsTeleports, 0, "GroveStreet"); AddMenuItem(LsTeleports, 0, "Ls Vliegveld"); AddMenuItem(LsTeleports, 0, "Hoogste Gebouw"); SfTeleports = CreateMenu("San Fiero Teleports:",1,200,200,400,35); AddMenuItem(SfTeleports, 0, "Wang Cars"); AddMenuItem(SfTeleports, 0, "Sf Vliegveld"); AddMenuItem(SfTeleports, 0, "Pier 69"); LvTeleports = CreateMenu("Las Venturas Teleports:",1,200,200,400,35); AddMenuItem(LvTeleports, 0, "PirateShip"); AddMenuItem(LvTeleports, 0, "Lv Vliegveld"); AddMenuItem(LvTeleports, 0, "4 Dragons Casino"); AddMenuItem(LvTeleports, 0, "Parkeergarage"); return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid,-812.0018,-1949.3617,9.3004); SetPlayerCameraPos(playerid,-816.4528,-1945.0082,9.0269); SetPlayerCameraLookAt(playerid,-812.0018,-1949.3617,9.3004); SetPlayerFacingAngle(playerid, 0.0); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/teleport", cmdtext, true) == 0) { TogglePlayerControllable(playerid, 0); // zorg ervoor dat de speler niet meer kan bewegen ShowMenuForPlayer(TeleportMenu,playerid); // laat het menu 'TeleportMenu' zien return 1; } return 0; } public OnPlayerSelectedMenuRow(playerid, row) { TogglePlayerControllable(playerid, 1); // laat de speler weer bewegen SetCameraBehindPlayer(playerid); // zet de camera achter de speler new Menu:Current = GetPlayerMenu(playerid); if (Current == TeleportMenu) // check in welke menu je zit { switch(row) { case 0: {ShowMenuForPlayer(LsTeleports, playerid); TogglePlayerControllable(playerid, 0);} //keuze 1 case 1: {ShowMenuForPlayer(SfTeleports, playerid); TogglePlayerControllable(playerid, 0);} //keuze 2 case 2: {ShowMenuForPlayer(LvTeleports, playerid); TogglePlayerControllable(playerid, 0);} //keuze 3 } } if (Current == LsTeleports) { switch(row) { case 0: {SetPlayerPos(playerid, 2481.5010,-1662.1470,13.3438); SetPlayerFacingAngle(playerid, 241.3432); } case 1: {SetPlayerPos(playerid, 1928.6345,-2457.9893,13.5391); SetPlayerFacingAngle(playerid, 129.8487); } case 2: {SetPlayerPos(playerid, 1563.1281,-1346.2808,330.0572); SetPlayerFacingAngle(playerid, 301.3620); } }} if (Current == SfTeleports) { switch(row) { case 0: {SetPlayerPos(playerid, -1975.4209,291.0956,35.1719); SetPlayerFacingAngle(playerid, 231.8575); } case 1: {SetPlayerPos(playerid, -1191.5640,-400.4661,14.1484); SetPlayerFacingAngle(playerid, 330.6251); } case 2: {SetPlayerPos(playerid, -1713.7914,1334.8519,7.0468); SetPlayerFacingAngle(playerid, 294.0418); } }} if (Current == LvTeleports) { switch(row) { case 0: {SetPlayerPos(playerid, 1999.9935,1521.5145,17.0625); SetPlayerFacingAngle(playerid, 342.4077); } case 1: {SetPlayerPos(playerid, 1724.4902,1610.0110,10.1314); SetPlayerFacingAngle(playerid, 104.1312); } case 2: {SetPlayerPos(playerid, 2037.3230,1007.3141,10.8203); SetPlayerFacingAngle(playerid, 90.9229); } case 3: {SetPlayerPos(playerid, 2058.1492,2446.1331,10.8203); SetPlayerFacingAngle(playerid, 212.6783); } }} return 1; } public OnPlayerExitedMenu(playerid) { new Menu:Current = GetPlayerMenu(playerid); if (Current == LsTeleports || SfTeleports || LvTeleports) { TogglePlayerControllable(playerid, 0); ShowMenuForPlayer(TeleportMenu, playerid); } else { TogglePlayerControllable(playerid, 0); } return 1; }Voor een beter uitgelijnde versie, klik >>hier<<
Hier nog een filmpje waarin ik de menu's van dit script laat zien:
Omdat ik dit allemaal op een laptop doe (die nog maar net gta-sa aankan) en ook nog eens Fraps gebruik, is de fps errug laag en spawnen de objecten vreselijk langzaam.
Edit: In het filmpje zit nog een fout:
Bij het Los Santos-menu staat "Lv Vliegveld" dit moest "Ls Vliegveld" zijn.
Als je nog vragen hebt, mag je ze gerust in dit topic stellen.
Grtz San
>>> Door Azer: De lijst met tutorials blijft maar groeien, toegevoegd aan het PAWN Tutorial List topic<<<
Edited by =>Sandra<=