RegisterHamFromEntity • регистриране на hamsandwich функция по entity-id

Библиотеката съдържа 37 natives, 0 forwards и 1 stock.
Аватар
LAWLIET
Извън линия
Потребител
Потребител
Мнения: 51
Регистриран на: 08 Окт 2016, 14:24
Местоположение: СофияЕИстината
Обратна връзка:

RegisterHamFromEntity • регистриране на hamsandwich функция по entity-id

Мнение от LAWLIET » 08 Окт 2016, 16:49

hamsandwich.incRegisterHamFromEntity(Ham:function, EntityId, const Callback[], Post=0);

Ham:function: името на функцията
EntityId: id-то на обекта
Callback[]: името на функцията по-долу в нашият код
Post: ако е 0, функцията ще се извика преди действието, а 1 ще я извика след действието

Връща: handle на регистрираната функция.
Примерен плъгин №1: Дава по 10 кръв всеки път когато играча скочи във въздуха.

Код за потвърждение: Избери целия код

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

new bool:g_bHam_Reg // Тук регистрираме променлива тип Boolean

#define PLUGIN "Register Ham From Entity / Jump HP Bonus"
#define VERSION "LwL"
#define AUTHOR "LAWLIET"

public plugin_init(){
    register_plugin(PLUGIN, VERSION, AUTHOR)
}

public client_putinserver(id) // Тази функция се извиква когато играча влезе в игра
{
    if(!g_bHam_Reg) 
        set_task(1.0, "RegHook", id) // Тук задействаме RegHook функцията върху играча
}

public RegHook(id)
{
        if(g_bHam_Reg || !is_user_connected(id)) // Проверка за да нямаме грешки в сървърната конзола
            return
            
        RegisterHamFromEntity(Ham_Player_Jump, id, "fw_player_in_jump", 1) // Тук регистрираме native-а когато играча е във въздуха
        g_bHam_Reg = true // Тук задаваме нашият bool на true
}
public fw_player_in_jump(id)
{
    set_user_health(id, get_user_health(id) + 10) // Тук даваме +10 кръв на скочилият играч във въздуха
    client_print(id, print_chat, "You got bonus HP for jumping!") // Тук ще изпише в чата, че си взел кръв.
}

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

Обратно към “hamsandwich.inc”

Кой е на линия

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