Armazenar string e variбveis. -
Duduloch - 04.02.2014
Bem, procurei por todo o canto tentei de tudo e nгo consegui, queria poder fazer o seguinte, queria poder armazenar o nome do giveplayer na variavel, exemplo:
pawn Код:
GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
new variavel[32];
variavel = giveplayer // porйm assim nгo funciona й justo ai que queria arrumar.
bem queria fazer isso para posteriormente usar essa variбvel em uma callback onde eu irei salvб-la utilizando DOF2!
Aguardo resposta.
Re: Armazenar string e variбveis. -
z0r - 04.02.2014
Talvez resolva seu problema:
pawn Код:
stock nome(playerid)
{
new Name[MAX_PLAYERS];
GetPlayerName(playerid,Name,sizeof(Name));
return Name;
}
Exemplo de uso:
pawn Код:
format(string,sizeof(string),"Olб, meu nome й %s",nome(playerid));
Espero ter ajudado.
Re: Armazenar string e variбveis. -
s4kuL - 04.02.2014
Quote:
Originally Posted by z0r
Talvez resolva seu problema:
pawn Код:
stock nome(playerid) { new Name[MAX_PLAYERS]; GetPlayerName(playerid,Name,sizeof(Name)); return Name; }
Exemplo de uso:
pawn Код:
format(string,sizeof(string),"Olб, meu nome й %s",nome(playerid));
Espero ter ajudado.
|
Ia falar a mesma coisa que ele e.e
Re: Armazenar string e variбveis. -
Duduloch - 04.02.2014
Testando, logo dou edit!
Re: Armazenar string e variбveis. -
Duduloch - 04.02.2014
Nггo meu, eu quero armazenar o "nome" em uma variavel global, exemplo:
Re: Armazenar string e variбveis. -
Dolby - 04.02.2014
No caso do nome do jogador, podes usar o prуprio
GetPlayerName, mas caso seja uma outra variбvel, use
Format, exemplos:
pawn Код:
new g_sVar[24]; // variбvel global
GetPlayerName(playerid, g_sVar, 24);
pawn Код:
new sVar[24];
new String[24];
format(sVar, 24, String);
Neste ъltimo caso,
sVar vai assumir o mesmo valor que
String. Dк uma olhada no parвmetros da mesma na pбgina da Wiki.
Re: Armazenar string e variбveis. -
Duduloch - 04.02.2014
Dolby, sou meio lerdo pode dar um exemplo? Desculpe..
Re: Armazenar string e variбveis. -
Dolby - 05.02.2014
Quote:
Originally Posted by Duduloch
Dolby, sou meio lerdo pode dar um exemplo? Desculpe..
|
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:
pawn Код:
new sName[24]; // Imaginamos que esta variбvel й global
GetPlayerName(playerid, sName, 24);
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:
pawn Код:
native GetPlayerFacingAngle(playerid,&Float:ang);
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) :
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.
Re: Armazenar string e variбveis. -
Duduloch - 05.02.2014
Vou tentar elaborar um cуdigo, e sim sua segunda explicaзгo achei bem objetiva, me ajudou bastante, vou te reputar! Muito obrigado pela atenзгo!
Re: Armazenar string e variбveis. -
Dolby - 05.02.2014
Atй eu mesmo achei confusa a minha explicaзгo

.
Mas de qualquer maneira, dei uma editada na postagem, acabei falando um pouco mais sobre
pass by reference, tendo em vista que nгo vi tutoriais sobre este assunto super importante por aн

.
Caso ainda tenha dъvidas, explique o que exatamente deseja fazer e poste o trecho do seu cуdigo correspondente que eu posso lhe dar um exemplo usando seu prуprio cуdigo, facilitando o entendimento.
Abraзos.