Este es un tema popular. NazoX Publicado 20 de Junio del 2018 Este es un tema popular. Reportar Compartir Publicado 20 de Junio del 2018 Bueno visto que no lo he visto en esta comunidad, traigo el fix de la tienda offline de ken para duplicar items en la offline, no lo he probado todavía ya que la estoy recién instalando, pero por algunos comentarios de diversos foros, funciona, bueno empecemos. 1º Solución, vamos a offlineshop_manager.cpp y buscamos la siguiente línea: void COfflineShopManager::TakeItem(LPCHARACTER ch, BYTE bPos) y cambiamos el and status = 0 por 1 quedando así: Quote DBManager::instance().DirectQuery("DELETE FROM %soffline_shop_item WHERE owner_id = %u and pos = %d and status = 1", get_table_postfix(), ch->GetPlayerID(), bPos); Nota: Si no funciona buscamos and status = y todos los "0" remplazamos por "1" 2ºSolución, vamos a input_main.cpp, y buscamos la siguiente línea: "case SHOP_SUBHEADER_CG_TAKE_ITEM" y remplazamos toda la función por lo siguiente: case SHOP_SUBHEADER_CG_TAKE_ITEM: { if (uiBytes < sizeof(BYTE)) return -1; BYTE bPos = *c_pData; if (!COfflineShopManager::instance().HasOfflineShop(ch)){ sys_log(0, "INPUT: %s OFFLINE_SHOP_TAKE_ITEM", ch->GetName()); COfflineShopManager::instance().TakeItem(ch, bPos); } return (sizeof(BYTE)); } Nuevamente buscamos -> "case SHOP_SUBHEADER_CG_REFRESH_UNSOLD_ITEMS" y remplazamos la función por lo siguiente: case SHOP_SUBHEADER_CG_REFRESH_UNSOLD_ITEMS: { if (!COfflineShopManager::instance().HasOfflineShop(ch)){ sys_log(0, "INPUT: %s OFFLINE_SHOP_REFRESH_UNSOLD_ITEMS", ch->GetName()); COfflineShopManager::instance().RefreshUnsoldItems(ch); } return 0; } Con esto debería bastar para solucionar el problema de duplicar items en la tienda Créditos: GucciMane. Según la otra persona, pudo solucionar el problema, solo utilizando el método 1, es decir el de "and status" Otra solución para duplicar items en la tienda offline, (en general, otro sistema o incluso en la de Ken mismo, podéis probar esto) vamos a input_main.cpp y buscamos esta función -> int CInputMain::MyOfflineShop(LPCHARACTER ch, const char * c_pData, size_t uiBytes) y añadimos lo siguiente: if (ch->GetExchange() || ch->IsOpenSafebox() || ch->GetShopOwner() || ch->IsCubeOpen() || ch->GetOfflineShopOwner() || ch->IsAcceOpen()) { ch->ChatPacket(CHAT_TYPE_NOTICE, ("This nigga try to make a bug -> %s."), ch->GetName()); return (iExtraLen); } Nota: Si no tenéis el "IsAcceOpen" a vosotros os dará el error, simplemente eliminar y cerrar en el anterior punto. Otro fix para la parte de C++ en el cliente, para poder cambiar de precio los objetos de la tienda offline, debemos hacer esto. Nos dirigimos a: PythonNetworkPhaseGameItem.cpp Una vez aquí, buscamos la siguiente línea -> bool CPythonNetworkStream :: SendChangePriceOfflineShopItem (BYTE bPos, int iPrice) lo cambiamos por lo siguiente: Quote pTable.bDisplayPos = 0; por: pTable.bDisplayPos = bPos; Para terminar otra vez en C++ del servidor, vamos a input_main.cpp y buscamos esta línea-> COfflineShopManager :: instance (). ChangePrice (ch, pTable-> bPos, pTable-> lPrice); por esta Quote COfflineShopManager :: instance (). ChangePrice (ch, pTable-> bDisplayPos, pTable-> lPrice); Créditos: DeYaN. Aquí comentan algún fix mas para Ken Debes iniciar sesión para ver el contenido del enlace en esta publicación. Se agradecería que si funciona, comentéis cual método habéis usado, o si los de la web funcionan, para dejarlo claro y así los demás tengamos idea para usarlos, un saludo ^^ Tomáš Daniš, SAMOMD, Ilidio jorge y 45 mas reacciono a esto 43 2 3 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
【ℛ-𝓝】ℛ𝔂𝓼𝒆 Publicado 20 de Junio del 2018 Reportar Compartir Publicado 20 de Junio del 2018 hace 7 horas, NazoX dijo: Bueno visto que no lo he visto en esta comunidad, traigo el fix de la tienda offline de ken para duplicar items en la offline, no lo he probado todavía ya que la estoy recién instalando, pero por algunos comentarios de diversos foros, funciona, bueno empecemos. 1º Solución, vamos a offlineshop_manager.cpp y buscamos la siguiente línea: void COfflineShopManager::TakeItem(LPCHARACTER ch, BYTE bPos) y cambiamos el and status = 0 por 1 quedando así: Nota: Si no funciona buscamos and status = y todos los "0" remplazamos por "1" 2ºSolución, vamos a input_main.cpp, y buscamos la siguiente línea: "case SHOP_SUBHEADER_CG_TAKE_ITEM" y remplazamos toda la función por lo siguiente: case SHOP_SUBHEADER_CG_TAKE_ITEM: { if (uiBytes < sizeof(BYTE)) return -1; BYTE bPos = *c_pData; if (!COfflineShopManager::instance().HasOfflineShop(ch)){ sys_log(0, "INPUT: %s OFFLINE_SHOP_TAKE_ITEM", ch->GetName()); COfflineShopManager::instance().TakeItem(ch, bPos); } return (sizeof(BYTE)); } Nuevamente buscamos -> "case SHOP_SUBHEADER_CG_REFRESH_UNSOLD_ITEMS" y remplazamos la función por lo siguiente: case SHOP_SUBHEADER_CG_REFRESH_UNSOLD_ITEMS: { if (!COfflineShopManager::instance().HasOfflineShop(ch)){ sys_log(0, "INPUT: %s OFFLINE_SHOP_REFRESH_UNSOLD_ITEMS", ch->GetName()); COfflineShopManager::instance().RefreshUnsoldItems(ch); } return 0; } Con esto debería bastar para solucionar el problema de duplicar items en la tienda Créditos: GucciMane. Según la otra persona, pudo solucionar el problema, solo utilizando el método 1, es decir el de "and status" Otra solución para duplicar items en la tienda offline, (en general, otro sistema o incluso en la de Ken mismo, podéis probar esto) vamos a input_main.cpp y buscamos esta función -> int CInputMain::MyOfflineShop(LPCHARACTER ch, const char * c_pData, size_t uiBytes) y añadimos lo siguiente: if (ch->GetExchange() || ch->IsOpenSafebox() || ch->GetShopOwner() || ch->IsCubeOpen() || ch->GetOfflineShopOwner() || ch->IsAcceOpen()) { ch->ChatPacket(CHAT_TYPE_NOTICE, ("This nigga try to make a bug -> %s."), ch->GetName()); return (iExtraLen); } Nota: Si no tenéis el "IsAcceOpen" a vosotros os dará el error, simplemente eliminar y cerrar en el anterior punto. Otro fix para la parte de C++ en el cliente, para poder cambiar de precio los objetos de la tienda offline, debemos hacer esto. Nos dirigimos a: PythonNetworkPhaseGameItem.cpp Una vez aquí, buscamos la siguiente línea -> bool CPythonNetworkStream :: SendChangePriceOfflineShopItem (BYTE bPos, int iPrice) lo cambiamos por lo siguiente: Para terminar otra vez en C++ del servidor, vamos a input_main.cpp y buscamos esta línea-> COfflineShopManager :: instance (). ChangePrice (ch, pTable-> bPos, pTable-> lPrice); por esta Créditos: DeYaN. Aquí comentan algún fix mas para Ken Debes iniciar sesión para ver el contenido del enlace en esta publicación. Se agradecería que si funciona, comentéis cual método habéis usado, o si los de la web funcionan, para dejarlo claro y así los demás tengamos idea para usarlos, un saludo ^^ Gracias linda, la probaré y vere que tal ! ahynoa, eurotruck y Freddy Di Maria reacciono a esto 3 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
NazoX Publicado 20 de Junio del 2018 Author Reportar Compartir Publicado 20 de Junio del 2018 hace 3 minutos, Ryzen dijo: Gracias linda, la probaré y vere que tal ! linda? ._. que alguien lo banee por favor. xd, acuerdate de comentar si funciona. Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
clanco365 Publicado 7 de Diciembre del 2018 Reportar Compartir Publicado 7 de Diciembre del 2018 Buenas funciona si, perfecto me sirivo mucho gracias tu +1 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Freddy Di Maria Publicado 9 de Diciembre del 2020 Reportar Compartir Publicado 9 de Diciembre del 2020 Messirve Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Mensajes recomendados
Unirse a la conversación
Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.