Menü készítés Üdv, most egy egyszeru menüt fogunk készíteni ez most egy tele menü lesz,
de lehet akármi kocsi spawnolo fegyver lehívó de ez a menüpontok tartalmától függ.
Na lássunk is hozzá...
1. Elsonek változót hozunk létre a módunk & scriptünk elejére.
new Menu:tele;
Magyarázat:new: változó
Menu: ezzel tudjuk hogy menüt készítünk
tele: változónk neve (ezt át lehet írni)
2.Aztán a menüpontokat hozzuk létre...Ezt az OnGameModeInit alá írd:
tele = CreateMenu(\"Teleport Men¬\", 2, 55.0, 200.0, 100.0, 80.0);
AddMenuItem(tele, 0, \"LosSantos\");
AddMenuItem(tele, 0, \"SanFierro\");
AddMenuItem(tele, 0, \"LasVenturas\");
Magyarázat:tele: változónk neve
CreateMenu: menü létrehozása
\"Teleport Menu\": ez a menünk címe
2,55.0,200.0,100.0,80.0.: ez a menü mérete, és a helyzete
AddMenuItem(tele, 0, \"LasVenturas\"); : ez a menüpont, ami \" \" között van az leszs a menü pont neve.
3. Most pedig a menüpontok tulajdonságait fogjuk beállítani...
A public OnPlayerSelectedMenuRow(playerid, row) alá írjuk. Ha nincs akkor hozzunk létre egyet.
new Menu:current;
current = GetPlayerMenu(playerid);
if(current == tele)
{
switch(row)
{
case 0:SetPlayerPos(playerid, x, y, z);
}
switch(row)
{
case 1:SetPlayerPos(playerid, x, y, z);
}
switch(row)
{
case 2:SetPlayerPos(playerid, x, y, z);
}
}
Magyarázat: switch(row)
{
case 0:SetPlayerPos(playerid, x, y, z); // ez a menüpot tartalma, ez fog történni ha kiválasztjuk
}
4. Most egy parancsot hozunk létre amivel elojön az adott játékosnak a menü.
Az OnPlayerCommandsText alá:
if (strcmp(\"/tele\", cmdtext, true, 4) == 0)
{
ShowMenuForPlayer(tele, playerid);
return 1;
}
Magyarázat:
ShowMenuForPlayer: megjeleníti a menüt ha beírjuk a parancsot.
REMÉLEM SEGÍTETT VALAKINEK. Kezdo vok úgy hogy ne számítsatok tolem jobbat ;D
És mostmár jöhetnek a kritikák.
Itt egy minta az egészrol:
new Menu:tele;
public OnGameModeInit()
{
tele = CreateMenu(\"Teleport Men¬\", 2, 55.0, 200.0, 100.0, 80.0);
AddMenuItem(tele, 0, \"LosSantos\");
AddMenuItem(tele, 0, \"SanFierro\");
AddMenuItem(tele, 0, \"LasVenturas\");
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:current;
current = GetPlayerMenu(playerid);
if(current == tele)
{
switch(row)
{
case 0:SetPlayerPos(playerid, x, y, z);
}
switch(row)
{
case 1:SetPlayerPos(playerid, x, y, z);
}
switch(row)
{
case 2:SetPlayerPos(playerid, x, y, z);
}
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/tele\", cmdtext, true, 4) == 0)
{
ShowMenuForPlayer(tele, playerid);
return 1;
}
return 0;
}
GameStar-é jobban elvolt magyarázva...de ez is jó,grat hozzá.
Hiba :
2,55.0,200.0,100.0,80.0.: ez a menü mérete
Ez nem csak a mérete,valamit rosszul tudsz.
Hanem az elhelyezkedése a képernyon,és ugye kezdok azt se tudják hogy lehet az meg álapítanni.
Elmondom: Paintba belépsz,létre hozzol egy 600*400 képet,és ahova akarod a menüt oda húzzod a egeret,és a jobb alsó sarokba lesz két kórdináta,na az lesz a elhelyezkedés.
Szia szép kis tut de ez
2,55.0,200.0,100.0,80.0.:
nem a méret hanem az elhelyezkedés is..
és a
new:
Nem azt jelenti hogy változó hanem hogy létrehozás :D
Jah és ezzekel a fügvényekkel kiegészithetted volna :
- CreateMenu
- DestroyMenu
- DisabledMenu
- AddMenuItem
- SetMenuColumnHeader
- ShowMenuForPlayer:
- HideMenuForPlayer
Ha tudod meik mire jó akkor írd le,hanem akkor majd itt a témába szólj és leírom...
kösz, javítva
Jó leírás lett. :)
De ha már a menüknél tartunk, akkor kilehetett volna egészíteni a menükhöz tartozó függvényekkel. ;)
E: Szerintem már nem sokan használnak menüt, a Dialog a \"meno\". ::)
Csabesz párat feljebb leírtam én is :)
Ez is megteszi ;D
nem rossz :)
Fatya xD ;D ;D
Ati
E: Szerintem már nem sokan használnak menüt, a Dialog a \"meno\". ::)
Bejelentem ha megtanulok dialogus menüt csin. akkor csinálok tutot a fórumra, más ne fáradjon :D
Dialog tut már 2 is van :)
new: változó[/quote]
Ez mióta váltózó?
new: változó
Ez mióta váltózó?
[/quote]
:o észre sem vettem. XD
Tessék, http://samp-forum.extra.hu/index.php?topic=3006.0 olvasgass. ;)
new: változó
Ez mióta váltózó?
[/quote]
:o észre sem vettem. XD
Tessék, http://samp-forum.extra.hu/index.php?topic=3006.0 olvasgass. ;)
[/quote]
Ja ez így még sz*r... Javítsatok már ki :P :D.
Írjátok le a hibáimat és mondjátok meg mit javítsak>mire. :D
Kössz
a \'new\' újat lent. Tehát; új valami;
Pl:
new money;
money = GetPlayerMoney( playerid );
Így a money = a játékos pénzével.
new <- valami új létrehozása.
;)
a \'new\' újat lent. Tehát; új valami;
Pl:
new money;
money = GetPlayerMoney( playerid );
Így a money = a játékos pénzével.
new <- valami új létrehozása.
;)
akkor...
\"elsonek létre hozunk egy újat\"?XD
jólvan értem :)
Én ugytudom hogy a \"new\" az egy operátor.
És amit létrehozunk az operandus.
Tehát ebben az esetben:
new Film;
new = Operátor,
Film = Operandus.
Mint pl.: a feltételes utasításban.