Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //- FS criado por Bruno Pereira/DJ Bruninho. Porfavor não retire os creditos! - //
- //- Contato: brunopereiraa-@hotmail.com -//
- //- FS criado por Bruno Pereira/DJ Bruninho. Porfavor não retire os creditos! - //
- //Includes
- #include <a_samp>
- //Defines
- #define FILTERSCRIPT
- #if defined FILTERSCRIPT
- #define MAXPLAYERS 100
- #define COR_CINZA 0xBFC0C2FF
- #define COR_AMARELO 0xF5DEB3AA
- #define COR_AZULZINHO 0x00A5FFFF
- #define COR_BRANCO 0xFAFAFAFF
- #define COR_VERMELHOCLARO 0xFF6347AA
- #define COR_AZUL 0x005FFFFF
- //NEWS
- new Sequestrado[MAXPLAYERS];
- new Amarrado[MAXPLAYERS];
- new nome[MAX_PLAYER_NAME];
- new nome2[MAX_PLAYER_NAME];
- new SaiuSeq[MAXPLAYERS];
- new FitaNele[MAXPLAYERS];
- forward ProxDetectorS(Float:radi, playerid, targetid);
- public ProxDetectorS(Float:radi, playerid, targetid)
- {
- if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
- {
- new Float:posx, Float:posy, Float:posz;
- new Float:oldposx, Float:oldposy, Float:oldposz;
- new Float:tempposx, Float:tempposy, Float:tempposz;
- GetPlayerPos(playerid, oldposx, oldposy, oldposz);
- GetPlayerPos(targetid, posx, posy, posz);
- tempposx = (oldposx -posx);
- tempposy = (oldposy -posy);
- tempposz = (oldposz -posz);
- if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
- {
- return 1;
- }
- }
- return 0;
- }
- //Public's
- public OnFilterScriptInit()
- {
- print("||| Sistema de sequestro carregado! |||");
- print("||| By Bruno Pereira / DJ Bruninho |||");
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("||| Sistema de sequestro descarregado. |||");
- print("||| By Bruno Pereira / DJ Bruninho |||");
- return 1;
- }
- #endif
- public OnPlayerConnect(playerid)//-- Quando alguem conecta no server aparece isso \/
- {
- new string[128];
- if(SaiuSeq[playerid] == 1)
- {
- GetPlayerName(playerid, nome, sizeof(nome));
- format(string, sizeof(string), "[AVISO] A vitima %s ID:[%d] que deu /q no sequestro está online!",nome, playerid);
- SendClientMessageToAll(COR_VERMELHOCLARO, string);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)//-- Quando alguem sai do server aparece isso \/
- {
- new string[128];
- if(Sequestrado[playerid] == 1)
- {
- GetPlayerName(playerid, nome, sizeof(nome));
- format(string, sizeof(string), "[SEQUESTRO]: A Vítima de Sequestro %s deu /q em pleno sequestro D:",nome);
- SendClientMessageToAll(COR_AZUL, string);
- Sequestrado[playerid] = 0;
- Amarrado[playerid] = 0;
- SaiuSeq[playerid] = 1;
- TogglePlayerControllable(playerid, 1);
- }
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(FitaNele[playerid] == 1)
- {
- SendClientMessage(playerid, COR_VERMELHOCLARO, "Você não pode falar porque está com fita na boca!");
- return 0;
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256], idx;
- new tmp[256];
- cmd = strtok(cmdtext, idx);
- new string[128];
- if(strcmp(cmd, "/sequestrar", true) == 0)
- {
- new id;
- new preco;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA,"USE: /sequestrar [id player]");
- id = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA,"USE: /sequestrar [id player] [preco]");
- preco = strval(tmp);
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COR_CINZA,"Jogador está OffLine");
- if(Sequestrado[id] == 1)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador ja está sendo sequestrado ");
- return 1;
- }
- if(preco < 1||preco > 100000)
- {
- SendClientMessage(playerid, COR_CINZA, " O preço do resgate deve estar entre R$1 e R$ 100000!. ");
- return 1;
- }
- if(GetPlayerState(playerid) != 2 || !IsPlayerInVehicle(id, GetPlayerVehicleID(playerid)))
- return SendClientMessage(playerid, COR_CINZA, " Você não é o motorista ou o jogador não está no seu carro ");
- {
- GetPlayerName(playerid, nome, sizeof(nome));
- GetPlayerName(id, nome2, sizeof(nome2));
- format(string, sizeof(string), "Você está sequestrando o %s e está pedindo R$ %d pelo resgate!",nome2, preco);
- SendClientMessage(playerid, COR_AMARELO, string);
- format(string, sizeof(string), "[SEQUESTRO] O sequestrador %s esta sequestrando o %s e está pedindo R$ %d pelo resgate!",nome, nome2, preco);
- SendClientMessageToAll(COR_VERMELHOCLARO, string);
- format(string, sizeof(string), "O jogador %s te sequestro",nome);
- SendClientMessage(id, COR_BRANCO, string);
- TogglePlayerControllable(id, 0);
- SetPlayerWantedLevel(playerid, 3);
- SendClientMessage(playerid, COR_VERMELHOCLARO, "Agora você está com 3 niveis de procura por sequestrar :)!");
- Sequestrado[id] = 1;
- Amarrado[id] = 1;
- }
- return 1;
- }
- if(strcmp(cmd, "/soltarrefem", true) == 0)
- {
- new id;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA,"USE: /soltarrefem [id do jogador]");
- id = strval(tmp);
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COR_CINZA,"Jogador está OffLine");
- if(Sequestrado[id] == 0)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador não está sequestrado ");
- return 1;
- }
- if(!ProxDetectorS(10.0, playerid, id))
- {
- SendClientMessage(playerid,COR_BRANCO," Você está longe do refém para poder soltar ele!");
- return 1;
- }
- TogglePlayerControllable(id, 1);
- GetPlayerName(playerid, nome, sizeof(nome));
- GetPlayerName(id, nome2, sizeof(nome2));
- format(string, sizeof(string), "Você soltou o refem %s",id);
- SendClientMessage(playerid, COR_AMARELO, string);
- format(string, sizeof(string), "[SEQUESTRO] O sequestrador %s soltou o ex-refém %s",nome, nome2);
- SendClientMessageToAll(COR_VERMELHOCLARO, string);
- format(string, sizeof(string), "O jogador %s te libertou",nome);
- SendClientMessage(id, COR_VERMELHOCLARO, string);
- Sequestrado[id] = 0;
- Amarrado[id] = 0;
- return 1;
- }
- if(strcmp(cmd, "/passarfita", true) == 0)
- {
- new id;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA,"USE: /passarfita [id do player]");
- id = strval(tmp);
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COR_CINZA,"Jogador está OffLine");
- if(Sequestrado[id] == 0)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador não está sequestrado ");
- return 1;
- }
- if(FitaNele[id] == 1)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador ja está mudo ");
- return 1;
- }
- if(!ProxDetectorS(10.0, playerid, id))
- {
- SendClientMessage(playerid,COR_BRANCO," Você está longe do refém para poder colocar a fita nele!");
- return 1;
- }
- GetPlayerName(playerid, nome, sizeof(nome));
- GetPlayerName(id, nome2, sizeof(nome2));
- format(string, sizeof(string), "Você passou a fita no refem %s",id);
- SendClientMessage(playerid, COR_AMARELO, string);
- format(string, sizeof(string), "O sequestrador %s te passou a fita!",nome);
- SendClientMessage(id, COR_VERMELHOCLARO, string);
- FitaNele[id] = 1;
- return 1;
- }
- if(strcmp(cmd, "/tirarfita", true) == 0)
- {
- new id;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA,"USE: /tirarfita [id do player]");
- id = strval(tmp);
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COR_CINZA,"Jogador está OffLine");
- if(Sequestrado[id] == 0)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador não está sequestrado ");
- return 1;
- }
- if(FitaNele[id] == 0)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador não está mudo! ");
- return 1;
- }
- if(!ProxDetectorS(15.0, playerid, id))
- {
- SendClientMessage(playerid,COR_BRANCO," Você está longe do refém para poder tirar a fita dele!");
- return 1;
- }
- GetPlayerName(playerid, nome, sizeof(nome));
- GetPlayerName(id, nome2, sizeof(nome2));
- format(string, sizeof(string), "Você tirou a fita no refem %s",id);
- SendClientMessage(playerid, COR_AMARELO, string);
- format(string, sizeof(string), "O sequestrador %s tirou a sua fita agora você pode falar.!",nome);
- SendClientMessage(id, COR_VERMELHOCLARO, string);
- FitaNele[id] = 0;
- return 1;
- }
- if(strcmp(cmd, "/desamarrar", true) == 0)
- {
- new id;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA,"USE: /desamarrar [id player]");
- id = strval(tmp);
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COR_CINZA,"Jogador está OffLine");
- if(Amarrado[id] == 0)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador não está amarrado ");
- return 1;
- }
- if(Sequestrado[id] == 0)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador não está sequestrado. ");
- return 1;
- }
- if(!ProxDetectorS(15.0, playerid, id))
- {
- SendClientMessage(playerid,COR_BRANCO," Você está longe do refém para poder desamarrar ele!");
- return 1;
- }
- new carro = GetPlayerVehicleID(playerid);
- if(!IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(id, carro)) return SendClientMessage(playerid, COR_CINZA, " Você não é o motorista ou o jogador não está no seu carro ");
- {
- TogglePlayerControllable(id, 1);
- GetPlayerName(playerid, nome, sizeof(nome));
- GetPlayerName(id, nome2, sizeof(nome2));
- format(string, sizeof(string), "O jogador %s te desamarrou",nome);
- SendClientMessage(playerid, COR_AMARELO, string);
- format(string, sizeof(string), "Você desamarrou o %s",nome2);
- SendClientMessage(playerid, COR_AMARELO, string);
- Amarrado[id] = 0;
- }
- return 1;
- }
- if(strcmp(cmd, "/amarrar", true) == 0)
- {
- new id;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA,"USE: /amarrar [id player]");
- id = strval(tmp);
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COR_CINZA,"Jogador está OffLine");
- if(Amarrado[id] == 1)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador ja está amarrado ");
- return 1;
- }
- if(Sequestrado[id] == 0)
- {
- SendClientMessage(playerid, COR_CINZA, " Esse jogador não está sequestrado. ");
- return 1;
- }
- if(!ProxDetectorS(10.0, playerid, id))
- {
- SendClientMessage(playerid,COR_BRANCO," Você está longe do refém para poder amarrar ele!");
- return 1;
- }
- new carro = GetPlayerVehicleID(playerid);
- if(!IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(id, carro)) return SendClientMessage(playerid, COR_CINZA, " Você não é o motorista ou o jogador não está no seu carro ");
- {
- TogglePlayerControllable(id, 0);
- GetPlayerName(playerid, nome, sizeof(nome));
- GetPlayerName(id, nome2, sizeof(nome2));
- format(string, sizeof(string), "O sequestrador %s te amarrou",nome);
- SendClientMessage(playerid, COR_AMARELO, string);
- format(string, sizeof(string), "Você amarrou o %s",nome2);
- SendClientMessage(playerid, COR_AMARELO, string);
- Amarrado[id] = 1;
- }
- return 1;
- }
- return 0;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- new string[128];
- if(Sequestrado[playerid] == 1)
- {
- GetPlayerName(playerid, nome, sizeof(nome));
- format(string, sizeof(string), "[SEQUESTRO]: A vítima do sequestro, %s[ID:%d] morreu, sequestro finalizado!",nome);
- SendClientMessageToAll(COR_VERMELHOCLARO, string);
- format(string, sizeof(string), "[LUTO] Está declarado luto por 2 minutos por a morte do %s", nome);
- SendClientMessageToAll(COR_VERMELHOCLARO, string);
- Sequestrado[playerid] = 0;
- Amarrado[playerid] = 0;
- TogglePlayerControllable(playerid, 1);
- }
- return 1;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- //- FS criado por Bruno Pereira/DJ Bruninho. Porfavor não retire os creditos! - //
- //- Contato: brunopereiraa-@hotmail.com -//
- //- FS criado por Bruno Pereira/DJ Bruninho. Porfavor não retire os creditos! - //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement