28.08.2016, 06:34
Quote:
Gostei do tutorial, excelente esqueleto e bom conteъdo!
Sу tem um porйm nisso, й saber quando utilizar static. Se vc for levar ao pй da letra e sempre substituir new por static, se encontrarб em um mar de problemas se estiver a declarar static em funзхes per-player, uma vez que enquanto uma funзгo estiver sendo executada, outra execuзгo pode alterar a variбvel estбtica, isso claro dependendo do que aplicar no cуdigo, e no fim irб alterar a variбvel tb para as outras execuзхes, entrando em conflito total. Considere o seguinte cуdigo: PHP код:
Concluindo, uma variбvel new seria o mais ideal para situaзхes como tal. |
Quote:
De modo geral, sempre usem static ao invйs de news. Й sempre, sempre mais otimizado, porque por padrгo as funзхes de SAMP resetam a vбriavel |
Caso contrбrio
PHP код:
static var; var = 0;
PHP код:
static var[128]; var[0] = EOS;
Quote:
Assim й mais bonito:
pawn Код:
A ultima vez que eu fiz teste de velocidade nesse mesmo caso entre - Static GetName(playerid) - stock GetName(playerid) - GetName(playerid) por incrнvel que pareзa, "stock GetName(playerid)" deu alguns 'ms' mais rбpido, sу que bem pouco. Agora nгo sei lhe falar se й realmente mais rбpido. pawn Код:
De qual quer forma, tutorial muito bem organizado, parabйns arakuta. |
Boa noite Xandy
No caso de static stock й possнvel sim... Stock й para nгo der warnings na hora de compilar de "funзao X nгo foi usada. Te obrigando a usar "#pragma unused FUNCAO". E static nesse caso nгo tem utilidade alguma senгo encher mais o cуdigo NESTE CASO .. Por isto deu alguns segundos mais lentos. E outra coisa. Static nгo se usa fora de escopo, й desnecessбrio. Uma vez que toda variбvel fora de escopo й global por si sу e nгo sгo redeclaradas
Com relaзгo ao uso de stock nгo tem utilidade nenhuma. Sу usam para nгo ficar dando warnings chatos no operador. Й sempre melhor deixar a funзгo limpa por si sу que й mais rбpido. Apesar de feio
pawn Код:
bruno() { return true ; }
E outra coisa. Stock й serve pra arrays e variaveis tambйm
PHP код:
stock var ;
var = 1;
printf("%d', var);
vai imprimir 1
Leia no final deste tutorial: https://sampforum.blast.hk/showthread.php?tid=216730
Abraзo