SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 31/05/2017, 09:16 PM   #1
RazorGuigo
High-roller
 
RazorGuigo's Avatar
 
Join Date: May 2016
Location: South is my Country
Posts: 1,168
Reputation: 104
Lightbulb MULTI COLERED FUNCTIONAL CP [by Razor]

Introdução:
Trago meu segundo realese pra vocês, espero que gostem, na minha opinião ele é muito útil, e necessário, vai ajudar muito a todos os membros, também nele mostra um gostinho, do grande poder da GAMBIARRA!

Features:
Quote:
+Varios CheckPoints estão visíveis ao mesmo tempo para o player
+Você pode interagir com mais de um checkpoint ao mesmo tempo
+Pode mover o checkpoint, para onde o deseja
+Maior Perfomace e Precisão que o CheckPoint Normal
+Estabilidade, e visibilade sem glitchs (ao contrario de DynCP)
+Sintaxes intuitivas e fáceis de utilizar
CP types:
PHP Code:
CP_ARROW
CP_CIRCLE_BIG
CP_CIRCLE
CP_INVISIBLE 
Callbacks:
PHP Code:
OnPlayerEnterCheckpointEx(playeridcheckpoint[], CPID)
OnPlayerExitCheckpointEx(playeridcheckpoint[], CPID)
OnCheckpointStreamIn(playeridcheckpoint[], CPID)
OnCheckpointStreamOut(playeridcheckpoint[], CPID)
//extas:
OnPlayerTextInCP(playeridname[], CPIDtext[])
OnPlayerKeyStateChangeInCP(playeridname[], CPIDnewkeysoldkeys)
OnCheckpointCreate(name[29], CPType:typecolorFloat:xFloat:yFloat:zworldidinterioridforplayer
Funções:
PHP Code:
CreatePlayerCheckPoint(playeridname[29] = ""CPType:type CP_CIRCLEcolor0x99FF0000Float:xFloat:yFloat:zworldid = -1interiorid = -1);
CreateCheckPoint(name[29] = ""CPType:type CP_CIRCLEcolor0x99FF0000Float:xFloat:yFloat:zworldid = -1interiorid = -1forplayer= -1);
IsPlayerInCheckpointEx(playeridname[]);
IsPlayerInAnyCheckpointEx(playerid);
IsPlayerInCP(playeridCPID);
DestroyCheckPointCPID);
//cores:
SetCheckPointColor(CPIDcolor=0x99FF0000);
//movement
SetCPtoPosCPIDFloat:x=0.0Float:y=0.0Float:z=0.0);
MoveCPtoPosCPIDFloat:x=0.0Float:y=0.0Float:z=0.0Float:speed2.0);
//attach´s CP
AttachCPtoObjectCPIDobjectidFloat:x=0.0Float:y=0.0Float:z=0.0);
AttachCPtoPlayerCPIDplayeridFloat:x=0.0Float:y=0.0Float:z=0.0);
AttachCPtoVehicleCPIDvehicleidFloat:x=0.0Float:y=0.0Float:z=0.0);
AttachCPtoCPCPIDCPattachedFloat:x=0.0Float:y=0.0Float:z=0.0);
//nomes:
GetCPNameCPID);
SetNameCP(CPIDname[]);
RenameCP(oldname[], newname[]); 
Processamento de CheckPoints:
PHP Code:
CPEnter:Pref(playeridCPID)
{
  
SendClientMessage(playerid, -1"você entrou no CP da prefeitura!");
  return 
1;
}
CPExit:Pref(playeridCPID)
{
  
SendClientMessage(playerid, -1"você saiu do CP na prefeitura!");
  return 
1;

[Brevemente FS demonstrativo da include]

Print Screens & Video:



https://www.*******.com/watch?v=u1nG...ature=*********

Notas:
  • Versão inicial com funcionalidade básica, em breve tera muito mais coisas novas!
  • Se quiser dar sugestões, Criticas Construtivas ou melhorias seja educado!
  • gostou de verdade e vai utilizar? então avalie, e GIVE ME RP! hahahah :P
Creditos:
Quote:
RazorGuigo -> Inital Realese, Ideias, Funcionalidade extras, Cores, Features...
Dayvison -> Funcionamento Interno dos CP remodelados!
OKStyle-> 5 novos CheckPoints Coloridos adicionados no V1.3

Link para download:

Pastebin : https://pastebin.com/aqE0MSHC [V 1.5.2]
GitHub: https://github.com/RodrigoDornelles/MCF-CheckPoint [V 1.5.4]

Last edited by RazorGuigo; 04/07/2018 at 02:25 AM. Reason: Version 1.5.2.1
RazorGuigo is offline   Reply With Quote
Old 31/05/2017, 09:18 PM   #2
RazorGuigo
High-roller
 
RazorGuigo's Avatar
 
Join Date: May 2016
Location: South is my Country
Posts: 1,168
Reputation: 104
Lightbulb CHANGELOG:

V 1.2:
Quote:
Add:
+SetCPpos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0);
+MoveCP( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0, Float:speed= 2.0);
+mensagem de erro, caso você não esteja utilizando streamer
+CP for player (o checkpoint é criado apenas para o jogador descrito)

