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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Vampire MOD

Статус пользователя Karpen
сообщение 5.4.2011, 13:06
Сообщение #1


Стаж: 15 лет

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

Вот я нашел мод Vampire...

За убийство + 30 а в голову х1.5 = +45 хп.

А как можно сделать например х5

sma
Код
#include <amxmodx>
#include <amxmisc>
#include <engine>

#define CHAN_DISPLAY 5

new usehud = 0;
new blood[33];
new olddeadflag[33];

// Plugin initation
public plugin_init() {
    register_plugin("VampireMode","1.5","Sutar");
    register_concmd("amx_vampmode_enable","cmd_vampmode",ADMIN_BAN,"<0|1>");

    register_event("Damage","event_damage","b","2>0");

    if(get_user_msgid("ResetHUD")) {
        usehud = 1;
        register_event("ResetHUD","event_resethud","b");
        register_clcmd("fullupdate","stop");
    }

    register_cvar("vampmode_enable","0"); // включить / выключить режим вампира.
    register_cvar("vampmode_bloodthirst","0.8"); // скорость распада крови.
    register_cvar("vampmode_maxblood","121"); // максимальное кол-во hp (крови).
    register_cvar("vampmode_spawnblood","101"); // кол-во hp (крови) в начале раунда.
    register_cvar("vampmode_killreward","30"); // сколько крови вы получаете за убийство (x1.5 в голову)
    register_cvar("vampmode_damage","5.0"); // повреждение игрока каждую секунду от потери крови.

    register_cvar("vampmode_msgcolor","255 255 255"); // цвет чата
    register_cvar("vampmode_msgx","0.915"); // x coord for messages
    register_cvar("vampmode_msgy","1.0"); // y coord for messages
}

// prethink
public client_PreThink(id) {
    new deadflag = entity_get_int(id,EV_INT_deadflag);
    if(olddeadflag[id] && !deadflag && usehud == 0) {
        client_spawn(id);
    }
    olddeadflag[id] = deadflag;
}

// resethud
public event_resethud(id) {
    set_task(0.1,"client_spawn",id);
}

// user spawns
public client_spawn(id) {

    if(task_exists(id)) {
        remove_task(id);
    }

    blood[id] = get_cvar_num("vampmode_spawnblood");

    if(get_cvar_num("vampmode_enable")) {
        set_task(get_cvar_float("vampmode_bloodthirst"),"bleed",id);
    }

}

// player takes damage
public event_damage(id) {
    new weapon, hitplace, attacker = get_user_attacker(id,weapon,hitplace);

    //client_print(id,print_chat,"* You got hit by %i with %i in %i",attacker,weapon,hitplace);

    // make sure victim is dead
    if(get_user_health(id) > 0) {
        return PLUGIN_CONTINUE;
    }

    // if attacker is still alive
    if(is_user_alive(attacker)) {
        new amt = get_cvar_num("vampmode_killreward");

        // extra blood for headshots
        if(hitplace == HIT_HEAD) { amt = floatround(1.5 * float(amt)); }

        // if team kill, take blood away
        if(get_user_team(id) == get_user_team(attacker)) {
            blood[attacker] -= amt;
            if(blood[attacker] < 0) { blood[attacker] = 0; }
            display_blood(id);
        }
        else {
            blood[attacker] += amt;
            if(blood[attacker] > get_cvar_num("vampmode_maxblood")) { blood[attacker] = get_cvar_num("vampmode_maxblood"); }
            display_blood(id);
        }
    }

    return PLUGIN_CONTINUE;
}

// I'm BAHLEEDING!
public bleed(id) {

    if(!get_cvar_num("vampmode_enable") || !is_user_alive(id)) {
        return;
    }

    blood[id] -= 1;

    if(blood[id] < 0) {
        blood[id] = 0;
        fakedamage(id,"bloodthirst",get_cvar_float("vampmode_damage"),0);
    }

    display_blood(id);
    set_task(get_cvar_float("vampmode_bloodthirst"),"bleed",id);

    return;
}

