[Pedido] /contar [id] [quantia]
#1

Tipo, eu tenho um /contar [quantia] aki, mas tipo da pra digitar /contar 100000 q vai, ai buga o sv
eu queria um q fosse assim:
/contar [ID = aki bota o id do oponente pra sу aparecer na tela de voces 2] [Quantia = aki bota uma quantia, no maximo 10, para iniciar uma contagem], ai se digita /contar [id] [11] aparece, quantia invalida,digite /contar [id] [1-10]
e ai teria um /contaroff, q o player desativa pra ninguem encomodar ele, saco? eu nao consegui fazer, nao gosto de pedir ajuda, mas nй, sou iniciante, pf me ajudem .-----.
Reply
#2

pawn Код:
CMD:contar(playerid, params[])
{
    new ID, Contar;
    if(sscanf(params, "ud", ID, Contar)) return SendClientMessage(playerid, -1, "Digite /contar [id] [conta]");

    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "O id nгo estб conectado");

    if(Contar > 10) return SendClientMessage(playerid, -1, "Quantia invбlida");

    // Aqui pra baixo coloca a funзгo que quer... (Nгo entendi muito bem oque quer).

    return 1;
}
Reply
#3

pawn Код:
// Topo do GM

new Contar[MAX_PLAYERS];

forward FicarContando(playerid);

public FicarContando(playerid)
{
    if(Contar[playerid] >= 1)
    {
        Contar[playerid]--;
       
        format(Fala,sizeof(Fala),"~r~Contagem: ~w~%d",Contar[playerid]);
        GameTextForPlayer(playerid,Fala,2000,3);
    }
    if(Contar[playerid] == 0)
    {
        GameTextForPlayer(playerid,"~g~Go Go Go!",2000,3);
    }
    return 1;
}

// OnGameModeInit

for(new i=0; i<MAX_PLAYERS; i++)
{
    SetTimerEx("FicarContando",1000,1,"i",i);
}

// Comando STRCMP

new cmd[128];
new tmp[128];

new idx;

cmd = strtok(cmdtext,idx);

if(strcmp(cmdtext,"/contar",true) == 0)
{
    tmp = strtok(cmdtext,idx);

    if(!strlen(tmp))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Use /contar [ID] [Tempo]");
        return 1;
    }
    new id = strval(tmp);
   
    if(!IsPlayerConnected(id))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Este player nгo estб conectado.");
        return 1;
    }
    tmp = strtok(cmdtext,idx);
   
    new Count = strval(tmp);
   
    if(!strlen(tmp))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Use /contar [ID] [Tempo]");
        return 1;
    }
    if(Count > 10)
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Os nъmeros sу podem ser de 1 a 10.");
        return 1;
    }
    Contar[id] = Count;
    return 1;
}

// Comando ZCMD

CMD:contar(playerid,params[])
{
    new ID, Count;
   
    if(sscanf(params,"ud",ID,Count))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Use /contar [ID] [Tempo]");
        return 1;
    }
    if(!IsPlayerConnected(ID))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Este player nгo estб conectado.");
        return 1;
    }
    if(Count > 10)
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Os nъmeros sу podem ser de 1 a 10.");
        return 1;
    }
    Contar[ID] = Count;
    return 1;
}
Espero ter ajudado
Reply
#4

(149) : error 017: undefined symbol "Fala"
(149) : error 017: undefined symbol "Fala"
(149) : error 029: invalid expression, assumed zero
(149) : fatal error 107: too many error messages on one line

linha 149
format(Fala,sizeof(Fala),"~r~Contagem: ~w~%d",Contar[playerid]);

=S
Reply
#5

pawn Код:
// Topo do GM

new Fala[128];
Espero ter ajudado
Reply
#6

pawn Код:
#include "a_samp"
#include "zcmd"
#include "sscanf2"

