Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Вампирик по флагу.

Статус пользователя TyTuKeT
сообщение 19.5.2017, 21:55
Сообщение #1


Стаж: 9 лет
Город: Чита

Сообщений: 74
Благодарностей: 4
Полезность: 41

Всем привет. Помогите или объясните как сделать что вампирик был только у админов? В шаре не нашел готовый попробовал прикрутить с другого проверку на флаг, но чет не пашет вампик есть у всех. Я только учусь. Так же почему то не реагирует на квары в amxx.cfg и тут и там одно значение, а игре при убийстве дает 15, а за HS 40 хотя выставлено 10 и 15.

Cкрытый текст
Код:

/*
*
* AmxModX
* Vampire plugin
* by Shalfey
*
* CVars
* amx_vampire_hp - hp add for kill
* amx_vampire_hp_hs - hp add for kill in head
* amx_vampire_max_hp - max player hp
*
* Players gets HP for kills.
*/
#include <amxmodx>
#include <fun>
#include <amxmisc>
#include <cstrike>

#define PLUGIN_VERSION "1.0c"

new health_add
new health_hs_add
new health_max

new nKiller
new nKiller_hp
new nHp_add
new nHp_max

public plugin_init()
{
register_plugin("Vampire", PLUGIN_VERSION, "Shalfey")

health_add = register_cvar("amx_vampire_hp", "10")
health_hs_add = register_cvar("amx_vampire_hp_hs", "15")
health_max = register_cvar("amx_vampire_max_hp", "110")

register_event("DeathMsg", "hook_death", "a", "1>0")
}

public hook_death(id, level, cid)
{
if (get_user_flags(id) & ADMIN_RESERVATION) {
// Killer id
nKiller = read_data(1)

if ( (read_data(3) == 1) && (read_data(5) == 0) )
{
nHp_add = get_pcvar_num (health_hs_add)
}
else
nHp_add = get_pcvar_num (health_add)

nHp_max = get_pcvar_num (health_max)

// Updating Killer HP
nKiller_hp = get_user_health(nKiller)
nKiller_hp += nHp_add

// Maximum HP check
if (nKiller_hp > nHp_max) nKiller_hp = nHp_max

set_user_health(nKiller, nKiller_hp)

// Hud message "Healed +10/+15 hp"
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 3.0, 0.1, 0.1, -1)
show_hudmessage(nKiller, "Бонус +%d hp", nHp_add)

// Screen fading
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(75)
message_end()

}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Jack2345
сообщение 20.5.2017, 4:46
Сообщение #2
Стаж: 11 лет
Город: Москва

Сообщений: 277
Благодарностей: 0
Полезность: < 0

TyTuKeT,
ДержиНА!
Код:
#include <amxmodx>
#include <fun>

new pMaxHP, pAddHP, pHsAddHP, pOnlyAdmins;
new AddHP, HsAddHP, MaxHP, oAdmins;
new g_HudSyncMsg;
new killer_HP, killerID;

new g_iAdmin[33];

public plugin_init()
{
#define Version "1.2"
register_plugin("Lite Vampire", Version, "neygomon");
register_cvar("lv_neygomon", Version, FCVAR_SERVER | FCVAR_SPONLY)

register_event("DeathMsg", "eDeathMsg", "a", "1>0");

pMaxHP = register_cvar("lv_maxhp", "100"); // Максимум HP
pAddHP = register_cvar("lv_addhp", "10"); // Добавление за убийство в тело
pHsAddHP = register_cvar("lv_hsaddhp", "20"); // Добавление за убийство в лицо :D
pOnlyAdmins = register_cvar("lv_oadmins", "0"); // Все функции плагина только для админов

g_HudSyncMsg = CreateHudSyncObj();

set_task(1.5, "Load_Cfg");
}

public Load_Cfg()
{
AddHP = get_pcvar_num(pAddHP);
HsAddHP = get_pcvar_num(pHsAddHP);
MaxHP = get_pcvar_num(pMaxHP);
oAdmins = get_pcvar_num(pOnlyAdmins);
}

public client_putinserver(id)
{
if(oAdmins)
{
if(get_user_flags(id) & ADMIN_MENU) g_iAdmin[id] = 1;
else g_iAdmin[id] = 0;
}
}