// display blood
public display_blood(id) {
    new color[24], r[8], g[8], b[8];
    get_cvar_string("vampmode_msgcolor",color,23);
    parse(color,r,7,g,7,b,7);
    set_hudmessage(str_to_num(r),str_to_num(g),str_to_num(b),get_cvar_float("vampmode_msgx"),get_cvar_float("vampmode_msgy"),0,6.0,get_cvar_float("vampmode_bloodthirst")+1.0,0.1,0.1,CHAN_DISPLAY);
    show_hudmessage(id,"Blood: %d",blood[id]);
}

// Stop a command
public stop() {
    return PLUGIN_HANDLED;
}

// Turn VampireMode on or off
public cmd_vampmode(id,level,cid) {
    if(!cmd_access(id,level,cid,2)) {
        return PLUGIN_HANDLED;
    }

    new data[10];
    read_args(data,9);

    set_cvar_num("vampmode_enable",(str_to_num(data) >= 1) ? 1 : 0);
    console_print(id,"VampireMode is now %s",(str_to_num(data) >= 1) ? "ON" : "OFF");

    new players[32], num, i;
    get_players(players,num);

    for(i=0;i<num;i++) {
        if(!task_exists(players[i])) {
            set_task(get_cvar_float("vampmode_bloodthirst"),"bleed",players[i]);
        }
    }

    return PLUGIN_HANDLED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя x@kep
сообщение 5.4.2011, 13:24
Сообщение #2


Стаж: 15 лет

Сообщений: 80
Благодарностей: 43
Полезность: 414

Могу предложить альтернативный плагин. Там есть квары, в которых можно указать максимальное количество hp и коэффициент умножения при попадании в голову. А так же можно расписать количество прибавляемого hp для каждого оружия.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя IIPOTUBBCEX
сообщение 5.4.2011, 13:28
Сообщение #3
Стаж: 15 лет

Сообщений: 24
Благодарностей: 5
Полезность: 160

// extra blood for headshots
if(hitplace == HIT_HEAD) { amt = floatround(1.5 * float(amt)); }
Здесь цифра 1.5 измени на какой тебе надо множитель чтоб за голову давали

register_cvar("vampmode_killreward","30");
здесь 30 измени на сколько тебе надо чтоб за простое убийство давали

можешь вместо 1.5 * float(amt) попробовать написать нужное кол-во хп за хэд.

Отредактировал: IIPOTUBBCEX, - 5.4.2011, 13:29
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Karpen
сообщение 5.4.2011, 15:52
Сообщение #4


Стаж: 15 лет

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

Цитата(x@kep @ 5.4.2011, 14:24) *
Могу предложить альтернативный плагин. Там есть квары, в которых можно указать максимальное количество hp и коэффициент умножения при попадании в голову. А так же можно расписать количество прибавляемого hp для каждого оружия.


а там такой-же плагин... ?
Только там за убийство одним оружием +5хп а другим +15хп ???
А в голову там в 2й-не?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя x@kep
сообщение 5.4.2011, 22:08
Сообщение #5


Стаж: 15 лет

Сообщений: 80
Благодарностей: 43
Полезность: 414

Цитата(Karpen @ 6.4.2011, 0:52) *
а там такой-же плагин... ?
Только там за убийство одним оружием +5хп а другим +15хп ???
А в голову там в 2й-не?

Множитель при попадании в голову регулируется кваром vw_bonus_hs. Если вам нужен множитель х5, пропишите (например в amxx.cfg) vw_bonus_hs 5.0 . А на счёт убийства с разного оружия, то там его можно ставить любые значения для разного оружия. Как пример:
weapons
Код
; Weapon    HP

p228            5
scout            10
grenade        20
xm1014        5
mac10        5
aug            5
elite            10
fiveseven        5
ump45        5
sg550        5
galil            5
famas        5
usp            5
glock18        10
awp            5
mp5navy        5
m249        5
m3            5
m4a1        5
tmp            5
g3sg1        5
deagle        5
sg552        5
ak47            5
knife            40
p90            5

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