Приветствую всех, уважаемый посетители Pro Pawn!
И у меня, задалось 2 вопроса...
1: Как сделать, что бы игрок не мог стрелять с машины?
2: Как сделать, что бы после убийства наводила камерой на того игрока который, убил?
Заранее спасибо.
Приветствую всех, уважаемый посетители Pro Pawn!
И у меня, задалось 2 вопроса...
1: Как сделать, что бы игрок не мог стрелять с машины?
2: Как сделать, что бы после убийства наводила камерой на того игрока который, убил?
Заранее спасибо.
1) SetPlayerArmedWeapon на 0 при посадке в транспорт. И если игрок, убивший другого игрока, был в транспорте, можно смело банить за NOP (только нужно, соответственно, заблокировать выдачу оружия в транспорте)
2) GetPlayerPos(killerid... + SetPlayerCameraLookAt(playerid...
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
На счёт 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;
}
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Ну или так:
На одну проверочку меньше.PHP код:
if(IsPlayerInAnyVehicle(killerid) && !(49 <= reason <= 51))
KickNew(killerid);
Последний раз редактировалось L0ndl3m; 28.08.2014 в 14:06. Причина: ahead :/
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)