public eDeathMsg()
{
if(((killerID = read_data(1)) == read_data(2)) || (oAdmins && !g_iAdmin[killerID]))
return;
killer_HP = get_user_health(killerID);
static TempHP; TempHP = (read_data(3) == 1) ? HsAddHP : AddHP;
set_user_health(killerID, ((killer_HP += TempHP) > MaxHP) ? MaxHP : killer_HP);
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1);
ShowSyncHudMsg(killerID, g_HudSyncMsg, "Добавлено +%d HP", TempHP);
}


Success
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TyTuKeT
сообщение 21.5.2017, 17:06
Сообщение #3


Стаж: 9 лет
Город: Чита

Сообщений: 74
Благодарностей: 4
Полезность: 41

Jack2345, , спасибо большое! Не могу найти кнопку поблагодарить!
Направите еще в нужно русло на сервере стоит плагин за топ бонусы начисляются топ 1 - админка, 2 и 3 места дает вип, к флагам n и o прикручены разные модели оружия, но почему то когда админы выходят в топ им переписываются флаги и оружие соответственно тоже меняется.
Cкрытый текст
Код:

#include < amxmodx >
#include < fun >

#define MAX_ARM 400

#define IGNORE_FLAG ADMIN_RESERVATION

new gMAXPLAYERS
new pFlags
new pFlagss

native get_user_stats(index, stats[8], bodyhits[8])
native cs_set_user_bpammo(index, weapon, amount)

public plugin_init()
{
register_plugin("TOP FIVE BONUS", "0.1", "fayting.ru")
register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")
gMAXPLAYERS = get_maxplayers()
pFlags = register_cvar( "top_flags", "bcefijmoptu" )
pFlagss = register_cvar( "top_flagss", "tn" )
}

public client_putinserver(id) {
set_task( 0.3, "CheckStats", id ) // we need to use delay otherwise we will get rank = 0
}

public CheckStats(id) {
new iFlags = get_user_flags(id)
new szAddFlags[16]
get_pcvar_string( pFlags, szAddFlags, 15 )
new iAddFlags = read_flags(szAddFlags)

if ( iFlags & IGNORE_FLAG || iFlags & iAddFlags == iAddFlags )
// ignore player with IGNORE_FLAG or having all additional flags
return
}

public round_start()
{
for(new i; i <= gMAXPLAYERS; i++)
{
if(is_user_hltv(i) || is_user_bot(i) || !is_user_connected(i))
continue

new stats[8], bodyhits[8]
new pARM = get_user_armor(i)
new pTOP = get_user_stats(i, stats, bodyhits)

new iFlags = get_user_flags(i)
new szAddFlags[16]
get_pcvar_string( pFlags, szAddFlags, 15 )
new iAddFlags = read_flags(szAddFlags)

new iFlagss = get_user_flags(i)
new szAddFlagss[16]
get_pcvar_string( pFlagss, szAddFlagss, 15 )
new iAddFlagss = read_flags(szAddFlagss)

if(pTOP == 1)
{
if(pARM < MAX_ARM)
set_user_flags( i, iFlags | iAddFlags )
client_print(i, print_chat, "[TOP-БОНУС] Вы занимаете %d место в ранге, ваш бонус: админка + vip - получен.", pTOP)
}
if(pTOP == 2)
{
if(pARM < MAX_ARM)
set_user_flags( i, iFlagss | iAddFlagss )
client_print(i, print_chat, "[TOP-БОНУС] Вы занимаете %d место в ранге, ваш бонус: vip - получен.", pTOP)
}
if(pTOP == 3)
{
if(pARM < MAX_ARM)
set_user_flags( i, iFlagss | iAddFlagss )
client_print(i, print_chat, "[TOP-БОНУС] Вы занимаете %d место в ранге, ваш бонус: vip - получен.", pTOP)
}

}
}

Прикрепленный файл  topfive_bonus.sma ( 2,28 килобайт ) Кол-во скачиваний: 9
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Jack2345
сообщение 21.5.2017, 19:21
Сообщение #4
Стаж: 11 лет
Город: Москва

Сообщений: 277
Благодарностей: 0
Полезность: < 0

TyTuKeT,
В лс


Success
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: