[Ajuda] advogado em dialog
#1

Eu seleciono o ID 1 , 2 ,3 PRA Soltar por exemplo , mas ai sempre vai pra soltar o ID 0 , ta bugando os ID's quem conseguir me ajudar pf agradeзo mto !
pawn Код:
static Diminuir, PenaEscolhida, PrecoAdvogado, Advogando, MortoPreso, PresidiarioID,SoltandoPreso,Presidiarios;
static Cidadao[MAX_PLAYER_NAME];
static PresoNome1[MAX_PLAYER_NAME], PresoNome2[MAX_PLAYER_NAME], PresoNome3[MAX_PLAYER_NAME];
static PresoNome4[MAX_PLAYER_NAME], PresoNome5[MAX_PLAYER_NAME], PresoNome6[MAX_PLAYER_NAME];
static PresoNome7[MAX_PLAYER_NAME], PresoNome8[MAX_PLAYER_NAME], PresoNome9[MAX_PLAYER_NAME], PresoNome10[MAX_PLAYER_NAME];
static PresoID1, PresoID2, PresoID3, PresoID4, PresoID5, PresoID6, PresoID7, PresoID8, PresoID9, PresoID10;
new playermoney[MAX_PLAYERS], Text:DinheiroSNASON[MAX_PLAYERS], RecebendoGrana[MAX_PLAYERS];
new TempoGrana[MAX_PLAYERS];
#define DIALOG_ADVOGADO         3131
#define DIALOG_ADVOGADO_2       3132
#define DIALOG_ADVOGADO_3       3133
#define DIALOG_ADVOGADO_4       3134
#define DIALOG_ADVOGADO_5       3135
forward GranaVerde(playerid);
forward GranaVermelha(playerid);

/////////////////////////////////////////////////

    if(dialogid == DIALOG_ADVOGADO)
    {
        SoltandoPreso = 0;
        if(response == 0)
        {
            PenaEscolhida = 0;
            Diminuir = 0;
            PrecoAdvogado = 0;
            Advogando = 0;
            Presidiarios = 0;
            MortoPreso = 0;
            SoltandoPreso = 0;
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            return 1;
        }
        if(response == 1)
        {
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            if(listitem >= 0 && listitem <= 9)
            {
                if(listitem == 0)
                {
                    SoltandoPreso = 1;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome1);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string, "Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                if(listitem == 1)
                {
                    SoltandoPreso = 2;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome2);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string, "Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                if(listitem == 2)
                {
                    SoltandoPreso = 3;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome3);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string, "Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                if(listitem == 3)
                {
                    SoltandoPreso = 4;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome4);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string,"Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                if(listitem == 4)
                {
                    SoltandoPreso = 5;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome5);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string,"Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                if(listitem == 5)
                {
                    SoltandoPreso = 6;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome6);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string,"Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                if(listitem == 6)
                {
                    SoltandoPreso = 7;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome7);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string,"Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                if(listitem == 7)
                {
                    SoltandoPreso = 8;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome8);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string,"Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                if(listitem == 8)
                {
                    SoltandoPreso = 9;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome9);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string,"Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                if(listitem == 9)
                {
                    SoltandoPreso = 10;
                    format(string, sizeof(string),"-> Vocк quer diminuir a pena de %s em.", PresoNome10);
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_2,DIALOG_STYLE_LIST,string,"Diminuir 10%\nDiminuir 20%\nDiminuir 30%\nDiminuir 40%\nDiminuir 50%\nDiminuir 60%","Confirmar", "Cancelar");
                }
                return 1;
            }
        }
    }
    if(dialogid == DIALOG_ADVOGADO_2)
    {
        SoltandoPreso = 0;
        if(response == 0)
        {
            PenaEscolhida = 0;
            Diminuir = 0;
            PrecoAdvogado = 0;
            Advogando = 0;
            Presidiarios = 0;
            MortoPreso = 0;
            SoltandoPreso = 0;
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            return 1;
        }
        if(response == 1)
        {
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            switch(SoltandoPreso)
            {
                case 1:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome1);
                }
                case 2:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome2);
                }
                case 3:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome3);
                }
                case 4:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome4);
                }
                case 5:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome5);
                }
                case 6:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome6);
                }
                case 7:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome7);
                }
                case 8:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome8);
                }
                case 9:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome9);
                }
                case 10:
                {
                    format(Cidadao, sizeof(Cidadao), PresoNome10);
                }
            }
            if(PlayerInfo[PresidiarioID][pAjustado] == 1)
            {
                PenaEscolhida = 0;
                Diminuir = 0;
                PrecoAdvogado = 0;
                Advogando = 0;
                Presidiarios = 0;
                MortoPreso = 0;
                SoltandoPreso = 0;
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Este preso jб foi ajustado!");
                return 1;
            }
            PresidiarioID = GetPlayerIDSonSNA(Cidadao);
            if(listitem >= 0 && listitem <= 5)
            {
                if(listitem == 0)
                {
                    Diminuir = PlayerInfo[PresidiarioID][pJailTime]-PlayerInfo[PresidiarioID][pJailTime]*10/100;
                    PenaEscolhida = 1;
                    format(string, sizeof(string),"OK, Vocк escolheu livrar %s de %d% de sua pena\nAgora escolha um valor para este serviзo\n*** OBS: Este valor deve estar entre R$3000 e R$30000",Cidadao, DefinirPena(PenaEscolhida));
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_3, DIALOG_STYLE_INPUT, "Preзo pela liberdade:", string, "Confirmar", "Cancelar");
                }
                if(listitem == 1)
                {
                    Diminuir = PlayerInfo[PresidiarioID][pJailTime]-PlayerInfo[PresidiarioID][pJailTime]*20/100;
                    PenaEscolhida = 2;
                    format(string, sizeof(string),"OK, Vocк escolheu livrar %s de %d% de sua pena\nAgora escolha um valor para este serviзo\n*** OBS: Este valor deve estar entre R$3000 e R$30000",Cidadao, DefinirPena(PenaEscolhida));
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_3, DIALOG_STYLE_INPUT, "Preзo pela liberdade:", string, "Confirmar", "Cancelar");
                }
                if(listitem == 2)
                {
                    Diminuir = PlayerInfo[PresidiarioID][pJailTime]-PlayerInfo[PresidiarioID][pJailTime]*30/100;
                    PenaEscolhida = 3;
                    format(string, sizeof(string),"OK, Vocк escolheu livrar %s de %d% de sua pena\nAgora escolha um valor para este serviзo\n*** OBS: Este valor deve estar entre R$3000 e R$30000",Cidadao, DefinirPena(PenaEscolhida));
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_3, DIALOG_STYLE_INPUT, "Preзo pela liberdade:", string, "Confirmar", "Cancelar");
                }
                if(listitem == 3)
                {
                    Diminuir = PlayerInfo[PresidiarioID][pJailTime]-PlayerInfo[PresidiarioID][pJailTime]*40/100;
                    PenaEscolhida = 4;
                    format(string, sizeof(string),"OK, Vocк escolheu livrar %s de %d% de sua pena\nAgora escolha um valor para este serviзo\n*** OBS: Este valor deve estar entre R$3000 e R$30000",Cidadao, DefinirPena(PenaEscolhida));
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_3, DIALOG_STYLE_INPUT, "Preзo pela liberdade:", string, "Confirmar", "Cancelar");
                }
                if(listitem == 4)
                {
                    Diminuir = PlayerInfo[PresidiarioID][pJailTime]-PlayerInfo[PresidiarioID][pJailTime]*50/100;
                    PenaEscolhida = 5;
                    format(string, sizeof(string),"OK, Vocк escolheu livrar %s de %d% de sua pena\nAgora escolha um valor para este serviзo\n*** OBS: Este valor deve estar entre R$3000 e R$30000",Cidadao, DefinirPena(PenaEscolhida));
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_3, DIALOG_STYLE_INPUT, "Preзo pela liberdade:", string, "Confirmar", "Cancelar");
                }
                if(listitem == 5)
                {
                    Diminuir = PlayerInfo[PresidiarioID][pJailTime]-PlayerInfo[PresidiarioID][pJailTime]*60/100;
                    PenaEscolhida = 6;
                    format(string, sizeof(string),"OK, Vocк escolheu livrar %s de %d% de sua pena\nAgora escolha um valor para este serviзo\n*** OBS: Este valor deve estar entre R$3000 e R$30000",Cidadao, DefinirPena(PenaEscolhida));
                    ShowPlayerDialog(playerid, DIALOG_ADVOGADO_3, DIALOG_STYLE_INPUT, "Preзo pela liberdade:", string, "Confirmar", "Cancelar");
                }
                return 1;
            }
        }
    }
    if(dialogid == DIALOG_ADVOGADO_3)
    {
        if(response == 0)
        {
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            PenaEscolhida = 0;
            Diminuir = 0;
            PrecoAdvogado = 0;
            Advogando = 0;
            Presidiarios = 0;
            MortoPreso = 0;
            SoltandoPreso = 0;
            return 1;
        }
        if(response >= 1)
        {
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            if(strval(inputtext) >= 3000 && strval(inputtext) <= 30000)
            {
                PrecoAdvogado = strval(inputtext);
                AdvogadoOffer[PresidiarioID] = playerid;
                AdvogadoPrice[PresidiarioID] = PrecoAdvogado;
                format(string,sizeof(string),"Atenзгo seu cliente й %s [ID:%d]\nvocк quer livra-lo de %d% de sua pena\npor um valor de R$%d\nAguarde uma resposta!", Cidadao, PresidiarioID,DefinirPena(PenaEscolhida), PrecoAdvogado);
                ShowPlayerDialog(playerid,DIALOG_ADVOGADO_4,DIALOG_STYLE_MSGBOX,"Aceitar advogado:", string,"OK","Cancelar");
                format(string,sizeof(string),"Atenзгo seu advogado й %s [ID:%d]\ne o mesmo quer livra-lo de %d% de sua pena\npor um valor de R$%d\nAguarde uma resposta!", xSonNome(playerid), playerid, DefinirPena(PenaEscolhida), PrecoAdvogado);
                ShowPlayerDialog(PresidiarioID,DIALOG_ADVOGADO_5,DIALOG_STYLE_MSGBOX,"Aceitar advogado:", string,"OK","Sair");
                return 1;
            }
            else
            {
                format(string, sizeof(string),"OK, Vocк escolheu livrar %s de %d% de sua pena\nAgora escolha um valor para este serviзo\n*** OBS: Este valor deve estar entre R$3000 e R$30000",Cidadao, DefinirPena(PenaEscolhida));
                ShowPlayerDialog(playerid, DIALOG_ADVOGADO_3, DIALOG_STYLE_INPUT, "Preзo pela liberdade:", string, "Confirmar", "Sair");
            }
        }
        return 1;
    }
    if(dialogid == DIALOG_ADVOGADO_4)
    {
        if(response == 0)
        {
            PenaEscolhida = 0;
            Diminuir = 0;
            PrecoAdvogado = 0;
            Advogando = 0;
            Presidiarios = 0;
            MortoPreso = 0;
            SoltandoPreso = 0;
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            return 1;
        }
        if(response == 1)
        {
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            PenaEscolhida = 0;
            Diminuir = 0;
            PrecoAdvogado = 0;
            Advogando = 0;
            Presidiarios = 0;
            MortoPreso = 0;
            SoltandoPreso = 0;
            return 1;
        }
        return 1;
    }
    if(dialogid == DIALOG_ADVOGADO_5)
    {
        if(response == 0)
        {
            PenaEscolhida = 0;
            Diminuir = 0;
            PrecoAdvogado = 0;
            Advogando = 0;
            Presidiarios = 0;
            MortoPreso = 0;
            SoltandoPreso = 0;
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            return 1;
        }
        if(response == 1)
        {
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
            if(AdvogadoOffer[playerid] < 999)
            {
                if(RequerirGranaCityLiving(playerid) > AdvogadoPrice[playerid])
                {
                    format(string, sizeof(string), "Vocк teve sua pena diminuida em %d% por R$%d pelo Advogado: %s.",DefinirPena(PenaEscolhida), AdvogadoPrice[playerid], xSonNome(AdvogadoOffer[playerid]));
                    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                    format(string, sizeof(string), "Atenзгo: %s aceitou sua proposta de diminuiзгo de %d% de sua pena por R$%d!",xSonNome(playerid), DefinirPena(PenaEscolhida), AdvogadoPrice[playerid]);
                    SendClientMessage(AdvogadoOffer[playerid], COLOR_LIGHTBLUE, string);
                    DargranaCityLiving(playerid, -AdvogadoPrice[playerid]);
                    ApprovedAdvogado[AdvogadoOffer[playerid]] = 0;
                    WantAdvogado[playerid] = 0;
                    CallAdvogado[playerid] = 0;
                    PlayerInfo[playerid][pJailTime] = Diminuir;
                    PlayerInfo[playerid][pAjustado] = 1;
                    PlayerInfo[AdvogadoOffer[playerid]][pLawSkill] ++;
                    AdvogadoOffer[playerid] = 999;
                    AdvogadoPrice[playerid] = 0;
                }
            }
            PenaEscolhida = 0;
            Diminuir = 0;
            PrecoAdvogado = 0;
            Advogando = 0;
            Presidiarios = 0;
            MortoPreso = 0;
            SoltandoPreso = 0;
            return 1;
        }
        return 1;
    }
Reply
#2

UP ...
Reply
#3

Nгo entendi seu cуdigo.
Faзa com case.

Use 'inputtext' para pegar que o player digitou. Se necessбrio use strval.
Reply
#4

Ok vou tentar refazer o code . Se eu Conseguir posto aqui !
Reply
#5

Uma dica que vai te ajudar

PHP код:
switch(listitem){
    case 
0: ...
    case 
1: ....

Reply
#6

Consegui refazer o code sem bugs , Vlw ae obrigado pela Dica !
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)