Ir para conteúdo

Jvchequer

Lenda
  • Total de itens

    2161
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que Jvchequer postou

  1. Olá Xtibiano, Parabéns, seu tutorial foi aprovado. Estarei movendo ele para a área de tutoriais. Obrigado por trazer conteúdo para o Xtibia.com e espero que continue com o ótimo trabalho. Atenciosamente, JV Chequer *Diretor Xtibia.com*
  2. É, muito mudou da época dessa matéria para hoje. Muitos foram, muitos voltaram, muitos ficaram. Mais ainda continuamos, esse Big Bang de Informações ;D Cya
  3. Bem, voltamos e estamos aqui denovo, ;D Vamos voltar aos posts/tópicos/novidades e etc.... Atenciosamente, JV
  4. Muito bom cara. Estou aguardando ansioso pelo servidor. Atenciosamente, JV
  5. Tópico e Link ajeitados e concertados. Obrigado por trazer para o Xtibia porém procure editar o tópico e não somente dar Control+c e control+v. Seria muito melhor para todos. Atenciosamente, JV
  6. Parabéns bixona!!!
  7. 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
  8. Lindo Tutorial. Obrigado por traze-lo ao xtibia. Cya
  9. Tópico restaurado da lixeira. Cya
  10. Jvchequer

    Lvl Doors Para Yurots!

    Resgatado da lixeira. Cya
  11. ótimo trabalho. Parabéns. Cya
  12. Seja bem vindo ao Xtibia.com
  13. Ainda bem que gostou :]~ E realmente é muito útil para os novos servidores. Cya
  14. Galera, sem brigas ou serão alertados. #Bloods Sem ofensas caras, acusações do tipo precisam de provas concretas. Cya
  15. Linda rento! Parabéns! Atenciosamente, JV
  16. 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
  17. 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
  18. Show baracs. Quero ver se você se dará bem nos OTS 8.0 também ;D Cya
  19. Jvchequer

    Recorde 2007

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

    Recorde 2007

    Boa... Novo recorde batido Quero ver xtibia 700 on nas férias :]~ Cya
  21. 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
  22. 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
  23. 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
  24. Legal ver que a galera já está começando seus mapas 8.0 Espero que continue com este mapa e parabéns. Cya
  • Quem Está Navegando   0 membros estão online

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