if(strcmp(cmd, "/soltarrefem", true) == 0)
{
new plid;
new tmp[256];
new string[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COR_MARA7,"USE: /soltarrefem [id do jogador]");
plid = strval(tmp);
if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, Erro, "| ERRO | Jogador(a) nгo conectado");
if(Sequestrado[plid] == 0)
{
SendClientMessage(playerid, Erro, " Esse jogador nгo estб sequestrado ");
return 1;
}
if(GetDistanceBetweenPlayers(playerid,plid) >= 11)
{
SendClientMessage(playerid, CORX1,"| ERRO | Vocк estб muito longe do refйm, chegue mais perto!");
return 1;
}
format(string, sizeof(string), "Vocк soltou o refem %s", PlayerName(plid));
SendClientMessage(playerid, RED, string);
format(string, sizeof(string), "O vagabundo %s lhe soltou",PlayerName(playerid));
SendClientMessage(plid, COLOR_YELLOW, string);
Sequestrado[plid] = 0;
Amarrar[plid] = 0;
Calar[plid] = 0;
return 1;
}
new Sequestrado[MAX_PLAYERS];
new Amarrar[MAX_PLAYERS];
new Calar[MAX_PLAYERS];
if(strcmp(cmd, "/sequestrar", true) == 0)
{
new preco;
new string[256];
new tmp[256];
new plid;
plid = ChecarUsuario(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COR_MARA7,"USE: /sequestrar [id player]");
plid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COR_MARA7,"USE: /sequestrar [id player] [preco]");
preco = strval(tmp);
if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, Erro, "| ERRO | Jogador(a) nгo conectado");
if(IsPlayerNPC(plid)) return SendClientMessage(playerid, Erro, "| ERRO | Vocк nгo pode sequestrar um BOT!");
if(playerid == plid)
{
SendClientMessage(playerid,CORX1, "| ERRO | Vocк nгo pode sequestrar vocк mesmo!");
return 1;
}
if(Sequestrado[plid] == 1)
{
SendClientMessage(playerid, Erro, " Esse jogador ja estб sendo sequestrado ");
return 1;
}
if(preco < 1||preco > 100000)
{
SendClientMessage(playerid, Erro, " O preзo do resgate deve estar entre R$1 e R$ 100000!. ");
return 1;
}
if(GetPlayerState(playerid) != 2 || !IsPlayerInVehicle(plid, GetPlayerVehicleID(playerid)))
return SendClientMessage(playerid, Azul, " Vocк nгo й o motorista ou o jogador nгo estб no seu carro ");
{
format(string, sizeof(string), "Vocк estб sequestrando o %s e estб pedindo R$ %d pelo resgate!",PlayerName(plid), preco);
SendClientMessage(playerid, vermelhox, string);
format(string, sizeof(string), "O jogador %s te sequestrou", PlayerName(playerid));
SendClientMessage(plid, COLOR_YELLOW, string);
TogglePlayerControllable(plid, 0);
SetPlayerWantedLevel(playerid, 3);
SendClientMessage(playerid, RED, "Agora vocк estб com 3 niveis de procura por sequestrar");
Sequestrado[plid] = 1;
Amarrar[plid] = 1;
Calar[plid] = 1;
PlayerSequestro[plid] = 1;
}
for(new Z = 0; Z < MAX_PLAYERS; Z ++)
{
if(Profissao[Z] == Policia_Civil || Profissao[Z] == Anarcoticos || Profissao[Z] == 11 || Profissao[Z] == 12 || Profissao[Z] == 13 || Profissao[Z] == 14 || Profissao[Z] == 33 || Profissao[Z] == 34 || Profissao[Z] == 35 || Profissao[Z] == 40 || Profissao[Z] == 41 || Profissao[Z] == 47 || Profissao[Z] == Forca_aerea || (IsPlayerAdmin(Z)))
{
new X[128];
format(X, sizeof(X), "| DENЪNCIA | Sequestrador:{FFFFFF} O Sequestrador %s(%d) estб sequestrando, pegue-o imediatamente!", PlayerName(playerid), playerid);
SendClientMessage(Z, COR_PRINCIPAL, X);
}
}
return 1;
}
https://sampwiki.blast.hk/wiki/GetPlayerSpecialAction
https://sampwiki.blast.hk/wiki/SetPlayerSpecialAction https://sampwiki.blast.hk/wiki/SpecialActions Edit: Aparentemente o jogador estб apenas "congelado" https://sampwiki.blast.hk/wiki/TogglePlayerControllable |