05.02.2014, 00:05
Claro, sem problemas.
Entгo, no caso do GetPlayerName, o segundo parвmetro й pass by reference(vocк passa o endereзo de uma variбvel como parвmetro, e a funзгo armazena certo valor em tal variбvel), cada variбvel й um pequeno espaзo reservado na memoria, e no caso do Pass By Reference, ele passa o endereзo, para a funзгo poder alterar o valor da variбvel diretamente, exemplo:
Agora, sName contem o nome do jogador.
Temos varias funзхes que sгo pass by reference, como GetPlayerPos, GetPlayerFacingAngle, entre outras. O pass by reference e denominado pelo operador &.
Vejamos a declaraзгo de GetPlayerFacingAngle como exemplo:
Mas existe outro modo de se fazer isto. Й usado caso deseja atribuir uma string qualquer a uma variбvel, teremos como exemplo a variбvel String, na qual suponhamos que estб armazenada alguma string(texto) :
Minha forma de explicaзгo nгo se й das melhores, nгo se culpe caso ainda nгo consiga compreender, basta juntar o que conseguiu entender do que eu disse, e os exemplos da pбgina da funзгo na Wiki.
Entгo, no caso do GetPlayerName, o segundo parвmetro й pass by reference(vocк passa o endereзo de uma variбvel como parвmetro, e a funзгo armazena certo valor em tal variбvel), cada variбvel й um pequeno espaзo reservado na memoria, e no caso do Pass By Reference, ele passa o endereзo, para a funзгo poder alterar o valor da variбvel diretamente, exemplo:
pawn Код:
new sName[24]; // Imaginamos que esta variбvel й global
GetPlayerName(playerid, sName, 24);
Temos varias funзхes que sгo pass by reference, como GetPlayerPos, GetPlayerFacingAngle, entre outras. O pass by reference e denominado pelo operador &.
Vejamos a declaraзгo de GetPlayerFacingAngle como exemplo:
pawn Код:
native GetPlayerFacingAngle(playerid,&Float:ang);
pawn Код:
new sName[24];
format(sName, 24, String);
Minha forma de explicaзгo nгo se й das melhores, nгo se culpe caso ainda nгo consiga compreender, basta juntar o que conseguiu entender do que eu disse, e os exemplos da pбgina da funзгo na Wiki.