Mathian
Мастер
Вот коллекция полезных функций обратного вызова для SA-MP, которые регулярно обновляются.
Несколько функций:
Типы действий для GetPlayerAction и OnPlayerActionChange:
Примеры использования:
Автор: Emmet
P.S. возникли небольшие проблемы с переводом. Если заметите ляп - напишите пожалуйста.
PHP:
// Вызывается, когда игрок делает паузу
forward OnPlayerPause(playerid);
// Вызывается, когда игрок возвращается в игру
forward OnPlayerResume(playerid, time);
// Вызывается, когда игрок удерживает клавишу
forward OnPlayerHoldingKey(playerid, keys);
// Вызывается, когда игрок отпускает клавишу
forward OnPlayerReleaseKey(playerid, keys, time);
// Вызывается, когда игрок падает с высоты
forward OnPlayerFall(playerid, Float:damage);
// Вызывается, когда игрок теряет пакеты данных
forward OnPlayerPacketLoss(playerid, Float:oldloss, Float:newloss);
// Вызывается, когда игрок разбивает своё ТС
forward OnPlayerCrashVehicle(playerid, vehicleid, Float:damage);
// Вызывается, когда игрок использует торговый автомат
forward OnPlayerUseVending(playerid);
// Вызывается, когда у игрока меняется FPS
forward OnPlayerFPSChange(playerid, oldfps, newfps);
// Вызывается, когда игрок Jacks(Немного не понял) транспорт другого игрока
forward OnPlayerJackVehicle(playerid, targetid, vehicleid);
// Вызывается, когда игрок полностью использует все патроны в своём оружии
forward OnPlayerEmptyWeapon(playerid, weaponid);
// Вызывается, когда игрок стреляет в товарещей по команде
forward OnPlayerFriendlyFire(playerid, targetid, weaponid);
// Вызывается, когда игрок нацелен на другого игрока
forward OnPlayerTargetPlayer(playerid, targetid, weaponid);
// Вызывается, когда игрок отключает режим выбора TD
forward OnPlayerHideCursor(playerid, hovercolor);
// Вызывается, когда игрок стреляет без перезарядки
forward OnPlayerAntiReload(playerid, weaponid);
// Вызывается, когда анимация закончена
forward OnPlayerAnimationPlay(playerid, animlib[], animname[]);
// Вызывается, когда игрок перезаряжает своё оружие
forward OnPlayerReloadWeapon(playerid, weaponid, ammo);
// Вызывается, когда игрок горит
forward OnPlayerBurning(playerid, status);
// Вызывается, когда игрок наводит прицел
forward OnPlayerAiming(playerid, weaponid, status);
// Вызывается, когда изменяется действие игрока
forward OnPlayerActionChange(playerid, oldaction, newaction);
// Вызывается, когда игрок наезжает(на ТС) на другого игрока
forward OnPlayerRamPlayer(playerid, driverid, vehicleid, Float:damage);
// Вызывается, когда игрок использует камеру, чтобы сделать снимок
forward OnPlayerUseCamera(playerid);
// Вызывается, когда игрок распыляет спрей в сторону автомобиля
forward OnPlayerSprayAtVehicle(playerid, vehicleid);
PHP:
// Возвращает 1 если игрок становится на паузу
stock IsPlayerPaused(playerid);
// Возвращает 1 если игрок зажимает клавишу
stock IsPlayerHoldingKey(playerid, keys);
// Возвращает 1 если игрок прыгает с парашютом
stock IsPlayerSkydiving(playerid);
// Возвращает 1 если игрок плавает
stock IsPlayerSwimming(playerid);
// Возвращает 1 если игрок горит
stock IsPlayerBurning(playerid);
// Возвращает 1 если игрок целится
stock IsPlayerAiming(playerid);
// Возвращает 1 если игрок рядом с торговым автоматом
stock IsPlayerNearVending(playerid);
// Возвращает 1 если игрок распыляет краску в сторону автомобиля
stock IsPlayerSprayingVehicle(playerid, vehicleid);
// Возвращает действие игрока
stock GetPlayerAction(playerid);
// Возвращает потери Packets(Немного не понял) игрока
stock Float:GetPlayerPacketLoss(playerid);
// Возвращает время, которое игрок простоял на паузе
stock GetPlayerPausedTime(playerid);
// Возвращает количество FPS игрока
stock GetPlayerFPS(playerid);
PHP:
#define PLAYER_ACTION_NONE (0)
#define PLAYER_ACTION_SHOOTING (1)
#define PLAYER_ACTION_SWIMMING (2)
#define PLAYER_ACTION_SKYDIVING (3)
#define PLAYER_ACTION_JUMPING (4)
PHP:
public OnPlayerResume(playerid, time)
{
new
string[48];
format(str, sizeof(str), "You've been paused for %d milliseconds.", time);
SendClientMessage(playerid, COLOR_WHITE, string);
}
public OnPlayerCrashVehicle(playerid, vehicleid, Float:damage)
{
new
string[128];
format(string, sizeof(string), "You have crashed vehicle ID: %d (damage: %.2f).", vehicleid, damage);
SendClientMessage(playerid, COLOR_WHITE, string);
}
public OnPlayerActionChange(playerid, oldaction, newaction)
{
if (newaction == PLAYER_ACTION_SHOOTING)
{
SendClientMessage(playerid, COLOR_WHITE, "You are now shooting a weapon.");
}
else if (newaction == PLAYER_ACTION_SKYDIVING)
{
SendClientMessage(playerid, COLOR_WHITE, "You are now skydiving with a parachute.");
}
else if (newaction == PLAYER_ACTION_SWIMMING)
{
SendClientMessage(playerid, COLOR_WHITE, "You are now swimming in the dirty water.");
}
else if (newaction == PLAYER_ACTION_JUMPING)
{
SendClientMessage(playerid, COLOR_WHITE, "You are now jumping like an idiot!");
}
}
P.S. возникли небольшие проблемы с переводом. Если заметите ляп - напишите пожалуйста.
Вложения
-
16 KB Просмотры: 16
