Приветствую всех, уважаемый посетители Pro Pawn!
И у меня, задалось 2 вопроса...
1: Как сделать, что бы игрок не мог стрелять с машины?
2: Как сделать, что бы после убийства наводила камерой на того игрока который, убил?
Заранее спасибо.
Вид для печати
Приветствую всех, уважаемый посетители Pro Pawn!
И у меня, задалось 2 вопроса...
1: Как сделать, что бы игрок не мог стрелять с машины?
2: Как сделать, что бы после убийства наводила камерой на того игрока который, убил?
Заранее спасибо.
1) SetPlayerArmedWeapon на 0 при посадке в транспорт. И если игрок, убивший другого игрока, был в транспорте, можно смело банить за NOP (только нужно, соответственно, заблокировать выдачу оружия в транспорте)
2) GetPlayerPos(killerid... + SetPlayerCameraLookAt(playerid...
На счёт 1, понятного кроме проверки на НОП:
Как проверить, что больше 0?PHP код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
SetPlayerArmedWeapon(playerid,0);
}
/* NOP //
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
SetPlayerArmedWeapon(playerid, > 0);
KickNew(playerid);
} */
return 1;
}
На счёт 2, попробую сделать
PHP код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) SetPlayerArmedWeapon(playerid,0);
return 1;
}
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER || GetPlayerState(killerid) == PLAYER_STATE_PASSENGER) KickNew(playerid);
return 1;
}
- - - Добавлено - - -PHP код:
if(killerid == INVALID_PLAYER_ID) return 1;
PHP код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) SetPlayerArmedWeapon(playerid,0);
return 1;
}
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid == INVALID_PLAYER_ID) return 1;
if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER || GetPlayerState(killerid) == PLAYER_STATE_PASSENGER) KickNew(playerid);
return 1;
}
И что ты этим сделал?
Ой, глупость написал...
Вот верно.
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid == INVALID_PLAYER_ID) return 1;
if((GetPlayerState(killerid) == PLAYER_STATE_DRIVER || GetPlayerState(killerid) == PLAYER_STATE_PASSENGER)
{
switch(reason)
{
case 49,50,51: {}
default: KickNew(killerid);
}
}
return 1;
}
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID && IsPlayerInAnyVehicle(killerid) && (1 <= reason <= 46)) return KickNew(playerid);
return 1;
}
Ну или так:
На одну проверочку меньше.PHP код:
if(IsPlayerInAnyVehicle(killerid) && !(49 <= reason <= 51))
KickNew(killerid);