/Fakekill
#1

Код:
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=[fakechat]-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    if(strcmp(cmd, "/fakechat", true) == 0)
	{
        if(PlayerInfo[playerid][pAdmin] < 7) return DenyMessage(playerid, 7);
        new tmp3[256];
        tmp = strtok(cmdtext, idx);
        new faked = ReturnUser(tmp);
        tmp3 = strtok(cmdtext, idx);
       	new length = strlen(cmdtext);
       	new	id;
        cmd = strtok(cmdtext, id);
		while ((idx < length) && (cmdtext[idx] <= ' '))
		{
			idx++;
		}
		new offset = idx;
		new result[64];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
		{
			result[idx - offset] = cmdtext[idx];
			idx++;
		}
        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "USO: /fakechat [ID] [reason]");
		if(!strlen(tmp3)) return SendClientMessage(playerid, COLOR_WHITE, "USO: /fakechat [ID] [reason]");
	    if(IsPlayerConnected(faked) && IsPlayerConnected(faked))
		GetPlayerName(faked);
        SendPlayerMessageToAll(faked, (result));
		format((result),sizeof((result)),"%s[%d]: %s",faked,(result));
        SendClientMessage(playerid, COLOR_WHITE, "ID De jugador invalida.");
		return 1;
	}
Compila perfecto, pero cuando escribo el comando, aparece el nick del player con un espacio, sin mostrar el ID ni nada.
Saludos y gracias, ya me ayudaron bastante leyendo.
Reply
#2

edit, no dije nada.
Reply
#3

Primero de que se trata el CMD Es un mensaje digamos Privado o quieres q se le muestre a todos los q ten conectado?
Reply
#4

Osea, lo que yo quiero lograr es que aparezca como si lo ubiese escrito "x" player, por ejemplo..
Fulanito:[ID] djsafafjoasjd
Que lo vean todos.
Entendes?
Como traen varios Fs de admin, yo uso el V-Admin y no lo trae, entonces lo estoy modificando a mi gusto.
Reply
#5

Ahhhh Osea por ej Yo toy conectado en tu sv y toy callado como bldo vos pones ese CMD En mi y te pones a escribir como si yo fuera el q escribe pero vos tas escribiendo verdad?
Reply
#6

Claro, eso.
Reply
#7

Toma prueba de esta manera:

pawn Код:
if(strcmp("/fakechat", cmdtext, true, 9)== 0)
{
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
new escolherid[256];
new mensagem[256];
escolherid = KcmD(1, cmdtext);
mensagem = KcmD(2, cmdtext);
new loco[128];
if(!strlen(escolherid))
{
SendClientMessage(playerid,COLOR_WHITE,"USE: /fakechat [id] [texto]");
return 1;
}
if(!strlen(mensagem))
{
SendClientMessage(playerid,COLOR_WHITE,"USE: /fakechat [id] [texto]");
return 1;
}
format(loco,sizeof(loco),"%s[%d] %s",sendername,playerid,mensagem);
SendClientMessage(strval(escolherid),COLOR_LIGHTRED,loco);
return 1;
}
Esto en donde tienes los Stock:

pawn Код:
stock KcmD(param, cmdtext[])
{
    new string[128], pos, var;
    format(string, sizeof(string), "%s ", cmdtext);

    while((pos = strfind(string, " ", true)) != -1) {
        if(var == param) return string;
        var++;

        strdel(string, 0, pos + 1);
        if(strcmp(string, " ", true, pos) == 0) goto end;
    }

    end:
    string[0] = '\0';
    return string;
}
Fijate si te funca jeje

Creditos de esto:
-******- (Portugues)
Reply
#8

Vi ese post pero no sabia donde agregar los Stock, ya pude y anda perfecto.
El unico problema ahora son los colores..
Cuando escribo en el fakechat sale color rosado, pero el usuario tiene otro color..
Me parece que aca tendria que ir un code, algo tipo PM.
Gracias!
Reply
#9

Bueno te enseсo un Truco quieres?
en cualquier sv pon esto mira:
{{ffffff}f00f0f} es decir los f00f0f serian el color, Buscas un generador de Color HTML y listo Generas tal color dependiendo del user como lo tenga jaja.
Reply
#10

Si, ya lo sabia xD
Bueno, eso no me interesa mucho.
Me queda un Warning por eliminar..
Es este:
Код:
warning 219: local variable "sendername" shadows a variable at a preceding level
La linea es esta:
Код:
	new sendername[MAX_PLAYER_NAME];
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)