SendDeathMessage(playerid, killerid, reason);
new string[128];
SendDeathMessage(playerid, killerid, reason);
new killername[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, killername, sizeof(killername)); GetPlayerName(playerid, playername, sizeof(playername));
if(killerid != INVALID_PLAYER_ID)
{
new playerstate = GetPlayerState(killerid);
if(playerstate == PLAYER_STATE_DRIVER)
{
GivePlayerMoney(killerid, -5000);
SetPlayerScore(killerid, GetPlayerScore(killerid) -5);
SendClientMessage(killerid, 0xFF0000AA, "| ANTI - DB | Vocк foi punido em 5 scores e R$: 5000,00 por matar os jogadores atropelando-os");
format(string, sizeof(string), "| ANTI - DB | %s foi punido em 5 scores e R$: 5000,00 por matar %s utilizando veнculo (Driver by)", killername, playername);
SendClientMessageToAll(0xFF0000AA, string);
}
}
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
if(GetPlayerState(issuerid) == PLAYER_STATE_DRIVER){
if(weaponid == WEAPON_VEHICLE)
{
static dbname[MAX_PLAYER_NAME], vname[MAX_PLAYER_NAME];
static Float:X, Float:Y, Float:Z, Float:Health, Float:Armour;
static str[128];
GetPlayerName(issuerid, dbname, MAX_PLAYER_NAME);
GetPlayerName(playerid, vname, MAX_PLAYER_NAME);
GetPlayerPos(issuerid, X, Y, Z);
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z+4); //Tira o player debaixo do carro
SetPlayerPos(issuerid, X, Y, Z+5); //Ejeta o motorista
GetPlayerHealth(issuerid, Health);
GetPlayerArmour(issuerid, Armour);
SetPlayerHealth(issuerid, Health - 30); //Tira -30 de HP do motorista
SetPlayerArmour(issuerid, Armour - 30); //Tira -30 de Colete do motorista
format(str, sizeof(str), "INFO: %s fez DB em %s | Foi ejetado do seu veнculo e perdeu Vida e Colete |", dbname,vname);
SendClientMessageToAll(0xFFFF00FF, str);
}
}
return 1;
}
|
Fiz esse bem rбpido aqui use como base acho que й oque procura:
Код:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
if(GetPlayerState(issuerid) == PLAYER_STATE_DRIVER)
{
static dbname[MAX_PLAYER_NAME], vname[MAX_PLAYER_NAME];
static Float:X, Float:Y, Float:Z, Float:Health, Float:Armour;
static str[128];
GetPlayerName(issuerid, dbname, sizeof(dbname))
GetPlayerName(playerid, vname, sizeof(vname))
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z+4); //Tira o player debaixo do carro
GetPlayerPos(issuerid, X, Y, Z);
SetPlayerPos(issuerid, X, Y, Z+5); //Ejeta o motorista
GetPlayerHealth(issuerid, Health);
GetPlayerArmour(issuerid, Armour);
SetPlayerHealth(issuerid, Health - 30); //Tira -30 de HP do motorista
SetPlayerArmour(issuerid, Armour - 30); //Tira -30 de Colete do motorista
format(str, sizeof(str), "INFO: %s fez DB em %s | Foi ejetado do seu veнculo e perdeu Vida e Colete |", dbname,vname);
SendClientMessageToAll(0xFFFF00FF, str);
}
return 1;
}
|
|
So nгo pode atirar de dentro de um veiculo porque se nгo ele acusa drive-by
|
if(GetPlayerState(issuerid) == PLAYER_STATE_DRIVER)
{
if(weaponid == WEAPON_VEHICLE)
{
static dbname[MAX_PLAYER_NAME], vname[MAX_PLAYER_NAME];
static Float:X, Float:Y, Float:Z, Float:Health, Float:Armour;
static str[128];
GetPlayerName(issuerid, dbname, MAX_PLAYER_NAME);
GetPlayerName(playerid, vname, MAX_PLAYER_NAME);
GetPlayerPos(issuerid, X, Y, Z);
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z+4); //Tira o player debaixo do carro
SetPlayerPos(issuerid, X, Y, Z+5); //Ejeta o motorista
GetPlayerHealth(issuerid, Health);
GetPlayerArmour(issuerid, Armour);
SetPlayerHealth(issuerid, Health - 30); //Tira -30 de HP do motorista
SetPlayerArmour(issuerid, Armour - 30); //Tira -30 de Colete do motorista
format(str, sizeof(str), "INFO: %s fez DB em %s | Foi ejetado do seu veнculo e perdeu Vida e Colete |", dbname,vname);
SendClientMessageToAll(0xFFFF00FF, str);
}
}