[Ajuda] Armazenar string e variбveis.
#1

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

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

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

Testando, logo dou edit!
Reply
#5

Nггo meu, eu quero armazenar o "nome" em uma variavel global, exemplo:
pawn Код:
Variavel = Nome;
Reply
#6

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

Dolby, sou meio lerdo pode dar um exemplo? Desculpe..
Reply
#8

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

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!
Reply
#10

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


Forum Jump:


Users browsing this thread: 3 Guest(s)