[Ajuda]ajuda a arrumar meu sistema aki please hehe
#1

Jб arrumei,obrigado aн,consegui arrumar.
Reply
#2

Jб tentou assim?

pawn Код:
#include <a_samp>

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

new Counting;
new bool: iniciou = false;

dcmd_count(playerid, params[])
{
    if(iniciou == true) return SendClientMessage(playerid, 0xFFFFFFFF, "A contagem jб foi iniciada");
    if (!strlen(params)) return SendClientMessage(playerid, 0xafafafff, "Use: /Cont [Quantia]");

    if (strlen(params) > 9) return SendClientMessage(playerid, 0xafafafff, " A contagem sу pode ser feita atй 9");

    if (!IsNumeric(params)) return SendClientMessage(playerid, 0xafafafff, "A [quantia] й a quantidade numйrica!");

    if (strval(params) < 1) return SendClientMessage(playerid, 0xafafafff, "A contagem nгo aceita Zero!");

    if (Counting) return SendClientMessage(playerid, 0xafafafff, " ");

    Counting = true;

    new ii = strval(params);

    do
    {
        SetTimerEx("CountDown", (strval(params) - ii) * 1000, false, "i", ii);

        ii --;
    }
    while (ii != -1);

    SendClientMessage(playerid, 0xffe600ff, "*** Countdown brB ***"); //Amarelo

    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(count, 5, cmdtext);

    return 0;
}

forward CountDown(num);

public CountDown(num)
{
    new str[2];

    if (num)
    {
        format(str, sizeof(str), "%i", num);

        GameTextForAll(str, 1001, 4); //
        iniciou = true;
    }
    else
    {
        GameTextForAll("~g~Go Go Go", 3000, 4); //VERDE
        iniciou = false;
        Counting = false;
    }
}

IsNumeric(const string[]) //By [_brB_]Clan http://www.clanbrb.forumeiros.com ([_brB_]Sonic)
{
    for (new i = 0, j = strlen(string); i < j; i++)
    {
        if (string[i] > '9' || string[i] < '0') return 0;
    }
    return 1;
}
Reply
#3

Nгo й assim. ._.
Reply
#4

pawn Код:
#include <a_samp>

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

new Counting;
new bool:sougato;

dcmd_count(playerid, params[])
{
    if(sougato == true) return SendClientMessage(playerid, 0xafafafff, "Jб estб contando!, espere terminar para comeзar outr!");
    if (!strlen(params)) return SendClientMessage(playerid, 0xafafafff, "Use: /Cont [Quantia]");

    if (strlen(params) > 9) return SendClientMessage(playerid, 0xafafafff, " A contagem sу pode ser feita atй 9");

    if (!IsNumeric(params)) return SendClientMessage(playerid, 0xafafafff, "A [quantia] й a quantidade numйrica!");

    if (strval(params) < 1) return SendClientMessage(playerid, 0xafafafff, "A contagem nгo aceita Zero!");

    if (Counting) return SendClientMessage(playerid, 0xafafafff, " ");

    Counting = true;

    new ii = strval(params);

    do
    {
        SetTimerEx("CountDown", (strval(params) - ii) * 1000, false, "i", ii);

        ii --;
    }
    while (ii != -1);

    SendClientMessage(playerid, 0xffe600ff, "*** Countdown brB ***"); //Amarelo
    sougato = true;
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(count, 5, cmdtext);

    return 0;
}

forward CountDown(num);

public CountDown(num)
{
    new str[2];

    if (num)
    {
        format(str, sizeof(str), "%i", num);

        GameTextForAll(str, 1001, 4); //
    }
    else
    {
        GameTextForAll("~g~Go Go Go", 3000, 4); //VERDE

        Counting = false;
        sougato == false;
    }
}

IsNumeric(const string[]) //By [_brB_]Clan http://www.clanbrb.forumeiros.com ([_brB_]Sonic)
{
    for (new i = 0, j = strlen(string); i < j; i++)
    {
        if (string[i] > '9' || string[i] < '0') return 0;
    }
    return 1;
}
Reply
#5

Nгo deu certo
Reply
#6

Vocк chegou a testar?

pawn Код:
new bool: iniciou = false;
/*Variбvel bool criada, identifica positivo ou negativo */

 if(iniciou == true) return SendClientMessage(playerid, 0xFFFFFFFF, "A contagem jб foi iniciada");
/* Se iniciou for positivo irб mandar a mensagem que a contagem jб foi iniciada, caso contrario inicia normalmente */

if (num)
    {
        format(str, sizeof(str), "%i", num);

        GameTextForAll(str, 1001, 4); //
        iniciou = true;
    }
    else
    {
        GameTextForAll("~g~Go Go Go", 3000, 4); //VERDE
        iniciou = false;
        Counting = false;
    }
/*Na contagem define que a variavel bool: iniciou й positiva, e quando acabar define que ela й negativa/*
Me parece que й como vocк pediu

Seu new Counting parece usar o boolnear, mas vocк esqueceu de colocar bool antes de declarar a variбvel, ficando new bool:Counting; << automaticamente irб ganhar o valor false.
Reply
#7

Sim,sim,coloquei o bool com a variбvel,e testei,mesmo assim,continua podendo fazer mil contagens de uma vez
Reply
#8

Tem necessidade de criar 2 tуpicos sobre o mesmo assunto?
Reply
#9

Quote:

Tem necessidade de criar 2 tуpicos sobre o mesmo assunto?

Porque primeiro vocк nгo tenta me ajudar?
E tambйm,se vocк ler o assunto deste tуpico,verб que nгo й a mesma coisa.
Reply
#10

Vocк fala contagem manualmente ou contagem automatica?
Se for manual eu posso lhe arrumar um cod.

This forum requires that you wait 120 seconds between posts. Please try again in 30 seconds.
=@
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)