Ir para conteúdo

Jvchequer

Lenda
  • Total de itens

    2161
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que Jvchequer postou

  1. Parabéns bixona!!!
  2. Jvchequer

    Rotciv, A Volta.

    Olá Xtibianos, É com grande prazer que anuncio que o Rotciv voltou :]~ Sim, o Rotciv, uma grande lenda Xtibiana está devolta para, junto à mim, ser diretor de fórum e organizar o mesmo em prol da nossa comunidade Xtibiana. Espero que gostem dessa volta do Rotciv que com certeza irá agradar grande parte(se não todos) de nossa comunidade. E galera, fiquem de olho que em breve novidades do projeto X07. Atenciosamente, JV Chequer
  3. Lindo Tutorial. Obrigado por traze-lo ao xtibia. Cya
  4. Tópico restaurado da lixeira. Cya
  5. Jvchequer

    Lvl Doors Para Yurots!

    Resgatado da lixeira. Cya
  6. ótimo trabalho. Parabéns. Cya
  7. Seja bem vindo ao Xtibia.com
  8. Ainda bem que gostou :]~ E realmente é muito útil para os novos servidores. Cya
  9. Galera, sem brigas ou serão alertados. #Bloods Sem ofensas caras, acusações do tipo precisam de provas concretas. Cya
  10. Linda rento! Parabéns! Atenciosamente, JV
  11. Olá Xtibia, Primeiramente, os créditos são inteiramente de: Raphael Carnaúba ---------------------------- commands.cpp Abaixo de: {"/raid",&Commands::forceRaid}, Adicione: {"/dest",&Commands::goToDest}, {"!place", &Commands::placeDest}, {"!delplace", &Commands::deleteDest}, No final de commands.cpp adicione: bool Commands::goToDest(Creature* creature, const std::string& cmd, const std::string& param) { Player* player = creature->getPlayer(); if(!player) return false; Position destPos = Position(0,0,0); std::string param2 = param; std::transform(destination.begin(), destination.end(), destination.begin(), tolower); if(param2 != "list") { for( DestinationList::iterator it = g_game.destinationList.begin(); it != g_game.destinationList.end(); it++ ) { if( (*it).name == param2 ) { destPos = (*it).pos; } } ReturnValue ret = g_game.internalTeleport(player, destPos); if( ret != RET_NOERROR ) { player->sendTextMessage( MSG_STATUS_CONSOLE_BLUE , "Invalid destination."); return false; } } else { std::stringstream ss; uint32_t id = 1; ss << " Destinations : \n"; for( DestinationList::iterator it = g_game.destinationList.begin(); it != g_game.destinationList.end(); it++) { ss << id << "- " << (*it).name << "\n Pos: " << (*it).pos << "\n"; id++; } player->sendTextWindow(1949, ss.str().c_str()); return true; } return false; } bool Commands::placeDest(Creature* creature, const std::string& cmd, const std::string& param) { Player* player = creature->getPlayer(); if(!player) return false; std::string place = param; Position pos = creature->getPosition(); if(place.length() > 0) { for(DestinationList::iterator it = g_game.destinationList.begin(); it != g_game.destinationList.end(); it++) { if((*it).name == place) { player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "This place name already exists."); return false; } if((*it).pos == pos) { player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "This place name already exists."); return false; } } std::transform(place.begin(), place.end(), place.begin(), tolower); DestinationStruct dests; dests.name = place; dests.pos = pos; g_game.destinationList.push_back(dests); player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "Added succesfully."); } else{ player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "Please enter with a destination to be placed."); return false; } return true; } bool Commands::deleteDest(Creature* creature, const std::string& cmd, const std::string& param) { Player* player = creature->getPlayer(); if(!player) return false; std::string place = param; if(place.length() > 0) { for(DestinationList::iterator it = g_game.destinationList.begin(); it != g_game.destinationList.end(); it++) { if((*it).name == place) { g_game.destinationList.erase(it); std::string msg = "Destination "; msg += place; msg += " deleted."; player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, msg.c_str()); return true; } } player->sendTextMessage(MSG_STATUS_CONSOLE_BLUE, "Destination not found."); return false; } return false; } commands.h abaixo de: bool forceRaid(Creature* creature, const std::string& cmd, const std::string& param); Adicione: bool goToDest(Creature* creature, const std::string& cmd, const std::string& param); bool placeDest(Creature* creature, const std::string& cmd, const std::string& param); bool deleteDest(Creature* creature, const std::string& cmd, const std::string& param); Agora em game.cpp Se você usa The Forgotten Server procure por: void Game::SaveData(bool kickPlayers) abaixo de: map->saveMap(""); adicione: saveDests(); Se você usa evolutions Procure por: void Game::saveServer() abaixo de: if(!map->saveMap("")){ message += "\nfailed to save map"; } adicione: saveDests(); No final adicione: bool Game::loadDests() { std::string filename = "data/destinations.xml"; xmlDocPtr doc = xmlParseFile(filename.c_str()); if(doc) { xmlNodePtr root, p; root = xmlDocGetRootElement(doc); if(xmlStrcmp(root->name,(const xmlChar*)"dests") != 0) { std::cout << "Malformuled destinations.xml" << std::endl; return false; } int32_t intValue; std::string strValue; p = root->children; while(p) { if(xmlStrcmp(p->name, (const xmlChar*)"dest") == 0) { std::string name; Position pos; if(readXMLString(p, "name", strValue)) { name = strValue; } if(readXMLInteger(p, "x", intValue)) { pos.x = intValue; } if(readXMLInteger(p, "y", intValue)) { pos.y = intValue; } if(readXMLInteger(p, "z", intValue)) { pos.z = intValue; } DestinationStruct dests; dests.name = name; dests.pos = pos; destinationList.push_back(dests); } p = p->next; } xmlFreeDoc(doc); return true; } return false; } bool Game::saveDests() { std::string filename = "data/destinations.xml"; xmlDocPtr doc = xmlNewDoc((xmlChar*) "1.0"); xmlNodePtr node = xmlNewNode(NULL, (xmlChar*)"dests"); xmlDocSetRootElement(doc, node); for(DestinationList::iterator it = destinationList.begin(); it != destinationList.end(); it++) { xmlNodePtr p = xmlNewChild(node, NULL, (xmlChar*) "dest", NULL); std::stringstream ss; ss << (*it).name; xmlNewProp(p, (xmlChar*)"name", (xmlChar*)ss.str().c_str()); ss.str(""); ss << (*it).pos.x; xmlNewProp(p, (xmlChar*)"x", (xmlChar*) ss.str().c_str()); ss.str(""); ss << (*it).pos.y; xmlNewProp(p, (xmlChar*)"y", (xmlChar*) ss.str().c_str()); ss.str(""); ss << (*it).pos.z; xmlNewProp(p, (xmlChar*)"z", (xmlChar*) ss.str().c_str()); ss.str(""); xmlAddChild(node, p); } if( xmlSaveFile( filename.c_str() , doc ) != 0 ) std::cout << "Saved a new place succesfully!" << std::endl; else std::cout << "Failed to save a new place!" << std::endl; xmlFreeDoc(doc); return true; } game.h abaixo de: enum LightState_t { LIGHT_STATE_DAY, LIGHT_STATE_NIGHT, LIGHT_STATE_SUNSET, LIGHT_STATE_SUNRISE, }; Adicione: struct DestinationStruct { std::string name; Position pos; }; typedef std::list<DestinationStruct> DestinationList; Agora em public abaixo de: ~Game(); Adicione: DestinationList destinationList; bool loadDests(); bool saveDests(); otserv.cpp acima de: std::cout << "[done]" << std::endl; std::string worldType = g_config.getString(ConfigManager::WORLD_TYPE); std::transform(worldType.begin(), worldType.end(), worldType.begin(), upchar); Adicione: filename.str(""); filename << g_config.getString(ConfigManager::DATA_DIRECTORY) << "destinations.xml"; std::cout << ":: Loading destinations.xml... "; if(!g_game.loadDests()){ std::stringstream errormsg; errormsg << "Unable to load " << filename.str() << "!"; ErrorMessage(errormsg.str().c_str()); return -1; } Usem e abusem. Atenciosamente, JV
  12. Olá Xtibia, Aqui estão os Novos IDS do Tibia 8.0. Espero que gostem :]~ 248 - Frost Dragon 249 - Chakoya Windcaller 250 - Penguin 251 - New Outfit 252 - New Outfit 253 - Barbarian Headsplitter 254 - Barbarian Skullhunter 255 - Barbarian Bloodwalker 256 - Braindeath 257 - Frost Giantess 258 - Husky 259 - Chakoya Tribewarden 260 - Chakoya Toolshaper 261 - Ice Golem 262 - Silver Rabbit 263 - Crystal Spider 264 - Barbarian Brutetamer 265 - Frost Giant 266 - CM Outfit 267 - Seems to be a bloodhit 268 - And this seems to be the fishing animation 269 - Poof ' 270 - Sparkles :| 271 - Explosion 272 - Fire-Explosion 273 - Another Fire-Explosion(GFB one) 274 - Yellow Rings 275 - Poisen Rings -.-' 276 - Hit area(exori) 277 - Energy Area 278 - Energy Damage 279 - Blue stars animation(exura) 280 - Red Stars 281 - Green Stars 282 - Hit by fire 283 - Hit by Poison 284 - Mort Area(SD) 285 - Green Sound 286 - Red Sound 287 - Poison Poff 288 - Yellow Sound 289 - Purple Sound 290 - Blue Sound 291 - White Sound 292 - Bubbles 293 - Dice 294 - Gift Wraps 295 - Yellow fireworks 296 - Red Fireworks 297 - Blue Fireworks 298 - Some stars? o_õ 299 - "ZzZzZzZz" 300 - A Blue Water Monster O_O 301 - Whirlwind animation 302 - A spear... 303 - A bolt(wtf?) 304 - An arrow 305 - Fire-shoot 306 - Frozen Starlight(or energy shoot) 307 - A poison arrow 308 - A burst arrow 309 - A throwing star 310 - A throwing knife 311 - A small stone 312 - SD-shoot 313 - A stone(the one that behemoths and juggernauts shoots) 314 - A snowball 315 - A power bolt 316 - Poison-shoot 317 - Infernal Bolt 318 - Seems to be a hunting spear 319 - that new enchanted spear 320 - A red&dark throwing star() 321 - A green throwing star(perhaps a poison one?) 322 - another spear, with a few more details 323 - Some kind of red-blue arrow 324 - A dark arrow(and cool also =D) 325 - Some kind of red bolt(wtf?) 326 - A enchanted sword, maybe? Perhaps the one the knights will throw on their new spell? 327 - Some sort of double-bladed weapon... beeing throw(the axe on their whirlwind spell?) 328 - Looks like a stone... or the head of the 7415 club 329 - "exori con" spear's spell Créditos: Pedro B. Aproveitem :]~ Atenciosamente, JV
  13. Show baracs. Quero ver se você se dará bem nos OTS 8.0 também ;D Cya
  14. Jvchequer

    Recorde 2007

    OMG! 684 de record, não to acreditando em meus olhos Gogo 700 today? Cya
  15. Jvchequer

    Recorde 2007

    Boa... Novo recorde batido Quero ver xtibia 700 on nas férias :]~ Cya
  16. Jvchequer

    Sobre O Backup

    De certa forma foi erro de moderação e bug, não há algo realmente concreto. Para evitar acusações desnecessárias e coisas do tipo, preferimos dizer como bug para não prejudicar ninguém. Cya
  17. Jvchequer

    Sobre O Backup

    Olá Xtibianos, Bem, hoje abrimos novamente as seções: * Tibia->Geral * Tibia->Tutoriais * OTServ->Geral Que foram afetadas pelo bug que deletou cerca de 300 tópicos. Bem, espero que vocês colaborem conosco e voltem a comentar nesta seção. E que em breve iremos recuperar parcialmente os tópicos, porém provavelmente os posts não serão recuperados, irei fazer o máximo para recuperar todo conteúdo. Espero a compreensão de vocês. Devo dizer também que o tempo de flood control foi reduzido de 90s para 60s pois estava muito grande. Espero que utilizem-o de forma correta. E que comece as férias(semana que vem) e que o xtibia comece a lançar seu MODS para o nosso querido fórum ;D Atenciosamente, JV
  18. Ficou muito bom cara. Só que editei aí que estava muito grande a letra, atrapalhando a visão. Espero que entenda. E que continue com seu roleplay. Atenciosamente, JV
  19. Legal ver que a galera já está começando seus mapas 8.0 Espero que continue com este mapa e parabéns. Cya
  20. Jvchequer

    50 Mil Usuários!

    Notícia Passada. Logo, Fechada. Cya
  21. Movido. Cya
  22. Jvchequer

    Recorde 2007

    Se deus quiser nas férias a gente atinge os 600 :]~ Embora minha real meta seja atingir os 1k online no fórum Cya
  23. Realmente muito sinistro \o Parabéns pelo CODE nostradamus, está magnífico :]~ Cya
  24. Jvchequer

    Recorde 2007

    Muito bom, muito bom! Posso dizer que nos dois momentos de recorde eu estava online :]~ Próxima meta? 666 \,,,/ Obrigado usuários Xtibia e graças a essa surpresa de vocês, iremos ter novidades essa semana :]~ Cya
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...