fix:
-quando você passa por debaixo de um CP, e depois vai embora, é chama "OnPlayerLeaveCP" foi concertado!
V 1.3:
Quote:
Merged:
*CreatePlayerCheckPoint(playerid, name[29] = "", CPType:type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1);
*CreateCheckPoint(name[29] = "", CPType:type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, forplayer= -1);
*OnPlayerEnterCheckpointEx(playerid, checkpoint[])
*OnPlayerExitCheckpointEx(playerid, checkpoint[])
*IsPlayerInCheckpointEx(playerid, name[])

removed:
-OnPlayerCPchange(playerid, CPID, toggle);
-SetCPInterior( CPID, interiorid);
-SetCPVirtualWord( CPID, worldid);
-SetCPpos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0);
-MoveCP( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0, Float:speed= 2.0);

Added:
+5 novos modelos iguais ao originais (coloridos)
+processador de CheckPoint "Exemplo: CPEnter:Pref(playerid)"
+IsPlayerInAnyCheckpointEx(playerid);
+DestroyCheckPoint( CPID);
V 1.4:
Quote:
Edited:

*OnPlayerEnterCheckpointEx(playerid, checkpoint[], CPID)
*OnPlayerExitCheckpointEx(playerid, checkpoint[], CPID)

Added:
+OnPlayerTextInCP(playerid, name[], CPID, text[])
+OnPlayerKeyStateChangeInCP(playerid, name[], CPID, newkeys, oldkeys)

+SetCPtoPos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0);
+MoveCPtoPos( CPID, Float:x=0.0, Float:y=0.0, Float:z=0.0, Float:speed= 2.0);
V 1.5:
Quote:
NOW HEXADECIMAL COLOURS!
Edited:

*CreatePlayerCheckPoint(playerid, name[29] = "", CPType:type = CP_CIRCLE, color= 0x99FF0000, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1);
*CreateCheckPoint(name[29] = "", CPType:type = CP_CIRCLE, color= 0x99FF0000, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, forplayer= -1);

Added:
+SetCheckPointColor(CPID, color=0x99FF0000);
+IsPlayerInCP(playerid, CPID);
V 1.5.2.1:
Quote:
Fixes:

*Z adjustment
*CP name called
*Optimizations and improvements

Added:
OnCheckpointCreate(name[29], CPType:type, color, Float:x, Float:y, Float:z, worldid, interiorid, forplayer); //return 0 to cancel creation!
OnCheckpointStreamIn(playerid, checkpoint[], CPID)
OnCheckpointStreamOut(playerid, checkpoint[], CPID)
GetCPName( CPID);
SetNameCP(CPID, name[]);
RenameCP(oldname[], newname[]);

Last edited by RazorGuigo; 26/02/2018 at 01:48 PM.
RazorGuigo is offline   Reply With Quote
Old 31/05/2017, 09:38 PM   #3
IlanZ
High-roller
 
IlanZ's Avatar
 
Join Date: Jul 2016
Location: Brasil
Posts: 1,381
Reputation: 75
Default Re: MULTI COLERED FUNCTIONAL CP [by Razor]

Bem necessario, como você já mim disse no Discord.

Bom trabalho, +rep
IlanZ is online now   Reply With Quote
Old 31/05/2017, 10:02 PM   #4
Carlos001
Huge Clucker
 
