Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
кто сможет поправить плагин?! После того как игрок зашел на сервер,ему показывает сообщение. Но через какое-то время он снова показывает игрокам сообщения худ!
Код:
#include <amxmodx>
#include <amxmisc>
#include <reapi>
new bool:g_bBlockMap, bool:g_bIsRules[33];
public plugin_init() {
register_plugin("[REAPI] Steam Present", "1.0", "di.alyabev");
RegisterHookChain(RG_CBasePlayer_Spawn, "Hook_PlayerSpawn", true)
RegisterHookChain(RG_PM_AirMove, "PM_AirMove", false);
register_clcmd("menuselect", "client_joinclass")
register_clcmd("joinclass", "client_joinclass")
new iMap_Name[32], iMap_Prefix[][] = { "awp_", "aim_", "35hp", "fy_" }
get_mapname(iMap_Name, charsmax(iMap_Name))
for(new i; i < sizeof(iMap_Prefix); i++) {
if(containi(iMap_Name, iMap_Prefix[i]) != -1)
g_bBlockMap = true
}
}
public client_disconnected(id) g_bIsRules[id] = false;
public client_joinclass(id) {
if(g_bIsRules[id] || is_user_admin(id)) return;
set_task(5.0, "taskRules", id)
}
public taskRules(id) {
set_dhudmessage(255, 255, 0)
if(is_user_steam(id)) show_dhudmessage(id, "Привет, %s! У тебя Steam!^n Тебе доступен Парашют и другие бонусы!", Player_GetName(id));
else show_dhudmessage(id, "Привет, %s! Играй со Steam!^n Получай различные бонусы + парашют!", Player_GetName(id));
g_bIsRules[id] = true;
}
public Hook_PlayerSpawn(id) {
if(!is_user_alive(id) || !is_user_steam(id) || is_user_admin(id) || g_bBlockMap) return;
new random_item, szBonus[128];
switch(get_member(id, m_iTeam)) {
case 1: random_item = random_num(0, 3)
case 2: random_item = random_num(0, 4)
}
switch(random_item) {
case 0: {
rg_set_user_armor(id, 100, ARMOR_VESTHELM);
formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tБроню!y!");
}
case 1: {
rg_give_item(id, "weapon_smokegrenade", GT_APPEND);
formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tДымовую гранату!y!");
}
case 2: {
rg_give_item(id, "weapon_hegrenade", GT_APPEND);
formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tВзрывную гранату!y!");
}
case 3: {
rg_give_item(id, "weapon_flashbang", GT_APPEND);
rg_give_item(id, "weapon_flashbang", GT_APPEND);
formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tСлеповую гранату!y!");
}
case 4: {
rg_give_defusekit(id, true);
formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tДифьюз!y!");
}
}
PrintChat(id, "!g[Steam] !y%s", szBonus);
}
public PM_AirMove(const id) {
if(!is_user_steam(id) || is_user_admin(id)) return;
if(!(get_entvar(id, var_button) & IN_USE)|| get_entvar(id, var_waterlevel) > 0) return;
new Float:flVelocity[3]; get_entvar(id, var_velocity, flVelocity);
if (flVelocity[2] < 0.0) {
flVelocity[2] = (flVelocity[2] + 40.0 < -100.0) ? flVelocity[2] + 40.0 : -100.0;
set_entvar(id, var_sequence, ACT_WALK);
set_entvar(id, var_gaitsequence, ACT_IDLE);
set_pmove(pm_velocity, flVelocity);
set_movevar(mv_gravity, 80.0);
}
}
stock Player_GetName(const id) {
new szName[32]; get_user_name(id, szName, charsmax(szName));
return szName;
}
stock clear_dhudmessage(id) {
for(new iDHUD = 0; iDHUD < 8; iDHUD++)
show_dhudmessage(id, "");
}
stock PrintChat(const id, const input[], any:...) {
new count = 1, players[32], msg[191], i;
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
if(id) players[0] = id;
else get_players(players, count, "ch")
for(i = 0; i < count; i++) {
if(is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
Download all Attachments
-
3.8 KB Просмотры: 4
-
146.9 KB Просмотры: 33
Последнее редактирование модератором: