public OnPlayerSelectedMenuRow(playerid,row) { new Menu:Current = GetPlayerMenu(playerid); if(Current == men) { switch(row) { case 0:GivePlayerMoney(playerid,-1000); case 1:GivePlayerMoney(playerid,5000); case 2:GivePlayerMoney(playerid,-10000);}} return 1; }
public OnPlayerSelectedMenuRow(playerid,row) { new Menu:Current = GetPlayerMenu(playerid); if(Current == men) { switch(row) { case 0:GivePlayerMoney(playerid,-1000); case 1:GivePlayerMoney(playerid,5000); case 2:GivePlayerMoney(playerid,-10000);} return 1;} return 0; } но на работоспособность этого меню такие ошибки не вилияют. Из-за них страдают менюшки в других скриптах.
Покажи код создания меню men
Текущая версия ERPG GM: 2.7.0 RC1(03.10.2009) http://3val.ru/games/samp/changelistServ.php
Сообщение отредактировал EKup - Понедельник, 17.03.2008, 13:21
return это то, что будет возвращать функция. Я так понимаю в паблике OnPlayerSelectedMenuRow return 1 возвращает то, что игрок выбрал какой-либо пункт меню. return 0 соотвественно наоборот.
public OnPlayerEnterCheckpoint(playerid) { men = CreateMenu("stavki",1,200.0, 100.0, 150.0, 150.0); SetMenuColumnHeader(men, 0, "Select row"); AddMenuItem(men,0,"mala stavka 1000"); AddMenuItem(men,0,"seredna stavka 5000"); AddMenuItem(men,0,"vusoka stavka 10000"); ShowMenuForPlayer(men,playerid); TogglePlayerControllable(playerid,0);} return 1; } попробуй так
Добавлено (18.03.2008, 16:48) --------------------------------------------- Вот, писал вчера туториал по менюшкам одному знакомому. Мож кому пригодится:
Code
#include <a_samp> //создадим простое меню с двумя строками. показываться будет по команде.
new Menu:m;//само меню
public OnGameModeInit() { //создание меню m = CreateMenu("My menu", //текст в заголовке 2,//число столбцов(1 или 2) 50.0, 200.0, //координаты х и у на экране 200.0, //ширина 1-го столбца 200.0); //ширина второго столбца
if (IsValidMenu(m))//проверяем, создалось ли меню(может не создаться) {//настраиваем меню SetMenuColumnHeader(m, 0, "Number"); //настраиваем заголовок первого столбца(0 - номер столбца) SetMenuColumnHeader(m, 1, "Weapont"); //настраиваем заголовок первого столбца(1 - номер столбца) //добавляем строки меню //строка 1 AddMenuItem(m, 0, "1");//первый параметр - меню. Второй - номер столбца. Третий - текст в строке меню AddMenuItem(m, 1, "Micro Uzi"); //строка 2 AddMenuItem(m, 0, "2"); AddMenuItem(m, 1, "Sniper Rifle"); } //все, меню создано return 1; }
public OnGameModeExit() { //при выключении мода удаляем меню(чтоб при gmx не глючило) if(IsValidMenu(m)) //проверяем, создано ли оно DestroyMenu(m); }
public OnPlayerSelectedMenuRow(playerid, row)//игрок выбрал строку в меню { //узнаем, какое именно меню показано игроку new Menu:tmpMenu = GetPlayerMenu(playerid); if(tmpMenu == m)//если показано наше меню, то смотрим какая строка выбрана { if(row == 0)//строка 0 { //сюда можно добавить любое действие при выборе первой строки(нумерация строк с нулевой) GivePlayerWeapon(playerid, 28, 500); } if(row == 1)//строка 1 { //сюда можно добавить любое действие при выборе второй строки(нумерация строк с нулевой) GivePlayerWeapon(playerid, 34, 50); } //если в меню есть какие-то еще строки, то их обработку добавить сдесь //,,, ShowMenuForPlayer(m, playerid);//показываем опять это меню игроку return 1; } return 0; //ни одного из заданных в скрипте меню не был опоказано, поэтому возвращаем 0(чтоб в других скриптах на сервере меню работали) }
public OnPlayerExitedMenu(playerid)//событие выхода игрока из меню { new Menu:tmp = GetPlayerMenu(playerid);//смотрим, какое меню игроку было показано if(tmp == m)//если было показано наше меню, то размораживаем игрока { TogglePlayerControllable(playerid, 1);//разморозка return 1; } return 0;//ни одного из заданных в скрипте меню не был опоказано, поэтому возвращаем 0(чтоб в других скриптах на сервере меню работали) }
public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmdtext, "/menu", true) == 0) { TogglePlayerControllable(playerid, 0);//заморозкаигрока(чтоб не двигался при навигации по меню) ShowMenuForPlayer(m, playerid);//показываем меню игроку return 1; } return 0; }
Текущая версия ERPG GM: 2.7.0 RC1(03.10.2009) http://3val.ru/games/samp/changelistServ.php