new
    Texto[128],
    ValorC[MAX_PLAYERS],
    Desativado[MAX_PLAYERS],
    tTimer[MAX_PLAYERS]
;

forward Contando(playerid);

CMD:contar(playerid, params[])
{
    new id,quantia;
    if(sscanf(params, "ud", id,quantia)){
        SendClientMessage(playerid, -1, "Use: /contar [id] [quantia]");
        return true;
    }
    if(quantia > 10 ||quantia < 1){
        SendClientMessage(playerid, -1, "ERRO:A contagem deve ser de 1 а 10!");
        return true;
    }
    if(Desativado[id] == 1){
        SendClientMessage(playerid, -1, "ERRO:Este jogador desativou a contagem para ele!");
        return true;
    }
    tTimer[id] = SetTimerEx("Contando",1000,true,"i",id);
    tTimer[playerid] = SetTimerEx("Contando",1000,true,"i",playerid);
    ValorC[playerid] = quantia;
    ValorC[id] = quantia;
    format(Texto,sizeof(Texto),"{FF0055}[CONTAGEM]{FFFFFF}Uma contagem de {00EEFF}%d{FFFFFF} foi iniciada!",quantia);
    SendClientMessage(playerid,-1,Texto);
    SendClientMessage(id,-1,Texto);
    format(Texto,sizeof(Texto),"~y~Contagem:~b~%d",ValorC[playerid]);
    GameTextForPlayer(playerid,Texto,1000,3);
    format(Texto,sizeof(Texto),"~y~Contagem:~b~%d",ValorC[id]);
    GameTextForPlayer(id,Texto,1000,3);
    return true;
}

CMD:desativarcontagem(playerid, params[]){
    Desativado[playerid] = 1;
    SendClientMessage(playerid,-1,"Vocк desativou а contagem!");
    return true;
}

CMD:ativarcontagem(playerid, params[]){
    Desativado[playerid] = 0;
    SendClientMessage(playerid,-1,"Vocк ativou а contagem!");
    return true;
}

public Contando(playerid){
    if(ValorC[playerid] == 0){
        KillTimer(tTimer[playerid]);
        GameTextForPlayer(playerid,"Go...",1000,3);
        return true;
    }
    ValorC[playerid]--;
    format(Texto,sizeof(Texto),"~y~Contagem:~b~%d",ValorC[playerid]);
    GameTextForPlayer(playerid,Texto,1000,3);
    return true;
}
Reply
#7

BielCOP, o seu compilo tri atй, mas bugo o servidor, tu loga e ele fica aparecendo GOGOGO na ela infinitamente, todos os comandos viram outro comando, e tambйm o /contar fica dizendo q nao existe, obrigado pelo esforзo man

o ZCMD do ****** nao compilo
apareceram esses erros...
(369) : error 029: invalid expression, assumed zero
(369) : error 017: undefined symbol "cmd_contar"
(369) : error 029: invalid expression, assumed zero
(369) : fatal error 107: too many error messages on one line

linha 369
CMD:contar(playerid, params[])
Reply
#8

Baixe a include zcmd e provavelmente a sscanf2 tambйm e coloque na sua pasta includes que se localiza na pasta pawno e use esse meu cуdigo como FS.

zcmd : http://www.solidfiles.com/d/d20f/

sscanf2 include : http://www.solidfiles.com/d/PSRS/

sscanf2 plugin : http://www.solidfiles.com/d/1894/

o sscanf2 plugin,coloque na pasta plugin de seu servidor.
Reply
#9

Testa aн ~>

pawn Код:
// Topo do GM

new Contar[MAX_PLAYERS];

forward FicarContando(playerid);

public FicarContando(playerid)
{
    if(Contar[playerid] >= 1)
    {
        Contar[playerid]--;

        format(Fala,sizeof(Fala),"~r~Contagem: ~w~%d",Contar[playerid]);
        GameTextForPlayer(playerid,Fala,2000,3);
    }
    if(Contar[playerid] == 0)
    {
        GameTextForPlayer(playerid,"~g~Go Go Go!",2000,3);
    }
    return 1;
}

