[Ajuda] Pequeno problema
#1

Boa tarde, estou tendo uns probleminhas aqui no qual eu nгo estou conseguindo resolver, pois nгo sou expert em programaзгo, enfim o problema й o seguinte, estou criando um servidor de Race/RP, no qual as corridas serгo espalhadas pela cidade e talz e para acessar a corrida vocк tem que ir no нcone e buzinar pra ver se a corrida ta acessнvel ou nгo.

Nota que na Posiзгo 1 deveria tar escrito o PCdeTestes la na dialog, e ta aparecendo o meu nome sendo que eu nem tinha entrado na corrida ainda.

Segue as funзхes:
pawn Код:
//Aqui estб a dialog responsбvel por tais funзхes
        if(response == 1)
        {
            if(listitem == 0)
            {
                if(Info_SprintDeserto1[Lotacao] == 4)
                {
                    MP(playerid, cinza, "[AVISO] "Branco"Esta corrida jб estб lotada!");
                }
                if(Info_SprintDeserto1[Pos1Ocupada] == 1)
                {
                    MP(playerid, vermelho, "Esta posiзгo jб estб sendo ocupada, favor escolha outra!");
                    MostrarDialogosCorridas(playerid, 1);
                }
                else
                {
                    new carro1 = GetPlayerVehicleID(playerid);
                    strmid(Info_SprintDeserto1[Pos1], Nome(playerid), 0, strlen(Nome(playerid)), 24);
                    EstaEmCorrida[playerid] = 1;
                    Info_SprintDeserto1[Lotacao] += 1;
                    Info_SprintDeserto1[Corredor1] = playerid;
                    Info_SprintDeserto1[Pos1Ocupada] = 1;
                    SetPlayerVirtualWorld(playerid, 10);
                    SetVehicleVirtualWorld(carro1, 10);
                    PutPlayerInVehicle(playerid, carro1, 0);
                    TogglePlayerControllable(playerid, 1);
                    SetPlayerPos(playerid, -170.6189,2638.7058,63.1811);
                    SetPlayerFacingAngle(playerid, 270.0);
                    SetVehicleZAngle(carro1, 270.0);
                    SetVehiclePos(carro1, -170.6189,2638.7058,63.1811);
                    MP(playerid, cinza, "Testando as posiзхes da pista! Posiзгo 1!");
                }
            }
            if(listitem == 1)
            {
                if(Info_SprintDeserto1[Lotacao] == 4)
                {
                    MP(playerid, cinza, "[AVISO] "Branco"Esta corrida jб estб lotada!");
                }
                if(Info_SprintDeserto1[Pos2Ocupada] == 1)
                {
                    MP(playerid, vermelho, "Esta posiзгo jб estб sendo ocupada, favor escolha outra!");
                    MostrarDialogosCorridas(playerid, 1);
                }
                else
                {
                    new carro2 = GetPlayerVehicleID(playerid);
                    strmid(Info_SprintDeserto1[Pos2], Nome(playerid), 0, strlen(Nome(playerid)), 24);
                    EstaEmCorrida[playerid] = 1;
                    Info_SprintDeserto1[Lotacao] += 1;
                    Info_SprintDeserto1[Corredor2] = playerid;
                    Info_SprintDeserto1[Pos2Ocupada] = 1;
                    SetPlayerVirtualWorld(playerid, 10);
                    SetVehicleVirtualWorld(carro2, 10);
                    PutPlayerInVehicle(playerid, carro2, 0);
                    TogglePlayerControllable(playerid, 1);
                    SetPlayerPos(playerid, -179.6542,2638.8572,63.0746);
                    SetPlayerFacingAngle(playerid, 270.0);
                    SetVehicleZAngle(carro2, 270.0);
                    SetVehiclePos(carro2, -179.6542,2638.8572,63.0746);
                    MP(playerid, cinza, "Testando as posiзхes da pista! Posiзгo 2!");
                }
            }
            if(listitem == 2)
            {
                if(Info_SprintDeserto1[Lotacao] == 4)
                {
                    MP(playerid, cinza, "[AVISO] "Branco"Esta corrida jб estб lotada!");
                }
                if(Info_SprintDeserto1[Pos3Ocupada] == 1)
                {
                    MP(playerid, vermelho, "Esta posiзгo jб estб sendo ocupada, favor escolha outra!");
                    MostrarDialogosCorridas(playerid, 1);
                }
                else
                {
                    new carro3 = GetPlayerVehicleID(playerid);
                    strmid(Info_SprintDeserto1[Pos3], Nome(playerid), 0, strlen(Nome(playerid)), 24);
                    Info_SprintDeserto1[Corredor4] = playerid;
                    EstaEmCorrida[playerid] = 1;
                    Info_SprintDeserto1[Lotacao] += 1;
                    Info_SprintDeserto1[Pos3Ocupada] = 1;
                    SetPlayerVirtualWorld(playerid, 10);
                    SetVehicleVirtualWorld(carro3, 10);
                    PutPlayerInVehicle(playerid, carro3, 0);
                    TogglePlayerControllable(playerid, 1);
                    SetPlayerPos(playerid, -170.9876,2631.5212,63.1758);
                    SetPlayerFacingAngle(playerid, 270.0);
                    SetVehicleZAngle(carro3, 270.0);
                    SetVehiclePos(carro3, -170.9876,2631.5212,63.1758);
                    MP(playerid, cinza, "Testando as posiзхes da pista! Posiзгo 3!");
                }
            }
            if(listitem == 3)
            {
                if(Info_SprintDeserto1[Lotacao] == 4)
                {
                    MP(playerid, cinza, "[AVISO] "Branco"Esta corrida jб estб lotada!");
                }
                if(Info_SprintDeserto1[Pos4Ocupada] == 1)
                {
                    MP(playerid, vermelho, "Esta posiзгo jб estб sendo ocupada, favor escolha outra!");
                    MostrarDialogosCorridas(playerid, 1);
                }
                else
                {
                    new carro4 = GetPlayerVehicleID(playerid);
                    strmid(Info_SprintDeserto1[Pos4], Nome(playerid), 0, strlen(Nome(playerid)), 24);
                    Info_SprintDeserto1[Corredor4] = playerid;
                    EstaEmCorrida[playerid] = 1;
                    Info_SprintDeserto1[Lotacao] += 1;
                    Info_SprintDeserto1[Pos4Ocupada] = 1;
                    SetPlayerVirtualWorld(playerid, 10);
                    SetVehicleVirtualWorld(carro4, 10);
                    PutPlayerInVehicle(playerid, carro4, 0);
                    TogglePlayerControllable(playerid, 1);
                    SetPlayerPos(playerid, -179.2103,2631.3040,63.0766);
                    SetPlayerFacingAngle(playerid, 270.0);
                    SetVehicleZAngle(carro4, 270.0);
                    SetVehiclePos(carro4, -179.2103,2631.3040,63.0766);
                    MP(playerid, cinza, "Testando as posiзхes da pista! Posiзгo 4!");
                }
            }
//Aqui estб a funзгo para ver os veнculos e players que estгo na corrida
forward MostrarDialogosCorridas(playerid, corrida);
public MostrarDialogosCorridas(playerid, corrida)
{
    if(corrida == 1)
    {
        new str[512];
        new corredor1 = Info_SprintDeserto1[Corredor1];
        new corredor2 = Info_SprintDeserto1[Corredor2];
        new corredor3 = Info_SprintDeserto1[Corredor3];
        new corredor4 = Info_SprintDeserto1[Corredor4];
//      TogglePlayerControllable(playerid, 0);
        if(Info_SprintDeserto1[Pos1Ocupada] == 1) { strmid(Info_SprintDeserto1[Pos1], Nome(playerid), 0, strlen(Nome(playerid)), 24); } else {
        strmid(Info_SprintDeserto1[Pos1], "Ninguem", 0, strlen("Ninguem"), 24); }
        if(Info_SprintDeserto1[Pos2Ocupada] == 1) { strmid(Info_SprintDeserto1[Pos2], Nome(playerid), 0, strlen(Nome(playerid)), 24); } else {
        strmid(Info_SprintDeserto1[Pos2], "Ninguem", 0, strlen("Ninguem"), 24); }
        if(Info_SprintDeserto1[Pos3Ocupada] == 1) { strmid(Info_SprintDeserto1[Pos3], Nome(playerid), 0, strlen(Nome(playerid)), 24); } else {
        strmid(Info_SprintDeserto1[Pos3], "Ninguem", 0, strlen("Ninguem"), 24); }
        if(Info_SprintDeserto1[Pos4Ocupada] == 1) { strmid(Info_SprintDeserto1[Pos4], Nome(playerid), 0, strlen(Nome(playerid)), 24); } else {
        strmid(Info_SprintDeserto1[Pos4], "Ninguem", 0, strlen("Ninguem"), 24); }
        format(str, sizeof str, "Posiзгo 1: %s - Carro: %s\n\
        Posiзгo 2: %s - Carro: %s\n\
        Posiзгo 3: %s - Carro: %s\n\
        Posiзгo 4: %s - Carro: %s"
,Info_SprintDeserto1[Pos1], NomeVeiculos[GetVehicleModel(GetPlayerVehicleID(corredor1))-400],
        Info_SprintDeserto1[Pos2], NomeVeiculos[GetVehicleModel(GetPlayerVehicleID(corredor2))-400],
        Info_SprintDeserto1[Pos3], NomeVeiculos[GetVehicleModel(GetPlayerVehicleID(corredor3))-400],
        Info_SprintDeserto1[Pos4], NomeVeiculos[GetVehicleModel(GetPlayerVehicleID(corredor4))-400]);
        SprintDeserto1[playerid] = 0;
        ShowPlayerDialog(playerid, D_Sprint_Deserto_1, dlista, ""Cinza"Sprint do Deserto "Verde"Dificuldade 01", str, "Correr", "Sair");
    }
    return 1;
}
//e aqui estб o que faz entrar na dialog
    if(newkeys == KEY_HORN)
    {
        if(PlayerToPoint(10.0, playerid, -164.8420,2635.1248,63.5164))
        {
            new carro = GetPlayerVehicleID(playerid);
            if(!CarrosNivel01(carro)) { MP(playerid, cinza, "[AVISO] "Branco"Vocк nгo estб em um carro de nнvel 1! Verifique as concessionбrias!"); }
            if(!IsPlayerInAnyVehicle(playerid)) { MP(playerid, cinza, "[ERRO] "Branco"Vocк deve estar em um carro para entrar na corrida!"); }
            MostrarDialogosCorridas(playerid, 1);
        }
    }
o outro problema й que nгo consigo fazer aparecer o veнculo do corredor, ele pega como se foce o meu veнculo e poe nas 4 posiзхes da corrida.
Aqui estгo as imagens



Reply
#2

#UP!! Ninguem para ajudar?

O negocio й postar na бrea inglesa aff.
Reply
#3

Ajuda aew pessoal por favor *-*
Reply
#4

pawn Код:
// Onde estб Nome(playerid) deveria estar Nome(corredor1,2,3...)
// Caso contrбrio ele vai sempre pegar o seu id e devolver o seu nome
if(Info_SprintDeserto1[Pos1Ocupada] == 1) { strmid(Info_SprintDeserto1[Pos1], Nome(corredor1), 0, strlen(Nome(corredor1)), 24); } else {
strmid(Info_SprintDeserto1[Pos1], "Ninguem", 0, strlen("Ninguem"), 24); }
if(Info_SprintDeserto1[Pos2Ocupada] == 1) { strmid(Info_SprintDeserto1[Pos2], Nome(corredor2), 0, strlen(Nome(corredor2)), 24); } else {
strmid(Info_SprintDeserto1[Pos2], "Ninguem", 0, strlen("Ninguem"), 24); }
// e assim por diante
Reply
#5

eu ja havia testado dessa forma amigo mas o problema continua, eu estou a fazer de outra forma aqui e posto os codes atuais
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)