[AJUDA] Texto
#1

Iai galerinha como faz para getar texto escrito em um comando ?

ja tentei eudo quanto й jeito e nгo tive sucvesso
nos dialog para getar й inputtext e nos comando no chat ??

obrigado
Reply
#2

Acho que й isto:
pawn Код:
public
    OnPlayerCommandText(playerid, cmdtext[])
{
    new string[128];
    new Nome[40];
    GetPlayerName(playerid, Nome,(sizeof(Nome)));
    format(string, sizeof(string),"%s, Digitou o comando %s",Nome,cmdtext);
    printf(string);
    return 0;
}
Reply
#3

bem isso mesmo garfield,

podes botar assim no ultimo return:
pawn Код:
new string[128];
    new Nome[40];
    GetPlayerName(playerid, Nome,(sizeof(Nome)));
    format(string, sizeof(string),"%s, o comando %s nгo existe",Nome,cmdtext);
    return SendClientMessage(playerid, cor, string);
Reply
#4

eu fiz no intuito de quem digito comando e aparecer oque digito E

Exemplo:

Garfield Digitou /ajuda
Reply
#5

eu sei

apenas dei outro exemplo comumente usado em servers famosos
Reply
#6

nгo, nгo й isso que eu to dizendo.
eu digo tipo um sistema de PM exemplo meu comando que eu fiz й assim.
pawn Код:
if(strcmp(cmd, "/mp", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, 0xFF0000AA, "USO: /mp [ID] [Texto]");
            return 1;
        }
        new ID;
        ID = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, 0xFF0000AA, "USO: /mp [ID] [Texto]");
            return 1;
        }
        new Texto;
        new Nome[MAX_PLAYER_NAME];
        new String[128];
        GetPlayerName(playerid, Nome, sizeof(Nome));
        format(String, sizeof(String), "PM De %s: %s",Nome, Texto);
        SendClientMessage(ID,0xFFFF00AA,String);
        return 1;
    }
ele manda a mensagem com o nome mas o que ele digitou depois de ID oui seja o Texto, o texto nгo aparece fica em branco, poristo queria saber como faz para getar o texto, seu eu digitar um numero e colocar %d no lugar de %s aparece o numero mas texto nгo eu queria fazer aparecer texto
obrigado
Reply
#7

pawn Код:
if(strcmp(cmd, "/mp", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        new tmp2[256] = strtok(cmd, idx); // se der erro aqui coloca new cmd[256]; antes dessa linha, por algum motivo os tmp q usam strtok tem q ser [256]
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, 0xFF0000AA, "USO: /mp [ID] [Texto]");
            return 1;
        }
        new ID;
        ID = strval(tmp);
        new texto = strval(tmp2);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, 0xFF0000AA, "USO: /mp [ID] [Texto]");
            return 1;
        }
        new Nome[MAX_PLAYER_NAME];
        new String[128];
        GetPlayerName(playerid, Nome, sizeof(Nome));
        format(String, sizeof(String), "PM De %s: %s",Nome, texto);
        SendClientMessage(ID,0xFFFF00AA,String);
        return 1;
    }
tenta isso nao sei se vai dar certo :S
Reply
#8

nгo deu, tava dando erro ai fiz de outro jeito e compilo mas nгo geta o texto
Reply
#9

pawn Код:
if(strcmp("/mp", cmd, true) == 0)
    {
        tmp = strtok(cmdtext,idx);
        new gMessage[256];
        new iName[25], pName[25];
       
        if(!strlen(tmp) || strlen(tmp) > 5) {
            SendClientMessage(playerid,0xFF0000AA,"Use: /mp (id) (msg)");
            return 1;
        }
       
        new id = strval(tmp);
        gMessage = strrest(cmdtext,idx);
       
        if(!strlen(gMessage)) {
            SendClientMessage(playerid,0xFF0000AA,"Use: /mp (id) (msg)");
            return 1;
        }
       
        if(!IsPlayerConnected(id)) {
            SendClientMessage(playerid,0xFF0000AA,"Jogador nгo conectado");
            return 1;
        }
       
        if(playerid != id) {
            GetPlayerName(id,iName,sizeof(iName));
            GetPlayerName(playerid,pName,sizeof(pName));
            format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
            SendClientMessage(playerid,0xFFFF00AA,Message);
            format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
            SendClientMessage(id,0xFFFF22AA,Message);
            PlayerPlaySound(id,1085,0.0,0.0,0.0);          
        }
        else {
            SendClientMessage(playerid,0xFF0000AA,"Vocк nгo pode mandar uma mensagem pra vocк mesmo");
        }
        return 1;
    }
Crйditos: base.pwn (vem junto com o server). Tenta esse
Reply
#10

e ai Tiago eu acho que isso pode te ajudar tenta la e de um prototipo que estou criando xD....

pawn Код:
format(string,sizeof(string),"Alberto [Player id: 10] diz: %s", cmdtext[strlen(cmd)+strlen(tmp)]);
SendClientMessageToAll(0xFF8000AA,string);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)