[ajuda]alugando carro em dialog..
#1

Bom galera estou colocando pra quando o player entrar em um veiculo que estб para alugar abrice um dialog e ele escolheria se gostaria de alugar ou nao,mas eu coloquei e nгo estб abrindo o dialog quando ele entra.

pawn Код:
if((newcar >= 332 && newcar <= 351))
        {
            if (HireCar[playerid] != newcar)
            {
                new Aluguelbox[2000];
                format(Aluguelbox, sizeof(Aluguelbox),"Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use /sair",SBizzInfo[1][sbEntranceCost]);
                //format(string, sizeof(string), "Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use ~g~/sair",SBizzInfo[1][sbEntranceCost]);
                TogglePlayerControllable(playerid, 0);
                ShowPlayerDialog(playerid, 242412, DIALOG_STYLE_MSGBOX, "Desja alugar?", Aluguelbox, "Sim", "Nao");
                //GameTextForPlayer(playerid, string, 5000, 3);
            }
        }
Reply
#2

public OnPlayerEnterVehicle
Reply
#3

ja tentei atй defini criei outra public tentado executar mas nao consigo =x
Reply
#4

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    new newcar = GetPlayerVehicleID(playerid);
     if(gTeam[playerid] >= 3)
    {
        if (IsACopCar(vehicleid) && !ispassenger)
        {
            if(PlayerInfo[playerid][pLider]==1||PlayerInfo[playerid][pMembro]==1||PlayerInfo[playerid][pMembro]==17||PlayerInfo[playerid][pLider]==17||PlayerInfo[playerid][pMembro]==3||PlayerInfo[playerid][pLider]==3||PlayerInfo[playerid][pMembro]==14||PlayerInfo[playerid][pLider]==14
            ||PlayerInfo[playerid][pMembro]==25||PlayerInfo[playerid][pLider]==25||PlayerInfo[playerid][pMembro]==2||PlayerInfo[playerid][pLider]==2) {}
            else { WantedPoints[playerid]+=2; SetPlayerCriminal(playerid,255, "Roubo de Viatura"); }
        }
          if((newcar >= 332 && newcar <= 351))
        {
            if (HireCar[playerid] != newcar)
            {
                new Aluguelbox[2000];
                format(Aluguelbox, sizeof(Aluguelbox),"Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use /sair", Aluguelbox,SBizzInfo[1][sbEntranceCost]);
                TogglePlayerControllable(playerid, 0);
                ShowPlayerDialog(playerid,  DIALOG_ALUGAR, DIALOG_STYLE_MSGBOX, "Desja alugar?", Aluguelbox, "Sim", "Nao");
                //format(string, sizeof(string), "Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use ~g~/sair",SBizzInfo[1][sbEntranceCost]);
                //GameTextForPlayer(playerid, string, 5000, 3);
            }
        }
        if (IsAnAmbulanceCar(vehicleid) && !ispassenger)
        {
            if(PlayerInfo[playerid][pMembro]==4||PlayerInfo[playerid][pLider]==4) { }
            else { WantedPoints[playerid]+=2; SetPlayerCriminal(playerid,255, "Roubo de Ambulancia"); }
        }
        new string[256];
        GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, sizeof(string), "* %s Entra no veiculo.", sendername);
        DetectorProx(5.0,playerid,string,COLOR_NEWS);
    }
    return 1;
}

essa parte estб correta ai ? porque nao estб abrindo o dialog quando entra no veiculo....

pawn Код:
if((newcar >= 332 && newcar <= 351))
        {
            if (HireCar[playerid] != newcar)
            {
                new Aluguelbox[2000];
                format(Aluguelbox, sizeof(Aluguelbox),"Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use /sair", Aluguelbox,SBizzInfo[1][sbEntranceCost]);
                TogglePlayerControllable(playerid, 0);
                ShowPlayerDialog(playerid,  DIALOG_ALUGAR, DIALOG_STYLE_MSGBOX, "Desja alugar?", Aluguelbox, "Sim", "Nao");
                //format(string, sizeof(string), "Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use ~g~/sair",SBizzInfo[1][sbEntranceCost]);
                //GameTextForPlayer(playerid, string, 5000, 3);
            }
        }

obs:desculpem pelo duble post foi sem querer nem vi que ja tinha respodido.
Reply
#5

O Objetivo do dialogo й aparecer depois que o jogador sentar no volante?
Se for coloque isto na OnPlayerStateChange com novo estado como motorista.

OnPlayerEnterVehicle й chamado quando o jogador comeзa a entrar no veнculo (aperta a tecla de entrar no veнculo) antes mesmo de estar dentro.

