SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 01/05/2019, 12:58 AM   #1
Cromartie
Little Clucker
 
Cromartie's Avatar
 
Join Date: Oct 2018
Location: BRASIL
Posts: 26
Reputation: 7
Default Sistema de Porta-malas COMPLETO (Com senha pra TRANCAR)

Sistema de Porta-malas COMPLETO (Com SENHA)
Sistema todo em DIALOG

COMANDO: /mala (ABRE o Dialog do Porta-malas)

Informações GERAIS do sistema:

Filterscript de Porta-malas todo em dialogo, onde o player pode colocar no veiculo Colete (Máx: 400.0), Vida (Máx: 400.0), Dinheiro (Máx: R$50.000). O valor colocado no porta-malas, e retirado do player, e fixado no porta-malas.
As armas, possui 5 Slots para colocar armas. Para selecionar a Arma que vai ser colocado no porta-malas, e a ARMA que o player estiver nas mãos, a ARMA com as munições, e tirado do player, e fixado no porta-malas. (Valor máx para munições: 1.000).
Possui sistema de TRANCAR o porta-malas com senha, pela qual apenas o dono do carro vai ter acesso aos itens contido no mesmo. Para colocar senha/trocar a senha, pode ser facilmente editado no dialog do porta-malas.
Se o carro for explodido, perde tudo que estiver dentro do porta-malas. Quando o carro da respawn (RENASCER), os itens continua dentro do veiculo, porem a senha e RESETADA, e o porta-malas fica sem senha. Caso o carro do player for resetado para o spawn, é só ele ir lá no local, que vai está tudo dentro do carro ainda. (Sistema feito, para que quando o player desistir do CARRO, para automaticamente, o porta-malas for resetado. Para outros players poderem ultilizar o mesmo.)
O comando, só pode ser ultilizado fora do veiculo, perto do veiculo que o player ENTROU recentemente, e se o player estiver diante do porta-malas. Sistema para pegar o ID do veiculo do player, ao player entrar no veiculo, o ID do veiculo do player e SALVO e poderar usar o porta-malas. (ID é SALVO só de aperta F, não precisa entrar COMPLETAMENTE no VEICULO!)
Veiculo pequenos como (Motos, bikes...) o Sistema NÃO funciona (pode ser EDITADO no .PWN, apenas desative a função de limitação de Modelo do veiculo)

#Includes
#include <a_samp>
#include <ZCMD>


Download
Pastebin: https://pastebin.com/sUhcu5TF

VIDEO: Demonstração do SISTEMA
Link: https://www.***tube.com/watch?v=_tK3PxhBV7g
Cromartie is offline   Reply With Quote
Old 03/05/2019, 06:57 PM   #2
PT
Godfather
 
PT's Avatar
 
Join Date: Nov 2012
Location: Portugal
Posts: 7,179
Reputation: 780
Default Re: Sistema de Porta-malas COMPLETO (Com senha pra TRANCAR)

Poderia acrescentar um sistema de salvamento em sqlite assim ficaria com todas funcoes nativas
PT is offline   Reply With Quote
Old 03/05/2019, 07:50 PM   #3
FerrariL
Gangsta
 
FerrariL's Avatar
 
Join Date: Sep 2016
Location: Goiânia
Posts: 633
Reputation: 30
Default Re: Sistema de Porta-malas COMPLETO (Com senha pra TRANCAR)

O sistema está mal feito (Minha opinião).

Qual a necessidade disso aqui ?

PHP Code:
static IDVehPLAYER[MAX_PLAYERS];
static 
SenhaMALA[MAX_VEHICLES];
static 
SenhON[MAX_VEHICLES];
static 
PTVida[MAX_VEHICLES];
static 
PTColete[MAX_VEHICLES];
static 
PTDinheiro[MAX_VEHICLES];
static 
PTVidaMAX 400;
static 
PTColeteMAX 400;
static 
PTDinheiroMAX 50000;
static 
AmmoSlot1[MAX_VEHICLES], ArmaSlot1[MAX_VEHICLES],NomeArmSlt1[MAX_VEHICLES][32];
static 
AmmoSlot1MAX 1000;
static 
AmmoSlot2[MAX_VEHICLES], ArmaSlot2[MAX_VEHICLES],NomeArmSlt2[MAX_VEHICLES][32];
static 
AmmoSlot2MAX 1000;
static 
AmmoSlot3[MAX_VEHICLES], ArmaSlot3[MAX_VEHICLES],NomeArmSlt3[MAX_VEHICLES][32];
static 
AmmoSlot3MAX 1000;
static 
AmmoSlot4[MAX_VEHICLES], ArmaSlot4[MAX_VEHICLES],NomeArmSlt4[MAX_VEHICLES][32];
static 
AmmoSlot4MAX 1000;
static 
AmmoSlot5[MAX_VEHICLES], ArmaSlot5[MAX_VEHICLES],NomeArmSlt5[MAX_VEHICLES][32];
static 
AmmoSlot5MAX 1000
Poderia usar uma enum e fazer manipulação dos dados usando Matrizes, e qual é a necessidade de criar uma variável determinando a quantia máxima de munição no slot X ? sendo que a quantia é igual para todas, bastando definir uma simples constante.

