Portal SAMP
[Ajuda] Sistema derby - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Sistema derby (/showthread.php?tid=4979)



Sistema derby - André Santos - 19/02/2025

Olá amigos gostaria de saber como eu faço uma verificação para quando o player cair na água com o veículo ele spawnar pois estou querendo criar um sistema simples de Derby mas não sei como faço isso até porq ainda sou iniciante nessa linguagem , preciso de alguma include ou basta sova verificação ?! Por favor algum pode me mostra uma pequena exemplo de código agradeço a todos que se dispoe a ajudar


RE: Sistema derby - xbruno1000x - 19/02/2025

A verificação é realizada pelo script abaixo:
Código:
stock IsPlayerInWater(playerid)
{
    new Float:Z;// não mude para static
    GetPlayerPos(playerid,Z,Z,Z);
    if(Z < 0.7) switch(GetPlayerAnimationIndex(playerid)) { case 1543,1538,1539: return 1; }
    if(GetPlayerDistanceFromPoint(playerid,-965,2438,42) <= 700 && Z < 45)return 1;
    new Float:water_places[][] =
    {

        {
            25.0,    2313.0,    -1417.0,    23.0},
        {
            15.0,    1280.0,    -773.0,        1082.0},
        {
            15.0,    1279.0,    -804.0,        86.0},
        {
            20.0,    1094.0,    -674.0,        111.0},
        {
            26.0,    194.0,    -1232.0,    76.0},
        {
            25.0,    2583.0,    2385.0,        15.0},
        {
            25.0,    225.0,    -1187.0,    73.0},
        {
            50.0,    1973.0,    -1198.0,    17.0},
        {
            140.0,    1923.0, 1592.0,     10.0}
    };
    for(new t=0; t < sizeof water_places; t++)
    if(GetPlayerDistanceFromPoint(playerid,water_places[t][1],water_places[t][2],water_places[t][3]) <= water_places[t][0]) return 1;
    return 0;
}


para utilizar, basta fazer da seguinte forma:
Código:
if(IsPlayerInWater(playerid))
{
    //INSIRA O QUE ACONTECE SE ELE ESTIVER NA ÁGUA
}



RE: Sistema derby - LOS_SANTOS - 19/02/2025

(19/02/2025 20:56)xbruno1000x Escreveu: A verificação é realizada pelo script abaixo:
Código:
stock IsPlayerInWater(playerid)
{
    new Float:Z;// não mude para static
    GetPlayerPos(playerid,Z,Z,Z);
    if(Z < 0.7) switch(GetPlayerAnimationIndex(playerid)) { case 1543,1538,1539: return 1; }
    if(GetPlayerDistanceFromPoint(playerid,-965,2438,42) <= 700 && Z < 45)return 1;
    new Float:water_places[][] =
    {

        {
            25.0,    2313.0,    -1417.0,    23.0},
        {
            15.0,    1280.0,    -773.0,        1082.0},
        {
            15.0,    1279.0,    -804.0,        86.0},
        {
            20.0,    1094.0,    -674.0,        111.0},
        {
            26.0,    194.0,    -1232.0,    76.0},
        {
            25.0,    2583.0,    2385.0,        15.0},
        {
            25.0,    225.0,    -1187.0,    73.0},
        {
            50.0,    1973.0,    -1198.0,    17.0},
        {
            140.0,    1923.0, 1592.0,     10.0}
    };
    for(new t=0; t < sizeof water_places; t++)
    if(GetPlayerDistanceFromPoint(playerid,water_places[t][1],water_places[t][2],water_places[t][3]) <= water_places[t][0]) return 1;
    return 0;
}


para utilizar, basta fazer da seguinte forma:
Código:
if(IsPlayerInWater(playerid))
{
    //INSIRA O QUE ACONTECE SE ELE ESTIVER NA ÁGUA
}
obrigado bruno me ajudou muito