SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 19/07/2016, 03:12 AM   #1
Bruno13
High-roller
 
Bruno13's Avatar
 
Join Date: May 2013
Location: Caxias do Sul/RS
Posts: 1,436
Reputation: 244
Default Handcuff System

Handcuff System

Log
Code:
19/07/2016 0.1.0
    - Lançado Handcuff System beta


Introdução

Na falta de um sistema completo de algemas, que contasse com a aplicação de animações com aquele toque boiola de realidade e controle sobre as imobilizações, decidi desenvolver um.

Dei uma pesquisada pra ver se havia algum semelhante já feito e até encontrei alguns, mas ainda muito incompletos. Setei a posição correta do attachment das algemas para cada skin, algumas ficaram inviáveis de deixar melhor posicionado por causa da skin ser realmente uma merda, fora isso nada a se preocupar.

O posicionamento correto do attachment das algemas para cada skin também foi um dos fatores que levei em consideração ao desenvolver esse sistema. Dificilmente se vê tamanho trabalho sendo disponibilizado, eu sou a prova disso, ainda fazendo o uso de um attachment editor(que desenvolvi para esse intuito) passei um trabalho da porra.

Também documentei todo o código, podem me agradecer depois, ou não.


Funcionalidade

Antes de mais nada vamos falar sobre 3 definições que você precisa configurar.
Primeira:
RESET_TO_DISCONNECT = true
Quando um alvo algemado desconectar será desalgemado e o responsável por algemar terá as algemas devolvidas.
RESET_TO_DISCONNECT = false
Quando um alvo algemado desconectar, após conectar novamente será algemado e o responsável por algemar continuará com o par de algemas em uso, porém este tem a opção de descartar as chaves das algemas do alvo enquanto o mesmo estiver desconectado, assim ele perderá o par de algemas utilizado e o alvo não será mais algemado quando conectar novamente.
OBS: Não é possível descartar as chaves das algemas de um alvo conectado.
Segunda:
MAX_HANDCUFFS definirá o máximo de algemas possíveis de se portar, e isso terá um desempenho muito importante no código(cálculos, definições de matrizes e etc). Por padrão vem definido como 5, pois de maneira realista e programmer sense imaginei que uma pessoa carregar 5 algemas seria aceitável...seria interessante se você também seguisse esse padrão de realidade e programmer sense, e não abusasse com um valor absurdo, seu porra .
Terceira:
Por tudo que é menos sagrado(sim sou ateu) defina o número certo de MAX_PLAYERS que seu servidor usa...cells estão correndo perigo, e o aborto de cells ainda não foi legalizado, então seja consciente.
OBS: Todas essas definições você encontra na parte comentada com "CODE DEFINITIONS" no código. Basta usar seu ctrl+f e pesquisar por "CODE DEFINITIONS", nem preciso dizer que é sem as aspas né?

Ah, e falando em definição, também seria interessante ressaltar que no código faço referencias ao jogador algemado(alvo) como "suspeito", por sempre assimilar uma pessoa algemada como um suspeito na visão policial.


A funcionalidade é simples, nada complicado. Você deve possuir pelo menos um par de algemas para conseguir imobilizar um alvo. Para algemar o alvo selecionado, antes de tudo deve estar com as algemas em mãos(usando /algemas), e então você deve se posicionar com sua skin de frente para as costas desse alvo, no caso estar de frente para as suas costas(uma TextDraw indicará se você está posicionado corretamente e qual ação que irá ser tomada ao teclar KEY_NO: algemar ou desalgemar). Após estar posicionado, deve teclar KEY_NO e será dado inicio ao algemamento.

Quando você algemar um alvo, o par de algemas logicamente ficará nas mãos do mesmo, e o que ficará com você serão as chaves dessas algemas, e você pode ver as chaves de todos alvos que algemou utilizando /chaves. Uma lista em dialog será exibida com os nomes, selecionado algum deles, você pode ver a quanto tempo o alvo em questão está algemado e quando ocorreu a imobilização. Se 'RESET_TO_DISCONNECT = false' você também tem a opção de descartar as chaves de qualquer alvo que estiver OFFLINE.

