Parabens veio teus codes sao muito bons mesmo hehe, c sabe que c e brother boa sorta la no mirage, jaja testo o code e edito aki. xD
- Fórum
- OTServ
- Recursos
- Linguagens de Programação
- [7.92]!online [tabela]
info
Grupo: Campones
Registrado: 29/04/07
Posts: 7
Reputação: 0
Char no Tibia: Duke Goldenstein

ah blz ! ;D não tem uma screen pra eu ve como eh? ;D
Editado Maio 25 por dyegodb
info
Grupo: Campones
Registrado: 25/02/07
Posts: 84
Reputação: 0

ah blz ! ;D não tem uma screen pra eu ve como eh? ;D
Hehehe, tem uma screnn ali no topic! O_O
E você verá os players online asim:

Ta ae, Abraços.
info
Grupo: Lenda
Registrado: 03/10/06
Posts: 2.6k
Reputação: +309
Gênero: Masculino
Char no Tibia: Knight Orion

Uia, que organizadinho...
Code muito bom Jackson, está de parabéns
Pra fica mais organizado nao pode por assim oh
bool Commands::whoIsOnline(Creature* creature, const std::string &cmd, const std::string ¶m)
{
if(Player* player = creature->getPlayer()){
AutoList<Player>::listiterator iter = Player::listPlayer.list.begin();
std::string info = "Players online: \n-" + (*iter).second->getName();
++iter;
while(iter != Player::listPlayer.list.end()){
if((*iter).second->getAccessLevel() < ACCESS_PROTECT){
info += "\n- ";
info += (*iter).second->getName();
}
++iter;
}
player->sendTextWindow(1949, info.c_str());
}
return true;
}
info
Grupo: Campones
Registrado: 25/02/07
Posts: 84
Reputação: 0

Creio que pular uma linha, não seja nada organizado ;b
Vai ficar que nem o comando /getonline dai, hehehe.
Vai do gosto da pessoa.
Abraços!
info
Grupo: Grão-Duque
Registrado: 02/10/06
Posts: 3.3k
Reputação: +151
Gênero: Masculino

nossa kra,vc realmente é um otimo programador de c++
vc sempre faz umas paradas incriveis,sempre novidades...
continue assim kra...
disso vc tem razao jackson gosto nao se discute shaIUshaIUsaui
aki na hora de compila falha xP
info
Grupo: Campones
Registrado: 16/10/15
Posts: 67
Reputação: +1

Alguem Me Ajuda eu tave precizado de
!rank
so q ele em
\/
player->sendTextWindow(1949, info.c_str());




info
Grupo: Campones
Registrado: 25/02/07
Posts: 84
Reputação: 0
Fiz uma pequena modificação e achei interessante compartilhar com vocês membros do Xtibia. ;D!
É o comando normal do !online, mas invês de ser MSG_STATUS_CONSOLE_BLUE eu coloquei sendTextWindow
Vamos lá.
Em game.cpp no final add:
void Game::sendWindow(const std::string& text) { for(AutoList<Creature>::listiterator it = listCreature.list.begin(); it != listCreature.list.end(); ++it){ Player* player = dynamic_cast<Player*>((*it).second); if (player){ player->sendTextWindow(4990, text); } } }Em game.h abaix de:
Adicione:
Agora em commands.cpp troque todo o comando:
Por esse:
bool Commands::whoIsOnline(Creature* creature, const std::string &cmd, const std::string ¶m) { if(Player* player = creature->getPlayer()){ AutoList<Player>::listiterator iter = Player::listPlayer.list.begin(); std::string info = "Players online: " + (*iter).second->getName(); ++iter; while(iter != Player::listPlayer.list.end()){ if((*iter).second->getAccessLevel() < ACCESS_PROTECT){ info += ", "; info += (*iter).second->getName(); } ++iter; } player->sendTextWindow(1949, info.c_str()); } return true; }Agora dê Rebuild All. Ctrl+f11
E você verá os players online asim:
Qualquer dúvida, ou dicas. Poste aqui.
Abraços!
Editado Maio 25 por Jackson Zani