Carlos001's Avatar
 
Join Date: Jan 2016
Location: Brasilia - DF
Posts: 250
Reputation: 49
Default Re: MULTI COLERED FUNCTIONAL CP [by Razor]

Ficou muito bom!

rep+
__________________
.

[Projeto] Survive in Silence - SilentZ
IP: 192.99.159.168:7802 (BETA)
Carlos001 is offline   Reply With Quote
Old 01/06/2017, 03:52 AM   #5
renatog
Huge Clucker
 
Join Date: Mar 2016
Posts: 347
Reputation: 48
Default Re: MULTI COLERED FUNCTIONAL CP [by Razor]

Nego já fala que ficou ótimo sem ao menos olhar o código...
A ideia é boa, mas muito mal executada. Essa include tem tantos problemas, como o design bem cagado e diversos problemas de performance. Eu listei alguns dos problemas a serem corrigidos, queria ter mais tempo pra escrever as alterações necessárias pro resto porque percebi outras falhas que comprometem o funcionamento...

1. Você deveria tornar as variáveis estáticas, assim nego não consegue editar uma variável "sem querer" e fazer merda;
2. i_CPOBJECT e i_CPAREA deveriam estar dentro do enum MAX_CP_INFO;
3. AttachCPtoObject, AttachCPtoPlayer, AttachCPtoVehicle, AttachCPtoCP, sério?
4. O código dentro de SetCPInterior e SetCPVirtualWord é tão ruimzinho, use Streamer_SetIntData;
5. CallRemoteFunction é pra chamar uma função num FilterScript e é lenta, use CallLocalFunction;
6. Você não tem organização alguma e as variáveis e funções foram escritas de qualquer jeito, recomendo aprender sobre alguns stantards de programação.

PHP Code:
if((i_CPCOUNT 1) > MAX_CPS)    return printf("[ERROR] max checkpoints loaded %d/%d"i_CPCOUNT 1MAX_CPS);
//Isso funciona mesmo?

if(i_CPCOUNT == MAX_CPS)
    return 
