SA-MP Forums Archive
[Ajuda] Dъvida sobre profissхes. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Dъvida sobre profissхes. (/showthread.php?tid=651116)



Dъvida sobre profissхes. - AllanSG - 14.03.2018

Olб, eu tenho uma dъvida sobre profissхes, й uma dъvida rбpida, estou com ela faz tempo kk, Segue:
Eu gostaria de saber qual o melhor jeito na opiniгo de vocкs, sobre qual forma de programar as profissхes eu devo usar,
entre as formas por #defines, exemplo:
PHP код:
#define Taxista 0 
ou tipo por IDs, exemplo:
PHP код:
new Profissao[MAX_PLAYERS]; 
ai seria usado tipo
PHP код:
Profissao[playerid] = 
e pra verificar
PHP код:
if(Profissao[playerid] == 1) return 0
Exemplos rбpidos de usos... qual melhor forma?

OBS: nгo manjo TAANTO de pawn, dъvidas me perseguem.


Re: Dъvida sobre profissхes. - F1N4L - 14.03.2018

Defines sгo macros e sгo apenas valores "nomeados" (de forma breve e resumida).
Diferenзa de velocidade nгo hб.

Entenda que chamar um macro e chamar uma funзгo (seja stock ou public) sгo coisas distintas.

A programaзгo DEVE ser legнvel, logo, esse tipo de sistema e essa lуgica que vocк quer aplicar para armazenar a informaзгo da profissгo deve ser atravйs de macros, caso contrбrio, vocк terб que criar um comentбrio com cada ID e sua respectiva profissгo (algo desnecessбrio).

@EDIT

Algumas vezes, em casos de pouco impacto de performance, й mais viбvel sacrificar a velocidade por legibilidade. Nгo opte somente em velocidade se sua intenзгo й saber o que A e B significam no cуdigo.


Re: Dъvida sobre profissхes. - FerrariL - 14.03.2018

Caso vocк nгo queira utilizar as defines,tem este tutorial do membro Don_Speed,segue o link : https://sampforum.blast.hk/showthread.php?tid=503866


Re: Dъvida sobre profissхes. - GuiKommander - 14.03.2018

Eu uso
PHP код:
#define 
E nгo tenho nenhum problema, Sу assim para meu GM ficar organizado kkk.


Re: Dъvida sobre profissхes. - AllanSG - 14.03.2018

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Defines sгo macros e sгo apenas valores "nomeados" (de forma breve e resumida).
Diferenзa de velocidade nгo hб.

Entenda que chamar um macro e chamar uma funзгo (seja stock ou public) sгo coisas distintas.

A programaзгo DEVE ser legнvel, logo, esse tipo de sistema e essa lуgica que vocк quer aplicar para armazenar a informaзгo da profissгo deve ser atravйs de macros, caso contrбrio, vocк terб que criar um comentбrio com cada ID e sua respectiva profissгo (algo desnecessбrio).

@EDIT

Algumas vezes, em casos de pouco impacto de performance, й mais viбvel sacrificar a velocidade por legibilidade. Nгo opte somente em velocidade se sua intenзгo й saber o que A e B significam no cуdigo.
Obrigado, tmj!

Obrigado, GuiKommander e FerrariL, tmj ^^


Re: Dъvida sobre profissхes. - faxxe - 15.03.2018

Eu prefiro switch

Код:
 switch(Profissao[playerid])
{
	case 1:
	{
	return 0;
	}
}
Ou essa forma aqui, muito melhor!

Код:
(Profissao[playerid] == 1) ? (return 0):(return 1);
Ou
Код:
(Profissao[playerid] == 1) && (return 0);



Re: Dъvida sobre profissхes. - F1N4L - 16.03.2018

Quote:
Originally Posted by faxxe
Посмотреть сообщение
...

Ou essa forma aqui, muito melhor!

Код:
(Profissao[playerid] == 1) ? (return 0):(return 1);
Ou
Код:
(Profissao[playerid] == 1) && (return 0);
Operaзгo ternбria em uma variбvel cujo valor faz referкncia ao ID de uma profissгo (ou seja, nгo recebe apenas 0 ou 1)?
Usar return como resultado de uma operaзгo ternбria?
De onde tu tirou essa de "&& return 0"?


Re: Dъvida sobre profissхes. - faxxe - 16.03.2018

Desculpe, agora da forma correta

Код:
return (Profissao[playerid] == 1) ? 1 : 0;



Re: Dъvida sobre profissхes. - Gguiz - 16.03.2018

Quote:
Originally Posted by faxxe
Посмотреть сообщение
Desculpe, agora da forma correta

Код:
return (Profissao[playerid] == 1) ? 1 : 0;
Continua errado.


Re: Dъvida sobre profissхes. - Adiiti - 17.03.2018

Em vez de usar define, tambйm pode usar um enum.

Exemplo:
PHP код:
enum
{
    
TAXISTA,
    
ADVOGADO,
    
CAMINHONEIRO