-
Contador contenido
359 -
Ingreso
-
Última visita
-
Días ganados
19
Mensajes publicados por Jfirewall
-
-
hace 1 hora, ChuchoGamer dijo:
esta roto el link
Listo solucionado
-
Hola, la funcion es simple en algunos casos algunos eventos o algunos regen que cargamos por quest que no vienen por dungeon los mapas quedan cargados de mobs metines etc....
con esta pequeña funcion lo que realizamos es eliminarlos del mapa limpiar el mapa de esos jefes para que en proximos eventos o lo que sea no este un numero excesivo de jefes o metines en el mapa que provoquen lag en los mapas por una sobre carga.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.Debes iniciar sesión para ver el contenido del enlace en esta publicación.- Marcos Pinheiro reacciono a esto
- 1
-
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
- Marcos Pinheiro y Lord Ahriman reacciono a esto
- 2
-
Hola verifica que no se genera algun db.core o un game.core para poderte ayudar mas a fondo
- morstamayo reacciono a esto
- 1
-
-
hace 25 minutos, Pegasus dijo:
El elemental no lo recomiendo implementar ya que os va a chocar con los daños de los personajes "Bug" Y el de la calidad de los items estan publicos casi por todos los foros
Eso lo editas, los mismos archivos originales traen donde editar el daño.
-
una pregunta tienes shining en tu fuente, verifica si tienes shiningtable.txt en locale. desde ay podria agregarle cualquier efecto a tu atuendo o armadura.
-
Excelente aporte gracias por apoyar la comunidad
-
and how do you open the wom and yang system? do you have it as a button? or by quest?
-
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
-
- Este es un tema popular.
- Este es un tema popular.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.es mierda....., si sabes un poco editando 2 cositas quitas la proteccion que lo digaDebes iniciar sesión para ver el contenido del enlace en esta publicación.que es todo un hack -
service.h #define __LOAD_MOB_TXT__ #define __LOAD_CHEST_TXT__ buscas ACMD(do_reload) debajo de case 'c': // cube // ·ÎÄà ÇÁ·Î¼¼½º¸¸ °»»êÇÑ´Ù. Cube_init (); break; #if defined(__LOAD_CHEST_TXT__) || defined(__LOAD_MOB_TXT__) case 't': snprintf(szSpecialItemGroupFileName, sizeof(szSpecialItemGroupFileName), "%s/special_item_group.txt", LocaleService_GetBasePath().c_str()); ITEM_MANAGER::Instance().DestroyChestDropItem(); if (!ITEM_MANAGER::Instance().ReadSpecialDropItemFile(szSpecialItemGroupFileName)) { ch->ChatPacket(CHAT_TYPE_INFO, "Error al cargar special_item_group.txt."); return; } else { ch->ChatPacket(CHAT_TYPE_INFO, "Cargaste special_item_group."); } break; case 'm': snprintf(szMOBDropItemFileName, sizeof(szMOBDropItemFileName), "%s/mob_drop_item.txt", LocaleService_GetBasePath().c_str()); ITEM_MANAGER::Instance().DestroyMobDropItem(); if (!ITEM_MANAGER::Instance().ReadMonsterDropItemGroup(szMOBDropItemFileName)) { ch->ChatPacket(CHAT_TYPE_INFO, "Error al cargar mob_drop_item.txt."); return; } else { ch->ChatPacket(CHAT_TYPE_INFO, "Cargaste mob_drop_item."); } break; #endif agregar al final de item_manager.cpp #if defined (__LOAD_MOB_TXT__) || defined(__LOAD_CHEST_TXT__) void ITEM_MANAGER::DestroyMobDropItem() { if (!m_map_pkMobItemGroup.empty()) m_map_pkMobItemGroup.clear(); if (!m_map_pkDropItemGroup.empty()) m_map_pkDropItemGroup.clear(); if (!m_map_pkLevelItemGroup.empty()) m_map_pkLevelItemGroup.clear(); if (!m_map_pkGloveItemGroup.empty()) m_map_pkGloveItemGroup.clear(); } void ITEM_MANAGER::DestroyChestDropItem() { if (!m_map_pkSpecialItemGroup.empty()) m_map_pkSpecialItemGroup.clear(); } #endif en item_manager.h debajo de void GracefulShutdown(); agregar #if defined(__LOAD_MOB_TXT__) || defined(__LOAD_CHEST_TXT__) void DestroyMobDropItem(); void DestroyChestDropItem(); #endif
Agregando esto no tienes necesidad de dar reboot solo reload t y reload m y automaticamente se carga en el juego.
- Ghost, Rensr Animations, Break y 1 mas reacciono a esto
- 4
-
Debes iniciar sesión para ver el contenido del enlace en esta publicación.president
-
-
- Este es un tema popular.
- Este es un tema popular.
-
hace 10 horas, Sanokuzy dijo:
Images have error 404
solved
-
en lo personal yo lo uso mejor en pet y monturas, me parece muy molesto esa puta bandera en un pet o una montura
agregamos primero: #include "../gamelib/ItemManager.h" buscas void CInstanceBase::__AttachEmpireEffect(DWORD eEmpire) debajo de CInstanceBase* pkInstMain=__GetMainInstancePtr(); agregas: CItemData * pItemData = CItemManager::Instance().GetSelectedItemDataPointer(); debajo de if (IsResource()) ponemos if (CItemData::COSTUME_MOUNT) return; if (GetRace() >= 53001 && GetRace() <= 53251) return;
-
-
Buena suerte con tu ventas amigo
- autodesk_metin2 reacciono a esto
- 1
-
local c,query = mysql_direct_query("SELECT * FROM account.account WHERE id = '"..pc.get_account_id().."' LIMIT 1;") if query[1].ok < 1 then say'existe un valor menor a 1' else say'existe un valor de 1'
-
Muy buen trabajo buena suerte con tus ventas
-
hace 1 hora, pere85 dijo:
¿Cuando en español?
El servidor cuenta con un multilenguaje, el cual podrás configurarlo al idioma que tu desees, el cual te traducirá idioma de cliente, misiones y nuestros innovadores eventos.
Te dejo una pequeña imagen, todavía no está terminado y tendrá un mejor estilo.
Debes iniciar sesión para ver el contenido del enlace en esta publicación. -
hace 20 minutos, KnightFall dijo:
que sepa las funciones pueden estar dentro de la misma quest que implementes, pero por arranque de sistema para compilar si no equivoco siempre debe agregarse si no no te compila por la función faltante
tu puedes crear tus funciones dentro de una misma quest la funcionalidad de esto es para esto por ejm, tu creas una nueva funcion en tu source ejm
questlua_pc int pc_zone(lua_State* L) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); ch->ChatPacket(CHAT_TYPE_INFO, "hola zone"); } quet zone begin state start begin when login begin pc.zone() end end end
cuando tu compilas te generaria un error el cual seria que debes declarar esta funcion pc.zone, lo que hace lo que publico es quitar que te genere el error y solo compiles y ya, aclaro esto es para los que nos da pereza cada rato estar agregando y agregando funciones
-
Hola, andaba creando funciones y me daba pereza agregar siempre en el quest_fuctions entonces decidí quitarlo desde mi qc
Primero vamos a qc.cc y buscamos: enum parse_state dentro de esto eliminamos esto ST_FUNCTION_NAME, luego buscamos y eliminamos esto : int none_c_function(lua_State* L) { return 0; } set<string> function_defs; set<string> function_calls; void RegisterDefFunction(const string& fname) { function_defs.insert(fname); } void RegisterUsedFunction(const string& fname) { function_calls.insert(fname); } void CheckUsedFunction() { bool hasError = false; set<string> error_func; for (typeof(function_calls.begin()) it = function_calls.begin(); it != function_calls.end(); ++it) { if (function_defs.find(*it) == function_defs.end()) { hasError = true; error_func.insert(*it); } cout << "Used : " << *it << endl; } if (hasError) { cout << "Calls undeclared function! : " << endl; for (typeof(error_func.begin()) it = error_func.begin(); it != error_func.end(); ++it) { cout << *it << endl; } abort(); } } void load_quest_function_list(const char* filename) { ifstream inf(filename); string s; while (!inf.eof()) { inf >> s; if (inf.fail()) break; RegisterDefFunction(s); } } luego buscamos esto y lo eliminamos: load_quest_function_list("quest_functions"); luego buscamos esto y lo eliminamos: else if (t.token == TK_FUNCTION) { ps = ST_FUNCTION_NAME; luego buscamos esto y lo eliminamos OJO EXISTEN DOS ELIMINAR LOS DOS: if (!callname.empty()) { lookahead(&lexstate); if (lexstate.lookahead.token == '(') { RegisterUsedFunction(callname); registered = true; } callname.clear(); } else if (lexstate.t.token == '(') { if (!registered && prev.t.token == TK_NAME) RegisterUsedFunction(getstr(prev.t.seminfo.ts)); registered = false; } luego buscamos esto y lo eliminamos: case ST_FUNCTION_NAME: if (t.token == TK_NAME) { current_function_name = getstr(t.seminfo.ts); RegisterDefFunction(quest_name+"."+current_function_name); ps = ST_FUNCTION_ARG; } break; luego buscamos esto y lo eliminamos: CheckUsedFunction(); Compilamos nuestro qc, y listo ya no tendran que declarar mas funciones nuevas en el quest_fuctions
Zenaris source+files full
en Servicios y compraventa
Publicado
is public .....