printf("[ERROR] max checkpoints loaded %d/%d"i_CPCOUNT 1MAX_CPS); 
PHP Code:
//Mude
stock bool:IsPlayerInCP(playeridCPID)
{
    if(
i_PlayerInCP[playerid][CPID]) return true;
    return 
false;
}
//Para
stock bool:IsPlayerInCP(playeridCPID)
{
    return 
i_PlayerInCP[playerid][CPID];

Como eu disse, está tudo muito ruim, mas a ideia é boa. Começa com essas alterações e vai aprimorando.
renatog is offline   Reply With Quote
Old 01/06/2017, 08:41 AM   #6
Kamper
Guest
 
Posts: n/a
Default Re: MULTI COLERED FUNCTIONAL CP [by Razor]

Reforçando o que o usuário acima disse, você dá jus a sua assinatura (Mito da Programação Orientada a Gambiarra.).

O código está muito ruim semanticalmente e nada escalável. A impressão que eu tenho é que você programou pra você mesmo. As nomenclaturas em sua grande maioria não fazem sentido.

Vou repetir o que sempre falo: qualquer um pode fazer um código que a máquina vai ler e interpretar. Desenvolvedor cria código legível para humanos.

Você já tem a lógica geral de desenvolvimento. Está na hora de você deixar o nível criança e começar a criar códigos de verdade. Comece a estudar mais a teórica para melhorar e aprender a escrever código para humanos se a sua intenção é seguir a carreira.
  Reply With Quote
Old 01/06/2017, 01:02 PM   #7
KinG7
Guest
 
Posts: n/a
Default Re: MULTI COLERED FUNCTIONAL CP [by Razor]

@OFF

º Kamper º concordo

ele ainda da 5 star no tópico q ele mesmo criou

@TOPPIC

cara nem oque tu diz no discord eu entendo, esses Script então, ta complicado, cê escreveu eles com o pé ?
._.
  Reply With Quote
Old 01/06/2017, 01:25 PM   #8
RazorGuigo
High-roller
 
RazorGuigo's Avatar
 
Join Date: May 2016
Location: South is my Country
Posts: 1,168
Reputation: 104
Cool re to: semone´s

Quote:
Originally Posted by RazorGuigo View Post
Versão inicial com funcionalidade básica, em breve tera muito mais coisas novas!
re to: renatog
Lançei um pré-realese, para melhorar o codigo de acordo com a avaliação dos usuarios, por favor seja menos toxico


Quote:
Originally Posted by renatog View Post
PHP Code:
if((i_CPCOUNT 1) > MAX_CPS)    return printf("[ERROR] max checkpoints loaded %d/%d"i_CPCOUNT 1MAX_CPS);
//Isso funciona mesmo?

if(i_CPCOUNT == MAX_CPS)
    return 
printf("[ERROR] max checkpoints loaded %d/%d"i_CPCOUNT 1MAX_CPS); 
bom funciona, mas foi um vacilo meu esta identação vou dar uma melhorada nela
Quote:
Originally Posted by renatog View Post
PHP Code:
//Mude
stock bool:IsPlayerInCP(playeridCPID)
{
    if(
i_PlayerInCP[playerid][CPID]) return true;
    return 
false;
}
//Para
stock bool:IsPlayerInCP(playeridCPID)
{
    return 
i_PlayerInCP[playerid][CPID];

Eu fiz da outra maneira, pois caso tente no segundo método estava ocorrendo aviso na tipagem, mais após eu atualizar meu compilador hoje, este erro passou!
Quote:
Originally Posted by renatog View Post
Como eu disse, está tudo muito ruim, mas a ideia é boa. Começa com essas alterações e vai aprimorando.
sim sim, vou ir melhorando, mas por favor seja + "tecnico" fazendo elogios e criticas contrutivas, e menos "crianção" utilizando-se de ofensas e insultos!




Re to: Kamper
Quote:
Originally Posted by Kamper View Post
A impressão que eu tenho é que você programou pra você mesmo. As nomenclaturas em sua grande maioria não fazem sentido.
Bom desculpa ai, vou comentar mais, e trocar o nome das variantes, para mim ficou claro o funcionamento delas,
"declaração dos nomes de variaveis nem sempre me dou bem, kkk, nas prova de Análise de Sistemas, é as unicas questões que erro :P" aguarde pela [V 1.3] que tu vai achar melhor ^^
RazorGuigo is offline   Reply With Quote
Old 01/06/2017, 01:42 PM   #9
KinG7
Guest
 
Posts: n/a
Default Re: MULTI COLERED FUNCTIONAL CP [by Razor]

Porque poe
Code:
#if !defined MAX_CPS
    #define MAX_CPS (500)
#endif
só um
Code:
 #define MAX_CPS (500)
não daria o mesmo efeito ? '-'~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://forum.sa-mp.com/showthread.php?t=341455
http://forum.sa-mp.com/showthread.php?t=436648

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ideia : é um objeto esses " checkpoint's " certamente da pra texturizar eles, e por a cor q quiser
  Reply With Quote
Old 01/06/2017, 01:53 PM   #10
RazorGuigo
High-roller
 
RazorGuigo's Avatar
 
Join Date: May 2016
Location: South is my Country
Posts: 1,168
Reputation: 104
Cool re to: King

Quote:
Originally Posted by KinG7 View Post
Porque poe
Code:
#if !defined MAX_CPS
    #define MAX_CPS (500)
#endif
só um
Code:
 #define MAX_CPS (500)
não daria o mesmo efeito ? '-'~
não, pois de modo anterior, vc pode alterar o o valor de "MAX_CPS" no seu GM ou FS, tem ter que mecher na include!


Quote:
Originally Posted by KinG7 View Post
Vou implementar estes objetos há include, e colocar os devidos creditos

Quote:
Originally Posted by KinG7 View Post
Ideia : é um objeto esses " checkpoint's " certamente da pra texturizar eles, e por a cor q quiser
Eu tentei fazer isso, mas porem, os objetos ficaram pretos.
RazorGuigo 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
Code is not functional JoshNudock Scripting Help 2 26/06/2015 12:38 PM
Code is not functional JoshNudock Scripting Help 5 10/06/2015 03:45 PM
Timer ain't functional. CrazyChoco Scripting Help 5 04/11/2013 03:57 PM
/Spawncar is not functional nmader Scripting Help 11 17/09/2012 10:50 PM


All times are GMT. The time now is 08:57 PM.


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