MENU
Nahal
Дата: Среда, 01.07.2015, 16:17:42 | Сообщение # 1
Сообщений: 205
Репутация: 8 [ +/- ]
Добрый день, Помогите написать код в меню.. при написание в чат !wf или лучше чтобы меню само вылезало Далее в меню должны быть классы Медик, снайпер, Инженер, Штурмовик, какой человек выберет класс дается скин указанный в коде, далее дается оружие указанно в коде, и все кто поможет, а лучше готовый код кому не сложно
BarD
Дата: Среда, 01.07.2015, 17:29:55 | Сообщение # 3
Сообщений: 943
Репутация: 137 [ +/- ]
Походу, кто-то хочет Варфейс запилить.Добавлено (01.07.2015, 17:29:55) --------------------------------------------- "я просто сайты учусь делать) не для меня pawno" ©Nahal
Jon4ik
Дата: Среда, 01.07.2015, 18:30:43 | Сообщение # 5
Сообщений: 278
Репутация: 7 [ +/- ]
new playerclass[MAXPLAYERS+1]; создаешь меню проверяешь какой пункт был выбран playerclass[client] = тут зависит от выбранного класса; выдаем оружие сразу хукаем рождения игрока if(playerclass[client] == класс) { выдаем все что надо } p.s могу ошибаться
Nahal
Дата: Среда, 01.07.2015, 18:51:39 | Сообщение # 6
Сообщений: 205
Репутация: 8 [ +/- ]
Jon4ik, Вот только как проерить пункт у меня минус незнаю
Jon4ik
Дата: Среда, 01.07.2015, 18:56:23 | Сообщение # 7
Сообщений: 278
Репутация: 7 [ +/- ]
Nahal, я все таки немного не прав был(так нельзя задать. сижу думаю как по другому реализовать можно) знаю только как в панели проверить new Handle:class = CreatePanel(); SetPanelTitle(class, "Выбирите себе класс:\n"); DrawPanelItem(class, "Медик"); DrawPanelItem(class, "Снайпер"); SetPanelCurrentKey(class, 9); DrawPanelItem(class, "Закрыть меню"); SendPanelToClient(class, client, InfoMenuHandler, MENU_TIME_FOREVER); CloseHandle(class); public InfoMenuHandler(Handle:hMenu, MenuAction:action, client, iSlot) { if(iSlot == 1) { //тут код } else if(iSlot == 2) { // код } } вот кусок кода попробуй так
Гости не могут скачивать файлы
Сообщение отредактировал Jon4ik - Среда, 01.07.2015, 19:04:57
Nahal
Дата: Среда, 01.07.2015, 19:45:35 | Сообщение # 8
Сообщений: 205
Репутация: 8 [ +/- ]
Jon4ik, Напиши код здесь, а то там кодировка не та
Jon4ik
Дата: Среда, 01.07.2015, 19:46:53 | Сообщение # 9
Сообщений: 278
Репутация: 7 [ +/- ]
Nahal, я лично нормально вижу Код
new playerclass[MAXPLAYERS+1]; public OnPluginStart() { RegConsoleCmd("sm_wf", wf); HookEvent("player_spawn", Event_player_spawn); } public Action:wf(client, args) { new Handle:class = CreatePanel(); SetPanelTitle(class, "Выбирите себе класс:\n"); DrawPanelItem(class, "Медик"); DrawPanelItem(class, "Снайпер"); SetPanelCurrentKey(class, 9); DrawPanelItem(class, "Закрыть меню"); SendPanelToClient(class, client, InfoMenuHandler, MENU_TIME_FOREVER); CloseHandle(class); } public Action:Event_player_spawn(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event,"userid")); if(playerclass[client] == 0) { giveweaponmedic(client); } else if(playerclass[client] == 1) { giveweaponspayper(client); } } public InfoMenuHandler(Handle:hMenu, MenuAction:action, client, iSlot) { if(iSlot == 1) { playerclass[client] = 0; giveweaponmedic(client); } else if(iSlot == 2) { playerclass[client] = 1; giveweaponspayper(client); } } stock giveweaponmedic(client) { //прибомбасы } stock giveweaponspayper(client) { //прибомбасы }
Nahal
Дата: Среда, 01.07.2015, 20:03:14 | Сообщение # 10
Сообщений: 205
Репутация: 8 [ +/- ]
Jon4ik, А прибомбасы? decl String:choice[40]; GetMenuItem(menu, param2, choice, sizeof(choice)); if (StrEqual(choice, "ak47", false)) { pweaponid[param1] = 1; SecondaryWeapons(param1, 0); } else if (StrEqual(choice, "m4a1", false)) { pweaponid[param1] = 2; SecondaryWeapons(param1, 0); } else if (StrEqual(choice, "famas", false)) { pweaponid[param1] = 7; SecondaryWeapons(param1, 0); }
Jon4ik
Дата: Среда, 01.07.2015, 20:16:32 | Сообщение # 11
Сообщений: 278
Репутация: 7 [ +/- ]
stock giveweaponmedic(client) { globalmedic(client); } globalmedic() { new Handle:medicweapon = CreatePanel(); SetPanelTitle(medicweapon, "Выбирите себе оружие:\n"); DrawPanelItem(medicweapon, "AK-47"); DrawPanelItem(medicweapon, "M41a"); SetPanelCurrentKey(medicweapon, 9); DrawPanelItem(medicweapon, "Закрыть меню"); SendPanelToClient(medicweapon, client, InfoMenuHandler2, MENU_TIME_FOREVER); CloseHandle(medicweapons); } public InfoMenuHandler2(Handle:hMenu, MenuAction:action, client, iSlot) { if(iSlot == 1) { выдаем ак47 } else if(iSlot == 2) { выдаем мку } } как то так
Nahal
Дата: Среда, 01.07.2015, 20:43:31 | Сообщение # 12
Сообщений: 205
Репутация: 8 [ +/- ]
Jon4ik, А как выдать то?
Jon4ik
Дата: Среда, 01.07.2015, 22:02:41 | Сообщение # 13
Сообщений: 278
Репутация: 7 [ +/- ]
Nahal, используй этот инклюд http://world-source.ru/forum/141-3817-1
«SeReGa»☆
Дата: Среда, 01.07.2015, 23:51:02 | Сообщение # 14
Сообщений: 395
Репутация: 37 [ +/- ]
Код
GivePlayerItem(client, "weapon_scout");
API =
https://sm.alliedmods.net/api/index.php?fastload=show&id=36& WEAPON =
http://world-source.ru/forum/100-2305-1 + В переменную нужно записать Классы то-ли Медик,то-ли снайпер,то-ли Инженер,то-ли Штурмовик
+ Сохранить в переменную Оружие которое выбрал игрок после выбора класса
+ Выдавать при каждом респауне Оружие Соответствующее классу игрока Которое сохранено ранее при выборе оружия
+ Некоторые фишки для админа (то-ли сменить класс выбранного игрока).
+ ещё много всякого!..
а оружие лучше выдавать таким путём!
ChangeWeapon (
client ,
0 , "
weapon_awp ");
client = Кому будем выдавать!
0 = Слот 0=Основной=тут автоматы 1=Вторичный-тут пистолеты. 2=Рукопашная- тут Нож
weapon_awp = Название взятое с
http://world-source.ru/forum/100-2305-1 Код
ChangeWeapon(client, 0, "weapon_awp"); ChangeWeapon(client, 1, "weapon_deagle"); stock ChangeWeapon(client, slot, String:WP[]) { new weaponIdx; if ((weaponIdx = GetPlayerWeaponSlot(client, slot)) > 0) { RemovePlayerItem(client, weaponIdx); AcceptEntityInput(weaponIdx, "Kill"); } GivePlayerItem(client, WP); }
Сообщение отредактировал «SeReGa»☆ - Четверг, 02.07.2015, 00:42:39
Nahal
Дата: Четверг, 02.07.2015, 13:01:28 | Сообщение # 15
Сообщений: 205
Репутация: 8 [ +/- ]
Как сделать кнопку назад?