Sistema Morte - Aranha - 03/07/2023
como detectar quando player cair de lugares altos para setar life?
RE: Sistema Morte - Dr Editor - 04/07/2023
Detectar a posição Z do jogador com um timer e em cima disso verificar se a posição Z está caindo gradativamente e com isso você detecta a queda.
Isso também é utilizado para anticheater de godmode/no-fall.
RE: Sistema Morte - Aranha - 04/07/2023
oq acontece jogadores cai de lugares altos nao perde life
nao sei como pegar isso para perder life ou ate morrer
RE: Sistema Morte - xbruno1000x - 04/07/2023
Está usando a include weapon config? Ela que costuma dar problema com esses danos de queda.
RE: Sistema Morte - Aranha - 04/07/2023
(04/07/2023 19:12)xbruno1000x Escreveu: Está usando a include weapon config? Ela que costuma dar problema com esses danos de queda.
Pior q nao
Código: #include <a_samp>
#include <fixes>
#include <timerfix>
#include <DOF2>
#include <a_zones>
#include <easyDialog>
#include <streamer>
#include <sscanf2>
#include <foreach>
#include <strlib>
#include <zcmd>
#include <mapandreas>
#include <progress2>
#include <SKY> // Alias Custom Damage
#include <cpstream>
#include <sampvoice>
RE: Sistema Morte - White_Blue - 04/07/2023
Você está usando a include SKY que se eu não estou enganado, é uma include que trás algumas correções(Tais como dano das armas) e pode ser a causa do seu problema.
RE: Sistema Morte - Aranha - 04/07/2023
Tirei a include SKY e continua
RE: Sistema Morte - White_Blue - 04/07/2023
(04/07/2023 19:58)Aranha Escreveu: Tirei a include SKY e continua
Isso é estranho. Você está usando a callback OnPlayerTakeDamage no seu script?
RE: Sistema Morte - Aranha - 04/07/2023
(04/07/2023 20:02)White_Blue Escreveu: (04/07/2023 19:58)Aranha Escreveu: Tirei a include SKY e continua
Isso é estranho. Você está usando a callback OnPlayerTakeDamage no seu script?
Código: public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)//Sofreu dano
{
if(issuerid != INVALID_PLAYER_ID)
{
if(MinutosMorte[playerid] > 0 || SegundosMorte[playerid] > 0)
{
SetPlayerHealth(playerid, 1000000.0);
}
else if(bodypart == 9 && weaponid == 34 && HorasPreso[playerid] <= 0 && MinutosPreso[playerid] <= 0 && SegundosPreso[playerid] <= 0)// && NivelAdmin[playerid] <= 0)
{
new Float:Health; GetPlayerHealth(playerid, Health);
SetPlayerHealth(playerid, Health-98);
// GiveProcurado(killerid, 5);
GameTextForPlayer(playerid, "~r~HEADSHOT", 3000, 3); // ???? ???? ?????? ?? ???? ???? ?? ?? ???
new Hora, Minuto, Segundo; gettime(Hora, Minuto, Segundo);
format(String, sizeof(String), "| DANO | O(A) Jogador(a) {FF0000}%s[%d] {FFFFFF}acertou um tiro na sua cabeca ( %02d:%02d:%02d ) ", PlayerName(issuerid), issuerid, Hora, Minuto, Segundo);
}
}
else
{
if((gettime() - Flooder[playerid]) >= 5)
{
new Hora, Minuto, Segundo; gettime(Hora, Minuto, Segundo);
format(String, sizeof(String), "| DANO | O(A) Jogador(a) {FF0000}%s[%d] {FFFFFF}atingiu voce ( %02d:%02d:%02d ) ", PlayerName(issuerid), issuerid, Hora, Minuto, Segundo);
if(ORG[issuerid] >= 0)
{
new StrOrg[32]; format(StrOrg, sizeof(StrOrg), "( ORG: %s )", gNome[ORG[issuerid]]);
strcat(String, StrOrg);
}
SendClientMessage(playerid, -1, String);
if(bodypart == 7 || bodypart == 8)
{
MsgAviso(playerid, 5, "~w~VOCE LEVOU UM TIRO NA PERNA");
}
Flooder[playerid] = gettime();
}
}
return 1;
}
RE: Sistema Morte - White_Blue - 04/07/2023
(04/07/2023 20:12)Aranha Escreveu: (04/07/2023 20:02)White_Blue Escreveu: (04/07/2023 19:58)Aranha Escreveu: Tirei a include SKY e continua
Isso é estranho. Você está usando a callback OnPlayerTakeDamage no seu script?
Código: public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)//Sofreu dano
{
if(issuerid != INVALID_PLAYER_ID)
{
if(MinutosMorte[playerid] > 0 || SegundosMorte[playerid] > 0)
{
SetPlayerHealth(playerid, 1000000.0);
}
else if(bodypart == 9 && weaponid == 34 && HorasPreso[playerid] <= 0 && MinutosPreso[playerid] <= 0 && SegundosPreso[playerid] <= 0)// && NivelAdmin[playerid] <= 0)
{
new Float:Health; GetPlayerHealth(playerid, Health);
SetPlayerHealth(playerid, Health-98);
// GiveProcurado(killerid, 5);
GameTextForPlayer(playerid, "~r~HEADSHOT", 3000, 3); // ???? ???? ?????? ?? ???? ???? ?? ?? ???
new Hora, Minuto, Segundo; gettime(Hora, Minuto, Segundo);
format(String, sizeof(String), "| DANO | O(A) Jogador(a) {FF0000}%s[%d] {FFFFFF}acertou um tiro na sua cabeca ( %02d:%02d:%02d ) ", PlayerName(issuerid), issuerid, Hora, Minuto, Segundo);
}
}
else
{
if((gettime() - Flooder[playerid]) >= 5)
{
new Hora, Minuto, Segundo; gettime(Hora, Minuto, Segundo);
format(String, sizeof(String), "| DANO | O(A) Jogador(a) {FF0000}%s[%d] {FFFFFF}atingiu voce ( %02d:%02d:%02d ) ", PlayerName(issuerid), issuerid, Hora, Minuto, Segundo);
if(ORG[issuerid] >= 0)
{
new StrOrg[32]; format(StrOrg, sizeof(StrOrg), "( ORG: %s )", gNome[ORG[issuerid]]);
strcat(String, StrOrg);
}
SendClientMessage(playerid, -1, String);
if(bodypart == 7 || bodypart == 8)
{
MsgAviso(playerid, 5, "~w~VOCE LEVOU UM TIRO NA PERNA");
}
Flooder[playerid] = gettime();
}
}
return 1;
}
Citar:Código: if(MinutosMorte[playerid] > 0 || SegundosMorte[playerid] > 0)
{
SetPlayerHealth(playerid, 1000000.0);
}
Esse código acima poderia ter algo a ver. Não tenho certeza, mas é a única coisa que vejo de estranho nessa callback mas não entendi exatamente para que você está usando essa parte do código.
|