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

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

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

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

Помогите подправить плагин Vampire

Статус пользователя BURZUM001
сообщение 27.7.2013, 9:45
Сообщение #1
Стаж: 13 лет

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

Помогите немного подправить плагин Vampire.
Вкрадце, суть плагина - при попадании в тело или в голову добавляет попавшему жизни (10 и 30 соответственно).
Помогите сделать чтобы + к жизням выдавались деньги, при попадании в тело - 100, при попадании в голову - 300.
Спасибо.


Код:

#include <amxmodx>
#include <fun>

#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", "30")
health_max = register_cvar("amx_vampire_max_hp", "130")

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

public hook_death()
{
// 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/+30 hp"
set_hudmessage(0, 255, 0, -1.0, 0.0
, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(nKiller, "Healed +%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(255)
write_byte(0)
write_byte(0)
write_byte(75)
message_end()

}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
cs-portal
сообщение 27.7.2013, 9:55
Сообщение #2
Стаж: 16 лет

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

добавь #include <cstrike>

и возле set_user_health
добавь по аналогии cs_set_user_money(nKiller,cs_get_user_money(nKiller) + 100)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя BURZUM001
сообщение 27.7.2013, 12:44
Сообщение #3
Стаж: 13 лет

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

Цитата(cs-portal @ 27.7.2013, 11:55) *
добавь #include <cstrike>

и возле set_user_health
добавь по аналогии cs_set_user_money(nKiller,cs_get_user_money(nKiller) + 100)


Спасибо, работает!
Только не пойму то 300 добавляет, то 400, ну никак не 100. Может от количества попаданий зависит?

И как сделать чтобы при убийстве в голову выдавало 300 ?
И с ножа 500 )

Отредактировал: BURZUM001, - 27.7.2013, 13:06
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nsgenn
сообщение 27.7.2013, 14:02
Сообщение #4


Стаж: 13 лет

Сообщений: 885
Благодарностей: 561
Полезность: 667

Цитата(BURZUM001 @ 27.7.2013, 14:44) *
Спасибо, работает!
Только не пойму то 300 добавляет, то 400, ну никак не 100. Может от количества попаданий зависит?

И как сделать чтобы при убийстве в голову выдавало 300 ?
И с ножа 500 )


если ты вспомнишь, то в кс за убийство выдаются деньги по умолчанию. Если учесть те деньги, то получится необходимый тебе эффект.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя BURZUM001
сообщение 27.7.2013, 15:00
Сообщение #5
Стаж: 13 лет

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

Цитата(nsgenn @ 27.7.2013, 16:02) *
если ты вспомнишь, то в кс за убийство выдаются деньги по умолчанию. Если учесть те деньги, то получится необходимый тебе эффект.

Блин, ступил. Ты прав конечно
а насчёт с ножа и в хед чтобы выдавало больше денег?

Код:

#include <amxmodx>
#include <cstrike>
#include <fun>

#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", "30")
health_max = register_cvar("amx_vampire_max_hp", "130")

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

public hook_death()
{
// 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)
cs_set_user_money(nKiller,cs_get_user_money(nKiller) + 100)

// Hud message "Healed +10/+30 hp"
set_hudmessage(0, 255, 0, -1.0, 0.0, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(nKiller, "Healed +%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(255)
write_byte(0)
write_byte(0)
write_byte(75)
message_end()

}


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