Para desalgemar basta se aproximar, e no mesmo posicionamento sobre seu alvo teclar KEY_NO.

MEGA OBS: Quando um jogador que algemou algum alvo desconectar, todos que este algemou serão desalgemados, tanto estando online ou offline.

Eu teria mais para falar, mas evitando tópico muito extenso e usuários reclamando que escrevo muito, fiz um vídeo para mostrar o uso das algemas e o que acontece em alguns casos...veja no próximo tópico abaixo.


Comandos:
Jogador:
/algemas - Pegar/guardar algemas.

/chaves - Lista em um dialog todos suspeitos que o jogador algemou, fornecendo informações sobre a imobilização, e se 'RESET_TO_DISCONNECT = false' também oferece a opção para descartar as chaves de um jogador offline.
Administrador RCON:
/dar_algemas - Da a um jogador específico a quantia especificada de algemas. O valor não pode ser maior que MAX_HANDCUFFS.

/remover_algemas - Remove de um jogador específico todas suas algemas e desalgema todos os suspeitos que este algemou.

/painel_algemas - Controle sobre todas as algemas do servidor (ver informações sobre suspeitos algemados e todos os suspeitos que um jogador específico algemou).

/desalgemar <id do jogador> - Desalgemar um jogador específico. As algemas são devolvidas ao responsável.

/desalgemar_off <nome do jogador> - (RESET_TO_DISCONNECT = false) Desalgemar um jogador específico desconectado. As algemas são devolvidas ao responsável.

Imagens

Segue vídeo de funcionamento do sistema:

https://www.youtube.com/watch?v=eKKUUYswwBE

Imagens:

http://imgur.com/a/XGyE8


Download

Finalmente chegamos...é aqui que se separa os homens dos moleques, utilizar include ou adicionar mais um FS a sua pasta sobrecarregada.
Por favor ignore o dito acima, na verdade ninguém está nem ai para qual maneira você irá utilizar um sistema, ainda mais meu.

Bom vamos as opções:
GitHub
Filterscript
Include
Pastebin
OBS: Se você optar por utilizar a include, deverás criar os comandos descritos acima em seu GM, pois os mesmos só estão no FS. Todas as funções disponibilizadas pela include estão expostas no comentário inicial do código em "INCLUDE FUNCTIONS".


Conclusão

Bom, chegou a parte em que peço a todos que relatem quaisquer tipos de bug que encontrarem, é um sistema cheio de gatilhos então qualquer parte que não testei pode ser um grande problema. Se puderem mandem o bug por PM, ou se for muito escrotesco podem enviar aqui no tópico mesmo...mentira, sem spam, PM!

Pretendo seguir com alguns adicionais a mais nesse sistema, não me recordo agora(ontem eu lembrava) mas tenho tudo anotado. Se o mundo quiser prossigo com o restante, espero que aquele chatlog não fique vazio :/

Estou também aberto a ideias, criticas construtivas e destrutivas.


Créditos

Todas funções que usei adicionais(que estão descritas no esqueleto do código como "COMPLEMENTS") deixei os créditos dos autores, os que encontrei pelo menos.

Agradecimento aos criadores de zcmd, sscanf e a_samp.inc().

Créditos e ideia do sistema pertencem a Bruno13.
__________________
Released Hogwarts RP/G
Code:
> Não trabalho mais com venda de sistemas.
> Site: www.bruno13.tk

Last edited by Bruno13; 18/01/2017 at 08:49 PM.
Bruno13 is offline   Reply With Quote
Old 19/07/2016, 03:15 AM   #2
Caio_Freeze
Gangsta
 
Caio_Freeze's Avatar
 
Join Date: Jan 2012
Posts: 799
Reputation: 23
Default Re: Handcuff System

Nice ^^
__________________

- Jogo baseado em texto RPG.
- Venha se descontrair em tempos de quarentena.
- É possível jogar por Android e IOS.

Caio_Freeze is offline   Reply With Quote
Old 19/07/2016, 03:32 AM   #3
hlgamesbr
Big Clucker
 
