Comando /prender super bugado! -
PabLoHenriique - 16.06.2014
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;
}
Re: Comando /prender super bugado! -
jpmdik - 17.06.2014
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
Re: Comando /prender super bugado! -
PabLoHenriique - 17.06.2014
Valeu! vou tentar...
++Rep
Re: Comando /prender super bugado! -
PabLoHenriique - 18.06.2014
Mais alguem?