SA-MP Forums Archive
[Ajuda] Sistema de corda bugado - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Sistema de corda bugado (/showthread.php?tid=388607)



Sistema de corda bugado - Vinicius_TroLL - 29.10.2012

Edit
Encerrado


Re: Sistema de corda bugado - Q.I - 29.10.2012

pawn Код:
if(strcmp(cmd, "/Corda", true) == 0){
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 497){
        Sliding[playerid] = 1;
        new Float:X,
            Float:Y,
            Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        RemovePlayerFromVehicle(playerid); // Remove o jogador do veiculo
        TogglePlayerControllable(playerid, 0); //Congela o jogador o que essa linha DIZ ?     entao se mudar para 1 depois que ele alcanзar a posiзao ele vai se movimentar!
        SetTimerEx("Slide", 400, 0, "i", playerid); //Settimer de 400 ms
        SendClientMessage(playerid, COLOR_WHITE, "Voce esta descendo do helicуptero!");
    }
    else
    SendClientMessage(playerid,-1, "{FF0000}[ERRO] Vocк nгo esta em um Helicуptero!");
    return 1;
}

public Slide(playerid){
    if(Sliding[playerid] == 1){
        new Float:X,
            Float:Y,
            Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        SetPlayerPos(playerid, X, Y, Z - 5.00);
        DestroyObject(Corda[playerid]);
        Corda[playerid] = CreateObject(19089, X, Y, Z, 0.0, 0.0, 0.0, 300.0);
        SetTimerEx("Slide", 1000, 0, "i", playerid);
    }
    return 1;
}

//agora tente fazer ae eu  nao posso ajudar nao entendi o modo desse codigo se ele estivesse pelo menos completo!
vai tentado ae eu nao tenho esse codigo ae completo entao nao posso ajudar!


Re: Sistema de corda bugado - Vinicius_TroLL - 29.10.2012

Edit
Encerrado


Re: Sistema de corda bugado - Ouro - 29.10.2012

pawn Код:
if(strcmp(cmd, "/corda", true) == 0)
{
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 497)
    {
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        Sliding[playerid] = 1;
        RemovePlayerFromVehicle(playerid);
        TogglePlayerControllable(playerid, true);
        SetTimerEx("Slide", 400, 0, "i", playerid);
        SendClientMessage(playerid, COLOR_WHITE, "Vocк estб descendo do helicуptero!");
    }
    else
    {
        SendClientMessage(playerid,-1, "{FF0000}[ERRO] Vocк nгo estб em um helicуptero!");
    }
    return 1;
}

if(strcmp(cmd, "/parar", true) == 0)
{
    if(Sliding[playerid] == 1)
    {
        Sliding[playerid] = 0;
        TogglePlayerControllable(playerid, false);
        SendClientMessage(playerid, COLOR_WHITE, "Vocк chegou ao chгo!");
        DestroyObject(Corda[playerid]);
    }
    return 1;
}



Re: Sistema de corda bugado - Vinicius_TroLL - 29.10.2012

N deu


Re: Sistema de corda bugado - Q.I - 29.10.2012

pawn Код:
#include <a_samp>

new Corda[MAX_PLAYERS];
new Sliding[MAX_PLAYERS];

#define TimerSegundo(%0)    %0*1000
#define Callback<q.i>%0(%1) forward %0(%1); public %0(%1)

public OnPlayerConnect(playerid){
    Sliding[playerid] = 0;
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[]){
    if(strcmp(cmd, "/Corda", true) == 0){
        if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 497){
            Sliding[playerid] = 1;
            new Float:X,
                Float:Y,
                Float:Z;
            GetPlayerPos(playerid, X, Y, Z);
            RemovePlayerFromVehicle(playerid);
            TogglePlayerControllable(playerid, 0);
            Corda[playerid] = CreateObject(19089, X, Y, Z, 0.0, 0.0, 0.0, 300.0);
            SetTimerEx("Slide", TimerSegundo(1), 0, "i", playerid);
            SendClientMessage(playerid, -1, "Voce esta descendo do helicуptero!");
        }
        else
        SendClientMessage(playerid,-1, "[ERRO] Vocк nгo esta em um Helicуptero!");
        return true;
    }
    if(strcmp(cmd, "/parar", true) == 0){
        if(Sliding[playerid] == 1){
            Sliding[playerid] = 0;
            TogglePlayerControllable(playerid, 1);
            SendClientMessage(playerid,-1, "Vocк chegou ao chгo");
            DestroyObject(Corda[playerid]);
        }
        return true;
    }
    return false;
}


Callback<q.i>Slide(playerid){
    if(Sliding[playerid] == 1){
        new Float:X,
            Float:Y,
            Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        SetPlayerPos(playerid, X, Y, Z - 5.00);
        SetTimerEx("Slide", TimerSegundo(1), 0, "i", playerid);
    }
    return true;
}
tenta ae e lembra de usar /parar antes de chegar ao chao .


Re: Sistema de corda bugado - Vinicius_TroLL - 29.10.2012

Mais й isso q eu queiria, Nгo ter este comando de parar quando ele chegar no chao a corda deleta e ele descongela


Re: Sistema de corda bugado - Q.I - 29.10.2012

Quote:
Originally Posted by Vinicius_TroLL
Посмотреть сообщение
Mais й isso q eu queiria, Nгo ter este comando de parar quando ele chegar no chao a corda deleta e ele descongela
a cara para fazer isso voce tera que calcular toda uma bruxaria de angulo do player ate chegar nisso ae eu nao vou nem tentar isso ae!


Re: Sistema de corda bugado - Vinicius_TroLL - 29.10.2012

Ok se й dificil dxa queto kkk vlw por ter tentado me ajudar +rep pra vcs


Re: Sistema de corda bugado - Joao Pedro - 29.10.2012

Nгo sei como isso funciona, mas nгo da para fazer tipo um time? Vocк calcula mais ou menos o tempo que o cara leva pra chegar no chгo, e invйs por angulo, faz por timer