/tentar nгo dб
#1

Boas.

Tenho o seguinte problema, estou a fazer um gamemode RP, e nгo consigo fazer o comando /tentar, eu escrevo o comando no jogo e nгo faz nada, ele compila sem nenhum erro/warning.

Aqui fica o cуdigo.

Код:
if(strcmp(cmd, "/tentar", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(gPlayerLogged[playerid] == 0)
	        {
	            SendClientMessage(playerid, COLOR_GREY, "Ainda nгo fizeste login!");
	            return 1;
	        }
	        if(PlayerInfo[playerid][pMuted] == 1)
			{
				SendClientMessage(playerid, TEAM_CYAN_COLOR, "hm, hm, hm.... hm.... hm....");
				return 1;
			}

			new length = strlen(cmdtext);
			while ((idx < length) && (cmdtext[idx] <= ' '))
			{
				idx++;
			}
			new offset = idx;
			new result[128];
			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, "Dica: /tentar [acзгo]");
				return 1;
			}
			new randa = random(2)+1;
			if(PlayerInfo[playerid][pAdminDuty] == 0)
			{
				if(randa == 1) format(string, sizeof(string), "%s tenta %s e consegue.", sendername, result);
				else format(string, sizeof(string), "%s tenta %s e falha.", sendername, result);
			}
		}
		return 1;
	}
Alguйm consegue ver se tem algum problema para nгo dar?
Reply
#2

Tenta esse:
pawn Код:
if(strcmp(cmd, "/tentar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo estб Logado !");
                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, "USAGE: /tentar [aзгo]");
                return 1;
            }
            new randa = random(2)+1;
            if(PlayerInfo[playerid][pMaskuse] == 1)
            {
                if(randa == 1) format(string, sizeof(string), "*** Estranho tenta %s e foi um Sucesso", result);
                else format(string, sizeof(string), "*** Estranho tenta %s mais Falhou", result);
            }
            else
            {
                if(randa == 1) format(string, sizeof(string), "*** %s tenta %s e foi um Sucesso", sendername, result);
                else format(string, sizeof(string), "*** %s tenta %s, mais Falhou", sendername, result);
            }
            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            printf("%s", string);
        }
        return 1;
    }
Reply
#3

Boas, Ainda nгo testei vou deixar para amanhг.

Tenho outra duvida, talvez seja uma ideia nova.

Deixo aqui o cуdigo, eu sou um pouco newbie nisto, e nгo consigo ajeitar o cуdigo.

Код:
if(strcmp(cmd, "/susurrar", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(gPlayerLogged[playerid] == 0)
	        {
	            SendClientMessage(playerid, COLOR_GREY, "Nгo fizeste o login!");
	            return 1;
	        }
	        if(PlayerInfo[playerid][pMuted] == 1)
			{
				SendClientMessage(playerid, TEAM_CYAN_COLOR, "Estбs Silenciado, logo nгo consegues falar.");
				return 1;
			}
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			new Float:x, Float:y, Float:z;
			GetPlayerPos(playerid, x,y,z);
			new length = strlen(cmdtext);
			while ((idx < length) && (cmdtext[idx] <= ' '))
			{
				idx++;
			}
			new offset = idx;
			new result[128];
			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, "Dica: /susurrar (playerid) (texto) ");
				return 1;
			}
			if(PlayerInfo[playerid][pAdminDuty] == 1)
			{
				format(string, sizeof(string), " %s susurrou-te ao ouvido: %s ", sendername, result);
				SendClientMessage(playerid, COLOR_WHITE, " %s susurrou algo.", sendername);
				ProxDetector(3.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
				ChatLog(string);
			}
			if(PlayerInfo[playerid][pAdminDuty] == 0 && PlayerInfo[playerid][pMaskuse] == 0)
			{
		   		format(string, sizeof(string), " %s susurrou-te ao ouvido: %s ", sendername, result);
				SendClientMessage(playerid, COLOR_WHITE, " %s susurrou algo.", sendername);
				ProxDetector(3.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
				ChatLog(string);
			}
		}
		return 1;
	}
O meu objectivo era um player escrever por exemplo: /susurrar 1 Ola

1 = Id do player a que ia aparecer o texto
Ola = O texto que sу ia aparecer no player com o id.

e No jogo aparecia sу o texto para a pessoa com aquele id, e todos viam no chat, Ex: Alguйm susurrou algo.

Mas eu nгo consigo.

Alguйm me pode dar uma ajuda?
Reply
#4

Isto deve resolver o seu problema:

pawn Код:
if(strcmp(cmd, "/susurrar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Nгo fizeste o login!");
                return 1;
            }
            if(PlayerInfo[playerid][pMuted] == 1)
            {
                SendClientMessage(playerid, TEAM_CYAN_COLOR, "Estбs Silenciado, logo nгo consegues falar.");
                return 1;
            }
            new result[256];
            GetPlayerName(playerid, sendername, sizeof(sendername));
            result = strtok(cmdtext, idx);
            if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAD2, "Dica: /susurrar (playerid) (texto) ");
            new ID = strval(result);
            result = strtok(cmdtext, idx);
            if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAD2, "Dica: /susurrar (playerid) (texto) ");
            format(string, sizeof(string), " %s susurrou algo.", sendername);
            ProxDetector(3.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
            format(string, sizeof(string), " %s susurrou-te ao ouvido: %s ", sendername, result);
            SendClientMessage(playerid, COLOR_WHITE, string);
            SendClientMessage(ID, COLOR_WHITE, string);
            ChatLog(string);
        }
        return 1;
    }

Espero ter ajudado
Reply
#5

Obrigado.

Jб estб a funcionar.

Obrigado aos 2, mais uma vez.

Agora tenho mais 1 dъvidas se me puderem dar uma ajuda, Ficaria Agradecido.

pawn Код:
if(strcmp(cmd, "/b", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Nгo fizeste login!");
                return 1;
            }

            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
                idx++;
            }
            new offset = idx;
            new result[256];
            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, "Dica: /b [Chat OOC]");
                return 1;
            }
            if(PlayerInfo[playerid][pAdminDuty] == 1)
            {
                format(string, sizeof(string), "(( %s diz: %s ))", sendername, result);
                SendClientMessage(playerid, COLOR_NICERED, string);
                ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
                ChatLog(string);
            }
            else if(PlayerInfo[playerid][pAdminDuty] == 0)
            {
                format(string, sizeof(string), "(( %s diz: %s ))", sendername, result);
                SendClientMessage(playerid, COLOR_WHITE, string);
                ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
                ChatLog(string);
            }
        }
        return 1;
    }
Quando estou em Admin Duty, e falo em OOC aparece 2 vezes o que escrevo, Uma em vermelho que era como eu queria, e outra em branco.

Alguйm pode dar uma ajuda?
Reply
#6

Xapitta Halls Detected
Reply
#7

Quote:
Originally Posted by Baddark2131
Посмотреть сообщение
Xapitta Halls Detected
Reply
#8

KKK Euriii Do Winner
Reply
#9

Sinceramente nгo percebi...
Reply
#10

Uia Filho do Xapa(Dps eu que nao sei coda ¬¬)nao йra melhor vc usar os comandos que ja te passaram de base?
Esse й o problema dos "xapa halls" nois da o dedu e eles que o braco
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)