[Ajuda] Format
#1

Bem pessoal, um tempo atrбs eu tinha conseguido fazer isso direito, funcionando. Hoje fui tentar outra vez e nгo consegui, cуdigo abaixo:

pawn Код:
public OnPlayerClickPlayer(playerid, clickedid, source)
{
 new dstring[256];
 format(dstring, sizeof(dstring), "Nome: %s || Score: %d || Grana: %d", GetPlayerName(playerid), GetPlayerScore(playerid), GetPlayerMoney(playerid));
 ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "STATUS", dstring, "Fechar", "");
 return 1;
}
Quando compilo me aparecem estes erros:
Код:
C:\Users\usuario\Desktop\Servidor\gamemodes\gangwar.pwn(466) : error 025: function heading differs from prototype
C:\Users\usuario\Desktop\Servidor\gamemodes\gangwar.pwn(469) : warning 202: number of arguments does not match definition
C:\Users\usuario\Desktop\Servidor\gamemodes\gangwar.pwn(469) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Reply
#2

Quais sгo essas linhas?

PS: Acho que nгo pode utilizar "||", utilize apenas "|"...
PS 2: Nгo faria mais sentido vocк ir buscar as informaзхes do clickedid em vez das informaзхes do playerid?
Reply
#3

Quote:
Originally Posted by SW1FTmeister
Посмотреть сообщение
Quais sгo essas linhas?

PS: Acho que nгo pode utilizar "||", utilize apenas "|"...
PS 2: Nгo faria mais sentido vocк ir buscar as informaзхes do clickedid em vez das informaзхes do playerid?
Nada a ver, o erro estб aqui
pawn Код:
GetPlayerName(playerid)
Ele estб a usar GetPlayerName da forma errada, isto porque o GetPlayerName nгo retorna o nome do jogador, ele apenas passa o nome do jogador para uma variбvel. Por isso seria necessбrio fazer
pawn Код:
new p_name[24];
GetPlayerName(playerid,p_name)
Depois era sу colocar

pawn Код:
format(dstring, sizeof(dstring), "Nome: %s || Score: %d || Grana: %d", p_name, GetPlayerScore(playerid), GetPlayerMoney(playerid));
Reply
#4

Quote:
Originally Posted by BlueX
Посмотреть сообщение
Nada a ver, o erro estб aqui
pawn Код:
GetPlayerName(playerid)
Ele estб a usar GetPlayerName da forma errada, isto porque o GetPlayerName nгo retorna o nome do jogador, ele apenas passa o nome do jogador para uma variбvel. Por isso seria necessбrio fazer
pawn Код:
new p_name[24];
GetPlayerName(playerid,p_name)
Depois era sу colocar

pawn Код:
format(dstring, sizeof(dstring), "Nome: %s || Score: %d || Grana: %d", p_name, GetPlayerScore(playerid), GetPlayerMoney(playerid));
Amigo, entгo ficaria assim?

pawn Код:
public OnPlayerClickPlayer(playerid, clickedid, source)
{
   new p_name[24];
   GetPlayerName(playerid, p_name);

   new dstring[256];
   format(dstring, sizeof(dstring), "Nome: %s || Score: %d || Grana: %d", p_name, GetPlayerScore(playerid), GetPlayerMoney(playerid));
   ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "STATUS", dstring, "Fechar", "");
   return 1;
}
Por que ao compilar recebo estes erros:

Код:
C:\Users\usuario\Desktop\Servidor\gamemodes\gangwar.pwn(581) : error 025: function heading differs from prototype
C:\Users\usuario\Desktop\Servidor\gamemodes\gangwar.pwn(584) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Linhas:

pawn Код:
public OnPlayerClickPlayer(playerid, clickedid, source)
e

pawn Код:
GetPlayerName(playerid, p_name);
Reply
#5

pawn Код:
public OnPlayerClickPlayer(playerid, clickedid, source)
{
   new p_name[24];
   GetPlayerName(playerid, p_name, sizeof(p_name));

   new dstring[256];
   format(dstring, sizeof(dstring), "Nome: %s || Score: %d || Grana: %d", p_name, GetPlayerScore(playerid), GetPlayerMoney(playerid));
   ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "STATUS", dstring, "Fechar", "");
   return 1;
}
No entanto, vocк estб a pegar nas informaзхes do jogador (playerid) que clicou no outro jogador (clickedid). Nгo seria mais inteligente pegar nas informaзхes do jogador que foi clicado (clickedid)?
Reply
#6

pawn Код:
public OnPlayerClickPlayer(playerid, clickedid, source)
Jб tem uma callBack dessa delete uma das duas.
Reply
#7

Antes de postar eu vi se tinha uma callback igual mas nгo hб.
Reply
#8

Acontece que vocк nгo esta usando corretamente ou melhor igual ao protуtipo da funзгo.

O encaminhamento da funзгo esta assim:
pawn Код:
public OnPlayerClickPlayer(playerid, clickedplayerid, source)

E a declaraзгo da callback, o seguinte protуtipo (forward) na include esta assim:
Quote:

public OnPlayerClickPlayer(playerid, clickedid, source)

Que resulta em: error 025: function heading differs from prototype


O outro problema й o uso da funзгo GetPlayerName, se existe uma funзгo definida em seu gamemode ou framework, deve redefinir o nome da funзгo para outro nome diferenciando da funзгo nativa do sa-mp.

Se existe uma stock com este nome, simplesmente use CTRL+H para substituir tudo.

De: GetPlayerName(

Para: _exGetPlayerName(
Reply
#9

Quote:
Originally Posted by Schocc
Посмотреть сообщение
Acontece que vocк nгo esta usando corretamente ou melhor igual ao protуtipo da funзгo.

O encaminhamento da funзгo esta assim:
pawn Код:
public OnPlayerClickPlayer(playerid, clickedplayerid, source)

E a declaraзгo da callback, o seguinte protуtipo (forward) na include esta assim:


Que resulta em: error 025: function heading differs from prototype


O outro problema й o uso da funзгo GetPlayerName, se existe uma funзгo definida em seu gamemode ou framework, deve redefinir o nome da funзгo para outro nome diferenciando da funзгo nativa do sa-mp.

Se existe uma stock com este nome, simplesmente use CTRL+H para substituir tudo.

De: GetPlayerName(

Para: _exGetPlayerName(
Agradeзo!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)