[Ajuda] Player Pagar Imposto no Payday
#1

Tipo, eu tenho um sistema de payday. Ai tem o sistema de impsoto , no qual o prefeito seta a taxa de imposto para um valor. Ta isso funciona corretamente. Sу que o imposto nгo tira dinheiro do usuбrio na hora do payday eu queria saber como fazer isso

PS: Essa nгo й a public completa do payday, sу й a parte onde estб dando o problema

pawn Код:
interest = (PlayerInfo[i][pConta]/1000)*(tmpintrate);
                    PlayerInfo[i][pExp]++;
                    PlayerPlayMusic(i);
                    PlayerInfo[i][pConta] = Conta+interest;
                    SendClientMessage(i, COLOR_WHITE, "|______________ Pagamento ______________|");
                    format(gstring, sizeof(gstring), "  Salбrio: R$%d   Imposto: -R$%d", checks, Tax);
                    SendClientMessage(i, COLOR_GRAD1, gstring);
                    SendClientMessage(i, COLOR_GRAD1, "  Mйdico: -R$300");
                    if(PlayerInfo[i][pPHousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
                    {
                        format(gstring, sizeof(gstring), "  Energia: -R$%d", ebill);
                        SendClientMessage(i, COLOR_GRAD1, gstring);
                    }
                    format(gstring, sizeof(gstring), "  Banco: R$%d", Conta);
                    SendClientMessage(i, COLOR_GRAD1, gstring);
                    format(gstring, sizeof(gstring), "  Juros: 0.%d  por cento",tmpintrate);
                    SendClientMessage(i, COLOR_GRAD2, gstring);
                    SendClientMessage(i, COLOR_GRAD4, "|_______________________________________|");
                    format(gstring, sizeof(gstring), "  Novo extrato: R$%d", PlayerInfo[i][pConta]);
                    SendClientMessage(i, COLOR_GRAD5, gstring);
                    format(gstring, sizeof(gstring), "  Aluguel: -R$%d", rent);
                    SendClientMessage(i, COLOR_GRAD5, gstring);
                    PlayerPlaySound(i, 1187, 0.0, 0.0, 0.0);
                    format(gstring, sizeof(gstring), "~p~-==- ~g~ ~y~~r~BRS ~g~Salario ~p~ -==-");
                    GameTextForPlayer(i, gstring, 5000, 1);
                    GivePlayerMoneyEx(i,- 300);
                    rent = 0;
                    PlayerInfo[i][pPayDay] = 0;
                    PlayerInfo[i][pSalario] = 0;
                    PlayerInfo[i][pConnectTime] += 1;
                    PlayerInfo[i][pCaixinha] = 0;
                    pban[i] = 0;
                    if(PlayerInfo[i][pEmprego] > 0)
                    {
                        if(PlayerInfo[i][pContractTime] < 25)
                        {
                            PlayerInfo[i][pContractTime] ++;
                        }
                    }
                }
                else
                {
                    SendClientMessage(i, COLOR_LIGHTRED, "* Vocк nгo jogou tempo suficiente para Receber salбrio!.");
                }
            }
        }
Reply
#2

Код:
GivePlayerMoney(playerid, -vardoimposto); //mude
Reply
#3

pawn Код:
GivePlayerMoney(playerid, -Tax);
Ta dando Undefined Symbol playerid , Por que?
Reply
#4

Ah nгo cara pode deixar eu conseguir , eu esqueci que to usando a letra "i" no lugar de playerid, valeu aqui funcionou, ajudou mt, + rep pra voce
Reply
#5

Quote:
Originally Posted by LordShadow
Посмотреть сообщение
pawn Код:
GivePlayerMoney(playerid, -Tax);
Ta dando Undefined Symbol playerid , Por que?
troque:

pawn Код:
playerid
Por:
pawn Код:
i
ficando assim:
pawn Код:
GivePlayerMoney(i, -Tax);
Reply
#6

