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

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

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

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

Отлов убийства

OverGame
сообщение 19.6.2014, 18:40
Сообщение #1
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Всем привет, скиньте пожалуйста скрипт отлова убийства.
Если игрок убивает другого игрока в хед, то ему пишется мол он убил игрока хед.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 19.6.2014, 18:42
Сообщение #2


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

OverGame, что простите? Скрипт? Вам плагин нужен или что? Или код отлова убийства?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 19.6.2014, 18:44
Сообщение #3
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(Bloo @ 19.6.2014, 18:42) *
OverGame, что простите? Скрипт? Вам плагин нужен или что? Или код отлова убийства?

Скорей только код pardon.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 19.6.2014, 19:01
Сообщение #4


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

OverGame, тогда правильней было создать тему в разделе Скриптинг.
Переместил
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 19.6.2014, 19:17
Сообщение #5


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Код:
#include <amxmodx>
#include <csx>

public plugin_init() {
register_plugin("HeadShot", "1.0", "Ghost")
}

public client_death(i_Killer, i_Victim, i_Hitplace) {
if(i_Hitplace == HIT_HEAD) {
new k_Name[32], v_Name[32]
get_user_name(i_Killer, k_Name, charsmax(k_Name))
get_user_name(i_Victim, v_Name, charsmax(v_Name))
client_print(0, print_chat, "%s отвесил плюху в голову игроку %s", k_Name, v_Name)
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя DumoH4uk
сообщение 19.6.2014, 19:26
Сообщение #6


Стаж: 14 лет

Сообщений: 188
Благодарностей: 81
Полезность: 122

Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>


public plugin_init()
{
RegisterHam(Ham_Killed, "player", "Ham_Killed_Pre")
}

public Ham_Killed_Pre(Attacker, Victim)
{
if(!is_user_connected(Attacker))
return HAM_IGNORED;

if(get_pdata_int(Victim, 75, 5) == HIT_HEAD)
{
//Headshot!
}
return HAM_IGNORED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 19.6.2014, 19:30
Сообщение #7
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(DumoH4uk @ 19.6.2014, 19:26) *
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>


public plugin_init()
{
RegisterHam(Ham_Killed, "player", "Ham_Killed_Pre")
}

public Ham_Killed_Pre(Attacker, Victim)
{
if(!is_user_connected(Attacker))
return HAM_IGNORED;

if(get_pdata_int(Victim, 75, 5) == HIT_HEAD)
{
//Headshot!
}
return HAM_IGNORED;
}

Нее, вы не поняли)

Код:
public client_death(i_Killer, i_Hitplace) {
if(i_Hitplace == HIT_HEAD) {
new k_Name[32]
get_user_name(i_Killer, k_Name, charsmax(k_Name))
g_bonus_score[id] = 1
}
}


Убийца получает бонус, за убийство в хед. А как узнать кто убийца и выдать ему этот бонус?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DumoH4uk
сообщение 19.6.2014, 19:31
Сообщение #8


Стаж: 14 лет

Сообщений: 188
Благодарностей: 81
Полезность: 122

i_Killer - убийца

В моем коде

Attacker - убийца

Код
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>


public plugin_init()
{
    RegisterHam(Ham_Killed, "player", "Ham_Killed_Pre")
}

public Ham_Killed_Pre(Attacker, Victim)
{
    if(!is_user_connected(Attacker))
        return HAM_IGNORED;
        
    if(get_pdata_int(Victim, 75, 5) == HIT_HEAD)
    {
        client_print(Attacker, print_chat, "Poluchi bonus!")
        cs_set_user_money(Attacker, 16000)
        pev(Attacker, pev_health, 100.0)
    }
    return HAM_IGNORED;
}


Отредактировал: DumoH4uk, - 19.6.2014, 19:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
OverGame
сообщение 19.6.2014, 19:35
Сообщение #9
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Скрытый текст
Цитата(DumoH4uk @ 19.6.2014, 19:31) *
i_Killer - убийца

В моем коде

Attacker - убийца


значит получается так?

Код:
public plugin_init()
{
RegisterHam(Ham_Killed, "player", "Ham_Killed_Pre")
}

public Ham_Killed_Pre(Attacker, Victim)
{
if(!is_user_connected(Attacker))
return HAM_IGNORED;

if(get_pdata_int(Victim, 75, 5) == HIT_HEAD)
{
g_bonus_score[Attacker] = 1
}
return HAM_IGNORED;
}


Код:
if(g_bonus_score[id] == 1){
menu_additem(menu, "\yТест","2")
}else{
menu_additem(menu, "\dТес [Нету бонусов]","2")
}

Все, вроде понял.

Отредактировал: OverGame, - 19.6.2014, 19:36
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DumoH4uk
сообщение 19.6.2014, 19:37
Сообщение #10


Стаж: 14 лет

Сообщений: 188
Благодарностей: 81
Полезность: 122

Код:
public client_death(i_Killer, i_Hitplace) {
if(i_Hitplace == HIT_HEAD) {
new k_Name[32]
get_user_name(i_Killer, k_Name, charsmax(k_Name))
g_bonus_score[id] = 1
}
}


Убийца получает бонус, за убийство в хед. А как узнать кто убийца и выдать ему этот бонус?
[/quote]

public client_death(i_Killer, i_Hitplace) - вы так убийство в голову не отловите, ибо ->> public client_death(i_Killer, i_Victim, i_Hitplace)

Цитата(OverGame @ 19.6.2014, 21:35) *
Скрытый текст


значит получается так?

Код:
public plugin_init()
{
RegisterHam(Ham_Killed, "player", "Ham_Killed_Pre")
}

public Ham_Killed_Pre(Attacker, Victim)
{
if(!is_user_connected(Attacker))
return HAM_IGNORED;

if(get_pdata_int(Victim, 75, 5) == HIT_HEAD)
{
g_bonus_score[Attacker] = 1
}
return HAM_IGNORED;
}


Код:
if(g_bonus_score[id] == 1){
menu_additem(menu, "\yТест","2")
}else{
menu_additem(menu, "\dТес [Нету бонусов]","2")
}

Все, вроде понял.


Yap.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 19.6.2014, 19:55
Сообщение #11
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(DumoH4uk @ 19.6.2014, 19:37) *
Код:
public client_death(i_Killer, i_Hitplace) {
if(i_Hitplace == HIT_HEAD) {
new k_Name[32]
get_user_name(i_Killer, k_Name, charsmax(k_Name))
g_bonus_score[id] = 1
}
}


Убийца получает бонус, за убийство в хед. А как узнать кто убийца и выдать ему этот бонус?


public client_death(i_Killer, i_Hitplace) - вы так убийство в голову не отловите, ибо ->> public client_death(i_Killer, i_Victim, i_Hitplace)



Yap.

Что-то не могу понять:
Код:
public Ham_Killed_Pre(Attacker, Victim)
{
if(!is_user_connected(Attacker))
return HAM_IGNORED;

if(get_pdata_int(Victim, 75, 5) == HIT_HEAD)
{
g_bonus_score[Attacker] = 1
}
return HAM_IGNORED;
}


Код:

if(g_bonus_score[id] == 1){
menu_additem(menu, "\yТест","2")
}else{
menu_additem(menu, "\dТест [Нету бонусов]","2")
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DumoH4uk
сообщение 19.6.2014, 20:10
Сообщение #12


Стаж: 14 лет

Сообщений: 188
Благодарностей: 81
Полезность: 122

Цитата(OverGame @ 19.6.2014, 21:55) *
Что-то не могу понять:
Код:
public Ham_Killed_Pre(Attacker, Victim)
{
if(!is_user_connected(Attacker))
return HAM_IGNORED;

if(get_pdata_int(Victim, 75, 5) == HIT_HEAD)
{
g_bonus_score[Attacker] = 1
}
return HAM_IGNORED;
}


Код:

if(g_bonus_score[id] == 1){
menu_additem(menu, "\yТест","2")
}else{
menu_additem(menu, "\dТест [Нету бонусов]","2")
}


Код:
public plugin_init()
{
RegisterHam(Ham_Killed, "player", "Ham_Killed_Pre")
}


Не забыли?

Код:
#include <fakemeta>
#include <hamsandwich>


+ 2 инклуда.
Проверьте.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 19.6.2014, 20:10
Сообщение #13
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(DumoH4uk @ 19.6.2014, 20:10) *
Код:
public plugin_init()
{
RegisterHam(Ham_Killed, "player", "Ham_Killed_Pre")
}


Не забыли?

Код:
#include <fakemeta>
#include <hamsandwich>


+ 2 инклуда.
Проверьте.


Стоит

Отредактировал: OverGame, - 19.6.2014, 20:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 19.6.2014, 20:13
Сообщение #14
Стаж: 12 лет

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

DumoH4uk,
LOL
надо пост, а не пре -_-

Отредактировал: trollface, - 19.6.2014, 20:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 19.6.2014, 20:21
Сообщение #15
Стаж: 12 лет

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

без хама, фейкметы и csx =|

Код:
#include <amxmodx>

public plugin_init()
{
register_plugin("HeadShot", "1.0", "lol")
register_event("DeathMsg","eventDeathMsg","a","1>0");
}

public eventDeathMsg()
{
static k_id, v_id
k_id = read_data(1); v_id = read_data(2)
if(read_data(3) == 1)
{
new k_Name[32], v_Name[32]
get_user_name(k_id, k_Name, charsmax(k_Name))
get_user_name(v_id, v_Name, charsmax(v_Name))
client_print(0, print_chat, "%s отвесил плюху в голову игроку %s", k_Name, v_Name)
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 19.6.2014, 20:24
Сообщение #16
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(trollface @ 19.6.2014, 20:21) *
без хама, фейкметы и csx =|

Код:
#include <amxmodx>

public plugin_init()
{
register_plugin("HeadShot", "1.0", "lol")
register_event("DeathMsg","eventDeathMsg","a","1>0");
}

public eventDeathMsg()
{
static k_id, v_id
k_id = read_data(1); v_id = read_data(2)
if(read_data(3) == 1)
{
new k_Name[32], v_Name[32]
get_user_name(k_id, k_Name, charsmax(k_Name))
get_user_name(v_id, v_Name, charsmax(v_Name))
client_print(0, print_chat, "%s отвесил плюху в голову игроку %s", k_Name, v_Name)
}
}

Да ну, меня не поняли :D
Надо:
Если игрок убивает в хед, ему начисляется бонус:
g_bonus_score[id] = 1
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 19.6.2014, 20:27
Сообщение #17
Стаж: 12 лет

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

OverGame,
Код:
public eventDeathMsg()
{
static k_id, v_id
k_id = read_data(1); v_id = read_data(2)
if(read_data(3) == 1)
{
new k_Name[32], v_Name[32]
get_user_name(k_id, k_Name, charsmax(k_Name))
get_user_name(v_id, v_Name, charsmax(v_Name))
client_print(0, print_chat, "%s отвесил плюху в голову игроку %s", k_Name, v_Name)
}
}

->
Код:
public eventDeathMsg()
{
if(read_data(3) == 1)
g_bonus_score[read_data(1)] = 1
}


Отредактировал: trollface, - 19.6.2014, 20:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OverGame
сообщение 20.6.2014, 12:01
Сообщение #18
Стаж: 11 лет

Сообщений: 384
Благодарностей: 217
Полезность: 348

Цитата(trollface @ 19.6.2014, 20:27) *
OverGame,
Код:
public eventDeathMsg()
{
static k_id, v_id
k_id = read_data(1); v_id = read_data(2)
if(read_data(3) == 1)
{
new k_Name[32], v_Name[32]
get_user_name(k_id, k_Name, charsmax(k_Name))
get_user_name(v_id, v_Name, charsmax(v_Name))
client_print(0, print_chat, "%s отвесил плюху в голову игроку %s", k_Name, v_Name)
}
}

->
Код:
public eventDeathMsg()
{
if(read_data(3) == 1)
g_bonus_score[read_data(1)] = 1
}



Странно....
В меню:
Код:

if(g_bonus_score[read_data(1)] > 0){
menu_additem(menu, "\yТест","2")
}else{
menu_additem(menu, "\dТест [Нету бонусов]","2")
}

На отлове:
Код:

public EventDeath()
{
new iKiller = read_data(1);
new iVictim = read_data(2);
new head = read_data(3);
if(iKiller != iVictim && is_user_connected(iKiller) && is_user_connected(iVictim) && UserData[iKiller][gLevel] <= 19)
{
if(get_pcvar_num(gTk) && get_user_team(iKiller) == get_user_team(iVictim))
{
UserData[iKiller][gExp] -= get_pcvar_num(gLostXpTk);
return PLUGIN_CONTINUE;
}
new weapon = get_user_weapon(iKiller);
UserData[iKiller][gExp] += 1;
if(weapon == CSW_KNIFE)
UserData[iKiller][gExp] += 3;

if(head)
UserData[iKiller][gExp] += 2;
g_bonus_score[iKiller] += 1;

if(weapon == CSW_HEGRENADE)
UserData[iKiller][gExp] += 1;

check_level(iKiller);
}
return PLUGIN_CONTINUE;
}


В функции:
Код:
		case 2:{
if(g_bonus_score[read_data(1)] > 0)
client_print(id, print_chat, "Есть бонус!")
g_bonus_score[id] -= 1;
}


При подключение:
Код:
g_bonus_score[id] = 0;


и все равно не работает =-=

Отредактировал: OverGame, - 20.6.2014, 12:03
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 20.6.2014, 12:56
Сообщение #19
Стаж: 12 лет

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

if(head)
->
if(head == 1)

бред, но у меня без равенства не работало =|

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