http://laska-samp.biz/articles/pawn-book/osnovy-skripttting/sozdanie-vxoda
°•°•° Проект SAMP - Romashka [0.3e] ™18+™ °•°•° :: Теория :: Pawn :: Основы скриптинга

Создание входа и выхода из здания.

            Чтобы сделать вход в здание, нам нужно проверить, стоит ли игрок перед входом с помощью функции PlayerToPoint.
             Вход мы сделаем по клавише.
            Давайте сделаем вход по команде, а потом сделаем, выполнение этой команды по клавише.

if(strcmp(cmdtext, "/enter", true) == 0)
{
if(PlayerToPoint(1.0,playerid,1481.0232,-1771.8905,18.7958)) //Вход в мэрию ЛС
{
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,390.5630,173.7925,1008.3828);
SetPlayerFacingAngle(playerid,93.2971);
}
}


Функцией SetPlayerInterior – мы устанавливаем интерьер, в котором находится интерьер данного здания.
Устанавливаем позицию игрока функцией SetPlayerPos и его угол функцией SetPlayerFacingAngle.
Вход мы сделали, теперь делаем выход.
Теперь (между 8 – 9 строкой) пишем условие else if следующего содержания:

else if(PlayerToPoint(1.0,playerid,390.1724,-173.7887,1008. 3828)) //Вход в мэрию ЛС
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1481.0232,-1771.8905,18.7958);
SetPlayerFacingAngle(playerid,3.9151);
}


Теперь, чтобы сделать вход и выход в здание по клавише, например Alt, в автовызываемую функцию OnPlayerKeyStateChange пишем следующее:

if(newkeys == 1024)
{
OnPlayerCommandText(playerid,"/enter");
}





Опубликовано 11 December 2013