|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
Переделайте парочку плагинов плиз
|
|
Bl0kc | Дата: Суббота, 09.01.2010, 16:59:23 | Сообщение # 1 |
Полковник
Группа: Пользователи
Сообщений: 152
Статус: Не в сети
| В прикреплённом плагине всего-то нужно сделать чтобы /respawn стоил 8000$. А здесь: Code #include <amxmodx> #include <hamsandwich> #include <fun> #include <cstrike>
public plugin_init() { register_plugin("x","x","x") RegisterHam(Ham_Spawn,"player","event",1) } public event(id) { strip_user_weapons(id) give_item(id,"weapon_knife") give_item(id,"weapon_p228") cs_set_user_b pammo (id,C SW_P2 28,52) } Нужно чтобы этот плагин работал только для CT, то есть чтобы терорам оружие не давал. Сделайте пожалуйста ^^^ это уже сам сделал:) а вот респаун платный не знаю как сделать Добавлено (09.01.2010, 16:59:23) --------------------------------------------- Code /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <hamsandwich> #include <fakemeta_util>
#define PLUGIN "FreeRun" #define VERSION "0.1.0" #define AUTHOR "PomanoB"
new g_free
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say free", "cmdFree") register_event("HLTV", "eventRoundStart", "a", "1=0", "2=0") RegisterHam(Ham_Touch, "armoury_entity", "fwdTouch") RegisterHam(Ham_Touch, "weaponbox", "fwdTouch") RegisterHam(Ham_Use, "func_button", "fwdUse") register_menucmd(register_menuid("Free?"), MENU_KEY_1|MENU_KEY_2, "free_run_menu") }
public eventRoundStart() { g_free = false }
public free_run_menu(id, key) { if (!key) { g_free = true set_hudmessage(255, 0, 0, -1.0, 0.39, 0, 6.0, 12.0) show_hudmessage(id, "FREE AND KNIFE!!!") new players[32], plNum, i get_players(players, plNum, "ah") for (i = 0; i < plNum; i++) { fm_strip_user_weapons(players[i]) fm_give_item(players[i], "weapon_knife") } } else { set_hudmessage(255, 0, 0, -1.0, 0.39, 0, 6.0, 12.0) show_hudmessage(id, "FREE REFUSED!") } } public cmdFree(id) { if (g_free) { client_print(id, print_center, "Already FreeRun!") return } new menu[256], len len = format(menu, charsmax(menu), "\yFree?\w^n^n") len += format(menu[len], charsmax(menu) - len, "1. Yes^n") len += format(menu[len], charsmax(menu) - len, "2. No^n") new players[32], plNum get_players(players, plNum, "ace", "TERRORIST") if (players[0]) show_menu(players[0], MENU_KEY_1|MENU_KEY_2, menu) }
public fwdTouch(ent, id) { if (is_user_alive(id) && g_free) return HAM_SUPERCEDE return HAM_IGNORED }
public fwdUse(ent, idcaller, idactivator, use_type, Float:value) { if (is_user_alive(idactivator) && g_free && get_user_team(idactivator) == 1) { client_print(idactivator, print_center, "You choose FreeRun!") return HAM_SUPERCEDE } return HAM_IGNORED } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par } */ и еще сделайте пожалуйста тут чтобы после free все CT которые респавнятся появлялись с ножом.
Сообщение отредактировал Bl0kc - Суббота, 09.01.2010, 19:18:07 |
|
| |
Extasy | Дата: Суббота, 09.01.2010, 22:06:19 | Сообщение # 2 |
Лейтенант
Группа: Пользователи
Сообщений: 61
Статус: Не в сети
| Quote (Bl0kc) В прикреплённом плагине всего-то нужно сделать чтобы /respawn стоил 8000$. Code #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun>
#define PLUGIN "Respawn" #define VERSION "1.1" #define AUTHOR "st0ka"
new respawned[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("amx_respawn","1") register_cvar("amx_autorespawn","1") register_cvar("amx_autorespawn_players","4") register_ cvar("spawn_cost","8000") // Стоимость спауна register_event("DeathMsg","event_death","a") register_clcmd("say /respawn","p_respawn") register_clcmd("say_team /respawn","p_respawn") }
public event_death() { new id = read_data(2) if(get_cvar_num("amx_autorespawn") == 0 && get_cvar_num("amx_respawn") == 0) { return PLUGIN_HANDLED } else if(get_cvar_num("amx_autorespawn") == 1 && get_cvar_num("amx_respawn") == 1) { set_task(0.1,"respawn",id) set_task(2.0,"r_check",id) } return PLUGIN_HANDLED }
public respawn(id) { new num = get_playersnum() if(num >= get_cvar_num("amx_autorespawn_players")) { new CsTeams:team = cs_get_user_team(id) if(team == CS_TEAM_CT) { cs_user_spawn(id) give_item(id,"weapon_knife") give_item(id,"weapon_usp") cs_set_user_bpammo(id,CSW_USP,24) respawned[ id] = true } else if(team == CS_TEAM_T) { cs_user_spawn(id) give_item(id,"weapon_knife") give_item(id,"weapon_glock18") cs_set_user_bpammo(id,CSW_GLOCK18,40) re spawned[id] = true } } else { return PLUGIN_HANDLED } return PLUGIN_HANDLED }
public p_respawn(id) { if(get_cvar_num("amx_respawn") == 1) { new player_money = cs_get_user_money(id) new cost = get_cvar_num("spawn_cost") if (player_money >= cost) { new CsTeams:team = cs_get_user_team(id) if(team == CS_TEAM_CT && !is_user_alive(id)) { cs_user_spawn(id) give_item(id,"weapon_knife") give_item(id,"weapon_usp") cs_set_user_bpammo(id,CSW_USP,24) cs_se t_user_money(id, player_money - cost) } else if(team == CS_TEAM_T && !is_user_alive(id)) { cs_user_spawn(id) give_item(id,"weapon_knife") give_item(id,"weapon_glock18") cs_set_user_bpammo(id,CSW_GLOCK18,40) c s_set_user_money(id, player_money - cost) } } } }
public r_check(id) { if(!respawned[id]) { respawn(id) } } пробуй
|
|
| |
Bl0kc | Дата: Суббота, 09.01.2010, 22:47:40 | Сообщение # 3 |
Полковник
Группа: Пользователи
Сообщений: 152
Статус: Не в сети
| неа, не компилится((
|
|
| |
Extasy | Дата: Воскресенье, 10.01.2010, 00:04:49 | Сообщение # 4 |
Лейтенант
Группа: Пользователи
Сообщений: 61
Статус: Не в сети
| Code #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun>
#define PLUGIN "Respawn" #define VERSION "1.1" #define AUTHOR "st0ka"
new respawned[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("amx_respawn","1") register_cvar("amx_autorespawn","1") register_cvar("amx_autorespawn_players","4") register_cvar("spawn_cost","8000") // Стоимость спауна register_event("DeathMsg","event_death","a") register_clcmd("say /respawn","p_respawn") register_clcmd("say_team /respawn","p_respawn") }
public event_death() { new id = read_data(2) if(get_cvar_num("amx_autorespawn") == 0 && get_cvar_num("amx_respawn") == 0) { return PLUGIN_HANDLED } else if(get_cvar_num("amx_autorespawn") == 1 && get_cvar_num("amx_respawn") == 1) { set_task(0.1,"respawn",id) set_task(2.0,"r_check",id) } return PLUGIN_HANDLED }
public respawn(id) { new num = get_playersnum() if(num >= get_cvar_num("amx_autorespawn_players")) { new CsTeams:team = cs_get_user_team(id) if(team == CS_TEAM_CT) { cs_user_spawn(id) give_item(id,"weapon_knife") give_item(id,"weapon_usp") cs_set_user_bpammo(id,CSW_USP,24) respawned[ id] = true } else if(team == CS_TEAM_T) { cs_user_spawn(id) give_item(id,"weapon_knife") give_item(id,"weapon_glock18") cs_set_user_bpammo(id,CSW_GLOCK18,40) respawned[id] = true } } else { return PLUGIN_HANDLED } return PLUGIN_HANDLED }
public p_respawn(id) { if(get_cvar_num("amx_respawn") == 1) { new player_money = cs_get_user_money(id) new cost = get_cvar_num("spawn_cost") if (player_money >= cost) { new CsTeams:team = cs_get_user_team(id) if(team == CS_TEAM_CT && !is_user_alive(id)) { cs_user_spawn(id) give_item(id,"weapon_knife") give_item(id,"weapon_usp") cs_set_user_bpammo(id,CSW_USP,24) cs_set_user_money(id, player_money - cost) } else if(team == CS_TEAM_T && !is_user_alive(id)) { cs_user_spawn(id) give_item(id,"weapon_knife") give_item(id,"weapon_glock18") cs_set_user_bpammo(id,CSW_GLOCK18,40) cs_set_user_money(id, player_money - cost) } } } }
public r_check(id) { if(!respawned[id]) { respawn(id) } } Добавлено (10.01.2010, 00:04:49) --------------------------------------------- поправил.. форум походу криванул...
|
|
| |
Bl0kc | Дата: Воскресенье, 10.01.2010, 00:14:51 | Сообщение # 5 |
Полковник
Группа: Пользователи
Сообщений: 152
Статус: Не в сети
| а теперь деньги сьедает, но не респавнит Добавлено (10.01.2010, 00:14:51) --------------------------------------------- точнее оно как бы респавнит, но не полностью... когда прописываю /respawn у меня просто убирается надпись DEAD
|
|
| |
Extasy | Дата: Воскресенье, 10.01.2010, 00:41:49 | Сообщение # 6 |
Лейтенант
Группа: Пользователи
Сообщений: 61
Статус: Не в сети
| Bl0kc, а до этого всё нормально было?... я вроде не задевал функцию, отвечающую за респаун, просто добавил, чтобы деньги съедало.. я могу еще попробовать... но это не сегодня... завтра попробую, если время найдется.
|
|
| |
Bl0kc | Дата: Воскресенье, 10.01.2010, 00:48:05 | Сообщение # 7 |
Полковник
Группа: Пользователи
Сообщений: 152
Статус: Не в сети
| как-то странно он работает... если сразу же после сметри прописать /respawn, то респавнет, если чуть позже, то респавнит без прицелы, без хп, а если прописать когда уже во спектаторах, то просто сотрётся DEAD )) Добавлено (10.01.2010, 00:45:18) ---------------------------------------------
Quote (Extasy) Bl0kc, а до этого всё нормально было?... я вроде не задевал функцию, отвечающую за респаун, просто добавил, чтобы деньги съедало.. я могу еще попробовать... но это не сегодня... завтра попробую, если время найдется. щас попробую халявный респаунДобавлено (10.01.2010, 00:48:05) --------------------------------------------- блин, он бесплатный такой кривой оказывается) эх... поищу нормальный и сам уже с ценой сделаю спасибо тебе
|
|
| |
Bl0kc | Дата: Воскресенье, 10.01.2010, 01:07:40 | Сообщение # 8 |
Полковник
Группа: Пользователи
Сообщений: 152
Статус: Не в сети
| блин... как-то он не так сделан, вообще... вот короче тот второй, сам цену добавить не смог Добавлено (10.01.2010, 01:07:40) --------------------------------------------- стоп, этот второй плагин походу только для админов, а нужно чтобы для всех...
|
|
| |
Extasy | Дата: Воскресенье, 10.01.2010, 08:53:16 | Сообщение # 9 |
Лейтенант
Группа: Пользователи
Сообщений: 61
Статус: Не в сети
| Тяжко мне дается разбор чужого кода... Пробуй Quote #include <amxmodx> #include <amxmisc> #include <cstrike> #include <hamsandwich> #define PLUGIN "Respawn" #define VERSION "1.0" #define AUTHOR "Exta5y" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("spawn_cost","8000") // Стоимость спауна register_concmd("say /respawn", "respawn_me") register_concmd("say_team /respawn", "respawn_me") } public respawn_me(id) { if (!is_user_alive(id)) { new player_money = cs_get_user_money(id) new cost = get_cvar_num("spawn_cost") if (player_money >= cost) { ExecuteHamB(Ham_CS_RoundRespawn, id) cs_set_user_money(id, player_money - cost) } } }
|
|
| |
Bl0kc | Дата: Воскресенье, 10.01.2010, 12:58:07 | Сообщение # 10 |
Полковник
Группа: Пользователи
Сообщений: 152
Статус: Не в сети
| кажется работает! спасибо большое! а ты не сможешь написать плагин чтоб первые 10-20 секунд всех умерших возвращал на точки респа (в теме ниже) , думаю это не сложноДобавлено (10.01.2010, 12:58:07) --------------------------------------------- а как сделать чтоб на сервере в чате писало сообщение что работает эта функция Code public client_authorized(id) set_task(40.0, "showUsage", id)
public showUsage(id) { if ( !get_cvar_num("spawn_showusage") ) { client_print(id, print_chat, "[AMXX] The function /respawn is enabled on this server. Cost - 8000$. Say /respawn for respawn.") } }
вот это добавил, а оно не работает. брал с бхоп плагина, теперь и его сообщения не показывает)
|
|
| |
Extasy | Дата: Воскресенье, 10.01.2010, 13:42:22 | Сообщение # 11 |
Лейтенант
Группа: Пользователи
Сообщений: 61
Статус: Не в сети
| Bl0kc, не понимаю, зачем даная строка Code if ( !get_cvar_num("spawn_showusage") ) Code public client_putinserver(id) set_task(40.0, "showUsage", id)
public showUsage(id) { client_print(id, print_chat, "[AMXX] The function /respawn is enabled on this server. Cost - 8000$. Say /respawn for respawn.") } client_putinserver - когда игрок уже зашел на сервер, а не авторизовался. Можешь сменить, но не думаю, что это стоит того.
|
|
| |
Bl0kc | Дата: Воскресенье, 10.01.2010, 15:19:46 | Сообщение # 12 |
Полковник
Группа: Пользователи
Сообщений: 152
Статус: Не в сети
| это оно будет каждые 40 секунд писаться? судя по Code set_task(40.0, "showUsage", id) Добавлено (10.01.2010, 14:18:32) --------------------------------------------- 1 раз в консоли увидел что написало, а в игре не вижу что-то... Добавлено (10.01.2010, 15:19:46) ---------------------------------------------
Code /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <hamsandwich> #include <fakemeta_util>
#define PLUGIN "FreeRun" #define VERSION "0.1.0" #define AUTHOR "PomanoB"
new g_free new g_cvar_t_only
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_cvar_t_only = register_cvar("dh_free_run_t_only", "1") register_clcmd("say free", "cmdFree") register_event("HLTV", "eventRoundStart", "a", "1=0", "2=0") RegisterHam(Ham_Touch, "armoury_entity", "fwdTouch") RegisterHam(Ham_Touch, "weaponbox", "fwdTouch") RegisterHam(Ham_Use, "func_button", "fwdUse") register_menucmd(register_menuid("Free?"), MENU_KEY_1|MENU_KEY_2, "free_run_menu") }
public eventRoundStart() { g_free = false }
public free_run_menu(id, key) { if (!key) { g_free = true set_hudmessage(0, 255, 255, 0.02, -1.0); show_hudmessage(id, "Free and knife!"); new players[32], plNum, i get_players(players, plNum, "ah") for (i = 0; i < plNum; i++) { fm_strip_user_weapons(players[i]) fm_give_item(players[i], "weapon_knife") } } else { set_hudmessage(255, 0, 0, -1.0, 0.39, 0, 6.0, 12.0) show_hudmessage(id, "FREE REFUSED!") } } public cmdFree(id) { if (get_pcvar_num(g_cvar_t_only) && get_user_team(id) != 1) { client_print(id, print_center, "Only T can Use it!") return } new menu[256], len len = format(menu, charsmax(menu), "\yFree?\w^n^n") len += format(menu[len], charsmax(menu) - len, "1. Yes^n") len += format(menu[len], charsmax(menu) - len, "2. No^n") new players[32], plNum get_players(players, plNum, "ace", "TERRORIST") if (players[0]) show_menu(players[0], MENU_KEY_1|MENU_KEY_2, menu) }
public fwdTouch(ent, id) { if (is_user_alive(id) && g_free) return HAM_SUPERCEDE return HAM_IGNORED }
public fwdUse(ent, idcaller, idactivator, use_type, Float:value) { if (is_user_alive(idactivator) && g_free && get_user_team(idactivator) == 1) { client_print(idactivator, print_center, "You choose FreeRun!") return HAM_SUPERCEDE } return HAM_IGNORED } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par } */ Сделайте еще пожалуйста чтоб тут при вводе free не появлялось меню, а сразу делалось Free>Yes
|
|
| |
Extasy | Дата: Понедельник, 11.01.2010, 13:01:56 | Сообщение # 13 |
Лейтенант
Группа: Пользователи
Сообщений: 61
Статус: Не в сети
| Quote (Bl0kc) Сделайте еще пожалуйста чтоб тут при вводе free не появлялось меню, а сразу делалось Free>Yes Держи
|
|
| |
Bl0kc | Дата: Понедельник, 11.01.2010, 14:54:52 | Сообщение # 14 |
Полковник
Группа: Пользователи
Сообщений: 152
Статус: Не в сети
| спасибо
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |