[Ajuda] Dъvida sobre profissхes.
#1

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.
Reply
#2

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.
Reply
#3

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
Reply
#4

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

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 ^^
Reply
#6

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);
Reply
#7

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"?
Reply
#8

Desculpe, agora da forma correta

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

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

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

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

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

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)