SA-MP Forums Archive
[Ajuda] Comando /mega nao Funciona - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Comando /mega nao Funciona (/showthread.php?tid=478019)



Comando /mega nao Funciona - LucasFoxY - 27.11.2013

Tentei Criar um Megafone para apenas os Adms usarem mais ele nao estб funcionando, por favor me ajudem

Код:
	if(strcmp(cmd, "/mega", true) == 0 || strcmp(cmd, "/mf", true) == 0)
	{
    	if(PlayerInfo[playerid][pMuted] == 1)
		{
			SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo pode falar, pois foi calado");
			return 1;
		}
	    if(IsPlayerConnected(playerid))
	    {
	        if(PlayerInfo[playerid][pAdmin] < 1)
	    	{
				SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo e Um Admin!");
				return 1;
	    	}
			GetPlayerName(playerid, sendername, sizeof(sendername));
			new length = strlen(cmdtext);
			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++;
			}
			result[idx - offset] = EOS;
			if(!strlen(result))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: (/m)egafone [megaphone chat]");
				return 1;
			}
			if(PlayerInfo[playerid][pAdmin] < 1)
				{
					format(string, sizeof(string), "ADMIN %s :o< %s", sendername, result);
					ProxDetector(60.0, playerid, string,COR_MEGA,COR_MEGA,COR_MEGA,COR_MEGA,COR_MEGA);
				}
		}
		return 1;
	}



Re: Comando /mega nao Funciona - ScriptGameS - 27.11.2013

@Up para te ajudar!


Re: Comando /mega nao Funciona - PT - 27.11.2013

nunca gostei mt de strtok, mas tenta ae

pawn Код:
if(strcmp(cmd, "/mega", true) == 0 || strcmp(cmd, "/mf", true) == 0)
{
    if(PlayerInfo[playerid][pMuted] == 1)
        return SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo pode falar, pois foi calado");
    if(PlayerInfo[playerid][pAdmin] < 1)
        return SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo e Um Admin!");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
        idx++;
    }
    new offset = idx, result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
        result[idx - offset] = cmdtext[idx];
        idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
        return SendClientMessage(playerid, COLOR_GRAD2, "USE: (/m)egafone [megaphone chat]");
    format(string, sizeof(string), "ADMIN %s :o< %s", sendername, result);
    ProxDetector(60.0, playerid, string,COR_MEGA,COR_MEGA,COR_MEGA,COR_MEGA,COR_MEGA);
    return 1;
}



Re: Comando /mega nao Funciona - Menor - 27.11.2013

pawn Код:
if(strcmp(cmd, "/mega", true) == 0 || strcmp(cmd, "/mf", true) == 0)
{
    new string[128];
    if(PlayerInfo[playerid][pMuted] == 1) return SendClientMessage(playerid,TEAM_CYAN_COLOR,"Vocк nгo pode falar, pois foi calado");
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD1,"Vocк nгo e Um Admin!");
    if(isnull(params)) return SendClientMessage(playerid,TEAM_CYAN_COLOR,"Uso correto: /m [texto]");
    for(new i=0;i<MAX_PLAYERS; i++)
    if(GetDistanceBetweenPlayers(playerid, i) <= 60)
    {

        format(string,sizeof(string),"Megafone de %s: %s",GetPlayerName(playerid),params);
        SendClientMessage(i,AMARELO,string);
    }
    return 1;
}
Testa ai, fiz meio que correndo p te ajudar... Usei GetDistanceBetweenPlayers, acho que й melhro...


Re: Comando /mega nao Funciona - LucasFoxY - 27.11.2013

Obrigado @PT Funfo


Re: Comando /mega nao Funciona - bruxo00 - 27.11.2013

Umas dicas para vocк:

Vocк nгo tentou criar, apenas viu em algum GM baixado da net e o comando nгo funcionava.
Estб a usar 2 coisas muito ultrapassadas: strtok e strcmp.

Use sscanf e iscmd ou zcmd.