Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
330812 » 28 май 2021, 06:04
- Код: Выделить всё
new cvar_respawn_humans_cost, cvar_respawn_zombies_cost
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("res", "respawn", ADMIN_ALL, "respawn")
register_clcmd("say /zs", "respawn", ADMIN_ALL, "respawn")
cvar_respawn_humans_cost = register_cvar("zp_respawn_humans_cost", "15")
cvar_respawn_zombies_cost = register_cvar("zp_respawn_zombies_cost", "3")
register_dictionary("zp_wpn_menu.txt")
}
public respawn(id)
{
new menu = menu_create("\yЗа кого воскресить:", "menu_handler");
menu_additem(menu, "\wЗа людей \y[Стоит: 15 евро]", "1", 0);
menu_additem(menu, "\rЗа зомби \y[Стоит: 3 евро]", "2", 0);
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0);
return PLUGIN_HANDLED
}
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);
new key = str_to_num(data);
switch(key)
{
case 1:
{
if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_humans_cost))
{
client_print(id, print_center,"[ZP] Тебе не хватает евро.")
return PLUGIN_HANDLED
}
if(is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Только мертвые могут приобрести способность возрождаться.")
return PLUGIN_HANDLED
}
if(zp_is_survivor_round() && !is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Только зомби может перерождаться.")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
zp_respawn_user(id, ZP_TEAM_HUMAN)
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_humans_cost))
}
menu_destroy(menu);
return PLUGIN_HANDLED
}
case 2:
{
if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_zombies_cost))
{
client_print(id, print_center,"%L", LANG_PLAYER, "NO_MONEY")
return PLUGIN_HANDLED
}
if(is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Только мертвые могут приобрести способность возрождаться.")
return PLUGIN_HANDLED
}
if(zp_is_nemesis_round() && !is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Только люди могут перерождаться.")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
zp_respawn_user(id, ZP_TEAM_ZOMBIE)
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_zombies_cost))
}
menu_destroy(menu);
return PLUGIN_HANDLED
}
}
menu_destroy(menu);
return PLUGIN_HANDLED
}
- Код: Выделить всё
new cvar_respawn_humans_cost, cvar_respawn_zombies_cost
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("res", "respawn", ADMIN_ALL, "respawn")
register_clcmd("say /res", "respawn", ADMIN_ALL, "respawn")
cvar_respawn_humans_cost = register_cvar("zp_respawn_humans_cost", "5")
cvar_respawn_zombies_cost = register_cvar("zp_respawn_zombies_cost", "3")
register_dictionary("zp_wpn_menu.txt")
}
public respawn(id)
{
new menu = menu_create("\rChoose Team", "menu_handler");
menu_additem(menu, "\wHumans [Cost: 5 Ammo]", "1", 0);
menu_additem(menu, "\wZombies [Cost: 3 Ammo]", "2", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED
}
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);
new key = str_to_num(data);
switch(key)
{
case 1:
{
if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_humans_cost))
{
client_print(id, print_center,"[ZP] You dont have enough ammo packs.")
return PLUGIN_HANDLED
}
if(is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Only Dead people can purchase respawn ability")
return PLUGIN_HANDLED
}
if(zp_is_survivor_round() && !is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Only zombie can respawn")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
zp_respawn_user(id, ZP_TEAM_HUMAN)
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_humans_cost))
}
menu_destroy(menu);
return PLUGIN_HANDLED
}
case 2:
{
if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_zombies_cost))
{
client_print(id, print_center,"%L", LANG_PLAYER, "NO_MONEY")
return PLUGIN_HANDLED
}
if(is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Only Dead people can purchase respawn ability")
return PLUGIN_HANDLED
}
if(zp_is_nemesis_round() && !is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Only humans can respawn")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
zp_respawn_user(id, ZP_TEAM_ZOMBIE)
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_zombies_cost))
}
menu_destroy(menu);
return PLUGIN_HANDLED
}
}
menu_destroy(menu);
return PLUGIN_HANDLED
}
Вот два исходника по сути одного и тогоже плагина кто у кого стырил код не знаю, но мне нужно что бы этот плагин не добавлялся в меню, а сразу вылазило меню когда "игрок мертв" возродиться за зомби или людей (если кто может исправить тут если нет напишите на заказ заново заплачу
-
330812
-
- Сообщения: 8
- Зарегистрирован: 21 дек 2013, 08:09
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
RSO_ » 28 май 2021, 06:23
#include <hamsandwich>
public plugin_init()
{
RegisterHam(Ham_Killed,"player","respawn")
}
слава великой сонтаранской империи !
-
RSO_
-
- Сообщения: 280
- Зарегистрирован: 20 окт 2019, 21:40
- Откуда: от верблюда
- Благодарил (а): 45 раз.
- Поблагодарили: 20 раз.
- Опыт программирования: Меньше недели
- Языки программирования: . . . 100 ISQ
-
330812 » 28 май 2021, 08:13
Да действительно круто работает особенно если тебя убили меню сразу открывает после смерти!!!!!!!! спасибо...
- Код: Выделить всё
new cvar_respawn_humans_cost, cvar_respawn_zombies_cost
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("res", "respawn", ADMIN_ALL, "respawn")
register_clcmd("say /zs", "respawn", ADMIN_ALL, "respawn")
RegisterHam(Ham_Killed,"player","respawn")
cvar_respawn_humans_cost = register_cvar("zp_respawn_humans_cost", "15")
cvar_respawn_zombies_cost = register_cvar("zp_respawn_zombies_cost", "3")
register_dictionary("zp_wpn_menu.txt")
}
public respawn(id)
{
new menu = menu_create("\yЗа кого воскресить:", "menu_handler");
menu_additem(menu, "\wЗа людей \y[Стоит: 15 евро]", "1", 0);
menu_additem(menu, "\rЗа зомби \y[Стоит: 3 евро]", "2", 0);
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0);
return PLUGIN_HANDLED
}
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);
new key = str_to_num(data);
switch(key)
{
case 1:
{
if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_humans_cost))
{
client_print(id, print_center,"[ZP] Тебе не хватает евро.")
return PLUGIN_HANDLED
}
if(is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Только мертвые могут приобрести способность возрождаться.")
return PLUGIN_HANDLED
}
if(zp_is_survivor_round() && !is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Только зомби может перерождаться.")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
zp_respawn_user(id, ZP_TEAM_HUMAN)
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_humans_cost))
}
menu_destroy(menu);
return PLUGIN_HANDLED
}
case 2:
{
if(zp_get_user_ammo_packs(id)< get_pcvar_num(cvar_respawn_zombies_cost))
{
client_print(id, print_center,"%L", LANG_PLAYER, "NO_MONEY")
return PLUGIN_HANDLED
}
if(is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Только мертвые могут приобрести способность возрождаться.")
return PLUGIN_HANDLED
}
if(zp_is_nemesis_round() && !is_user_alive(id))
{
client_print(id, print_chat, "[ZP] Только люди могут перерождаться.")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
zp_respawn_user(id, ZP_TEAM_ZOMBIE)
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - get_pcvar_num(cvar_respawn_zombies_cost))
}
menu_destroy(menu);
return PLUGIN_HANDLED
}
}
menu_destroy(menu);
return PLUGIN_HANDLED
}
Остался вопросик есть кодик что бы он открывал это меню когда ты/dead/spectator это нужно для тех кто заходит на сервер ну когда присоеденяешься к серверу тебе это меню всплывало сразу
-
330812
-
- Сообщения: 8
- Зарегистрирован: 21 дек 2013, 08:09
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
MayroN » 28 май 2021, 15:10
330812,
Насчет того,что "кто у кого стырил" - можете спросить у Зверя - он тут есть )))
Вы должны зарегистрироваться, чтобы видеть ссылки. ... le&u=15419
-
MayroN
-
- Сообщения: 673
- Зарегистрирован: 10 окт 2010, 18:23
- Откуда: Украина, г. Белая Церковь
- Благодарил (а): 149 раз.
- Поблагодарили: 86 раз.
- Опыт программирования: Около года
- Языки программирования: На которых говорю...
-
RSO_ » 29 май 2021, 04:28
#include <cstrike>
public client_putinserver(id)
{
if(!is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_SPECTATOR)
{
respawn(id)
}
}
слава великой сонтаранской империи !
-
RSO_
-
- Сообщения: 280
- Зарегистрирован: 20 окт 2019, 21:40
- Откуда: от верблюда
- Благодарил (а): 45 раз.
- Поблагодарили: 20 раз.
- Опыт программирования: Меньше недели
- Языки программирования: . . . 100 ISQ
-
330812 » 29 май 2021, 07:56
RSO_ большое спасибо за коды
MayroN и тебе спасибо надеюсь зверь не будет против потому что этот плагин нужен для карт раннеров типа ZE_Parkour ZE_Egypt ZE_jurasic_Park где игроки умудряются сдохнуть в самом начале раунда и сидеть орать админ возроди каждому писать /zs уже надоело непомогает даже бинды и серверное меню на F3
-
330812
-
- Сообщения: 8
- Зарегистрирован: 21 дек 2013, 08:09
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
[N][E][M][E][C] » 29 май 2021, 10:59
RSO_, а зачем тут путинсервер вообще?
-
[N][E][M][E][C]
-
- Сообщения: 641
- Зарегистрирован: 14 фев 2021, 10:48
- Благодарил (а): 50 раз.
- Поблагодарили: 89 раз.
- Опыт программирования: Около года
- Языки программирования: Нуждаюсь в помощи
330812 » 30 май 2021, 07:30
Этот параметр отвечает за выполнение при подключении либо выполнения команд на стороне клиента, а может проводит проверку team/spectator
-
330812
-
- Сообщения: 8
- Зарегистрирован: 21 дек 2013, 08:09
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
[N][E][M][E][C] » 30 май 2021, 11:38
Какой параметр?
-
[N][E][M][E][C]
-
- Сообщения: 641
- Зарегистрирован: 14 фев 2021, 10:48
- Благодарил (а): 50 раз.
- Поблагодарили: 89 раз.
- Опыт программирования: Около года
- Языки программирования: Нуждаюсь в помощи
330812 » 31 май 2021, 15:17
Несмог я вам правильно объяснить что мне нужно)) пришлось искать на просторах интернета
- Код: Выделить всё
new key_set[MAX_LINES][MAX_STRING_LEN]
new key_command[MAX_LINES][MAX_STRING_LEN]
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menucmd(register_menuid("Auto Bind Menu"), autobindMenuKeys, "autobindmenu")
register_event("TeamInfo", "task_premenu", "b")
register_cvar("auto_bind","")
register_cvar("auto_helpdir","http://ya.ru")
load_settings("addons/amxmodx/configs/keys.ini")
register_cvar("auto_ver","v1.0")
}
public task_premenu(id)
set_task(10.0,"task_autibondmenu",id)
public task_autibondmenu(id) {
new crate[33],ver[33]
get_user_info(id,"autobind",crate,32)
get_cvar_string("auto_ver",ver,31)
if(!equali(crate, ver)){
show_menu(id, autobindMenuKeys, "\rAuto Bind Menu^n\w^n1. Auto bind me!^n2. Help (About Keys) ^n3. No auto bind^n", -1, "");
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
load_settings(szFilename[]) {
if (!file_exists(szFilename))
return 0
new num = 0
new szText[MAX_STRING_LEN], setbuttn[MAX_STRING_LEN], setcommand[MAX_STRING_LEN]
new a, pos = 0
while (num < MAX_LINES && read_file(szFilename, pos++, szText, sizeof(szText), a)) {
if (szText[0] == ';')
continue
if (szText[0] == '#')
continue
if (parse(szText,setbuttn,sizeof(setbuttn),setcommand,sizeof(setcommand)) < 2)
continue
copy(key_set[num], MAX_STRING_LEN - 1, setbuttn)
copy(key_command[num], MAX_STRING_LEN - 1, setcommand)
server_cmd("say %s %s",key_set[num],key_command[num])
num++
}
return 1
}
public autobindmenu(id, key) {
switch (key) {
case 0: func_autobind(id);
case 1: {
autobind_help(id);
task_autibondmenu(id);
}
case 2: return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public autobind_help(id)
{
new dir[129]
get_cvar_string("auto_helpdir",dir,128)
show_motd(id, dir,"Help keys")
}
public func_autobind(id)
{
for (new i = 0; i <= (MAX_LINES-1); i++) {
if(key_set[i][0]){
client_cmd(id,"bind %s ^"%s^"",key_set[i],key_command[i])
}
}
new ver[129]
get_cvar_string("auto_ver",ver,128)
client_cmd(id," setinfo autobind %s",ver)
console_print(id,"Key Defaults are bound. ENJOY!")
return PLUGIN_HANDLED
}
Эта менюшка выводится при заходе на сервер независимо мертвы вы или спетры всеровно выводится и выводится она всего один раз осталось переделать ее в respawn_menu от зверя=)) ну и добавить код
RSO_
- Код: Выделить всё
public plugin_init()
{
RegisterHam(Ham_Killed,"player","respawn")
}
Последний раз редактировалось
330812 31 май 2021, 17:30, всего редактировалось 4 раз(а).
-
330812
-
- Сообщения: 8
- Зарегистрирован: 21 дек 2013, 08:09
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и гости: 6