SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Русский/Russian (https://forum.sa-mp.com/forumdisplay.php?f=32)
-   -   как понять кто убил и того кого убили? (https://forum.sa-mp.com/showthread.php?t=158640)

fooxid 10/07/2010 04:41 PM

как понять кто убил и того кого убили?
 
паца кто в скриптинге шарит вот решил кое что сделать и столкнулся с вопросом. Как в павно определить игрока который убил, и того кого убили?

Ну смотрите например вася убил петю. Как убил неважно, всеми возможными способами.
И как в павно будет выглядеть вася который убил?
И как будет выглядеть петя которого убили?

Ну привязывать к васе и пете не нада, а вообще любойигрок который убил, и игрок которого убили.



Ну я понял что параметр (killerid) это с убийством связано но как определить игрока который убил, и которого убили? Как правильно записать этих двух услових, тот кто убил, и тот кого убили.

Например условие для того кто убил выглядет вот так if (playerid, killerid)
А условия для того кого убили выглядет так if (killerid)

Ну это я как для примера.А вы плиз правильно напишите.
фух.
Надеюсь доходчиво обьяснил.

MX_Master 10/07/2010 04:52 PM

Re: как понять кто убил и того кого убили?
 
PHP Code:

OnPlayerDeathplayeridkilleridreason

killerid - ID игрока-убийцы
playerid - ID игрока-трупа

если игрок умер сам, то killerid будет равен INVALID_PLAYER_ID (смотри значение в a_samp.inc)

fooxid 10/07/2010 05:30 PM

Re: как понять кто убил и того кого убили?
 
ясненько но токо не совсем как то.
набросайте побыстрому плиз код например если один игрок убил второго, то убийце писалось "вы убили", а игроку которого убили писалось "вас убили".

[TDM]Relax 10/07/2010 06:39 PM

Re: как понять кто убил и того кого убили?
 
в OnPlayerDeath( playerid, killerid, reason)
добавь
new dstring[128], name[MAX_PLAYER_NAME], killer[MAX_PLAYER_NAME];
if (killerid != INVALID_PLAYER_ID)
{
GetPlayerName(killerid, killer, sizeof(killer));
GetPlayerName(playerid, name, sizeof(name));
format(dstring,sizeof(dstring),".:: Вы убили %s ::.", name);
SendClientMessage(killerid, 0xAA3333AA, dstring);
format(dstring,sizeof(dstring),".:: Вас убил %s ::.", killer);
SendClientMessage(name, 0xAA3333AA, dstring);
}

fooxid 11/07/2010 04:30 PM

Re: как понять кто убил и того кого убили?
 
ничего не понял.
Ну спасибо ребята что пытались рассказать.

dimonml 11/07/2010 06:21 PM

Re: как понять кто убил и того кого убили?
 
При использовании метода OnPlayerDeath нужно учитывать: информацию о том кто убил игрока, шлет клиент убитого (что дает возможность нечестной игры: фейк килов и прочего) и алгоритм определения срабатывает не всегда точно. Фактически он следующий: кто последний перед гибелью попал в игрока (и из какого оружия), тот и убил. Так что достоверно определить кто кого убил в сампе нельзя :)


All times are GMT. The time now is 02:14 PM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.