[Ajuda] Dialog nгo aparece ao entrar no veнculo para alugar...
#1

Olб a todos, uma уtima tarde!
Estou desenvolvendo uma game mode para um colega, com meu conhecimento bбsico e estou tendo alguns problemas na conversгo do antigo modo de contagem de carro para o atual.
Resumo: Ao entrar no carro para alugar, ele nгo aparece a dialog, se o player quer ou nгo alugar esse carro.

Код:
Topo ...
pawn Код:
new AluguelHotelV [10];
new AluguelLuxoV [20];
new AluguelFavelaV [20];
Код:
OnPlayerStateChange ...
pawn Код:
new newcar2 = GetPlayerVehicleID(playerid);
                for(new i = 0; i < 50; i++)
                if((newcar2 == AluguelHotelV[i] || newcar2 == AluguelLuxoV[i] || newcar2 == AluguelFavelaV[i])){
                if (HireCar[playerid] != newcar2){
                new Aluguelbox[256];
                format(Aluguelbox, sizeof(Aluguelbox),"Veнculo diponнvel para alugar. Valor: R$%d\nDeseja Aluga-lo ?", SBizzInfo[0][sbEntranceCost], SBizzInfo[0][sbEntranceCost], SBizzInfo[1][sbEntranceCost], SBizzInfo[11][sbEntranceCost], SBizzInfo[20][sbEntranceCost]);
                Controle(playerid, 0);
                ShowPlayerDialog(playerid,  DIALOG_ALUGAR, DIALOG_STYLE_MSGBOX, "Aluguel de Veiculos", Aluguelbox, "Sim", "Nгo");}}
Код:
OnGameModeinit....
pawn Код:
AluguelHotelV [0] = AddStaticVehicleEx(462,2205.5359,-1172.5005,25.2474,90.0243,1,1,-1);
    AluguelHotelV [1] = AddStaticVehicleEx(462,2205.7000,-1176.4989,25.2977,90.0246,1,1,-1);
    AluguelHotelV [2] = AddStaticVehicleEx(462,2206.1006,-1160.6993,25.2661,89.9991,1,1,-1);
//E assim vai indo....
AluguelLuxoV [0] = AddStaticVehicleEx(560,1245.4479,-1834.1761,13.0977,359.7620,1,1,-1);
    AluguelLuxoV [1] = AddStaticVehicleEx(560,1266.7213,-1795.9613,13.1155,183.4525,1,1,-1);
    AluguelLuxoV [2] = AddStaticVehicleEx(560,1238.6654,-1834.4077,13.0966,0.9224,1,1,-1);
//E assim vai indo....
    AluguelFavelaV [0] = AddStaticVehicleEx(560,2147.5115,-1138.4000,25.1936,268.9845,1,1,-1);
    AluguelFavelaV [1] = AddStaticVehicleEx(560,2147.1299,-1148.1990,24.1398,269.2062,1,1,-1);
    AluguelFavelaV [2] = AddStaticVehicleEx(475,2147.1736,-1157.7615,23.6487,270.6686,1,1,-1);
//E assim vai indo....
Код:
Comando de alugar o carro...
pawn Код:
if(strcmp(cmd, "/alugarcarro", true) == 0)
    {
        new newcar = GetPlayerVehicleID(playerid);
        if(IsPlayerConnected(playerid))
        {//AluguelHotelV
            for(new i2 = 0; i2 < 50; i2++)
            if((newcar == AluguelHotelV[i2] || newcar == AluguelLuxoV[i2] || newcar == AluguelFavelaV[i2])){

                new hirefee = HireCost(GetPlayerVehicleID(playerid));
                if (GetPlayerMoney (playerid) <  SBizzInfo[0][sbEntranceCost])
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Vocк nгo tem esse dinheiro !");
                    RemovePlayerFromVehicle(playerid);
                    return true;
                }
                if(HireCar[playerid] > 0)
                {
                    SendClientMessage(playerid, COLOR_GREY, "Vocк tem que desalugar o outro veiculo !");
                    RemovePlayerFromVehicleEx(playerid);
                    return true;
                }
                for(new i=0; i<MAX_PLAYERS; i++)
                {
                    if(HireCar[i] == GetPlayerVehicleID(playerid))
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Alguem jб alugou esse veiculo !");
                        Controle(playerid, 1);
                        RemovePlayerFromVehicleEx(playerid);
                        return true;
                    }
                }
                GivePlayerMoney(playerid,-SBizzInfo[0][sbEntranceCost]);
                SBizzInfo[0][sbTill] += SBizzInfo[0][sbEntranceCost];
                ExtortionSBiz(0, SBizzInfo[0][sbEntranceCost]);
                HireCar[playerid] = GetPlayerVehicleID(playerid);
                OnPropUpdate();
                PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                format(string, sizeof(string), "~w~Voce pode ~r~/desalugarcarro~n~~g~ou /trancar ~w~ para trancar o carro.",hirefee);
                Controle(playerid, 1);
                GameTextForPlayer(playerid, string, 5000, 3);
                return true;}
            }
           
        return true;
    }
