IP: 188.40.57.132:7777
Would you like to react to this message? Create an account in a few clicks or log in to continue.

IP: 188.40.57.132:7777


 
HomeLatest imagesTražiRegistracijaLogin

 

 *Kako napraviti MENU*

Go down 
AutorPoruka
Ryan_Cooper
Admin



Broj komentara : 68
Points : 124
Reputation : 1
Join date : 2009-07-17

*Kako napraviti MENU* Empty
KomentarNaslov komentara: *Kako napraviti MENU*   *Kako napraviti MENU* I_icon_minitimeThu Aug 06, 2009 11:47 am

Pravljenje jednostavnog MENU-a


Menu-i u PAWNu

Menu-i izgledaju vrlo komplicirani i teski mnogim igracima za skriptanje, iako nisu. Ovdje cu vam pokazati kako napravit jednostavan menu. Na kraju cemo dobiti teleport menu.


Prvi koraci

Prvi moramo napraviti Menu. Ubaci liniju nakon #includes, #defines, forwards :

Kod:

new Menu:teleportmenu;


Napravili smo jednu vrstu skladista za menu. Sada moramo napraviti Menu unutar toga. Upisi ovo u OnGameModeInit():

Kod:

teleportmenu = CreateMenu("Teleportmenu", 2, 200.0, 100.0, 150.0, 150.0);


Sada malo objasnjena vezano za CreateMenu.

Kod:

CreateMenu(title, columns, Float:x, Float:y, Float:col1width, Float:col2width);


title: Ovo definira zaglavlje menu tablice.
columns:Broj definira koliko je stupaca koristeno.
Float❌ Visina menu-a
Float:y: Sirina menu-a
Float:col1width: Sirina prvog stupca
Float:col2width: Sirina drugog stupca





Dodavanje podataka u menu-u

Sada imamo Meni ali trebamo neke podatke koje mozete izabrati u meni-u. Dodajete ih preko AddMenuItem. Tako ih dodajemo ispod CreateMenu:

Kod:

AddMenuItem(teleportmenu, 0, "LS");
AddMenuItem(teleportmenu, 0, "LS");
AddMenuItem(teleportmenu, 0, "SF");
AddMenuItem(teleportmenu, 0, "SF");
AddMenuItem(teleportmenu, 0, "LV");
AddMenuItem(teleportmenu, 0, "LV");

AddMenuItem(teleportmenu, 1, "Grove Street");
AddMenuItem(teleportmenu, 1, "Starfish Tower");
AddMenuItem(teleportmenu, 1, "Wheel Arch Angels");
AddMenuItem(teleportmenu, 1, "Jizzys");
AddMenuItem(teleportmenu, 1, "4 Dragons");
AddMenuItem(teleportmenu, 1, "Come-a-Lot");


Objasnjenje za AddMenuItem:

Kod:

AddMenuItem(menuid, column, text);


menuid: ID Menu-a u kojem bi podatak trebao biti prikazan.
column: Stupac u kojem bi podatak trebao biti prikazan
text: Naziv podatka



Pravljenje efekata za podatke

U gore navedenim koracima napravili smo menu, ali sta bi se trebalo desiti kada odaberemo jedan od podataka? U ovom primjeru pravimo teleport menu pa bi trebali biti teleportirani na mjesto na koje zelimo. Ovo je napravljeno u OnPlayerSelectedMenuRow(playerid, row).
Najbolji nacin da ovo uradimo je da promjenimo nesto. Prvi korak je da uzmemo menuid da ogranicimo efekte u menu-u. Trebali bi napraviti novu varijablu za ovo. Moja se zove :

Kod:

new Menu:CurrentMenu = GetPlayerMenu(playerid);


Sada, kad netko otvori menu, menuid ce biti snimljen pod Current. Sada trebamo provjeriti ID u Current, s obzirom na to da je to nas menu:

Kod:

if (CurrentMenu == teleportmenu)
{
...
}




Napredovanjem prema sljedecim koracima vrijeme je za zamjenu. Ovo bi trebalo izgledati ovako:

Kod:

if(CurrentMenu == teleportmenu)
{
switch(row)
{
case 0: //Grove Street
{
SetPlayerPos(playerid, 2493.9133, -1682.3986, 13.3382);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to Grove Street");
}
case 1: //Starfish Tower
{
SetPlayerPos(playerid, 1541.2833, -1362.4741, 329.6457);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the top of Starfish Tower");
}
case 2: //Wheel Arch Angels
{
SetPlayerPos(playerid, -2705.5503, 206.1621, 4.1797);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the Wheel Arch Angels tuning-shop");
}
case 3: //Jizzys
{
SetPlayerPos(playerid, -2617.5156, 1390.6353, 7.1105);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to Jizzy's Nightclub!");
}
case 4: //4Dragons
{
SetPlayerPos(playerid, 2028.5538, 1008.3543, 10.8203);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the Four Dragons Casino");
}
case 5: //Com-a-Lot
{
SetPlayerPos(playerid, 2169.1838, 1122.5426, 12.6107);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the Come-a-Lot casino!");
}
}
}


Kada je sve napravljeno tocno kako sam naveo efekti za meni-e su uspjesno napravljeni.


Zadnji koraci

Sada trebamo komandu kojom prikazemo meni. Ovo je najlaksi korak. Samo usporedba s strcmpom i ShowMenuForPlayer. Kao sto bi trebali znati ovo smjestamo pod: OnPlayerCommandText


Kod:

if(strcmp(cmdtext, "/teleport", true) == 0)
{
ShowMenuForPlayer(teleportmenu,playerid);
return 1;
}


Zaista lako, nije li?


Posljednje rijeci

Nakon sto ste ovo procitali I shvatili, probajte napraviti vlastiti menu. Kao sto ste vidjeli nije tako tesko, ali bi impresioniralo igrace na serveru. Mozete napraviti jako lijepe efekte na ovaj nacin, takodjer mozete iskoristiti za prodavnice, gunshopove i slicno.

Zelim vam svu srecu u pravljenju ove, kao i svih ostalih skripti !

NAPOMENA: Svaki pokusaj i svako kopiranje ovog teksta ili dijela ovog teksta strogo ce se kaznjavati!
Na vrh Go down
https://bosnianmafia-samp.bosnianforum.com
 
*Kako napraviti MENU*
Na vrh 
Stranica 1/1
 Similar topics
-
» *Kako napraviti Organizaciju/Bandu*

Permissions in this forum:Ne možete odgovoriti na teme ili komentare u ovom forumu
IP: 188.40.57.132:7777 :: *Skripting* :: Naućite skriptati uz nas-
Idi na: