Jackson Zani 1 #21 Posted March 28, 2007 Tipo, vou de tar uma ídea Zero, Muita gente pode se confundir com as cordenadas coisa e tal E se tu erra o nome do <command cmd="/tpos" access="3" /> O server cai automaticamente, não tem como tu fazer uma msg dizendo tipo "Este lugar não existe" algo asim? Ficaria melhor. Abraços. Share this post Link to post
Raphael Carnaúba 1 #22 Posted March 29, 2007 Bem pensado jackson zani, So que fica dificil de fazer isso usando a classe text.... Share this post Link to post
Jackson Zani 1 #23 Posted March 29, 2007 @Raphael Carnaúba É bem nessa hehehe, mais pelo menos não dar nada, nenhum error, ta bom já, Porque logo que tu da um /tpos se tu errar alguma letrinha, você cai, e o server também ;\ . Abraços! Share this post Link to post
Jackson Zani 1 #25 Posted March 29, 2007 @Dr0p Nois sabemos meu amor! aihoohiahioahioa Mais estamos falando em colocar um aviso.. Abraços! Share this post Link to post
Dr0p 0 #26 Posted March 29, 2007 troca os return true; por return false; Share this post Link to post
Raphael Carnaúba 1 #27 Posted March 29, 2007 DrOp, pare de dar paupites antes de pensar como funciona o codigo.... Share this post Link to post
Zero 0 #28 Posted March 29, 2007 Muito simples. Obrigado por lembrar-me dessa falha. Para verificar a existência do arquivo posso utilizar um fopen(), já para checar se a coordenada existe, basta utilizar a classe Tile e após fazer referência a coordenada em questão utilizar um código tipo: if(!tile) return false; Por favor, vamos tentar não criar postagens sem utilidade. Poderão ser tratadas como flood. Quando corrigir no código eu posto aqui. Abraços! Share this post Link to post
Raphael Carnaúba 1 #29 Posted March 30, 2007 Zero, dei uma melhorada na parte do teleport evitando o uso do Tile* tile, não era nescesario isso..... e adicionei um check pra ver se é um player. se não for não executa a função. bool Commands::teleportToRecordedPosition(Creature *creature, const std::string& cmd, const std::string& param) { Player* player = creature->getPlayer(); if(!player) return false; std::string s; char c; std::stringstream spath; spath << g_config.getString(ConfigManager::DATA_DIRECTORY) << "teleport\\" << param << ".txt"; std::ifstream recordposFile(spath.str().c_str(), std::ios_base::in); while(!recordposFile.eof()) { recordposFile.get(c); if(!recordposFile.eof()) { s += c; }; } /* Porque você colocou; ai ? não entendi =D */ recordposFile.close(); boost::char_separator<char> sepc(","); tokenizer stokens(s, sepc); tokenizer::iterator sit = stokens.begin(); Position tPos; tPos.x = atoi((*sit).c_str()); sit++; tPos.y = atoi((*sit).c_str()); sit++; tPos.z = atoi((*sit).c_str()); ReturnValue ret = g_game.internalTeleport(player, tPos); if(ret != RET_NOERROR) { player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "Invalid destination."); return false; } g_game.addMagicEffect(tPos, NM_ME_ENERGY_AREA); return true; } Share this post Link to post
Zero 0 #30 Posted March 31, 2007 Carnaúba, sem problemas. O ';' é utilizado em cláusulas if de uma linha só. Exemplo: if(true){ código }; Na sua forma normal não é necessário um ';' após o '}'. Vou programar agora a nova versão oficial desse código e já já edito o tópico. Editado: A última versão do código está no tópico. Com todas as possíveis depurações de erros encontrados até agora. Abraços! Share this post Link to post
Jackson Zani 1 #31 Posted March 31, 2007 Agora sim Zero, Ficou perfeito! parabéns ^^ Já testei. Abraços! Share this post Link to post
Pestinha 0 #32 Posted March 31, 2007 Nossa,era oque eu tava precizando Vai me ajuda bastante,MUITOO obrigado!! Share this post Link to post
Night Wolf 11 #33 Posted August 2, 2007 oque é vetor de comandos me explique plz sou noob nesses assuntos Share this post Link to post
GOD Rodrigo 0 #34 Posted August 5, 2007 @Zero Quero te dar os parabéns pelo CODE, eu desenvolvi um code parecido com esse, praticamente a mesma função que era /rc "Nome do lugar" e /gt "nome do lugar" RC >> Record GT >> Goto Se possivel, irei liberar alguns CODES feitos por mim, que são extremamente uteis para qualquer OTServ Lembrando que meu Server por enquanto é CTServer (Close Tibia Server) Abração!!!! Share this post Link to post
GOD Rodrigo 0 #35 Posted August 5, 2007 @Zero Quero te dar os parabéns pelo CODE, eu desenvolvi um code parecido com esse, praticamente a mesma função que era /rc "Nome do lugar" e /gt "nome do lugar" RC >> Record GT >> Goto Se possivel, irei liberar alguns CODES feitos por mim, que são extremamente uteis para qualquer OTServ Lembrando que meu Server por enquanto é CTServer (Close Tibia Server) Abração!!!! Share this post Link to post
Monikinhaa 0 #37 Posted January 26, 2008 Ae Tudo que eu kerria ajudoo bastande Valeu mesmo ;D Share this post Link to post