Ir para conteúdo
  • 0

AJuda Estrutura correta


deglorio

Pergunta

Boa tarde, estou tentando fazer um código para dar look na pokeball quando dar trade e aparecer os atributos.

			int32_t valuee = (1,50);				if(tradeItem->getIntegerAttribute("boost") >= valuee)				ss << ", Boost: [" << tradeItem->getIntegerAttribute("boost", valuee) << "]";

Apareceu alguns erros e não sei como arrumar

no matching function for call to 'Item::getIntegerAttribute(const char [6], int32_t&)' 

candidates are: const int32_t* ItemAttributes::getIntegerAttribute(const std::string&) const 

 

Alguém me ajuda?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Tenta

 

		int32_t valuee = (1,50);				if(tradeItem->getIntegerAttribute("boost") >= valuee) {                stdostringstream ss;				ss << ", Boost: [" << tradeItem->getIntegerAttribute("boost", valuee) << ]";                client->sendTextMessage(TextMessage(MESSAGE_STATUS_WARNING, ss.str()));           }

se não funcionar,
Mande-me o cpp para eu analisar esse "getIntegerAttribute".

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, o que tu quer verificar? esse valor seu ta todo errado, como assim (1, 50) ???

 

O erro ta dizendo que não existe função com esse nome e com esses parametros. O correto é:

 

int32_t getIntegerAttribute(const std::string& key, bool &ok) const;

 

Se você quiser apenas verificar se ele tem o atributo tu tem que usar a função bool hasIntegerAttribute(const std::string& key) ou pode fazer direto com a getInteger mas usando o parametro booleano dela
Imagino que queria fazer algo assim:

    bool hasBoost;    int32_t valuee =  tradeItem->getIntegerAttribute("boost", hasBoost);    if(hasBoost && valuee >= 1 && valuee <= 50)        ss << ", Boost: [" << valuee << "]";

 

Editado por dalvorsn
Link para o comentário
Compartilhar em outros sites

  • 0
Em 13/04/2016 at 12:32, dalvorsn disse:

Cara, o que tu quer verificar? esse valor seu ta todo errado, como assim (1, 50) ???

 

O erro ta dizendo que não existe função com esse nome e com esses parametros. O correto é:

 

int32_t getIntegerAttribute(const std::string& key, bool &ok) const;

 

Se você quiser apenas verificar se ele tem o atributo tu tem que usar a função bool hasIntegerAttribute(const std::string& key) ou pode fazer direto com a getInteger mas usando o parametro booleano dela

Imagino que queria fazer algo assim:

    bool hasBoost;    int32_t valuee =  tradeItem->getIntegerAttribute("boost", hasBoost);    if(hasBoost && valuee >= 1 && valuee <= 50)        ss << ", Boost: [" << valuee << "]";

 

Não seria melhor e mais simples, fazer o onLook funcionar ao dar look no item de trade? Isso iria simplificar bastante, já que o código no onLook funciona perfeitamente!

Link para o comentário
Compartilhar em outros sites

  • 0
6 horas atrás, BielLucena1291 disse:

Não seria melhor e mais simples, fazer o onLook funcionar ao dar look no item de trade? Isso iria simplificar bastante, já que o código no onLook funciona perfeitamente!

Não pelo fato de tu ter que reescrever todo o look, é bem mais chato que simplesmente adicionar uma string no look ja existente

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...