[Ajuda] Viniborn
#1

Bom Viniborn desculpe o titulo para chamar sua atenзгo, mais vocк estava OFF no MSN e entгo reparei que vocк estava online no fуrum, bom estou com 2 problemas em 2 empregos que nгo consigo arrumar, se vocк puder me ajudar agradeзo muito..

Bom o problema do 1° Emprego й que quando eu digito /comprarprods ele apenas mostra os meus produtos, ele nгo executa a funзгo de comprar os produtos, estou com muitos problemas nisso, pois ele й a unica coisa que falta para terminar o emprego de Entregador.. D:




pawn Код:
new Produtos[4];

//CARROS PRODUTOS
Produtos[0] = CreateVehicle(456,1770.0118,-2049.0852,13.8499,271.1727,-1,-1,999999999);
Produtos[1] = CreateVehicle(456,1769.7986,-2031.1731,13.8230,270.4986,-1,-1,999999999);
Produtos[2] = CreateVehicle(499,1768.4127,-2022.9679,14.1371,270.4728,-1,-1,999999999);
Produtos[3] = CreateVehicle(499,1776.7191,-2022.9093,13.9409,269.6101,-1,-1,999999999);

        if(vId >= Produtos[0] && vId <= Produtos[3]){
        if(PlayerInfo[playerid][pJob] == 18){
        format(string, sizeof(string), "Produtos: %d/%d", PlayerHaul[GetPlayerVehicleID(playerid)][pLoad],PlayerHaul[GetPlayerVehicleID(playerid)][pCapasity]);
        SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
        SendClientMessage(playerid, COLOR_WHITE, "DICA: Vocк pode fornecer produtos para as empresas e lucrar com isso.");
        SendClientMessage(playerid, COLOR_WHITE, "DICA: Os comandos sгo: /produtos /comprarprods /venderprods");
        } else {
        SendClientMessage(playerid,0x972FFFAA,"{CD5C5C}[BOTInfo] {FFFFFF}Vocк nгo й um Entregador, E nгo pode usar esse veiculo!");
        RemovePlayerFromVehicle(playerid);
        TogglePlayerControllable(playerid, 1);
        }
        }
pawn Код:
if(strcmp(cmd, "/comprarprods", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new vId = GetPlayerVehicleID(playerid);
            new tmpcar = GetPlayerVehicleID(playerid);
            new compcost = 50;
            if(PlayerToPoint(60.0, playerid, 1750.9022,-2054.1663,14.1010))
            {
                if(vId >= Produtos[0] && vId <= Produtos[3]){
                    if(PlayerHaul[tmpcar][pLoad] < PlayerHaul[tmpcar][pCapasity])
                    {
                        new amount;
                        tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp))
                        {
                            SendClientMessage(playerid, COLOR_GRAD1, "USO: /comprarprods [quantia]");
                            return 1;
                        }
                        amount = strval(tmp);
                        if(amount < 1 || amount > 500) { SendClientMessage(playerid, COLOR_GREY, "   Can't buy less then 1 Product ou more then 500 !"); return 1; }
                        new check= PlayerHaul[tmpcar][pLoad] + amount;
                        if(check > PlayerHaul[tmpcar][pCapasity])
                        {
                            format(string, sizeof(string), "   Vocк ultrapassou o limite de produtos %d, seus carregamentos %d",PlayerHaul[tmpcar][pCapasity],PlayerHaul[tmpcar][pLoad]);
                            SendClientMessage(playerid, COLOR_GREY, string);
                            return 1;
                        }
                        new cost = amount*compcost;
                        if(GetPlayerGP(playerid) >= cost)
                        {
                            PlayerHaul[tmpcar][pLoad] += amount;
                            format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            format(string, sizeof(string), "Vocк comprou %d por R$ %d", amount,cost);
                            SendClientMessage(playerid, COLOR_WHITE, string);
                            GivePlayerGP(playerid,-cost);
                            PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                            return 1;
                        }
                        else
                        {
                            format(string, sizeof(string), "    Vocк nгo pфde pagar os produtos por R$ %d !", amount,cost);
                            SendClientMessage(playerid, COLOR_GREY, string);
                            return 1;
                        }
                    }
                    else
                    {
                            format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            return 1;
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "    Esse veнculo nгo faz entrega de produtos");
                    return 1;
                }
            }
        }
        return 1;
    }
Bom cheguei a dar uma arrumadinha *TENTEI* e deixei assim, hahaha..
pawn Код:
if(strcmp(cmd, "/comprarprods", true) == 0)
    {
        if(IsPlayerConnected(playerid)){
        if(PlayerInfo[playerid][pJob] == 18){
        new vId = GetPlayerVehicleID(playerid);
        if(vId >= Produtos[0] && vId <= Produtos[3]){
        if(PlayerToPoint(60.0, playerid, 1750.9022,-2054.1663,14.1010))
        SendClientMessage(playerid, COLOR_RED, "Vocк deve estar ao Porгo para comprar seus Produtos.");{
        new compcost = 50;
        new amount;
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
        SendClientMessage(playerid, COLOR_RED, "[Digite] {FFFFFF}/comprarprods [Produtos] (Caminhгo Grande 200 - Caminhгo Pequeno 120)");
        return 1;
        }
        amount = strval(tmp);
        if(amount < 1 || amount > 2000) { SendClientMessage(playerid, COLOR_GREY, "Preзo entre R$1 e R$2000"); return 1; }
        new cost = amount*compcost;
        if(GetPlayerGP(playerid) >= cost)
        {
        format(string, sizeof(string), "Vocк comprou %d por R$%d", amount,cost);
        SendClientMessage(playerid, COLOR_WHITE, string);
        GivePlayerGP(playerid, -cost);
        PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
        return 1;
        } else {
        SendClientMessage(playerid,COLOR_RED,"Vocк nгo estб em um caminhao de entregas");
        }
        return 1;
                }
            }
        }
    }
}
Reply
#2

