Include Новые SA-MP callback-функции

NozmaD

Администратор
Команда форума
Администратор
Сообщения
166
Баллы
208
Набор полезных callback-функций для упрощений работы разработчиков.

Список callback-функций:
C++:
OnPlayerPause(playerid)
// Описание: Вызывается, когда игрок на паузе (АФК).

OnPlayerResume(playerid, time)
// Описание: Вызывается, когда игрок возобновил игру. (Вышел из АФК)

OnPlayerHoldingKey(playerid, keys)
// Описание: Вызывается, когда игрок начинает удерживать определенную кнопку.

OnPlayerReleaseKey(playerid, keys)
// Описание: Вызывается, когда игрок отпускает кнопку.

OnPlayerFall(playerid, Float:damage)
// Описание: Вызывается, когда игрок падает и теряет урон.

OnPlayerPacketLoss(playerid, Float:newpacket, Float:oldpacket)
// Описание: Вызывается, когда игрок теряет пакетов.

OnPlayerUseVending(playerid, type)
// Описание: Вызывается, когда игрок использует торговый автомат.

OnPlayerCrashVehicle(playerid, vehicleid, Float:damage)
// Описание: Вызывается, когда игрок разбивает автомобиль.

OnPlayerFPSChange(playerid, oldfps, newfps)
// Описание: Вызывается, когда изменяется FPS игрока.

OnPlayerJackVehicle(playerid, targetid, vehicleid)
// Описание: Вызывается, когда игрок "взламывает" автомобиль другого игрока.

OnPlayerEmptyWeapon(playerid, weaponid)
// Описание: Вызывается, когда игрок израсходовал все боеприпасы в оружии.

OnPlayerFriendlyFire(playerid, targetid, weaponid)
// Описание: Вызывается, когда игрок стреляет в товарища по команде.

OnPlayerTargetPlayer(playerid, targetid, weaponid)
// Описание: Вызывается, когда игрок с оружием нацеливается на другого игрока.

OnPlayerHideCursor(playerid, hovercolor)
// Описание: Вызывается, когда игрок отменяет выбор textdraw.

OnPlayerAntiReload(playerid, weaponid)
// Описание: Вызывается, когда игрок стреляет без перезарядки своего оружия.

OnPlayerAnimationPlay(playerid, animlib[], animname[])
// Описание: Вызывается при воспроизведении анимации.

OnPlayerReloadWeapon(playerid, weaponid, ammo)
// Описание: Вызывается, когда игрок перезаряжает свое оружие.

OnPlayerActionChange(playerid, oldaction, newaction)
// Описание: Вызывается, когда действие игрока изменяется (см. Список действий).

OnPlayerRamPlayer(playerid, driverid, vehicleid, Float:damage)
// Описание: Вызывается, когда игрок разворачивает другого игрока.

OnPlayerSprayAtVehicle(playerid, vehicleid)
// Описание: Вызывается, когда игрок распыляет балончик на автомобиль.

OnPlayerStartBurn(playerid)
// Описание: Вызывается, когда игрок горит от огня.

OnPlayerStopBurn(playerid)
// Описание: Вызывается, когда игрок перестает гореть.

OnPlayerStartAim(playerid, weaponid)
// Описание: Вызывается, когда игрок нацеливает оружие.

OnPlayerStopAim(playerid)
// Описание: Вызывается, когда игрок перестает прицеливаться.

OnPlayerUseCamera(playerid)
// Описание: Вызывается, когда игрок снимает изображение с помощью камеры (ID оружия: 43).

OnPlayerJump(playerid)
// Описание: Вызывается, когда игрок прыгает (По-умолчанию клавиша SHIFT).

OnPlayerUseGarage(playerid, vehicleid, type)
// Описание: Вызывается, когда игрок использует Pay'n'Spray или магазин бомб.

OnVehicleCreated(vehicleid, color1, color2)
// Описание: Вызывается, когда транспортное средство создается сервером.

Список функций:
C++:
IsPlayerPaused(playerid)
// Описание: Возвращает 1, если игрок на пафузе (в АФК).

IsPlayerSkydiving(playerid);
// Описание: Возвращает 1, если игрок прыгает с парашютом.

IsPlayerSwimming(playerid)
// Описание: Возвращает 1, если игрок плавает.

IsPlayerBurning(playerid)
// Описание: Возвращает 1, если игрок горит.

IsPlayerAiming(playerid)
// Описание: Возвращает 1, если игрок прицеливается из оружия.

IsPlayerJumping(playerid)
// Описание: Возвращает 1, если игрок прыгает.

IsPlayerNearVending(playerid, type)
// Описание: Возвращает 1, если игрок находится рядом с указанным типом торгового автомата.

IsPlayerSprayingVehicle(playerid, vehicleid)
// Описание: Возвращает 1, если игрок распыляет балончик на транспортное средство (ID оружия: 41).
    
IsPlayerNearGarage(playerid, type)
// Описание: Возвращает 1, если игрок находится рядом с указанным типом гаража.

GetPlayerAction(playerid)
// Описание: Возвращает текущее действие игрока.

Float:GetPlayerPacketLoss(playerid)
// Описание: Возвращает потерю пакетов игрока.

GetPlayerPausedTime(playerid)
// Описание: возвращает время, в течение которого игрок был на паузе (в АФК) (в миллисекундах).

GetPlayerFPS(playerid)
// Описание: Возвращает FPS игрока.

Типы действий для GetPlayerAction и OnPlayerActionChange:
C++:
#define PLAYER_ACTION_NONE      0
#define PLAYER_ACTION_SHOOTING  1
#define PLAYER_ACTION_SWIMMING  2
#define PLAYER_ACTION_SKYDIVING 3

Типы гаражей для OnPlayerUseGarage и IsPlayerNearGarage:
C++:
#define GARAGE_BOMBSHOP         1
#define GARAGE_PAYNSPRAY        2

Типы торговых автоматов для OnPlayerUseVending и IsPlayerNearVending:
C++:
#define VENDING_TYPE_SPRUNK     1
#define VENDING_TYPE_CANDY      2

Примеры кода:
C++:
public OnPlayerUseGarage(playerid, type)
{
    if(type == GARAGE_PAYNSPRAY)
    {
        SendClientMessage(playerid, -1, "Было снято 100$ за перекраску вашего автомобиля.");
        PlayerInfo[playerid][pMoney] -= 100;
    }
    else if(type == GARAGE_BOMBSHOP)
    {
        SendClientMessage(playerid, COLOR_WHITE, "Было снято 500$ за установку бомбы в Ваш автомобиль.");
        PlayerInfo[playerid][pMoney] -= 500;
    }
    return 1;
}
C++:
public OnPlayerResume(playerid, time)
{
    new
        string[48];

    format(string, sizeof(string), "Вы были в АФК %i мс.", time);
    SendClientMessage(playerid, -1, string);
    return 1;
}
C++:
public OnPlayerActionChange(playerid, oldaction, newaction)
{
    if (newaction == PLAYER_ACTION_SHOOTING)
    {
        SendClientMessage(playerid, -1, "Сейчас Вы стреляете из оружия.");
    }
    else if (newaction == PLAYER_ACTION_SKYDIVING)
    {
        SendClientMessage(playerid, -1, "Сейчас Вы падаете с парашютом");
    }
    else if (newaction == PLAYER_ACTION_SWIMMING)
    {
        SendClientMessage(playerid, COLOR_WHITE, "Сейчас Вы плаваете.");
    }
}
C++:
public OnPlayerStartBurn(playerid)
{
    // Прикрепляем огненную частицу к этому игроку, чтобы другие игроки могли видеть их горящими!
    SetPlayerAttachedObject(playerid, 0, 18691, 1);
    return 1;
}

public OnPlayerStopBurn(playerid)
{
    RemovePlayerAttachedObject(playerid, 0);
    SendClientMessage(playerid, -1, "Поздравляем. Вы теперь не горите :)");
    return 1;
}
Скачать:

Пожалуйста, Войдите или Зарегистрируйтесь, что бы увидеть скрытый контент.

 
Автор
Emmet_

Вложения

  • New-SA-MP-callbacks.zip
    9.3 КБ · Просмотры: 2

Eupie

New member
Пользователь
Сообщения
1
Баллы
1
C:\Users\Eupie\Desktop\SAMP Mod\Matrix RolePlay [0.3.7]\pawno\include\callbacks.inc(1103) : warning 202: number of arguments does not match definition
C:\Users\Eupie\Desktop\SAMP Mod\Matrix RolePlay [0.3.7]\pawno\include\callbacks.inc(1331) : error 025: function heading differs from prototype

Это выдаёт при компиляции.
 

NozmaD

Администратор
Команда форума
Администратор
Сообщения
166
Баллы
208
@Eupie, только что проверил. Данных ошибок не выявил

Попробуйте обновить инклуды основные (

Пожалуйста, Войдите или Зарегистрируйтесь, что бы увидеть скрытый контент.

)
 
Верх