[Ajuda]Hitman
#1

Eu gostaria de saber como eu faзo para que um Hitman cancele sua obrigaзгo de contrato.
Tipo, as vezes um Hitman pega um contrato, axa o cara , mas ele ta afk e nao da pra concluir o contrato.
Queria fazer um sistema que o hitman pudesse cancelar a ordem de contrato para ele.

Bom o sistema de contrato й o seguinte:

Код:
	if(strcmp(cmd, "/contrato", true) == 0)
	{
		GetPlayerName(playerid, sendername, sizeof(sendername));
	format(string, sizeof(string), "* %s Estб pondo um contrato!.", sendername);
	    if(IsPlayerConnected(playerid))
	   	{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato [ID do Jogador] [Quantidade]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USE: /contrato [ID do Jogador] [Quantidade]");
				return 1;
			}
			moneys = strval(tmp);
			if(moneys <= 10000 || moneys >= 150000) { SendClientMessage(playerid, COLOR_GREY, "   Seu contrato nao pode ser menor que 10000 e maior que 150000"); return 1; }
			if(PlayerInfo[playerid][pLevel] < 3)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Level 3 no Minimo para por um Contrato.");
				return 1;
			}
			if (PlayerInfo[giveplayerid][pAdmin] >= 2 && PlayerInfo[giveplayerid][pAdmin] <= 6000)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Nгo й possivel colocar contratos em Administradores");
				return 1;
			}
			if (IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
				    if(PlayerInfo[giveplayerid][pMember] == 8 && PlayerInfo[playerid][pMember] == 8)
				    {
				        SendClientMessage(playerid, COLOR_GREY, "   Nao pode por contrato e sua propria agencia!");
				        return 1;
				    }
				    else if(PlayerInfo[giveplayerid][pLeader] == 8 && PlayerInfo[playerid][pMember] == 8)
				    {
				        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode por contratos em sua propria agencia!");
				        return 1;
				    }
				    else if(PlayerInfo[giveplayerid][pMember] == 8||PlayerInfo[giveplayerid][pLeader] == 8)
				    {
				        SendClientMessage(playerid, COLOR_GREY, "   Nгo pode contratar um assassino !");
				        return 1;
				    }
				    if(gTeam[giveplayerid] == 2 && moneys != 100000)
				    {
				        SendClientMessage(playerid, COLOR_GREY, "   Somente 100000 Pode ser posto em contratos com os COPS !");
				        return 1;
				    }
				    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode se contratar!"); return 1; }
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					playermoney = GetPlayerMoney(playerid);
					if (moneys > 0 && playermoney >= moneys)
					{
						GivePlayerMoney(playerid, (0 - moneys));
						PlayerInfo[giveplayerid][pHeadValue]+=moneys;
						format(string, sizeof(string), "%s Botou um contrato em %s, por R$%d.",sendername, giveplayer, moneys);
						SendFamilyMessage(8, COLOR_YELLOW, string);
						format(string, sizeof(string), "* Vocк botou um contrato em %s, por R$%d.",giveplayer, moneys);
						SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
						PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
					}
					else
					{
						SendClientMessage(playerid, COLOR_GRAD1, "   Numero Invalido.");
					}
				}
			}
			else
			{
				format(string, sizeof(string), "   %d nao й um player ativo.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
		}
		return 1;
     }
       else
    {
        return 1;
    }
    }
E o sistema de assinar o contrato, pegando para si ou dando ordem para outros concluirem:
Код:
	else if ((strcmp("Assinar", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Assinar")))
		{
		    if(hitfound == 0)
		    {
		        SendClientMessage(playerid, COLOR_GREY, "   Nгo foram encontrados contratos ainda, digite Contratos no laptop primeiro !");
		        return 0;
		    }
		    tmp = strtok(text, idx);
		    if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USE: Assinar [ID/ParteDoNome]");
				return 0;
			}
			//giveplayerid = strval(tmp);
			giveplayerid = ReturnUser(tmp);
			if(IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
				    if(PlayerInfo[giveplayerid][pMember] == 8 || PlayerInfo[giveplayerid][pLeader] == 8)
				    {
					    if(GoChase[giveplayerid] < 999)
					    {
					        SendClientMessage(playerid, COLOR_GREY, "   Esse Hitman ja estб ocupado com um Contrato !");
							return 0;
					    }
					    if(IsPlayerConnected(hitid))
				    	{
				        	GetPlayerName(playerid, sendername, sizeof(sendername));
				        	GetPlayerName(giveplayerid, giver, sizeof(giver));
				        	GetPlayerName(hitid, giveplayer, sizeof(giveplayer));
				        	//format(string, sizeof(string), "* You assigned%s to kill: %s(ID:%d), for $%d.", giver, giveplayer, hitid, PlayerInfo[hitid][pValue]);
		    				//SendClientMessage(playerid, COLOR_YELLOW, string);
				        	//format(string, sizeof(string), "* Hitman %s has assigned you to kill: %s(ID:%d), for $%d.", sendername, giveplayer, hitid, PlayerInfo[hitid][pValue]);
		    				//SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		    				format(string, sizeof(string), "* Hitman %s, ordenou o Hitman %s para matar: %s(ID:%d), por $%d.", sendername, giver, giveplayer, hitid, PlayerInfo[hitid][pHeadValue]);
		    				SendFamilyMessage(8, COLOR_YELLOW, string);
		    				GoChase[giveplayerid] = hitid;
		    				GetChased[hitid] = giveplayerid;
		    				GotHit[hitid] = 1;
		    				hitid = 0;
		    				hitfound = 0;
				        	return 0;
				    	}
				    	else
				    	{
				        	SendClientMessage(playerid, COLOR_GREY, "   A Pessoa contratada estб offline, digite Contratos no laptop novamente !");
				        	return 0;
				    	}
					}
					else
					{
					    SendClientMessage(playerid, COLOR_GREY, "   Esse Player nгo й um Hitman !");
						return 0;
					}
				}
				return 0;
			}
			else
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Esse Hitman nгo estб Online, ou nгo й Hitman !");
			    return 0;
			}
		}
Eu tentei fazer o cancelar desta forma abaixo, mas nem a frase apareceu....
Код:
		else if ((strcmp("Cancelar", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Cancelar")))
		{
			   	SendClientMessage(playerid, COLOR_YELLOW, "Seu alvo deixou o jogo.");
	            GoChase[GetChased[playerid]] = 999;
	            return 1;
         }
Reply
#2

sei la................................................ .........kkkkkkkkkkkkkkk
Reply
#3

Tenta
pawn Код:
else if (strcmp("Cancelar", tmp, true, strlen(tmp)) == 0)
{
    SendClientMessage(playerid, COLOR_YELLOW, "Seu alvo deixou o jogo.");
    GoChase[GetChased[playerid]] = 999;
    return 1;
}
Reply
#4

interessante..

xD

mais alguem??
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)