Obs: Se o dialogo й realmente deste tamanho, acho que uma array de 2000 slots й um tanto exagerado para um texto de 98 chars + o valor do aluguel.

Код:
format(Aluguelbox, sizeof(Aluguelbox),"Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use /sair", Aluguelbox,SBizzInfo[1][sbEntranceCost]);
wtf й isto em destaque, se nгo funcionar apague isto e teste.
Reply
#6

estб assim na public mas nao funciona nao abre o maldito dialog.
pawn Код:
if((newcar >= 332 && newcar <= 351))
        {
            if (HireCar[playerid] != newcar)
            {
                new Aluguelbox[256];
                format(Aluguelbox, sizeof(Aluguelbox),"Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use /sair", SBizzInfo[1][sbEntranceCost]);
                TogglePlayerControllable(playerid, 0);
                ShowPlayerDialog(playerid,  DIALOG_ALUGAR, DIALOG_STYLE_MSGBOX, "Desja alugar?", Aluguelbox, "Sim", "Nao");
                //format(string, sizeof(string), "Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use ~g~/sair",SBizzInfo[1][sbEntranceCost]);
                //GameTextForPlayer(playerid, string, 5000, 3);
            }
        }
        if(newcar >= 352 && newcar <= 379)
        {
            if (HireCar[playerid] != newcar)
            {
                new Aluguelbox[256];
                format(Aluguelbox, sizeof(Aluguelbox),"Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use /sair", SBizzInfo[1][sbEntranceCost]);
                TogglePlayerControllable(playerid, 0);
                ShowPlayerDialog(playerid,  DIALOG_ALUGAR, DIALOG_STYLE_MSGBOX, "Desja alugar?", Aluguelbox, "Sim", "Nao");
                //format(string, sizeof(string), "Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use ~g~/sair",SBizzInfo[1][sbEntranceCost]);
                //GameTextForPlayer(playerid, string, 5000, 3);
            }
        }
Reply
#7

O cуdigo estб correto, devia funcionar.
Vocк estб entrando no carro certo?
Vocк estб sem a chave do carro alugado?

Tente abrir o dialogo de outra maneira sу para testar e ver se ele abre, exemplo comandos:

pawn Код:
if(strcmp(cmd, "/testar", true) == 0)
{
    new Aluguelbox[256];
    format(Aluguelbox, sizeof(Aluguelbox),"Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use /sair", SBizzInfo[1][sbEntranceCost]);
    TogglePlayerControllable(playerid, 0);
    ShowPlayerDialog(playerid,  DIALOG_ALUGAR, DIALOG_STYLE_MSGBOX, "Desja alugar?", Aluguelbox, "Sim", "Nao");
    return 1;
}

if(strcmp(cmd, "/testar", true) == 0)
{
    if (HireCar[playerid] != GetPlayerVehicleID(playerid))
    {
        new Aluguelbox[256];
        format(Aluguelbox, sizeof(Aluguelbox),"Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use /sair", SBizzInfo[1][sbEntranceCost]);
        TogglePlayerControllable(playerid, 0);
        ShowPlayerDialog(playerid,  DIALOG_ALUGAR, DIALOG_STYLE_MSGBOX, "Desja alugar?", Aluguelbox, "Sim", "Nao");
        return 1;
    }else{return  SendClientMessage(playerid, 0xA9C4E4FF, "Vocк jб tem a chave deste veнculo.");
}

if(strcmp(cmd, "/testar", true) == 0)
{
    if(GetPlayerVehicleID(playerid) >= 352 && GetPlayerVehicleID(playerid) <= 379)
    {
        if (HireCar[playerid] != GetPlayerVehicleID(playerid))
        {
            new Aluguelbox[256];
            format(Aluguelbox, sizeof(Aluguelbox),"Vocк pode alugar esse carro\n Custo:$%d\npara alugar o carro use /alugarcarro\npara sair use /sair", SBizzInfo[1][sbEntranceCost]);
            TogglePlayerControllable(playerid, 0);
            ShowPlayerDialog(playerid,  DIALOG_ALUGAR, DIALOG_STYLE_MSGBOX, "Desja alugar?", Aluguelbox, "Sim", "Nao");
            return 1;
        }else{return  SendClientMessage(playerid, 0xA9C4E4FF, "Vocк jб tem a chave deste veнculo.");
    }else{return SendClientMessage(playerid, 0xA9C4E4FF, "Vocк nгo estб em um veнculo alugavel.");
}
Reply
#8

ta vo tentar coloca pra quando player entra no veiculo exercutar o comando pra abrir o dialog =D.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)