PHP Code:
                    if(AmmoSlot1[IDVehPLAYER[playerid]] == 0) { NomeArmSlt1[IDVehPLAYER[playerid]] = "{FF0000}VAZIO"; }
                    if(
AmmoSlot2[IDVehPLAYER[playerid]] == 0) { NomeArmSlt2[IDVehPLAYER[playerid]] = "{FF0000}VAZIO"; }
                    if(
AmmoSlot3[IDVehPLAYER[playerid]] == 0) { NomeArmSlt3[IDVehPLAYER[playerid]] = "{FF0000}VAZIO"; }
                    if(
AmmoSlot4[IDVehPLAYER[playerid]] == 0) { NomeArmSlt4[IDVehPLAYER[playerid]] = "{FF0000}VAZIO"; }
                    if(
AmmoSlot5[IDVehPLAYER[playerid]] == 0) { NomeArmSlt5[IDVehPLAYER[playerid]] = "{FF0000}VAZIO"; } 
Isso também está horrível:

PHP Code:
if(listitem
Poderia ter usado a estrutura:
PHP Code:
switch() 
Não tem necessidade de usar a função:
pawn Code:
GetPlayerName
em cada trecho de código, bastando usar no OnPlayerConnect.

Tem muita coisa que poderia ser melhorada aí, espero que melhore.
__________________
Desenvolvo sistemas por encomenda.
Discord: FerrariL#5104

Last edited by FerrariL; 03/05/2019 at 08:38 PM.
FerrariL is offline   Reply With Quote
Old 03/05/2019, 08:32 PM   #4
MultiKill
High-roller
 
Join Date: Apr 2014
Posts: 1,685
Reputation: 110
Default Re: Sistema de Porta-malas COMPLETO (Com senha pra TRANCAR)

Além dos pontos citados pelo FerrariL, há outros como uma array usada para formatação de uma mensagem para a função SendClientMessage:
PHP Code:
new StrMalas[300]; 
Já que o limite permitido no sa-mp para envio de mensagens é de 144 caracteres mais o EOS da 145. Mesmo assim poderia ter aproveitado outras arrays para formatação como:
PHP Code:
new DialoPMz[972]; 
Outra parte é esse armazenamento excessivo e totalmente desnecessário de arrays:
PHP Code:
new string1[128],string2[128],string3[128],string4[128],string5[128],string6[128],string7[128],string8[128]; 

Também para pegar os parâmetros do veículo poderia ter usado a array DialoPMz, em vez de declarar sempre 7 variáveis:
PHP Code:
new motlualarporcappormaob;
GetVehicleParamsEx(IDVehPLAYER[playerid], motlualarporcappormaob);
SetVehicleParamsEx(IDVehPLAYER[playerid], motlualarporcapVEHICLE_PARAMS_OFFob

Creio que a verificação de se o jogador esta no local que é o porta-malas não vai ser 100% precisa, o recomendado séria o uso da função GetVehicleModelInfo para usar algumas das informações como base, e se ainda quiser ser mais preciso a include 3DTryg ajuda muito.

PHP Code:
if(!IsPlayerInRangeOfPoint(playerid4xyz)){
    
SendClientMessage(playerid,0xFF0000FF,"[WARNING]{FFFF00} Você está {FF0000}LONGE{FFFF00} OU sem as {FF0000}CHAVES{FFFF00}! Entre no CARRO, é pegue as {FF0000}CHAVES{FFFF00}");
    return 
1;
}

if(!
IsPlayerInRangeOfPoint(playerid3P[0]-1.0285P[1]+1.0768P[2])){
    
SendClientMessage(playerid,0xFF0000FF,"[WARNING]{FFFF00} Você {FF0000}NÃO{FFFF00} está perto do PORTA-MALAS");
    return 
1;

Como tu verifica se o jogador está perto do porta-malas não precisaria verificar se esta perto do veículo.

Tu precisa verificar também se na array IDVehPLAYER tem um valor válido, pois se tiver algum valor inválido poderá dar um erro na hora da execução tentando acessar um índice inválido.

PHP Code:
static PTVidaMAX 400;
static 
PTColeteMAX 400;
static 
PTDinheiroMAX 50000;
static 
AmmoSlot1MAX 1000;
static 
AmmoSlot2MAX 1000;
static 
AmmoSlot3MAX 1000;
static 
AmmoSlot4MAX 1000;
static 
AmmoSlot5MAX 1000
Poderia ter usado uma #define para isso, ao menos que faça um código dinâmico para alterar o valor máximo in game.

Tem muito o que melhorar no seu código, e também muito mal organizado. E o uso do zcmd é desnecessário.
MultiKill is offline   Reply With Quote
Old 05/05/2019, 02:23 AM   #5
Daryll420
Big Clucker
 
Daryll420's Avatar
 
Join Date: Aug 2017
Location: Bahia
Posts: 136
Reputation: 10
Default Re: Sistema de Porta-malas COMPLETO (Com senha pra TRANCAR)

Achei legal cara, continua assim, vai longe !!!
Daryll420 is offline   Reply With Quote
Old 24/06/2019, 05:45 PM   #6
Diguinho278
Little Clucker
 
Diguinho278's Avatar
 
Join Date: May 2019
Location: Brasil
Posts: 20
Reputation: 1
Default Re: Sistema de Porta-malas COMPLETO (Com senha pra TRANCAR)

Legal , 9/10!!
Diguinho278 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
[Ajuda] Sistema de abrir e fechar porta malas. Junplid Português/Portuguese 2 04/07/2014 08:24 PM
[FilterScript] Porta Malas Avançado andmeida10 Lançamentos/Releases 12 22/06/2014 08:31 AM
[Ajuda] Sistema de Porta Malas Cidiei Português/Portuguese 4 15/05/2013 10:53 AM
[Pedido] Sistema de Porta Malas leonardo_reis Português/Portuguese 2 08/02/2013 06:33 PM
[Ajuda] Porta-malas davi54723 Português/Portuguese 1 10/08/2012 12:39 AM


All times are GMT. The time now is 04:18 AM.


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