hlgamesbr's Avatar
 
Join Date: Feb 2015
Location: 1 + 3 = 13, Mizeraví
Posts: 79
Reputation: 0
Wink Re: Handcuff System

Muito bom, como você disse, tem muitos pelo forum mas não completo que nem o seu!

@topic
Muito Bom, irei usa-lo concerteza!
__________________
hlgamesbr is offline   Reply With Quote
Old 19/07/2016, 03:43 AM   #4
Artista
Gangsta
 
Artista's Avatar
 
Join Date: Aug 2014
Location: Porto Seguro - BA
Posts: 653
Reputation: 81
Default Re: Handcuff System

Código bonito, organizado... Não olhei todo o código, mas as partes que vi me agradaram. Bom trabalho e vlw pela colaboração! xD
Artista is offline   Reply With Quote
Old 19/07/2016, 04:54 AM   #5
XandyMello
Big Clucker
 
XandyMello's Avatar
 
Join Date: Dec 2015
Location: Rio de Janeiro
Posts: 161
Reputation: 23
Default Re: Handcuff System

Gostei do include. Tive uma grande ideia agora vendo seu script =)
__________________
Usuário de 2011(Conta atualizada).




Brasil PlayShox
ip.brasilplayshox.com.br
XandyMello is offline   Reply With Quote
Old 19/07/2016, 10:05 AM   #6
tonisantolia
High-roller
 
tonisantolia's Avatar
 
Join Date: Aug 2011
Posts: 1,617
Reputation: 116
Default Re: Handcuff System

Não analisei o código para uma melhor avaliação do seu trabalho..
Mas falando da parte do funcionamento você está de parabéns, as animações escolhidas são ótimas e também é agradável para os jogadores do modo RP/G.. Parabéns.
tonisantolia is offline   Reply With Quote
Old 19/07/2016, 12:41 PM   #7
Ermanhaut
Gangsta
 
Ermanhaut's Avatar
 
Join Date: Apr 2016
Location: Brazil
Posts: 662
Reputation: 47
Default Re: Handcuff System

Ótimo código, ótimo desempenho, ótimas animações. Parabéns.
10/10
__________________
try, try and try again
Ermanhaut is offline   Reply With Quote
Old 19/07/2016, 01:50 PM   #8
F1N4L
High-roller
 
F1N4L's Avatar
 
Join Date: Jun 2013
Posts: 2,726
Reputation: 260
Default Re: Handcuff System

Código realmente muito bem organizado!
Não testei e não vou testar, não jogo mais samp, mas com certeza é um script bem eficiente.
Quote:
You must spread some Reputation around before giving it to Bruno13 again.
F1N4L is offline   Reply With Quote
Old 19/07/2016, 02:51 PM   #9
Bruno13
High-roller
 
Bruno13's Avatar
 
Join Date: May 2013
Location: Caxias do Sul/RS
Posts: 1,436
Reputation: 244
Default Re: Handcuff System

Obrigado a todos pelo feedback, fico bem contente
__________________
Released Hogwarts RP/G
Code:
> Não trabalho mais com venda de sistemas.
> Site: www.bruno13.tk
Bruno13 is offline   Reply With Quote
Old 20/07/2016, 10:36 PM   #10
ViniBorn
Godfather
 
ViniBorn's Avatar
 
Join Date: Aug 2010
Location: Brasília
Posts: 5,315
Reputation: 720
Default Re: Handcuff System

Bom trabalho
__________________



CONTATO: F A C E B O O K: @vinibornpawn

ViniBorn is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Help]Handcuff on Key(Filescript) [EnErGyS]KING Scripting Help 10 15/08/2012 08:32 AM
Handcuff object Reklez Scripting Help 8 06/04/2012 10:40 AM
[FilterScript] Handcuff System. Tee Filterscripts 12 09/03/2011 01:54 PM
I need a handcuff system marinov Help Archive 7 22/11/2010 09:45 PM
Handcuff Razvann Help Archive 17 06/02/2010 07:47 AM


All times are GMT. The time now is 02:41 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.