[Ajuda] Comando /prender super bugado!
#1

Olв, pessoal do fуrum samp, hoje desejo a ajuda de um scripter pois minha gm tem duas orgs militares que podem prender um suspeito em sua hq, mais este й o problema, nгo consigo modificar, para o policia prender na sua hq, й o seguinte, quando eu uso /prender na hq da PC-LS ocorre tudo corretamente, mais quando o jogador dб seu tempo de segundos presos ele da spawn na hq da PM-LS, acho que deve esta bugado no /prender pois modifiquei e nгo mudo nada!

Код HTML:
	if(strcmp(cmd,"/prender",true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	   	{
			if(IsAPM(playerid))
			{
				if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
				{
				    SendClientMessage(playerid,COLOR_ERRO,"ERRO: {FFFFFF}Vocк nгo bateu seu cartгo!");
				    return 1;
				}
				if(!PlayerToPoint(6.0, playerid, 268.3378,77.7951,1001.0391) && !PlayerToPoint(7.0, playerid, 198.3743,179.6484,1003.0315))
				{// Jail spot
				    SendClientMessage(playerid, COLOR_ERRO, "ERRO: {FFFFFF}Voce nao esta perto da cela, entao nao pode prende-lo !");
				    return 1;
				}
				tmp = strtok(cmdtext,idx);
				if(!strlen(tmp))
				{
					SendClientMessage(playerid,COLOR_GRAD2,"USE: /prender [ID do Jogador] [tempo (Minutos)] [fianзa (0=nao 1=sim)] [preзo da fianзa]");
					return 1;
				}
				new suspect = ReturnUser(tmp);
				tmp = strtok(cmdtext,idx);
				if(!strlen(tmp))
				{
					SendClientMessage(playerid,COLOR_GRAD2,"USE: /prender [ID do jogador] [tempo (Minutos)] [fianзa (0=nao 1=sim)] [preзo da fianзa]");
					return 1;
				}
				new time = strval(tmp);
				if(time < 1 || time > 45) { SendClientMessage(playerid,COLOR_GREY,"Tempo de prisao entrem 1 a 45 minutos  !"); return 1; }
				tmp = strtok(cmdtext,idx);
				if(!strlen(tmp))
				{
					SendClientMessage(playerid,COLOR_GRAD2,"USE: /prender [ID do jogador] [tempo (Minutos)] [fianзa (0=nao 1=sim)] [preзo da fianзa]");
					return 1;
				}
				new bail = strval(tmp);
				if(bail < 0 || bail > 1) { SendClientMessage(playerid,COLOR_GREY,"Escolha fianзa 0 = Nao ou 1 = Sim !"); return 1; }
				tmp = strtok(cmdtext,idx);
				if(!strlen(tmp))
				{
					SendClientMessage(playerid,COLOR_GRAD2,"USE: /prender [ID do jogador] [tempo (Minutos)] [fianзa (0=nao 1=sim)] [preзo da fianзa]");
					return 1;
				}
				new bailprice = strval(tmp);
				if(bailprice < 100 || bailprice > 1000000) { SendClientMessage(playerid,COLOR_GREY,"Preзo da Fianзa de $ 100 ate $1000000 !"); return 1; }
				if(IsPlayerConnected(suspect))
				{
					if(GetDistanceBetweenPlayers(playerid,suspect) < 10)
					{
						GetPlayerName(suspect,giveplayer,sizeof(giveplayer));
						GetPlayerName(playerid,sendername,sizeof(sendername));
						if(PlayerInfo[suspect][pWantedLevel] < 1)
						{
						    SendClientMessage(playerid,COLOR_GREY,"Jogador deve ter nivel de procudo no minimo 1 !");
						    return 1;
						}
						ResetPlayerWeapons(suspect);
                        PlayerInfo[suspect][pDrogas] = 0;
                        PlayerInfo[suspect][pMats] = 0;
                        Telefoneoff[suspect] = 1;
						if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
						{
							format(string,sizeof(string),"<< Policia Militar: %s prendeu o Suspeito %s >>",sendername,giveplayer);
							OOCNews(COLOR_LIGHTRED,string);
						}
						else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
						{
							format(string,sizeof(string),"<< Policia Civil: %s prendeu o suspeito %s >>",sendername,giveplayer);
							OOCNews(COLOR_LIGHTRED,string);
						}
						else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
						{
							format(string,sizeof(string),"<< Exercito: %s prendeu o suspeito %s >>",sendername,giveplayer);
							OOCNews(COLOR_LIGHTRED,string);
						}
						PlayerInfo[suspect][pJailTime] = time * 60;
						if(bail == 1)
						{
							SetPlayerInterior(suspect,6);
					    	SetPlayerPos(suspect, 264.6288,77.5742,1001.0391);
							JailPrice[suspect] = bailprice;
					     	format(string,sizeof(string),"Vocк estб preso por %d minutos - Fianзa: $%d.",PlayerInfo[suspect][pJailTime],JailPrice[suspect]);
					   		SendClientMessage(suspect,COLOR_LIGHTBLUE,string);
					   		SendClientMessage(playerid,COLOR_WHITE,"Use '/fianзa' para ver status de sua fianзa, '/pagarfianзa' para pagar sua fianзa.");
					   		format(string,sizeof(string),"* %s prendeu o jogador %s por %d minutos.",sendername,giveplayer,PlayerInfo[suspect][pJailTime]);
		                   	ProxDetector(30.0,playerid,string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
					   	}
					   	else
					   	{
				    	    JailPrice[suspect] = 0;
     				    	format(string,sizeof(string),"Vocк estб preso por %d minutos - Fianзa: Indisponivel.",PlayerInfo[suspect][pJailTime]);
					    	SendClientMessage(suspect,COLOR_LIGHTBLUE,string);
					    	format(string,sizeof(string),"* %s prendeu o jogador %s por %d minutos.",sendername,giveplayer,PlayerInfo[suspect][pJailTime]);
		                 	ProxDetector(30.0,playerid,string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
						}
						PlayerInfo[suspect][pJailed] = 1;
				        PlayerInfo[suspect][pArrested] += 1;
						SetPlayerFree(suspect,playerid,"Preso");
						PlayerInfo[suspect][pWantedLevel] = 0;
						WantAdvogado[suspect] = 1;
					}//distance
				}//not connected
				else
				{
				    SendClientMessage(playerid,COLOR_GREY,"Jogador invбlido.");
				    return 1;
				}
			}
			else
			{
			    SendClientMessage(playerid,COLOR_GREY,"Voce nao e um PM / Policia Militar / Exercito !");
			    return 1;
			}
		}//not connected
		return 1;
	}
Reply
#2

pawn Код:
if(strcmp(cmd,"/prender",true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsAPM(playerid))
            {
                if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
                {
                    SendClientMessage(playerid,COLOR_ERRO,"ERRO: {FFFFFF}Vocк nгo bateu seu cartгo!");
                    return 1;
                }
                if(!PlayerToPoint(6.0, playerid, 268.3378,77.7951,1001.0391) && !PlayerToPoint(7.0, playerid, 198.3743,179.6484,1003.0315))
                {// Jail spot
                    SendClientMessage(playerid, COLOR_ERRO, "ERRO: {FFFFFF}Voce nao esta perto da cela, entao nao pode prende-lo !");
                    return 1;
                }
                tmp = strtok(cmdtext,idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid,COLOR_GRAD2,"USE: /prender [ID do Jogador] [tempo (Minutos)] [fianзa (0=nao 1=sim)] [preзo da fianзa]");
                    return 1;
                }
                new suspect = ReturnUser(tmp);
                tmp = strtok(cmdtext,idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid,COLOR_GRAD2,"USE: /prender [ID do jogador] [tempo (Minutos)] [fianзa (0=nao 1=sim)] [preзo da fianзa]");
                    return 1;
                }
                new time = strval(tmp);
                if(time < 1 || time > 45) { SendClientMessage(playerid,COLOR_GREY,"Tempo de prisao entrem 1 a 45 minutos  !"); return 1; }
                tmp = strtok(cmdtext,idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid,COLOR_GRAD2,"USE: /prender [ID do jogador] [tempo (Minutos)] [fianзa (0=nao 1=sim)] [preзo da fianзa]");
                    return 1;
                }
                new bail = strval(tmp);
                if(bail < 0 || bail > 1) { SendClientMessage(playerid,COLOR_GREY,"Escolha fianзa 0 = Nao ou 1 = Sim !"); return 1; }
                tmp = strtok(cmdtext,idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid,COLOR_GRAD2,"USE: /prender [ID do jogador] [tempo (Minutos)] [fianзa (0=nao 1=sim)] [preзo da fianзa]");
                    return 1;
                }
                new bailprice = strval(tmp);
                if(bailprice < 100 || bailprice > 1000000) { SendClientMessage(playerid,COLOR_GREY,"Preзo da Fianзa de $ 100 ate $1000000 !"); return 1; }
                if(IsPlayerConnected(suspect))
                {
                    if(GetDistanceBetweenPlayers(playerid,suspect) < 10)
                    {
                        GetPlayerName(suspect,giveplayer,sizeof(giveplayer));
                        GetPlayerName(playerid,sendername,sizeof(sendername));
                        if(PlayerInfo[suspect][pWantedLevel] < 1)
                        {
                            SendClientMessage(playerid,COLOR_GREY,"Jogador deve ter nivel de procurado no minimo 1 !");
                            return 1;
                        }
                        ResetPlayerWeapons(suspect);
                        PlayerInfo[suspect][pDrogas] = 0;
                        PlayerInfo[suspect][pMats] = 0;
                        Telefoneoff[suspect] = 1;
                        if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
                        {
                            format(string,sizeof(string),"<< Policia Militar: %s prendeu o Suspeito %s >>",sendername,giveplayer);
                            OOCNews(COLOR_LIGHTRED,string);
                        }
                        else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
                        {
                            format(string,sizeof(string),"<< Policia Civil: %s prendeu o suspeito %s >>",sendername,giveplayer);
                            OOCNews(COLOR_LIGHTRED,string);
                        }
                        else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
                        {
                            format(string,sizeof(string),"<< Exercito: %s prendeu o suspeito %s >>",sendername,giveplayer);
                            OOCNews(COLOR_LIGHTRED,string);
                        }
                        if(PlayerToPoint(6.0, playerid, 268.3378,77.7951,1001.0391))
                        {
                            PlayerInfo[suspect][pJailed] = 1; //ID cadeia da Policia Militar
                            PlayerInfo[suspect][pJailTime] = time * 60;
                            PlayerInfo[suspect][pArrested] += 1;
                            SetPlayerInterior(suspect,6);
                            SetPlayerPos(suspect, 264.6288,77.5742,1001.0391);
                            SetPlayerFree(suspect,playerid,"Preso");
                            PlayerInfo[suspect][pWantedLevel] = 0;
                            WantAdvogado[suspect] = 1;
                            if(bail == 1)
                            {
                                JailPrice[suspect] = bailprice;
                                format(string,sizeof(string),"Vocк estб preso por %d minutos - Fianзa: $%d.",PlayerInfo[suspect][pJailTime],JailPrice[suspect]);
                                SendClientMessage(suspect,COLOR_LIGHTBLUE,string);
                                SendClientMessage(playerid,COLOR_WHITE,"Use '/fianзa' para ver status de sua fianзa, '/pagarfianзa' para pagar sua fianзa.");
                                format(string,sizeof(string),"* %s prendeu o jogador %s por %d minutos.",sendername,giveplayer,PlayerInfo[suspect][pJailTime]);
                                ProxDetector(30.0,playerid,string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            }
                            else
                            {
                                JailPrice[suspect] = 0;
                                format(string,sizeof(string),"Vocк estб preso por %d minutos - Fianзa: Indisponivel.",PlayerInfo[suspect][pJailTime]);
                                SendClientMessage(suspect,COLOR_LIGHTBLUE,string);
                                format(string,sizeof(string),"* %s prendeu o jogador %s por %d minutos.",sendername,giveplayer,PlayerInfo[suspect][pJailTime]);
                                ProxDetector(30.0,playerid,string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            }
                        }
                        if(PlayerToPoint(6.0, playerid, 198.3743,179.6484,1003.0315))
                        {
                            PlayerInfo[suspect][pJailed] = 1; //Coloca aqui o id da Policia Civil
                            PlayerInfo[suspect][pJailTime] = time * 60;
                            PlayerInfo[suspect][pArrested] += 1;
                            SetPlayerInterior(suspect,3);
                            SetPlayerPos(suspect, 198.3743,175.6484,1003.0315);
                            SetPlayerFree(suspect,playerid,"Preso");
                            PlayerInfo[suspect][pWantedLevel] = 0;
                            WantAdvogado[suspect] = 1;
                            if(bail == 1)
                            {
                               
                                JailPrice[suspect] = bailprice;
                                format(string,sizeof(string),"Vocк estб preso por %d minutos - Fianзa: $%d.",PlayerInfo[suspect][pJailTime],JailPrice[suspect]);
                                SendClientMessage(suspect,COLOR_LIGHTBLUE,string);
                                SendClientMessage(playerid,COLOR_WHITE,"Use '/fianзa' para ver status de sua fianзa, '/pagarfianзa' para pagar sua fianзa.");
                                format(string,sizeof(string),"* %s prendeu o jogador %s por %d minutos.",sendername,giveplayer,PlayerInfo[suspect][pJailTime]);
                                ProxDetector(30.0,playerid,string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            }
                            else
                            {
                                JailPrice[suspect] = 0;
                                format(string,sizeof(string),"Vocк estб preso por %d minutos - Fianзa: Indisponivel.",PlayerInfo[suspect][pJailTime]);
                                SendClientMessage(suspect,COLOR_LIGHTBLUE,string);
                                format(string,sizeof(string),"* %s prendeu o jogador %s por %d minutos.",sendername,giveplayer,PlayerInfo[suspect][pJailTime]);
                                ProxDetector(30.0,playerid,string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            }
                        }
                    }//distance
                }//not connected
                else
                {
                    SendClientMessage(playerid,COLOR_GREY,"Jogador invбlido.");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid,COLOR_GREY,"Voce nao e um PM / Policia Militar / Exercito !");
                return 1;
            }
        }//not connected
        return 1;
    }
Experimenta ai
Reply
#3

Valeu! vou tentar...
++Rep
Reply
#4

Mais alguem?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)