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

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

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

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

Помогите сделать вычисление убийств

Статус пользователя Orty_Hart
сообщение 30.1.2012, 16:08
Сообщение #1
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Помогите сделать вычисление убийств таких видов:
1. Простое убийство
2. Убийство в голову
3. Убийство гранатой
4. Убийство ножом
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Rejiser
сообщение 30.1.2012, 16:17
Сообщение #2


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Открой micstats.sma
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 30.1.2012, 16:17
Сообщение #3


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Код
public plugin_init()
{
    register_event( "DeathMsg" , "event_DeathMsg" , "a" )
}

public event_DeathMsg()
{
    new iKiller = read_data( 1 ) // убийца
    new iVictim = read_data( 2 ) // жертва
    new iIsHeadshot = read_data( 3 ) // хедшот (не знаю как его вычислить, подскажите кто знает :3)

    new szWeapon[ 20 ]
    read_data( 4, szWeapon, charsmax( szWeapon ) ) // оружие

    if( szWeapon == CSW_HEGRENADE )
    {
        then....

    if( szWeapon == CSW_KNIFE )
    {
        then....


вроде бы так, не?

Отредактировал: ZZZombiE, - 30.1.2012, 16:18


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 30.1.2012, 16:30
Сообщение #4


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Код
new iIsHeadshot = read_data( 3 ) // хедшот (не знаю как его вычислить, подскажите кто знает :3)

>>

Код
new iIsHeadshot = (hitplace == HIT_HEAD) ? 1 : 0


// а нет, это для client_death

Отредактировал: Rejiser, - 30.1.2012, 16:31
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 30.1.2012, 16:41
Сообщение #5
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

ZZZombiE,
в szWeapon при компиляцие, пишет:

Код
array must be indexed <variable "szWeapon">
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 30.1.2012, 19:25
Сообщение #6
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Вот, я написал, и не работает:

Код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <csx>
#include <fun>


public plugin_init()
{
    register_plugin("Players", "1.5", "Aythor")
}

public client_death(wpnindex)
{
    
    if (wpnindex == CSW_KNIFE && (read_data(3) == 1) && (read_data(5) == 0)  )
    {
    client_print(0, print_chat, "Был убит кто-то в голову с ножа")
    }
    else
    {
    
    if ((read_data(3) == 1) && (read_data(5) == 0))
    {
    client_print(0, print_chat, "Был убит кто-то в голову")
    else
    {
    client_print(0, print_chat, "Был убит кто-то просто как-то так")
    }
    }
    }
    
    }
    
    if(wpnindex == CSW_KNIFE)
    {
    client_print(0, print_chat, "Был убит кто-то ножом")
    }
    
    if(wpnindex == CSW_HEGRENADE)
    {
    client_print(0, print_chat, "Был убит кто-то гранатой")
    }
    
}


Но CSW_HEGRENADE и CSW_KNIFE = не работают
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 30.1.2012, 19:27
Сообщение #7


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Orty_Hart,
там нужен id оружия наверно


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 30.1.2012, 19:46
Сообщение #8
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

ZZZombiE,
А можно скрипт?)))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 30.1.2012, 20:31
Сообщение #9
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

ZZZombiE,
ну что? как делать??
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 30.1.2012, 20:56
Сообщение #10


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Цитата
CSW_P228 1
CSW_SCOUT 3
CSW_HEGRENADE 4
CSW_XM1014 5
CSW_C4 6
CSW_MAC10 7
CSW_AUG 8
CSW_SMOKEGRENADE 9
CSW_ELITE 10
CSW_FIVESEVEN 11
CSW_UMP45 12
CSW_SG550 13
CSW_GALIL 14
CSW_FAMAS 15
CSW_USP 16
CSW_GLOCK18 17
CSW_AWP 18
CSW_MP5NAVY 19
CSW_M249 20
CSW_M3 21
CSW_M4A1 22
CSW_TMP 23
CSW_G3SG1 24
CSW_FLASHBANG 25
CSW_DEAGLE 26
CSW_SG552 27
CSW_AK47 28
CSW_KNIFE 29
CSW_P90 30
CSW_VEST 31
CSW_VESTHELM 32

предполагаю что тебе нужна циферка, hz


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 30.1.2012, 21:44
Сообщение #11
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

ZZZombiE,
Написал так:

Цитата
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <csx>
#include <fun>


public plugin_init()
{
register_plugin("Players", "1.5", "Aythor")
}

public client_death(wpnindex)

if(wpnindex == (CSW_HEGRENADE, 4))
{
client_print(0, print_chat, "Был убит кто-то гранатой")
}

}


и не работает...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 30.1.2012, 22:14
Сообщение #12
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

ZZZombiE,
Вот так работает:

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

public plugin_init()
{
    register_plugin("Players", "1.5", "Author")
}

public client_death(killer, victim, wpnindex)
{
new dead = killer;
new ybil = victim;
new apt = wpnindex;

if(apt == CSW_KNIFE)
{
client_print(0, print_chat, "Игрок убит с ножа")
}
}


а вот думал как-то так сократить, но не работает:

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

public plugin_init()
{
    register_plugin("Players", "1.5", "Author")
}

public client_death()
{
if(read_data(3) == CSW_KNIFE)
{
client_print(0, print_chat, "Игрок убит с ножа")
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 31.1.2012, 5:48
Сообщение #13


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Код
[b]Orty_Hart,[/b]
#include <amxmodx>
#include <csx>
#include <cstrike>

public plugin_init()
{
    register_plugin("Players", "1.5", "Author")
}

public client_death(killer, victim, wpnindex)
{
if(wpnindex == CSW_KNIFE)
{
client_print(0, print_chat, "Игрок убит с ножа")
}
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 31.1.2012, 13:34
Сообщение #14
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

ZZZombiE, спасибо.
Вот думаю чтоб не создавать наново тему, помогите вычислить:
Комманду игрока и если она победила, то игроку с флагом C (ADMIN_LEVEL_H вроде) - давалось +1000 денег.

Скрипт который проверяет и дает деньги:

Код
if(is_user_connected(id) && is_user_alive(id) && get_user_flags(id) & ADMIN_LEVEL_H)
{
cs_set_user_money(id, cs_get_user_money(id) + 1000);
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 3.2.2012, 16:01
Сообщение #15
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

ребят, ну помогите)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя korobkin_dima
сообщение 6.2.2012, 12:32
Сообщение #16
Стаж: 15 лет

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

Цитата(Orty_Hart @ 30.1.2012, 16:08) *
Помогите сделать вычисление убийств таких видов:
1. Простое убийство + вывод в hud собщения и счет
2. Убийство в голову +hud счет
3. Убийство гранатой
4. Убийство ножом
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Flash
сообщение 6.2.2012, 13:19
Сообщение #17
Стаж: 16 лет

Сообщений: 793
Благодарности: выкл.

http://wiki.alliedmods.net/Half-Life_1_Game_Events#DeathMsg
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя korobkin_dima
сообщение 6.2.2012, 14:44
Сообщение #18
Стаж: 15 лет

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

Код
// Plugin Info
new const PLUGIN[]  = "Ultimate Sounds"
new const VERSION[] = "1.7"
new const AUTHOR[]  = "Dizzy / Bmann_420"

// Includes
#include <amxmodx>

//Defines
#define KNIFEMESSAGES 5
#define MESSAGESNOHP 5
#define MESSAGESHP 5
#define LEVELS 10

//Pcvars
new streak_mode, knife_mode, hs_mode, lastman_mode

new gmsgHudSync

new kills[33] = {0,...};
new deaths[33] = {0,...};
new alone_ann = 0
new levels[10] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};

//Streak Sounds
new stksounds[10][] =
{
    "misc/multikill",
    "misc/megakill",
    "misc/ultrakill",
    "misc/monsterkill",
    "misc/killingspree",
    "misc/wickedsick",
    "misc/rampage",
    "misc/ludacrisskill",
    "misc/godlike",
    "misc/holyshit"
}

new stkmessages[10][] =
{
    " MULTI-KILL! %s",
    " MEGA-KILL! %s",
    " ULTRA-KILL! %s",
    " MONSTER-KILL! %s",
    " KILLING SPREE! %s",
    " WICKED SICK! %s",
    " RAMPAGE! %s",
    " LUDACRISS-KILL! %s",
    " GODLIKE! %s",
    " HOLY SHIT! %s"
}

new knifemessages[KNIFEMESSAGES][] =
{
    "KNIFE_MSG_1",  
    "KNIFE_MSG_2",  
    "KNIFE_MSG_3",  
    "KNIFE_MSG_4",  
    "KNIFE_MSG_5"
}

new messagesnohp[MESSAGESNOHP][] =
{
    "NOHP_MNG_1",  
    "NOHP_MSG_2",  
    "NOHP_MSG_3",  
    "NOHP_MSG_4",  
    "NOHP_MSG_5"
}

new messageshp[MESSAGESHP][] =
{
    "HP_MSG_1",  
    "HP_MSG_2",  
    "HP_MSG_3",  
    "HP_MSG_4",  
    "HP_MSG_5"
}

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_cvar("ultimate_sounds",VERSION,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
    register_dictionary("ultimate_sounds.txt")
    register_event("DeathMsg","hs","a","3=1")
    register_event("DeathMsg","knife_kill","a","4&kni")
    register_event("ResetHUD", "reset_hud", "b");
    register_event("DeathMsg", "death_event", "a", "1>0");
    register_event("DeathMsg","death_msg","a")
    register_event("SendAudio","roundend_msg","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
    register_event("TextMsg","roundend_msg","a","2&#Game_C","2&#Game_w")

    lastman_mode = register_cvar("lastman_mode","")
    streak_mode = register_cvar("streak_mode","ab")
    knife_mode = register_cvar("knife_mode","ab")
    hs_mode = register_cvar("hs_mode","b")

    gmsgHudSync = CreateHudSyncObj()

    return PLUGIN_CONTINUE
}

get_streak()
{
    new streak[3]
    get_pcvar_string(streak_mode,streak,2)
    return read_flags(streak)
}

public death_event(id)
{
    new streak = get_streak()

    if ((streak&1) || (streak&2))
    {
            new killer = read_data(1);
            new victim = read_data(2);

            kills[killer] += 1;
            kills[victim] = 0;
            deaths[killer] = 0;
            deaths[victim] += 1;

            for (new i = 0; i < LEVELS; i++)
        {
                if (kills[killer] == levels[i])
            {
                        announce(killer, i);
                        return PLUGIN_CONTINUE;
            }
        }
    }
    return PLUGIN_CONTINUE;
}

announce(killer, level)
{
    new streak = get_streak()

    if (streak&1)
    {
            new name[32];

           get_user_name(killer, name, 32);
        set_hudmessage(255, 250, 250, 0.0, 0.71, 2, 0.02, 6.0, 0.03, 0.2, 2);
        ShowSyncHudMsg(0, gmsgHudSync, stkmessages[level], name);
    }

    if (streak&2){
        for(new i=1;i<=get_maxplayers();i++)
            if(is_user_connected(i)==1 )
                client_cmd(i, "spk %s", stksounds[level]);
    }
}

public reset_hud(id)
{
    new streak = get_streak()

    if (streak&1)
    {

        if (kills[id] > levels[0])

        {
                ShowSyncHudMsg(id, gmsgHudSync,"%L", id, "KILL_STREAK", kills[id]);
                set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
        }

        else if (deaths[id] > 1)

        {
            ShowSyncHudMsg(id, gmsgHudSync,"%L", id, "DEATH_STREAK", deaths[id]);
            set_hudmessage(0, 100, 200, 0.05, 0.65, 2, 0.02, 6.0, 0.01, 0.1, 2);
        }
    }
}

public client_connect(id)
{
    new streak = get_streak()

    if ((streak&1) || (streak&2))
    {
        kills[id] = 0;
        deaths[id] = 0;
    }
}

public knife_kill()
{
    new knifemode[4]
    get_pcvar_string(knife_mode,knifemode,4)
    new knifemode_bit = read_flags(knifemode)

    if (knifemode_bit & 1)
    {
        new killer_id = read_data(1)
        new victim_id = read_data(2)
        new killer_name[33], victim_name[33]

        get_user_name(killer_id,killer_name,33)
        get_user_name(victim_id,victim_name,33)


        set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)
        ShowSyncHudMsg(0, gmsgHudSync, "%L", LANG_PLAYER, knifemessages[ random_num(0,KNIFEMESSAGES-1) ],killer_name,victim_name)
    }

    if (knifemode_bit & 2)
    {
        for(new i=1;i<=get_maxplayers();i++)
            if( is_user_connected(i) == 1 )
                client_cmd(i,"spk misc/humiliation")
       }
}


public roundend_msg(id)

    alone_ann = 0

public death_msg(id)
{

    new lmmode[8]
    get_pcvar_string(lastman_mode,lmmode,8)
    new lmmode_bit = read_flags(lmmode)

    new players_ct[32], players_t[32], ict, ite, last
    get_players(players_ct,ict,"ae","CT")  
    get_players(players_t,ite,"ae","TERRORIST")  

    if (ict==1&&ite==1)
    {
        new name1[32], name2[32]
        get_user_name(players_ct[0],name1,32)
        get_user_name(players_t[0],name2,32)
        set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)

        if (lmmode_bit & 1)
        {
            if (lmmode_bit & 2)
            {
                ShowSyncHudMsg(0, gmsgHudSync, "%s (%i hp) vs. %s (%i hp)",name1,get_user_health(players_ct[0]),name2,get_user_health(players_t[0]))
            }

            else
            {
                ShowSyncHudMsg(0, gmsgHudSync, "%s vs. %s",name1,name2)
            }

            if (lmmode_bit & 4)
            {
                for(new i=1;i<=get_maxplayers();i++)
                    if( is_user_connected(i) == 1 )
                        client_cmd(i,"spk misc/maytheforce")
            }
        }
    }
    else
{  
    if (ict==1&&ite>1&&alone_ann==0&&(lmmode_bit & 4))
    {
        last=players_ct[0]
        client_cmd(last,"spk misc/oneandonly")

    }

    else if (ite==1&&ict>1&&alone_ann==0&&(lmmode_bit & 4))
    {
        last=players_t[0]
        client_cmd(last,"spk misc/oneandonly")
    }

    else
    {
        return PLUGIN_CONTINUE
    }
    alone_ann = last
    new name[32]  
    get_user_name(last,name,32)

    if (lmmode_bit & 1)
    {
        set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 6.0, 6.0, 0.5, 0.15, 1)

        if (lmmode_bit & 2)
        {
            ShowSyncHudMsg(0, gmsgHudSync, "%L", LANG_PLAYER, messageshp[ random_num(0,MESSAGESHP-1) ],ite ,ict ,name,get_user_health(last))
        }

        else
        {
            ShowSyncHudMsg(0, gmsgHudSync, "%L", LANG_PLAYER, messagesnohp[ random_num(0,MESSAGESNOHP-1) ],ite ,ict ,name )
        }
    }

}
    return PLUGIN_CONTINUE  
}


public hs()
{
    new hsmode[4]
    get_pcvar_string(hs_mode,hsmode,4)
    new hsmode_bit = read_flags(hsmode)

    if (hsmode_bit & 1)
    {
    new killer_id = read_data(1)
    new victim_id = read_data(2)
    new victim_name[33]

    get_user_name(victim_id,victim_name,33)

    set_hudmessage(200, 100, 0, -1.0, 0.30, 0, 3.0, 3.0, 0.15, 0.15, 1)
    ShowSyncHudMsg(killer_id, gmsgHudSync, "::HEADSHOT::^nYou Owned %s !!",victim_name)
    }

    if (hsmode_bit & 2)
    {
        for(new i=1;i<=get_maxplayers();i++)
            if( is_user_connected(i)==1 )
                client_cmd(i,"spk misc/headshot")
    }
}

public plugin_precache()
{
    precache_sound("misc/monsterkill.wav")
    precache_sound("misc/godlike.wav")
    precache_sound("misc/headshot.wav")
    precache_sound("misc/humiliation.wav")
    precache_sound("misc/killingspree.wav")
    precache_sound("misc/multikill.wav")
    precache_sound("misc/ultrakill.wav")
    precache_sound("misc/maytheforce.wav")
    precache_sound("misc/oneandonly.wav")
    precache_sound("misc/rampage.wav")
    precache_sound("misc/holyshit.wav")
    precache_sound("misc/megakill.wav")
    precache_sound("misc/wickedsick.wav")
    precache_sound("misc/ludacrisskill.wav")
        
    return PLUGIN_CONTINUE
}


Кто нибудь может помочь если не сложно?
[/i]Что бы HUD Сообщение выводилось со счетм сколько зделал [Хедов 0] [простых убиств 0] и что бы все это только можно было видеть в спекте.[/i]
Если есть такой плагин то ссылочку можно пожалуйста.

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