[Tutorial]Menu's maken
- Reacties 63
- Bezichtigingen 20.3k
- Aangemaakt
- Laatste reactie
Populairste bijdragers
Featured Replies
Recent actief 0
- Er zijn hier geen geregistreerde gebruikers aanwezig.
Een betere weg om onze GTA community te volgen. Leer meer.
Een volledig scherm app op het beginscherm inclusief notificaties, badges en meer.
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<<<
Bewerkt: door =>Sandra<=