Код:
E a dialog para alugar o carro:
pawn Код:
if(dialogid == DIALOG_ALUGAR)
    {
        if(response == 1)
        {
              OnPlayerCommandText(playerid,"/alugarcarro");
              Controle(playerid, 1);
              return 0;
        }
        else if(response == 0)
        {
              SendClientMessage(playerid, COLOR_GRAD1, "Vocк optou por nгo alugar");
              Controle(playerid, 1);
              RemovePlayerFromVehicle(playerid);
              return 0;
        }
        return 0;
    }
Reply
#2

Aconcelho vc Fazer um Loop Fica mais Facil.

Bota a Dialog assim
Код:
if(dialogid == DIALOG_ALUGAR){
        if(response == 1)
        {
              OnPlayerCommandText(playerid,"/alugarcarro");
              Controle(playerid, 1);
              return 0;
        }
        else if(response == 0)
        {
              SendClientMessage(playerid, COLOR_GRAD1, "Vocк optou por nгo alugar");
              Controle(playerid, 1);
              RemovePlayerFromVehicle(playerid);
              return 0;
        }
        return 0;
}
USE ZCMD tbm e bem mais pratico
Код:
if(strcmp(cmd, "/alugarcarro", true) == 0){
	new newcar = GetPlayerVehicleID(playerid);
 	if(IsPlayerConnected(playerid))
  	{
   		for(new i2 = 0; i2 < 50; i2++)
     	if((newcar == AluguelHotelV[i2] || newcar == AluguelLuxoV[i2] || newcar == AluguelFavelaV[i2])){

        new hirefee = HireCost(GetPlayerVehicleID(playerid));
        if (GetPlayerMoney (playerid) <  SBizzInfo[0][sbEntranceCost])
        {
        SendClientMessage(playerid, COLOR_GRAD2, "Vocк nгo tem esse dinheiro !");
        RemovePlayerFromVehicle(playerid);
        return 1;
        }
        if(HireCar[playerid] > 0)
        {
        SendClientMessage(playerid, COLOR_GREY, "Vocк tem que desalugar o outro veiculo !");
        RemovePlayerFromVehicleEx(playerid);
        return 1;
        }
        for(new i=0; i<MAX_PLAYERS; i++)
        {
        if(HireCar[i] == GetPlayerVehicleID(playerid))
        {
        SendClientMessage(playerid, COLOR_GREY, "Alguem jб alugou esse veiculo !");
        Controle(playerid, 1);
        RemovePlayerFromVehicleEx(playerid);
        return 1;
        }
        }
        GivePlayerMoney(playerid,-SBizzInfo[0][sbEntranceCost]);
        SBizzInfo[0][sbTill] += SBizzInfo[0][sbEntranceCost];
        ExtortionSBiz(0, SBizzInfo[0][sbEntranceCost]);
        HireCar[playerid] = GetPlayerVehicleID(playerid);
        OnPropUpdate();
        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
        format(string, sizeof(string), "~w~Voce pode ~r~/desalugarcarro~n~~g~ou /trancar ~w~ para trancar o carro.",hirefee);
        Controle(playerid, 1);
        GameTextForPlayer(playerid, string, 5000, 3);
        return 1;}
            }
	return 1;
}
NAO SEI C AJUDEI MAS TENTEI ;-; DESCULPA
Reply
#3

Olб camarada, primeiramente boa noite.
Obrigado por tentar ajudar, porйm nгo obtive кxito.
Andei analisando o cуdigo e eu tenho certeza que a falha й na 'OnPlayerStateChange', pois o problema й quando entra no carro, que nгo aparece a dialog...

pawn Код:
new newcar2 = GetPlayerVehicleID(playerid);
                for(new i = 0; i < 50; i++)
                if((newcar2 == AluguelHotelV[i] || newcar2 == AluguelLuxoV[i] || newcar2 == AluguelFavelaV[i])){
                if (HireCar[playerid] != newcar2){
                new Aluguelbox[256];
                format(Aluguelbox, sizeof(Aluguelbox),"Veнculo diponнvel para alugar. Valor: R$%d\nDeseja Aluga-lo ?", SBizzInfo[0][sbEntranceCost], SBizzInfo[0][sbEntranceCost], SBizzInfo[1][sbEntranceCost], SBizzInfo[11][sbEntranceCost], SBizzInfo[20][sbEntranceCost]);
                Controle(playerid, 0);
                ShowPlayerDialog(playerid,  DIALOG_ALUGAR, DIALOG_STYLE_MSGBOX, "Aluguel de Veiculos", Aluguelbox, "Sim", "Nгo");}}
Reply
#4

Up ?!
Reply
#5

Obriado por C sincero ;-;
Reply
#6

Valeu :/

#Up'
Reply
#7

Tente fazer um debug. Pegue o cуdigo e coloque em um comando, e logo apos entrar no carro execute o comando e diga-nos o que acontece.
Reply
#8

xCR7 apуs eu ter feito o comando, e digita-lo dentro do carro, apareceu a dialog da maneira que eu queria, como eu disse, tenho certeza que falha esta em "OnPlayerStateChange", porйm nгo sei onde eu errei.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)