Сообщение от
vovandolg
ааа...
когда убиваешь стволом другого игрока срабатывает OnPlayerDeath
когда сетаешь хп другой игрок помирает от INVALID_PLAYER_ID
а мне надо сделать в команде(и в одном паблике потом ещё) имитацию убийства,
что Вася убил Петю и на выбор чем он убил...
Ну вот сама функция
PHP код:
stock FakeKill(killer, killee, weaponid)//killer - ID убийцы | killee - ID умершего игрока.
{
if(!IsPlayerConnected(killer))//Если убийца не подключён
{
SendDeathMessage(INVALID_PLAYER_ID, killee, WEAPON_DROWN);//Указываем про самоубийство
return 0;
}
if(!IsPlayerConnected(killee))//Если убитый не подключён
{
return -1;
}
else
{
SendDeathMessage(killer, killee, weaponid);
//И тут остальные действия, связанные с убийством (выдача денег/работа с другими переменными)
}
return 1;
}
Использование:
PHP код:
FakeKill(ID_убийцы, ID_убитого, ID_оружия);
Пример использования:
PHP код:
CMD:fakekill(playerid,params[])
{
new killer,
killee,
weaponid;
if(!sscanf(params, "iii", killer, killee, weaponid))
return SendClientMessage(playerid, 0x0000FFFF, "Использование: {FFFFFF}/kill <ID убийцы> <ID убиваемого игрока> <ID оружия>");
if(FakeKill(killer, killee, weaponid) == -1) return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: {FFFFFF}ID, который вы указали в качестве убийцы, не подключён");
SendClientMessage(playerid, 0x0000FFFF, "Использование: {FFFFFF}Вы совершили фейковое убийство");
return 1;
}
Функция возвращает:
-1 - если убитый игрок не подключён (никаких действий не произойдёт)
0 - если убийца не подключён (отправит в чат сообщение о суициде
1 - если оба игрока подключены (отправит сообщение о убийстве