// OnGameModeInit

for(new i=0; i<MAX_PLAYERS; i++)
{
    SetTimerEx("FicarContando",1000,1,"i",i);
}

// Comando STRCMP

new cmd[128];
new tmp[128];

new idx;

cmd = strtok(cmdtext,idx);

if(strcmp(cmdtext,"/contar",true) == 0)
{
    tmp = strtok(cmdtext,idx);

    if(!strlen(tmp))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Use /contar [ID] [Tempo]");
        return 1;
    }
    new id = strval(tmp);

    if(!IsPlayerConnected(id))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Este player nгo estб conectado.");
        return 1;
    }
    new Count = strval(tmp);
   
    tmp = strtok(cmdtext,idx);
   
    if(!strlen(tmp))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Use /contar [ID] [Tempo]");
        return 1;
    }
    if(Count > 10)
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Os nъmeros sу podem ser de 1 a 10.");
        return 1;
    }
    Contar[id] = Count;
    return 1;
}

// Comando ZCMD

CMD:contar(playerid,params[])
{
    new ID, Count;

    if(sscanf(params,"ud",ID,Count))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Use /contar [ID] [Tempo]");
        return 1;
    }
    if(!IsPlayerConnected(ID))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Este player nгo estб conectado.");
        return 1;
    }
    if(Count > 10)
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Os nъmeros sу podem ser de 1 a 10.");
        return 1;
    }
    Contar[ID] = Count;
    return 1;
}
Espero ter ajudado
Reply
#10

Quote:
Originally Posted by BielCOP
Посмотреть сообщение
Testa aн ~>

pawn Код:
// Topo do GM

new Contar[MAX_PLAYERS];

forward FicarContando(playerid);

public FicarContando(playerid)
{
    if(Contar[playerid] >= 1)
    {
        Contar[playerid]--;

        format(Fala,sizeof(Fala),"~r~Contagem: ~w~%d",Contar[playerid]);
        GameTextForPlayer(playerid,Fala,2000,3);
    }
    if(Contar[playerid] == 0)
    {
        GameTextForPlayer(playerid,"~g~Go Go Go!",2000,3);
    }
    return 1;
}

// OnGameModeInit

for(new i=0; i<MAX_PLAYERS; i++)
{
    SetTimerEx("FicarContando",1000,1,"i",i);
}

// Comando STRCMP

new cmd[128];
new tmp[128];

new idx;

cmd = strtok(cmdtext,idx);

if(strcmp(cmdtext,"/contar",true) == 0)
{
    tmp = strtok(cmdtext,idx);

    if(!strlen(tmp))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Use /contar [ID] [Tempo]");
        return 1;
    }
    new id = strval(tmp);

    if(!IsPlayerConnected(id))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Este player nгo estб conectado.");
        return 1;
    }
    new Count = strval(tmp);
   
    tmp = strtok(cmdtext,idx);
   
    if(!strlen(tmp))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Use /contar [ID] [Tempo]");
        return 1;
    }
    if(Count > 10)
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Os nъmeros sу podem ser de 1 a 10.");
        return 1;
    }
    Contar[id] = Count;
    return 1;
}

// Comando ZCMD

CMD:contar(playerid,params[])
{
    new ID, Count;

    if(sscanf(params,"ud",ID,Count))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Use /contar [ID] [Tempo]");
        return 1;
    }
    if(!IsPlayerConnected(ID))
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Este player nгo estб conectado.");
        return 1;
    }
    if(Count > 10)
    {
        SendClientMessage(playerid,0xBFBFBFAA,"Os nъmeros sу podem ser de 1 a 10.");
        return 1;
    }
    Contar[ID] = Count;
    return 1;
}
Espero ter ajudado
tem q melhorar isso
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)