Alex_Bardakov
Компетентный
Доступно с SA-MP 0.3.7 RC3!
GetPlayerCameraTargetPlayer(playerid) для нахождения объекта, машины, игрока, на которого игрок смотрит.
Параметры: playerid - ID игрока
Эта функция по умолчанию отключена для экономии трафика. Используйте EnablePlayerCameraTarget , чтобы включить ее для каждого игрока.
Теперь рассмотрим, как это работает.
GetPlayerCameraTargetPlayer(playerid):
Не путаем эту функцию с GetPlayerTargetPlayer!
GetPlayerCameraTargetVehicle(playerid)
Не путаем эту функцию с GetPlayerTargetActor!
GetPlayerCameraTargetObject(playerid)
Источник:
Перевел я,ну в общем не перевел а переделал и перевел,все для вашего удобства)
GetPlayerCameraTargetPlayer(playerid) для нахождения объекта, машины, игрока, на которого игрок смотрит.
PHP:
GetPlayerCameraTargetPlayer(playerid) - Узнает ID игрока, на которого смотрит игрок
GetPlayerCameraTargetVehicle(playerid) - Узнает ID машины, на которую смотрит игрок
GetPlayerCameraTargetActor(playerid) - Узнает ID актера, на которого смотрит игрок
GetPlayerCameraTargetObject(playerid) - Узнает ID объекта, на который смотрит игрок
Эта функция по умолчанию отключена для экономии трафика. Используйте EnablePlayerCameraTarget , чтобы включить ее для каждого игрока.
PHP:
public OnPlayerConnect(playerid)
{
EnablePlayerCameraTarget(playerid, 1);
return 1;
}
1 - включить
0 - выключить
GetPlayerCameraTargetPlayer(playerid):
PHP:
new playerTarget = GetPlayerCameraTargetPlayer(playerid);
if(IsPlayerAdmin(playerTarget))
{
GameTextForPlayer(playerid, "Looking at an admin", 3000, 3);
}
GetPlayerCameraTargetVehicle(playerid)
PHP:
new globalVehicleID;
public OnGameModeInit()
{
globalVehicleID = CreateVehicle(596, 0, 0, 3, 0, 0, 0, -1, -1, -1);
return 1;
}
public OnPlayerConnect(playerid)
{
EnablePlayerCameraTarget(playerid, true);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/check", true))
{
new vehicleid = GetPlayerCameraTargetVehicle(playerid);
if(vehicleid == globalVehicleID)
{
SendClientMessage(playerid, -1, "Ты смотришь на свой автомобиль!");
}
else
{
SendClientMessage(playerid, -1, "Ты не смотришь на свой автомобиль.");
}
return 1;
}
return 0;
}
GetPlayerCameraTargetActor(playerid)
new bool:ActorHandsup[MAX_ACTORS];
public OnPlayerConnect(playerid)
{
EnablePlayerCameraTarget(playerid, 1);
return 1;
}
public OnPlayerUpdate(playerid)
{
// Find out what actor (if any) the player is LOOKING at
new playerTargetActor = GetPlayerCameraTargetActor(playerid);
// If they ARE looking at ANY actor
if(playerTargetActor != INVALID_ACTOR_ID)
{
// Store the player's weapon so we can check if they are armed
new playerWeapon = GetPlayerWeapon(playerid);
// Get the player's keys so we can check if they are aiming
new keys, updown, leftright;
GetPlayerKeys(playerid, keys, updown, leftright);
// If the actor hasn't put its hands up yet, AND the player is ARMED
if(!ActorHandsup[playerTargetActor] && playerWeapon >= 22 && playerWeapon <= 42 && keys & KEY_AIM)
{
// Apply 'hands up' animation
ApplyActorAnimation(playerTargetActor, "SHOP", "SHP_HandsUp_Scr",4.1,0,0,0,1,0);
// Set 'ActorHandsup' to true, so the animation won't keep being reapplied
ActorHandsup[playerTargetActor] = true;
}
}
return 1;
}
GetPlayerCameraTargetObject(playerid)
PHP:
new globalObjectID;
public OnGameModeInit()
{
globalObjectID = CreateObject(1337, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/check", true))
{
new objectid = GetPlayerCameraTargetObject(playerid);
if(objectid == globalObjectID)
{
SendClientMessage(playerid, -1, "You're looking at your object.");
}
else if(objectid == INVALID_OBJECT_ID) // INVALID_OBJECT_ID = 65535
{
SendClientMessage(playerid, -1, "You're not looking at any object.");
}
return 1;
}
return 0;
}
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Перевел я,ну в общем не перевел а переделал и перевел,все для вашего удобства)
