Специальные действия
Материал из Pro-Pawn Wiki
Описание:
Константы специальных действий, используемые в функцииях
GetPlayerSpecialAction()
и SetPlayerSpecialAction()
.
-
SPECIAL_ACTION_NONE
- игрок не выполняет специальных действий (останавливает текущее спец. действие при использовании вSetPlayerSpecialAction()
); -
SPECIAL_ACTION_DUCK
- игрок пригнулся; -
SPECIAL_ACTION_USEJETPACK
- игрок использует джетпак; -
SPECIAL_ACTION_ENTER_VEHICLE
- игрок входит в транспортное средство; -
SPECIAL_ACTION_EXIT_VEHICLE
- игрок выходит из транспортного средства; -
SPECIAL_ACTION_DANCE1
- танец #1 (анимации из библиотеки "WOP"); -
SPECIAL_ACTION_DANCE2
- танец #2 (библиотека "GFUNK"); -
SPECIAL_ACTION_DANCE3
- танец #3 ("бегущий человек"; библиотека "RUNNINGMAN"); -
SPECIAL_ACTION_DANCE4
- танец #4 (стриптиз; библиотека "STRIP"); -
SPECIAL_ACTION_HANDSUP
- игрок поднял руки вверх; -
SPECIAL_ACTION_USECELLPHONE
- игрок взял в руки телефон; -
SPECIAL_ACTION_SITTING
- игрок сидит; -
SPECIAL_ACTION_STOPUSECELLPHONE
- игрок кладёт телефон в карман; -
SPECIAL_ACTION_DRINK_BEER
- игрок пьёт пиво; -
SPECIAL_ACTION_SMOKE_CIGGY
- игрок курит сигарету; -
SPECIAL_ACTION_DRINK_WINE
- игрок пьёт вино; -
SPECIAL_ACTION_DRINK_SPRUNK
- игрок пьёт Sprunk; -
SPECIAL_ACTION_CUFFED
- руки игрока загнуты за спину, как если закованы в наручники; -
SPECIAL_ACTION_CARRY
- игрок выставляет руки вперёд, как для переноса какого-либо предмета; -
SPECIAL_ACTION_PISSING
- игрок справляет малую нужду (константа не объявлена по умолчанию - см. прим.)
Примечание |
Действия SPECIAL_ACTION_DUCK , SPECIAL_ACTION_ENTER_VEHICLE и SPECIAL_ACTION_EXIT_VEHICLE только возвращаются функцией GetPlayerSpecialAction() и их нельзя использовать в SetPlayerSpecialAction() .
Действия SPECIAL_ACTION_USECELLPHONE , SPECIAL_ACTION_STOPUSECELLPHONE и SPECIAL_ACTION_CUFFED лишают игрока возможности входить в транспорт, бегать спринтом, бить и стрелять из оружия. Кроме того, SPECIAL_ACTION_USECELLPHONE делает невозможными прыжки (при этом на сервер отправляется информация о нажатии клавиши прыжка).
Действие SPECIAL_ACTION_CARRY лишает игрока возможности входить в транспорт, бегать спринтом, бить, стрелять из оружия, а также прыгать (при этом информация о нажатии на клавишу прыжка не отправляется на сервер). Также SPECIAL_ACTION_CARRY может быть скомбинировано с SPECIAL_ACTION_USEJETPACK : у игрока будет джетпак, но он не сможет летать на нём.
Если к игроку, управляющему тепловозом/трамваем, применить действие SPECIAL_ACTION_CARRY , он не сможет управлять транспортом до тех пор, пока действие не будет сброшено (SPECIAL_ACTION_NONE ). Если же к нему применить действие SPECIAL_ACTION_CUFFED , он не сможет ехать вперёд, но у него останется возможность сдавать назад.
|
Баг SA-MP |
Константа SPECIAL_ACTION_PISSING не объявлена в a_samp.inc . Её можно объявить вручную следующим образом:
#if !defined SPECIAL_ACTION_PISSING const SPECIAL_ACTION_PISSING = 68; #endif Если с помощью SetPlayerSpecialAction() выдать игроку джетпак (SPECIAL_ACTION_USEJETPACK ), а затем удалить его (SPECIAL_ACTION_NONE ), звук от сопла джетпака останется у игрока до тех пор, пока он не умрёт. Чтобы решить данную проблему, необходимо перед сбросом действия (или активацией нового действия) также сбрасывать анимацию:
ClearAnimations(playerid); SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE); Если у игрока скин #0 (CJ), для действий SPECIAL_ACTION_CUFFED и SPECIAL_ACTION_CARRY не будет работать анимация (руки игрока не будут вытянуты вперёд/загнуты за спину).
|
См. также: