[Ajuda] Emprego Gari.
#1

Bom, quando o gari chega a um checkpoint ele digita o comando /recolherlixo e recolhe o lixo.. Atй ai tudo bem, mas quando vai para o proximo checkpoint o comando nгo funciona..

Script:
pawn Code:
// OnDialogResponse:
        case DIALOG_ROTAS_GARI:
        {
            if(!response) return false;
            if(response)
            {
                new stringx[50], stringy[50], stringz[50];
                format(file, sizeof file, "Empregos/Gari/%d.ini", listitem);
                RotaID[playerid] = listitem;
                format(stringx, sizeof stringx, "Rota %d X", RotaID[playerid]);
                format(stringy, sizeof stringy, "Rota %d Y", RotaID[playerid]);
                format(stringz, sizeof stringz, "Rota %d Z", RotaID[playerid]);
                SetPlayerCheckpoint(playerid, DOF2_GetFloat(file, stringx), DOF2_GetFloat(file, stringy), DOF2_GetFloat(file, stringz), 6.0);
                SendClientMessage(playerid, Branco, "Complete os checkpoints para ganhar $80,00.");
                SendClientMessage(playerid, Cinza, "Quando chegar no checkpoint use o comando /recolherlixo.");
            }
        }

// Comandos:
CMD:rotasgari(playerid)
{
    new file[70];
    new dialog[500];
    for(new i; i < 1; i++)
    {
        format(file, sizeof file, "Empregos/Gari/%d.ini", i);
        format(String, sizeof String, "{FFFFFF}[Rota %d]: Latas: %d | Pagamento: $%d,00.\n", i, DOF2_GetInt(file, "Total de Checkpoints"), DOF2_GetInt(file, "Valor"));
        strcat(dialog, String);
    }
    ShowPlayerDialog(playerid, DIALOG_ROTAS_GARI, DIALOG_STYLE_LIST, "Rotas Dнsponiveis para Gari:", dialog, "Selecionar", "Fechar");
    return true;
}

CMD:recolherlixo(playerid)
{
    new stringx[50], stringy[50], stringz[50], file[70];
    format(file, sizeof file, "Empregos/Gari/%d.ini", RotaID[playerid]);
    format(stringx, sizeof stringx, "Rota %d X", RotaID[playerid]);
    format(stringy, sizeof stringy, "Rota %d Y", RotaID[playerid]);
    format(stringz, sizeof stringz, "Rota %d Z", RotaID[playerid]);
    if(RotaID[playerid] == DOF2_GetInt(file, "Total de Checkpoints"))
    {
        DisablePlayerCheckpoint(playerid);
        format(String, sizeof String, "Rota completada! Vocк recebeu a recompensa de ${FF4500}%d,00{FFFFFF}.", DOF2_GetInt(file, "Valor"));
        SendClientMessage(playerid, Branco, String);
        GivePlayerMoney(playerid, DOF2_GetInt(file, "Valor"));
        pDados[playerid][Dinheiro] += DOF2_GetInt(file, "Valor");
    }
    else if(IsPlayerInRangeOfPoint(playerid, 6.0, DOF2_GetFloat(file, stringx), DOF2_GetFloat(file, stringy), DOF2_GetFloat(file, stringz)))
    {
        TogglePlayerControllable(playerid, false);
        SetTimerEx("RecolherLixo", 2000, false, "i", playerid);
        SendClientMessage(playerid, Cinza, "Recolhendo lixo, por favor aguarde..");
    }
    return true;
}

// Callback RecolherLixo:
public RecolherLixo(playerid)
{
    new stringx[50], stringy[50], stringz[50], file[70];
    format(file, sizeof file, "Empregos/Gari/%d.ini", RotaID[playerid]);
    RotaID[playerid] = RotaID[playerid] + 1;
    format(stringx, sizeof stringx, "Rota %d X", RotaID[playerid]);
    format(stringy, sizeof stringy, "Rota %d Y", RotaID[playerid]);
    format(stringz, sizeof stringz, "Rota %d Z", RotaID[playerid]);
    SetPlayerCheckpoint(playerid, DOF2_GetFloat(file, stringx), DOF2_GetFloat(file, stringy), DOF2_GetFloat(file, stringz), 6.0);
    SendClientMessage(playerid, Branco, "Lixo recolhido com {00FF00}sucesso{FFFFFF}, vб para o proximo {FF4500}checkpoint{FFFFFF}.");
    TogglePlayerControllable(playerid, true);
    return true;
}
Ajuda :/
Reply
#2

O que acontece exatamente? Parece estar tudo certo porйm muito "desoptimizado", difнcil compreensгo...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)