Tenta assim.
pawn Код:
if(strcmp(cmd, "/comprarprods", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new vId = GetPlayerVehicleID(playerid);
            new tmpcar = GetPlayerVehicleID(playerid);
            new compcost = 50;
            if(PlayerToPoint(60.0, playerid, 1750.9022,-2054.1663,14.1010))
            {
                if(vId <= Produtos[0] && vId >= Produtos[3]){
                    if(PlayerHaul[tmpcar][pLoad] < PlayerHaul[tmpcar][pCapasity])
                    {
                        new amount;
                        tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp))
                        {
                            SendClientMessage(playerid, COLOR_GRAD1, "USO: /comprarprods [quantia]");
                            return 1;
                        }
                        amount = strval(tmp);
                        if(amount < 1 || amount > 500) { SendClientMessage(playerid, COLOR_GREY, "   Can't buy less then 1 Product ou more then 500 !"); return 1; }
                        new check= PlayerHaul[tmpcar][pLoad] + amount;
                        if(check > PlayerHaul[tmpcar][pCapasity])
                        {
                            format(string, sizeof(string), "   Vocк ultrapassou o limite de produtos %d, seus carregamentos %d",PlayerHaul[tmpcar][pCapasity],PlayerHaul[tmpcar][pLoad]);
                            SendClientMessage(playerid, COLOR_GREY, string);
                            return 1;
                        }
                        new cost = amount*compcost;
                        if(GetPlayerGP(playerid) >= cost)
                        {
                            PlayerHaul[tmpcar][pLoad] += amount;
                            format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            format(string, sizeof(string), "Vocк comprou %d por R$ %d", amount,cost);
                            SendClientMessage(playerid, COLOR_WHITE, string);
                            GivePlayerGP(playerid,-cost);
                            PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                            return 1;
                        }
                        else
                        {
                            format(string, sizeof(string), "    Vocк nгo pфde pagar os produtos por R$ %d !", amount,cost);
                            SendClientMessage(playerid, COLOR_GREY, string);
                            return 1;
                        }
                    }
                    else
                    {
                            format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
                            SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
                            return 1;
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "    Esse veнculo nгo faz entrega de produtos");
                    return 1;
                }
            }
        }
        return 1;
    }
Reply
#3

Gustavo_Araujo Muito obrigado, vou ver se consigo, eu pedi ajuda mesmo pro Vini pq ele tambem deve ter passado por essa situaзгo, e estб um pouco foda arrumar..

Atualizado: й nгo deu mesmo disse que "Esse veнculo nгo faz entrega de produtos".. D:
Reply
#4

Se й sу para o Viniborn te ajudar, entгo vou nem ajudar.
Reply
#5

Ricop522 Pode ajudar tambem, mais й que tipo sу criei com o nome Vini pra ver se ele tambem pode ajudar, mais se vocк ajudar agradeзo tambem muito, vocк jб me ajudou arrumar 1 Bug..
Reply
#6

Pekeno, que GM й este? Sу pra saber mesmo rs.
Reply
#7

BSL, Arrumei bastante BUGs deles, mais depois que coloquei Produtos[0] = e tirei o sistema de virar chave bugou, eu quero muito arrumar, os maiores problemas atualmente e que faltam para terminar й

- Empresa atualizar
- Casa atualizar
- Empresa BUG SBIZ
- Empregos
Entregador de produtos
Entregador de Pizzas
- Beneficios VIP
- Comandos de administraзгo


Os 2 ъltimos eu mesmo vou arrumar.. Mais o restante acima estou com problemas..
Reply
#8

Comeзa a pensar um pouquinho cara.
Presta atenзгo na mensagem que tб aparecendo, ela tб dentro de um else, ou seja, a afirmaзгo anterior й falsa.

PlayerHaul[tmpcar][pLoad] nгo й menor que PlayerHaul[tmpcar][pCapasity] , de acordo com suas SS's elas sгo iguais, por isso sу aparece essa mensagem.

pawn Код:
if(PlayerHaul[tmpcar][pLoad] < PlayerHaul[tmpcar][pCapasity])
{
    //funзгo
}
else
{
    format(string, sizeof(string), "Produtos: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    return 1;
}
Reply
#9

Viniborn Nгo cheguei muito entender, Eu teria q colocar a funзгo em //Funзгo, apenas trocar partes??
Acho que se vocк colocar no codigo ajuda ainda mais, pq nгo entendi muito, tentei arrumar e nгo consigo, entгo imagina como vc falou, hahaha...
Reply
#10

Sу coloquei //funзгo pra diminuir o tamanho do cуdigo, pra facilitar o entendimento.

Vocк tem que verificar o valor que PlayerHaul[tmpcar][pLoad] e PlayerHaul[tmpcar][pCapasity] estгo recebendo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)