Меню в Pawnо Процесс создания скрипта с меню кажется для многих сложным. Однако, это не так. Сейчас я покажу вам, как создать простое меню. И в конце, у нас получится меню телепортации. Первые шаги создания меню Сначала мы должны создать меню.
new Menu:teleportmenu;Теперь, когда мы создали переменную для хранения меню, создадим его в ней.
teleportmenu = CreateMenu("Teleportmenu", 2, 200.0, 100.0, 150.0, 150.0);Теперь немного о параметрах функции CreateMenu.
CreateMenu(title, columns, Float:x, Float:y, Float:col1width, Float:col2width);title: Здесь необходимо указать какое название будет иметь меню. columns: Число здесь определяет, сколько колонок будет в меню. Float:x: Heigth позиция меню. Float:y: Width позиция меню. Float:col1width: Ширина первой колонки. Float:col2width: Ширина второй колонки Добавление пунктов меню Теперь когда у нас есть меню, создадим пункты меню которые будут выбираться в нем:
AddMenuItem(menuid, column, text);menuid: Menuid меню в которое вы хотите добавить пункт. column: Колонка меню, в которой должен быть показан этот пункт меню. text: Название пункта.
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
Сообщение отредактировал GhostTT - Среда, 07.01.2009, 23:33
public OnGameModeInit() { m = CreateMenu("Helper",1,50.0, 200.0,200.0,200.0); if (IsValidMenu(m)) { SetMenuColumnHeader(m, 0, "Helper"); AddMenuItem(m, 0, "Information"); AddMenuItem(m, 0, "Commands"); AddMenuItem(m, 0, "Rules"); AddMenuItem(m, 0, "Administration"); } }
public OnGameModeExit() { if(IsValidMenu(m)) DestroyMenu(m); }
public OnPlayerSelectedMenuRow(playerid, row) { new Menu:tmpMenu = GetPlayerMenu(playerid); if(tmpMenu == m) { if(row == 0) { //Здесь пишем что будет происходить при выборе 1 пункта меню SendClientMessage(playerid,COLOR_LIGHTRED,"Вы нуб"); ShowMenuForPlayer(m, playerid); return 1; }
if(row == 1) { //Здесь пишем что будет происходить при выборе 2 пункта меню SendClientMessage(playerid,COLOR_LIGHTRED,"Вы нуб"); ShowMenuForPlayer(m, playerid); return 1; }
if(row == 2) { //Здесь пишем что будет происходить при выборе 3 пункта меню SendClientMessage(playerid,COLOR_LIGHTRED,"Вы нуб"); ShowMenuForPlayer(m, playerid); return 1; }
if(row == 3) { //Здесь пишем что будет происходить при выборе 4 пункта меню SendClientMessage(playerid,COLOR_LIGHTRED,"Вы нуб"); ShowMenuForPlayer(m, playerid); return 1; } ShowMenuForPlayer(m, playerid); return 1; } return 0; }
public OnPlayerExitedMenu(playerid) { new Menu:tmpMenu = GetPlayerMenu(playerid); HideMenuForPlayer(tmpMenu,playerid); return TogglePlayerControllable(playerid,true); }
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
в данном случае создаем меню с переменной m. в начале мы пишим [pwn]new Menu:m;[/pwn] тем самым указываем что переменная m это меню. Далее в public OnGameModeInit() прописываем [pwn]m = CreateMenu("Helper",1,50.0, 200.0,200.0,200.0);[/pwn] тут мы уже создаем само меню и присваеваем его переменной m. P.S. Вместо Helper пиши свое название
Далее идет добавление пунктов используя команду [pwn]AddMenuItem(m, 0, "Administration"); [/pwn]
Далее в паблике: public OnPlayerSelectedMenuRow(playerid, row) прописываем действия при выборе того или иного пункта.
Что идет дальше ты уже сам понял
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
GhostTT, а вот терь внутри чтоб какойнить сторки было тож меню, над сново вводить переменную, новое меню создавать?
ara типа new Menu:m2, и птом типа у тя внутри 1го пункта меню, и пишешь [pwn]if(row == 0) { ShowMenuForPlayer(m2,playerid) }[/pwn]
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
HunterSK, прально, над было сначало у меня спросить! вообщето можешь это не писать и без него можно, но если хочешь [pwn]public OnGameModeExit() { if(IsValidMenu(m)) DestroyMenu(m); if(IsValidMenu(m2)) DestroyMenu(m2); } [/pwn]
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
HunterSK, скажи что тебе нужно, я те сделаю сам лучше) Как я понял будет меню, в 1 пункте меню2, во 2 пункте чето происходит, в 3 тоже. В меню 2: в 1 пункте чтото, во 2 чето и в 3 чето.
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.