|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
Нужна помощь в коде
|
|
javik | Дата: Среда, 29.07.2009, 20:24:10 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Не в сети
| Итак я хочу переделать меню в админке. Например как Kick Menu. Только хочу вместо команды amx_kick как там, вставить команду amx_thunder (Это команда из плагина Убивает молнией игрока) Есть такой плагин стандартный в амх plmenu.sma он импортирует строчки из clcmds.ini А в clcmds.ini прописываеш так команды на выполнение с игроками Code "Кикнуть" "amx_kick #%userid%" "bd" "u" "Убить" "amx_slay #%userid%" "bd" "u" "Убить молнией" "amx_thunder #%userid%" "bd" "u" "Пнуть (1)" "amx_slap #%userid% 1" "bd" "u" "Забанить (0)" "amx_banip #%userid% 0" "bd" "u" "Забанить (60)" "amx_banip #%userid% 60" "bd" "u" Код плагина который я пишу: Там почти в самом низу Code #include <amxmodx> #include <fun>
public plugin_init() { register_plugin("Menu Thunder", "1.0","Java") register_concmd( "menu_thunder", "AwesomeMenu", ADMIN_SLAY, "- Menu Thuander" ); } public AwesomeMenu(id) { //Создание переменных для заморозки меню new menu = menu_create("\rMenu Thunder!:", "menu_handler");
//Вам надо будет создать несколько переменных, вы можете цикл всех игроков new players[32], pnum, tempid;
//Некоторые переменные замораживают информацию о игроках new szName[32], szTempid[10];
//Заполинить игроками с доступом get_players(players, pnum);
//Запуск цикла по всем игрокам for( new i; i<pnum; i++ ) { //Save a tempid so we do not re-index tempid = players[i];
//Get the players name and id as strings get_user_name(tempid, szName, 31); num_to_str(tempid, szTempid, 9);
//Add the item for this player menu_additem(menu, szName, szTempid, 0); }
//We now have all players in the menu, lets display the menu menu_display(id, menu, 0); } public menu_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; }
new data[6], iName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
//Получить id игрока который был выбран new tempid = str_to_num(data);
//Игрок должен быть живой if( is_user_alive(tempid) ) //user_kill(tempid) //Устанавливает здоровье на 100 HP //set_user_health(tempid, 230); server_cmd("amx_thunder #%d", tempid) menu_destroy(menu); return PLUGIN_HANDLED; } amx_thunder иcпользуется через консоль amx_thunder name
Лучше получать по 1% от усилий 100 человек, чем 100% только от своих собственных усилий. J. Paul Getty
Сообщение отредактировал javik - Среда, 29.07.2009, 20:39:35 |
|
| |
defaultNick8433 | Дата: Среда, 29.07.2009, 21:17:43 | Сообщение # 2 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Что именно нужно исправить?
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
javik | Дата: Среда, 29.07.2009, 21:25:42 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Не в сети
| Нужно чтоб при нажатии на плеера использовалась команда amx_thunder //Игрок должен быть живой if( is_user_alive(tempid) ) //user_kill(tempid) //Устанавливает здоровье на 100 HP //set_user_health(tempid, 230); - ЭТА КОМАНДА РАБОТАЕТ ЕСЛИ ЕЕ ПОСТАВИТЬ КАК НЕ КОМЕНТ server_cmd("amx_thunder #%d", tempid) - ВОТ ЧТО ТО ЗДЕСЬ menu_destroy(menu); return PLUGIN_HANDLED; }
Лучше получать по 1% от усилий 100 человек, чем 100% только от своих собственных усилий. J. Paul Getty
|
|
| |
defaultNick8433 | Дата: Среда, 29.07.2009, 21:45:54 | Сообщение # 4 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Ща,погоди Добавлено (2009-07-29, 9:45 Pm) --------------------------------------------- Также можно сделать,когда используешьamx_thunder,это функцией кикался игрок:server_cmd("kick #%d,get_user_userid(id), id, "Причина кика"),так к примеру
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
javik | Дата: Среда, 29.07.2009, 21:53:14 | Сообщение # 5 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Не в сети
| server_cmd("kick #%d,get_user_userid(id), id, "Причина кика") Не че та не работает new tempid = str_to_num(data); if( is_user_alive(tempid) ) = ID игрока tempid Написал че та тоже не работает server_cmd(amx_thunder, tempid)
Лучше получать по 1% от усилий 100 человек, чем 100% только от своих собственных усилий. J. Paul Getty
|
|
| |
ZETA | Дата: Среда, 29.07.2009, 21:56:23 | Сообщение # 6 |
Генерал-майор
Группа: Скриптеры
Сообщений: 369
Статус: Не в сети
| if(is_user_alive(tempid)) server_cmd("amx_thunder #%d", get_user_userid(tempid))
Говори что думаешь и думай что говоришь...
|
|
| |
defaultNick8433 | Дата: Среда, 29.07.2009, 21:57:05 | Сообщение # 7 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Можешь понятнее сказать,что ты хочешь сделать,я напишу плагин),а то не пойму
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
javik | Дата: Среда, 29.07.2009, 22:03:35 | Сообщение # 8 |
Рядовой
Группа: Пользователи
Сообщений: 19
Статус: Не в сети
| АА все сам додумался =) Все сделал простой командой server_cmd("amx_thunder #%d",get_user_userid(tempid)) ZETA, Спасиб тоже, но ят только увидел после уже того как сделал все)) Quote (defaultNick8433) Можешь понятнее сказать,что ты хочешь сделать,я напишу плагин),а то не пойму :) Ну вот пример: Вот как заходиш ты в меню там Кик меню список плееров и как ты выбираеш плеера его кикает. Ну там сделана замудреная менюшка. Я хотел такие же для других команд, там для убийства молнией, поджога, и тд.
Лучше получать по 1% от усилий 100 человек, чем 100% только от своих собственных усилий. J. Paul Getty
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |