RegisterHam • регистриране на hamsandwich функция

Библиотеката съдържа 37 natives, 0 forwards и 1 stock.
Отговори
Потребителски аватар

Автор на темата
LAWLIET ГЕНЕРАЛА
Потребител
Потребител
Мнения: 51
Регистриран: 08 окт 2016, 14:24
Местоположение: СофияЕИстината
Години: 20
Контакти:

RegisterHam • регистриране на hamsandwich функция

Мнение от LAWLIET ГЕНЕРАЛА » 08 окт 2016, 15:53

hamsandwich.incRegisterHam(Ham:function, const EntityClass[], const Callback[], Post=0, bool:specialbot = false);

Ham:function: име на функцията, която искаме да регистрираме
EntityClass[]: името на обекта, който искаме да hook-нем
CallBack[]: функцията в нашия плъгин (може да го кръстите както искате тук, но трябва да съответства на името на функцията по-долу във вашия код)
Post: ако е 0, функцията ще се извика преди действието, а 1 ще я извика след действието
bool:specialbot: дали да е активна специална поддръжка за ботове без "player" класа

Връща: handle на регистрираната функция.
Функцията се ползва за регистриране на даден hamsandwich event, като Ham_Killed.

Примерен плъгин №1: Бонус кръв за VIP-овете при убийство.

Код: Избери всички

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fun>

#define PLUGIN "Ham Killed / VIP HP Bonus"
#define VERSION "LwL"
#define AUTHOR "LAWLIET"


public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    // Регистрираме forward-a
    RegisterHam(Ham_Killed,"player","player_killed")
}

// Функцията която ще се извика когато entity-то регистрирано в plugin_init умре
public player_killed(victim, attacker, corpse)
{
    new szVictimName[32] // Регистрираме масива в който ще се запазва името на убитият
    get_user_name(victim, szVictimName, charsmax(szVictimName)) // Взимаме името на убитият

    if(get_user_flags(attacker) & ADMIN_BAN) // Проверката дали има бан права - ADMIN_BAN 
    {
        set_user_health(attacker, get_user_health(attacker) + 50) // Тук му даваме 50 кръв
        client_print(attacker, print_chat, "Vie poluchixte 50 kruv za ubiystvoto na %s", szVictimName) // Тук изписва в чата кой е убил и че му е дало кръв
    }
}

Изображение
Изображение ИзображениеИзображение ИзображениеИзображение

Отговори

Върни се в “hamsandwich.inc”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 0 госта