Ae, galera outra duvida: Eu tenho um comando de /dartaxa do prefeito, e ele tira todo o dinheiro do cofre e da para os policiais online. Eu queria um valor mбximo que desse para os policias . Exemplo $10000 Para todos os policias online cada vez que usasse o /dartaxa, e tirasse o dinheiro do cofre da var TaxValue (TaxValue й o Cofre)

Comando:

pawn Код:
if(strcmp(cmd,"/dartaxa",true)==0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pLider] != 7)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo й o Prefeito !");
                return 1;
            }
            if(TaxValue < 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Nгo hб Dinheiro suficiente no banco de Impostos !");
                return 1;
            }
            new Cops = 0;
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(IsACop(i))
                    {
                        Cops += 1;
                    }
                }
            }
            if(Cops >= 1)
            {
                new price = TaxValue / Cops;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(IsACop(i))
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк deu a taxa para todos os policiais online!");
                            format(string, sizeof(string), "* Vocк recebeu R$%d do banco de Impostos pelo Prefeito.",price);
                            SendClientMessage(i, COLOR_LIGHTBLUE, string);
                            GivePlayerMoney(i, price);
                            TaxValue = 0;
                        }
                    }
                }
                SaveStuff();
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "  Nгo hб nenhum Policial Online no Momento !");
                return 1;
            }
        }
        return 1;
    }
Reply
#7

Quote:
Originally Posted by LordShadow
Посмотреть сообщение
Ae, galera outra duvida: Eu tenho um comando de /dartaxa do prefeito, e ele tira todo o dinheiro do cofre e da para os policiais online. Eu queria um valor mбximo que desse para os policias . Exemplo $10000 Para todos os policias online cada vez que usasse o /dartaxa, e tirasse o dinheiro do cofre da var TaxValue (TaxValue й o Cofre)

Comando:

pawn Код:
if(strcmp(cmd,"/dartaxa",true)==0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pLider] != 7)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo й o Prefeito !");
                return 1;
            }
            if(TaxValue < 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Nгo hб Dinheiro suficiente no banco de Impostos !");
                return 1;
            }
            new Cops = 0;
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(IsACop(i))
                    {
                        Cops += 1;
                    }
                }
            }
            if(Cops >= 1)
            {
                new price = TaxValue / Cops;
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerConnected(i))
                    {
                        if(IsACop(i))
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк deu a taxa para todos os policiais online!");
                            format(string, sizeof(string), "* Vocк recebeu R$%d do banco de Impostos pelo Prefeito.",price);
                            SendClientMessage(i, COLOR_LIGHTBLUE, string);
                            GivePlayerMoney(i, price);
                            TaxValue = 0;
                        }
                    }
                }
                SaveStuff();
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "  Nгo hб nenhum Policial Online no Momento !");
                return 1;
            }
        }
        return 1;
    }
Coloque no cуdigo:

Код:
if(price > 10000) price = 10000;
Acho que assim dб, tente colocar apуs б linha "new price = TaxValue / Cops;"
Reply
#8

Valeu, mais tenho mais uma ъltima duvida.

Nesse sistema de payday que tenho, eu adicionei essa linha

pawn Код:
TaxValue = Tax;
Com o propуsito do Imposto setado pelo prefeito, na hora do payday, ir para o cofre. Mais esse comando estб errado sу nгo sei o que preciso colocar, pois quando da o payday, o dinheiro do imposto vai pro banco de imposto(O TaxValue), mais o valor do imposto (O Tax) depois muda para o mesmo valor do dinheiro que contйm dentro do banco de imposto (O Valor do TaxValue), queria saber como arrumar isso.
Reply
#9

Код:
TaxValue += Tax;
soma um valor com o outro
Reply
#10

Cara, ficou do mesmo jeito , mas agora mesmo eu setando o valor do imposto pra por exemplo $5000, eu pago o imposto no mesmo valor do TaxValue
Reply


Forum Jump:


Users browsing this thread: