HunterSK, слушай я так немогу ниче понять, лучше в асю стукни и скажи как над сделать - я те сделаю, и ты код посморишь и поймешь, мозги мне тут не парь я итак блин свой еще фс пишу параллельно
Спор на форуме, все равно что олимпиада среди умственно отсталых: даже если ты победил, ты все равно гермофродит. Хочешь остаться при своем мнении - держи его при себе.
Создаем Меню. Итак, в данном туторе, я научу делать вас меню. В начало пишем название вашего меню к примеру: [pwn]new Menu:Menu1;[/pwn] Далее, в [pwn]public OnGameModeInit[/pwn] мы создаем само меню: [pwn]Menu1 = CreateMenu(MyMenu, 0, Float:x, Float:y, Float:col1width, Float:col2width);[/pwn] Где: MyMenu - Название меню. 0 - Количество колонок (2 - макс). Float:x - Позиция меню по оси X. Float:y - Позиция меню по оси y. Float:col1width - Ширина для первой колонки. Float:col2width - Ширина для второй колонки.
Далее, создадим пункты меню: [pwn]AddMenuItem(Menuname, 0, "BZzz");[/pwn] Где: Menuname - название меню,в нашем случае - Menu1 0 - Номер калонки. BZzz - Название пункта меню.
Вот мы и создали основу меню: [pwn] new Menu:menu1; public OnGameModeInit { Menu1 = CreateMenu("MyMenu", 1, 50.0, 180.0, 200.0, 200.0); AddMenuItem(menu1, 0, "Hello"); AddMenuItem(menu1, 0, "Give Deagle"); return 1; } [/pwn]
Далее, Меню у нас есть, оно должно чтото делать, так? Для этого находим паблик (если его нет, создаем) [pwn]public OnPlayerSelectedMenuRow(playerid, row) { return 1; }[/pwn]
Пишем в данный паблик: [pwn]new Menu:current; current = GetPlayerMenu(playerid); if(current == menu1) { switch(row) { case 0: { SendClientMessage(playerid,0x33AA33AA,"Hello"); HideMenuForPlayer(menu1,playerid); } case 1: { GivePlayerWeapon(playerid,24,150); HideMenuForPlayer(menu1,playerid); ShowMenuForPlayer(menu2,playerid); } } }[/pwn]
Вот у нас и получилос наше первое меню :D
[pwn]public OnPlayerSelectedMenuRow(playerid, row) { new Menu:current; current = GetPlayerMenu(playerid); if(current == menu1) { switch(row) { case 0: { SendClientMessage(playerid,0x33AA33AA,"Hello"); HideMenuForPlayer(menu1,playerid); } case 1: { GivePlayerWeapon(playerid,24,150); HideMenuForPlayer(menu1,playerid); ShowMenuForPlayer(menu2,playerid); } } } return 1; }[/pwn]
Если вы хотите сделать несколько меню, делаем следующее: Создаем X меню: [pwn]new Menu:Menu1; new Menu:Menu2;
Далее, в public OnPlayerSelectedMenuRow(playerid, row)
Пишем: [pwn]public OnPlayerSelectedMenuRow(playerid, row) { new Menu:current; current = GetPlayerMenu(playerid); if(current == menu1) { switch(row) { case 0: { SendClientMessage(playerid,0x33AA33AA,"Hello"); HideMenuForPlayer(menu1,playerid); } case 1: { GivePlayerWeapon(playerid,24,150); HideMenuForPlayer(menu1,playerid); ShowMenuForPlayer(menu2,playerid); } } } else if(current == menu2) { switch(row) { case 0: { SendClientMessage(playerid,0x33AA33AA,"Bye"); HideMenuForPlayer(menu1,playerid); } case 1: { GivePlayerWeapon(playerid,31,150); HideMenuForPlayer(menu1,playerid); } } } return 1; }[/pwn]
Вот и все, ребята
Добавлено (23.05.2009, 20:21) --------------------------------------------- [RD]Chez написал об ошибках в статье, да сорри, на гц тех работы, пришлось выкладывать сырую версию, я ее даж на ошибки не проверял :DDD исправить предидущий пост не могу, поэтому выложу ошибки:
Вот у нас и получилос наше первое меню :D
[pwn] public OnPlayerSelectedMenuRow(playerid, row) { new Menu:current; current = GetPlayerMenu(playerid); if(current == menu1) { switch(row) { case 0: { SendClientMessage(playerid,0x33AA33AA,"Hello"); HideMenuForPlayer(menu1,playerid); } case 1: { GivePlayerWeapon(playerid,24,150); HideMenuForPlayer(menu1,playerid); } } } return 1; }[/pwn]
И когда в менюшку виделяю слово LANDSTAL, BRAVURA вибираетса в месте с ней в одной строчке а мне нужно чтоби LANDSTAL вибиралса отдельно и BRAVURA отдельно
Сообщение отредактировал ASA - Понедельник, 25.05.2009, 19:27
ZZiGGi, просто там нужно не по обычному его выводять и т.д.)) ----------- Это.......а как вообще самому находить координаты??? с линейкой у монитора не получица)
ZZiGGi, нет не везде >_< .... там задействован левый паблик сартап, он будет делать меню оружия. которое выводить нужно после спавна на арене, а не при коннекте или спавне на лобби. так же ему потребуется при енде/завершение/остановке раунда чтобы меню убиралось у всех. так же ему потребуются проверки на выбор оружия из первого меню, если он уж такое меню хочет.. а если не двойное то можно просто без проверок на выбор оружия сделать...