23.08.2016, 15:43
(
Последний раз редактировалось Bruno13; 24.08.2016 в 20:55.
)
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:
O cуd acima deveria imprimir no console uma contagem de 1 em 1 seg por player, todavia, quando a mesma estiver em execuзгo para um player e outro concectar-se, o ciclo nгo serб o mesmo, pois a vбriavel estatнstica em questгo estarб sendo utilizada por duas execuзхes em repetiзгo. Isso se deve ao fato de que a variбvel estбtica nгo й resetada no fim do escopo em que й criada.
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.
Entгo terб o mesmo efeito que usar variбveis globais. Por favor, coloque sobre statics no tutorial |
Considere o seguinte cуdigo:
PHP код:
public OnPlayerConnect(playerid)
{
SetTimerEx("Timer", 1000, true, "i", playerid);
}
forward Timer(playerid);
public Timer(playerid)
{
static var;
var++;
printf("player %d: %d", playerid, var);
}
Concluindo, uma variбvel new seria o mais ideal para situaзхes como tal.


