Jump to content

饾棓饾椏饾棽饾榾

Miembro
  • Contador contenido

    390
  • Ingreso

  • 脷ltima visita

  • D铆as ganados

    14

Actividad de reputaci贸n

  1. Caca
    饾棓饾椏饾棽饾榾 got a reaction from palmiro91 in IMPLEMENTACION DE ALAS MSE O TAMBIEN LLAMADAS 3D   
    Buenos dias zoneros hoy os traigo un mini tutorial para implementar alas mse o tambien llamada alas 3D
    El tutorial es bastante sencillo por lo cual no es necesario ser un experto en desarrollo ni tampoco entender demasiado sobre c++

    Bueno antes de nada aconsejo hacer copia de seguridad de los archivos que vayamos a modificar (En el caso de que lo cerremos sin querer y no podramos revertir los cambios que hemos realizado)

    Primero abrimos nuestro instancebase.cpp que se encuentra en la ruta Userinterface y buscamos la siguiente linea

    聽聽 聽聽聽 聽__EffectContainer_AttachEffect(m_dwAcceEffect);
    聽聽 聽}

    Recuerden que si no la encuentran busquenla asi聽

    聽聽 聽聽聽 聽__EffectContainer_AttachEffect(m_dwSashEffect);
    聽聽 聽}

    Cuando la encuentren agregan encima de esa linea lo siguiente

    #ifdef ENABLE_WINGS_EFFECT
    聽聽 聽if (dwAcce == 86065) ////////////////////////// Aca va el vnum de la estola o ala que deseas implementar y no existe
    聽聽 聽{
    聽聽 聽聽聽 聽fSpecular += 35;
    聽聽 聽聽聽 聽m_dwAcceEffect = EFFECT_REFINED + EFFECT_WINGS_NEWS1;
    聽聽 聽聽聽 聽__EffectContainer_AttachEffect(m_dwAcceEffect);
    #endif

    Una vez hecho guardamos y pasamos a nuestro archivo instancebase.h que se encuentra en la misma ruta que el instancebase.cpp

    Cuando estemos dentro del archivo buscamos la linea聽

    #ifdef ENABLE_ACCE_SYSTEM
    聽聽 聽聽聽 聽聽聽 聽EFFECT_ACCE,
    #endif

    O

    #ifdef ENABLE_SASH_SYSTEM
    聽聽 聽聽聽 聽聽聽 聽EFFECT_SASH,
    #endif

    Y debajo agregamos

    #ifdef ENABLE_WINGS_EFFECT
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS1 = 201,
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS2 = 202,
    #endif

    /////////// Recuerden que estos numeros seran los que se agreguen en el playersettingmodule.py del cliente revisen que no esten repetidos ( Si lo estan simplemente cambienlos por unos que no se repitan

    Luego de que la agreguen cierran el archivo y abren el Locale_inc.h que esta dentro de la misma carpeta y agregan el define y guardan

    #define ENABLE_WINGS_EFFECT

    Despues nos vamos al archivo聽PythonApplicationModule.cpp y agregan la siguiente linea antes del聽聽}

    Tambien pueden buscar聽PyModule_AddIntConstant y agregar聽debajo lo siguiente


    #ifdef ENABLE_WINGS_EFFECT
    聽聽 聽PyModule_AddIntConstant(poModule, "ENABLE_EFFECT_WINGS_NEW",聽聽 聽1);
    #else
    聽聽 聽PyModule_AddIntConstant(poModule, "ENABLE_EFFECT_WINGS_NEW",聽聽 聽0);
    #endif

    Cuando tengan listo todos los archivos guardan y compilan el binario (Si lo hicieron como les explique no deberian de tener ningun error) "Siempre revisen las tabulaciones"

    Ahora pasamos a la parte del cliente. Para ello vamos a nuestro root y buscamos el archivo playersettingmodule.py y buscan la siguiente linea

    if app.ENABLE_ACCE_SYSTEM:
    聽聽 聽聽聽 聽chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 22, "Bip01", "d:/ymir work/pc/common/effect/armor/acc_01.mse")

    O

    if app.ENABLE_SASH_SYSTEM:
    聽聽 聽聽聽 聽chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 22, "Bip01", "d:/ymir work/pc/common/effect/armor/acc_01.mse")

    Despues de esa linea agregan lo siguiente

    聽聽 聽if app.ENABLE_WINGS_EFFECT:
    聽聽 聽聽聽 聽chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 23, "Bip01", "d:/ymir work/item/weapon/Ksjeu_Anim/Ksjeu_Wings/ksjeu_wings_set8/ksjeu_wings_set8.mse")
    聽聽 聽聽聽 聽chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 24, "Bip01", "d:/ymir work/effect/wings/wings_kazu.mse")

    Asegurate que el numero 23 o 24 coincidan con los que agregaron en el binario y importante es que no se repitan con ninguno anterior

    "Bip01"

    El Bip01 siempre es el que ubica la posicion de las alas (Si os sale en la mu帽eca o en la rodilla basta con que lo remplacen con聽"Bip01 Spine02" o viceversa

    "d:/ymir work/item/weapon/Ksjeu_Anim/Ksjeu_Wings/ksjeu_wings_set8/ksjeu_wings_set8.mse")

    Aca va la ruta de nuestro archivo mse. Recuerden revisar donde hace el llamado el mde para que no le salgan con errores.

    Para ellos le dan click derecho al archivo mde y editan con block de notas o notepad y hay veran cual es su ruta

    Ya una vez hecho todo lo anterior deberian de funcionar correctamente las alas sin ningun tipo de error

    Aca os aportare unas alas para que las implementen y me cuenten como les fue. Un saludo

    Alas:聽
    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
    EDIT: Publico foto de unas alas implementadas con el mismo codigo

    Tambien quiero abreviar que si quieren implementar mas simplemente pueden agregar nuevas lineas
    #ifdef ENABLE_WINGS_EFFECT
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS1 = 201,
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS2 = 202,
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS3聽= 203,聽
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS4聽= 204,聽
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS5聽= 205,聽
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS6聽= 206,
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS7聽= 207,
    #endif
    INCLUYENDO LA PARTE DEL PLAYERSETTINGMODULE.PY

    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
  2. Caca
    饾棓饾椏饾棽饾榾 got a reaction from palmiro91 in Sistema de Rachas   
    Buenas tardes zoner@s:

    En esta ocasion os traigo el sistema de rachas completo para el cliente聽reparado por mi

    Primero abrimos nuestro root y buscamos nuestro archivo game.py

    Dentro del archivo buscamos lo siguiente # WEDDING "lover_login" : self.__LoginLover, "lover_logout" : self.__LogoutLover, "lover_near" : self.__LoverNear, "lover_far" : self.__LoverFar, "lover_divorce" : self.__LoverDivorce, "PlayMusic" : self.__PlayMusic, # END_OF_WEDDING Debajo de esta linea agregamos lo siguiente #SISTEMA_RACHAS "Showmedallas_gui" : self.__showmedallas_gui, "Hidemedallas_gui" : self.__hidemedallas_gui, "muertes" : self.__muertes, "primera_muerte" : self.__primera_muerte, "doble_muerte" : self.__doble_muerte, "triple_muerte" : self.__triple_muerte, "exterminio" : self.__exterminio, "muertacular" : self.__muertacular, "bestialidad" : self.__bestialidad, "salvajada" : self.__salvajada, "catastrofe" : self.__catastrofe, "apocalipsis" : self.__apocalipsis, "lluvia_muertos" : self.__lluvia_muertos, "super_increible" : self.__super_increible, #END_SISTEMA_RACHAS Quedando asi # WEDDING "lover_login" : self.__LoginLover, "lover_logout" : self.__LogoutLover, "lover_near" : self.__LoverNear, "lover_far" : self.__LoverFar, "lover_divorce" : self.__LoverDivorce, "PlayMusic" : self.__PlayMusic, # END_OF_WEDDING #SISTEMA_RACHAS "Showmedallas_gui" : self.__showmedallas_gui, "Hidemedallas_gui" : self.__hidemedallas_gui, "muertes" : self.__muertes, "primera_muerte" : self.__primera_muerte, "doble_muerte" : self.__doble_muerte, "triple_muerte" : self.__triple_muerte, "exterminio" : self.__exterminio, "muertacular" : self.__muertacular, "bestialidad" : self.__bestialidad, "salvajada" : self.__salvajada, "catastrofe" : self.__catastrofe, "apocalipsis" : self.__apocalipsis, "lluvia_muertos" : self.__lluvia_muertos, "super_increible" : self.__super_increible, #END_SISTEMA_RACHAS 聽
    Dentro del mismo archivo buscamos lo siguiente: def __InGameShop_Show(self, url): if constinfo.IN_GAME_SHOP_ENABLE: self.interface.OpenWebWindow(url) Una vez encontrado agregamos debajo #SISTEMA_RACHAS def __primera_muerte(self): self.primera_muerte.Show() snd.PlaySound("sound/ui/1_muerte.wav") net.SendChatPacket("(1_muerte)") def __doble_muerte(self): self.doble_muerte.Show() snd.PlaySound("sound/ui/doble_muerte.wav") net.SendChatPacket("(doble_muerte)") def __triple_muerte(self): self.triple_muerte.Show() snd.PlaySound("sound/ui/triple_muerte.wav") net.SendChatPacket("(triple_muerte)") def __exterminio(self): self.exterminio.Show() snd.PlaySound("sound/ui/exterminio.wav") net.SendChatPacket("(exterminio)") def __muertacular(self): self.muertacular.Show() snd.PlaySound("sound/ui/muertacular.wav") net.SendChatPacket("(muertacular)") def __bestialidad(self): self.bestialidad.Show() snd.PlaySound("sound/ui/bestialidad.wav") net.SendChatPacket("(bestialidad)") def __salvajada(self): self.salvajada.Show() snd.PlaySound("sound/ui/salvajada.wav") net.SendChatPacket("(salvajada)") def __catastrofe(self): self.catastrofe.Show() snd.PlaySound("sound/ui/catastrofe.wav") net.SendChatPacket("(catastrofe)") def __apocalipsis(self): self.apocalipsis.Show() snd.PlaySound("sound/ui/apocalipsis.wav") net.SendChatPacket("(apocalipsis)") def __lluvia_muertos(self): self.lluvia_muertos.Show() snd.PlaySound("sound/ui/lluvia_muertos.wav") net.SendChatPacket("(lluvia_muertos)") def __super_increible(self): self.super_increible.Show() snd.PlaySound("sound/ui/super_increible.wav") net.SendChatPacket("(super_increible)") def __hidemedallas_gui(self): self.Medallas_gui.Hide() self.primera_muerte.Hide() self.doble_muerte.Hide() self.triple_muerte.Hide() self.exterminio.Hide() self.muertacular.Hide() self.bestialidad.Hide() self.salvajada.Hide() self.catastrofe.Hide() self.apocalipsis.Hide() self.lluvia_muertos.Hide() self.super_increible.Hide() self.muertes.Hide() def __showmedallas_gui(self): self.Medallas_gui.Show() self.muertes.Show() def __muertes(self, muertes): self.muertes.SetText(muertes) #END_SISTEMA_RACHAS 聽
    Guardamos los cambios y vamos a nuestro archivo playersettingmodule.py dentro de la misma carpeta

    Dentro del playersettingmodule.py buscamos lo siguiente chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+19, "", "d:/ymir work/effect/etc/emoticon/siren.mse") net.RegisterEmoticonString("(emoji8)") Una vez encontrada la linea agregamos abajo lo siguiente chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+20, "", "d:/ymir work/effect/etc/buff/1_muerte.mse") net.RegisterEmoticonString("(1_muerte)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+21, "", "d:/ymir work/effect/etc/buff/doble_muerte.mse") net.RegisterEmoticonString("(doble_muerte)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+22, "", "d:/ymir work/effect/etc/buff/triple_muerte.mse") net.RegisterEmoticonString("(triple_muerte)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+23, "", "d:/ymir work/effect/etc/buff/exterminio.mse") net.RegisterEmoticonString("(exterminio)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+24, "", "d:/ymir work/effect/etc/buff/muertacular.mse") net.RegisterEmoticonString("(muertacular)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+25, "", "d:/ymir work/effect/etc/buff/bestialidad.mse") net.RegisterEmoticonString("(bestialidad)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+26, "", "d:/ymir work/effect/etc/buff/salvajada.mse") net.RegisterEmoticonString("(salvajada)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+27, "", "d:/ymir work/effect/etc/buff/catastrofe.mse") net.RegisterEmoticonString("(catastrofe)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+28, "", "d:/ymir work/effect/etc/buff/apocalipsis.mse") net.RegisterEmoticonString("(apocalipsis)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+29, "", "d:/ymir work/effect/etc/buff/lluvia_muertos.mse") net.RegisterEmoticonString("(lluvia_muertos)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+30, "", "d:/ymir work/effect/etc/buff/super_increible.mse") net.RegisterEmoticonString("(super_increible)") Recuerden que los numeros deberan de ser el ultimo al anterior y no se deben de repetir Una vez agregadas las nuevas lineas cerramos el archivo y compilamos nuestro root 聽
    Luego de compilar nuestro root metemos los siguientes archivos en sus rutas correspondientes y compilamos

    Y ya estaria listo el sistema, si lo hacen todo tal cual publique en la guia no deberian de tener problema y todo deberia de estar funcionando sin ningun problema


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
    Sonidos


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽

    Creditos a Rinnegan
  3. Caca
    饾棓饾椏饾棽饾榾 got a reaction from sp4inTheBe4st in Set Atuendos de Verano 2020 (Plechito completo)   
    Buenas noches zoneros y zoneras hoy os traigo este set que no he visto publico en ningun foro ni en turkmmo ni en dev ni aca asi que ahora os lo traigo aqui para que le saquen provecho

    Aca os dejo algunas fotos:

    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. 聽
    Aca el link:

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
    Espero que le saquen provecho para este veranico馃槈
  4. Me Gusta
    饾棓饾椏饾棽饾榾 got a reaction from dioseterno in Gran Aporte "SISTEMA SHINING COMPLETO"   
    Buenas noches zoneros y zoneras:

    En esta ocasion os traigo el sistema Shining completo y reparado para alas y skin de armas ya que veo que no esta publico en ningun foro.聽
    Bueno los archivos que vamos a precisar son los siguientes:

    Parte del Src Client o Binario como lo conozcan:
    De la carpeta UserInterface:
    -.PythonAplication.cpp
    -.Locale_inc.h
    -.Instancebase.h
    -.Instancebase.cpp
    De la carpeta GameLib:
    -.ItemData.h
    -.ItemData.cpp
    -.ItemManager.cpp
    -.ItemManager.h

    Bueno sabiendo ya todo lo que vamos a precisar vamos con la guia
    UserInterface/PythonApplication.cpp Buscamos esta linea: snprintf(szSkillDescFileName, sizeof(szSkillDescFileName), "%s/skilldesc.txt", localePath); Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM snprintf(szShiningTable, sizeof(szShiningTable), "%s/shiningtable.txt", localePath); #endif Buscamos esta linea: char szItemDesc[256]; Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM char szShiningTable[256]; #endif Buscamos esta linea: if (!rkSkillMgr.RegisterSkillTable("data/common/skilltable.txt")) { TraceError("Error while loading skilltable.txt."); return false; } Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM if (!rkItemMgr.LoadShiningTable(szShiningTable)) { Tracenf("LoadLocaleData - LoadShiningTable(%s) Error", szShiningTable); } #endif 聽
    UserInterface/Locale_inc.h Aca agregaremos el siguiente define: #define ENABLE_SHINING_SYSTEM UserInterface/InstanceBase.h Aca buscamos la siguiente linea: DWORD m_armorRefineEffect; Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM //2-Dimensions for Left & Right sided effects DWORD m_weaponShiningEffects[2][CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_armorShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_acceShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; #endif Aca quiero aclarar una cosa: Si en vuestro sistema de estolas de envez de llevar acce lleva sash cambian la linea anterior por esta: #ifdef ENABLE_SHINING_SYSTEM //2-Dimensions for Left & Right sided effects DWORD m_weaponShiningEffects[2][CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_armorShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_sashShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; #endif Ahora buscamos la siguiente linea: UINT __GetRefinedEffect(CItemData* pItem); Pulsamos un enter y agregamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM void __GetShiningEffect(CItemData* pItem); void __ClearWeaponShiningEffect(bool detaching = true); void __ClearArmorShiningEffect(bool detaching = true); void __ClearAcceShiningEffect(bool detaching = true); void __AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01 Spine2"); void __AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); void __AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); #endif Aca quiero explicar 1 cosa: Aca es lo mismo que en la anterior linea, si ustedes de envez de usar acce usan sash remplazan la linea por esta: #ifdef ENABLE_SHINING_SYSTEM void __GetShiningEffect(CItemData* pItem); void __ClearWeaponShiningEffect(bool detaching = true); void __ClearArmorShiningEffect(bool detaching = true); void __ClearSashShiningEffect(bool detaching = true); void __AttachSashShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01 Spine2"); void __AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); void __AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); #endif UserInterface/InstanceBase.cpp Buscamos la siguiente funcion void CInstanceBase::SetArmor(DWORD dwArmor) { ... } Y dentro de esta funcion buscamos lo siguiente __GetRefinedEffect(pItemData); Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Quedando asi: __GetRefinedEffect(pItemData); #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Ahora dentro de la misma funcion buscamos la siguiente linea: __ClearArmorRefineEffect(); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __ClearArmorShiningEffect(); #endif UserInterface/InstanceBase.cpp Aca buscamos la siguiente funcion: void CInstanceBase::SetAcce "Recuerden que si su sistema de estolas no es acce lo cambian por Sash" { .... } Dentro de esta funcion buscamos lo siguiente: ClearAcceEffect(); Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __ClearAcceShiningEffect(); #endif Luego dentro de la misma funcion mas abajo buscamos lo siguiente: CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData); "Si no usan acce lo cambian por sash" Pulsamos enter y mas abajo pegamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM if (pItemData) __GetShiningEffect(pItemData); #endif Quedando asi: CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData); #ifdef ENABLE_SHINING_SYSTEM if (pItemData) __GetShiningEffect(pItemData); #endif m_GraphicThingInstance.AttachAcce(pItemData, fSpecular); UserInterface/InstanceBase.cpp "Ahora atentos en la siguiente funcion ya que si no lo hacen bien no funcionara en las armas ni en las skin" Buscamos la siguiente funcion: bool CInstanceBase::SetWeapon(DWORD eWeapon) { ... } Dentro de esta funcion buscamos la siguiente linea: __GetRefinedEffect(pItemData); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Ahora buscamos la siguiente linea: __ClearWeaponRefineEffect(); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(); #endif "AHORA MUY ATENTOS AL CODIGO QUE PONDRE EN PANTALLA DEBERAN DE HACERLO TAL CUAL LO DEJO ACA" "CON LOS CORCHETES TAL CUAL ESTAN EN LA FUNCION" MI CODIGO CItemData * pItemData; if (CItemManager::Instance().GetItemDataPointer(eWeapon, &pItemData)) { ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA __GetRefinedEffect(pItemData); #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif } ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA else { ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA __ClearWeaponRefineEffect(); #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(); #endif } ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA return true; } UserInterface/Instancebase.cpp Ahora buscamos esta funcion void CInstanceBase::__Initialize() { ..... } Y dentro de ella vamos a buscar la siguiente linea: m_armorRefineEffect = 0; Pulsamos enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(false); #endif UserInterface/InstanceBase.cpp Ahora agregamos todo este bloque completo al final del archivo #ifdef ENABLE_SHINING_SYSTEM void CInstanceBase::__GetShiningEffect(CItemData* pItem) { bool removeRefineEffect = true; CItemData::TItemShiningTable shiningTable = pItem->GetItemShiningTable(); if (pItem->GetType() == CItemData::ITEM_TYPE_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { bool bRemove = false; for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) if (strcmp(shiningTable.szShinings[i], "")) bRemove = true; if (bRemove) __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { #ifdef ENABLE_WOLFMAN_CHARACTER bool twoSidedWeapon = pItem->GetSubType() == CItemData::WEAPON_DAGGER || pItem->GetSubType() == CItemData::WEAPON_CLAW || (IsMountingHorse() && pItem->GetSubType() == CItemData::WEAPON_FAN); #else bool twoSidedWeapon = pItem->GetSubType() == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetSubType() == CItemData::WEAPON_FAN); #endif if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetSubType() == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #ifdef ENABLE_COSTUME_SYSTEM else if (pItem->GetType() == CItemData::ITEM_TYPE_COSTUME) { #ifdef ENABLE_ACCE_SYSTEM if (pItem->GetSubType() == CItemData::COSTUME_ACCE) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachAcceShiningEffect(i, shiningTable.szShinings[i], "Bip01 Spine2"); } } } #endif else if (pItem->GetSubType() == CItemData::COSTUME_BODY) { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } #ifdef ENABLE_WEAPON_COSTUME_SYSTEM else if (pItem->GetSubType() == CItemData::COSTUME_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { bool twoSidedWeapon = pItem->GetValue(3) == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetValue(3) == CItemData::WEAPON_FAN); if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetValue(3) == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #endif } #endif else { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } } //Attaching the shining effect. //BoneName can be "PART_WEAPON" or "PART_WEAPON_LEFT" to get the attaching bone name dynamically. //If boneName is not given "Bip01" is used as boneName. void CInstanceBase::__AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); if (!strcmp(boneName, "PART_WEAPON")) { const char* c_szRightBoneName; m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON, &c_szRightBoneName); if (c_szRightBoneName == NULL) return; if (strcmp(c_szRightBoneName, "")) { m_weaponShiningEffects[0][effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, c_szRightBoneName, effectFileName); } } else if (!strcmp(boneName, "PART_WEAPON_LEFT")) { const char* c_szLeftBoneName; m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON_LEFT, &c_szLeftBoneName); if (c_szLeftBoneName == NULL) return; if (strcmp(c_szLeftBoneName, "")) { m_weaponShiningEffects[1][effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, c_szLeftBoneName, effectFileName); } } else { Tracef("Invalid partname for getting attaching bone name. %s - %s", effectFileName, boneName); } } //Attaching the armor shining effect. //If boneName is not given "Bip01" is used as boneName. void CInstanceBase::__AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } if (!strcmp(boneName, "")) { Tracef("Empty bone name for attaching armor shining. Effect Index: %i, EffectFileName: %s", effectIndex, effectFileName); return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); m_armorShiningEffects[effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, boneName, effectFileName); } //Clears all weapon shining effects. Left & Right if set. void CInstanceBase::__ClearWeaponShiningEffect(bool detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (m_weaponShiningEffects[0][i]) { if (detaching) { __DetachEffect(m_weaponShiningEffects[0][i]); } m_weaponShiningEffects[0][i] = 0; } if (m_weaponShiningEffects[1][i]) { if (detaching) { __DetachEffect(m_weaponShiningEffects[1][i]); } m_weaponShiningEffects[1][i] = 0; } } } //Clears all armor shining effects. void CInstanceBase::__ClearArmorShiningEffect(bool detaching) { if (detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (m_armorShiningEffects[i]) { __DetachEffect(m_armorShiningEffects[i]); } } } memset(&m_armorShiningEffects, 0, sizeof(m_armorShiningEffects)); } #endif #ifdef ENABLE_SHINING_SYSTEM #ifdef ENABLE_ACCE_SYSTEM void CInstanceBase::__AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } if (!strcmp(boneName, "")) { Tracef("Empty bone name for attaching armor shining. Effect Index: %i, EffectFileName: %s", effectIndex, effectFileName); return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); m_acceShiningEffects[effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, boneName, effectFileName); } #ifdef ENABLE_ACCE_SYSTEM void CInstanceBase::__ClearAcceShiningEffect(bool detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (detaching) { __DetachEffect(m_acceShiningEffects[i]); } m_acceShiningEffects[i] = 0; } } #endif #endif #endif UserInterface/InstanceBase.cpp "Ahora os voy a explicar algo" En el caso de que vuestro sistema de estolas no lleve el define acce, deberan de cambiar el codigo del sistema en las partes que llevan acce por sash "Por ejemplo en el bloque que agregan en InstanceBase.cpp" Ese lleva ACCE como Define, ustedes deberan de agregar el define de su sistema de estolas GameLib/ItemManager.h Aca buscan la siguiente linea: bool LoadItemTable(const char* c_szFileName); Pulsan enter y agregan lo siguiente: #ifdef ENABLE_SHINING_SYSTEM bool LoadShiningTable(const char* c_szFileName); #endif GameLib/ItemManager.cpp Ahora buscan la siguiente funcion bool CItemManager::LoadItemTable(const char* c_szFileName) { ... } Y debajo de la funcion completa pulsan enter y agregan el siguiente bloque #ifdef ENABLE_SHINING_SYSTEM bool CItemManager::LoadShiningTable(const char* szShiningTable) { CMappedFile File; LPCVOID pData; if (!CEterPackManager::Instance().Get(File, szShiningTable, &pData)) return false; CMemoryTextFileLoader textFileLoader; textFileLoader.Bind(File.Size(), pData); CTokenVector TokenVector; for (DWORD i = 0; i < textFileLoader.GetLineCount(); ++i) { if (!textFileLoader.SplitLine(i, &TokenVector, "\t")) continue; if (TokenVector.size() > (1 + CItemData::ITEM_SHINING_MAX_COUNT)) { TraceError("CItemManager::LoadShiningTable(%s) - LoadShiningTable in %d\n - RowSize: %d MaxRowSize: %d", szShiningTable, i, TokenVector.size(), CItemData::ITEM_SHINING_MAX_COUNT); } const std::string & c_rstrID = TokenVector[0]; DWORD dwItemVNum = atoi(c_rstrID.c_str()); CItemData * pItemData = MakeItemData(dwItemVNum); if (pItemData) { for (BYTE i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (i < (TokenVector.size()-1)) { const std::string & c_rstrEffectPath = TokenVector[i + 1]; pItemData->SetItemShiningTableData(i, c_rstrEffectPath.c_str()); } else { pItemData->SetItemShiningTableData(i, ""); } } } } return true; } #endif GameLib/ItemData.h Buscan la siguiente linea: ITEM_SOCKET_MAX_NUM = 3, Pulsan un enter y agregan la siguiente debajo #ifdef ENABLE_SHINING_SYSTEM ITEM_SHINING_MAX_COUNT = 3, #endif Ahora buscan la siguiente linea: void SetItemTableData(TItemTable * pItemTable); Pulsan enter y debajo agregan la siguiente: #ifdef ENABLE_SHINING_SYSTEM typedef struct SItemShiningTable { char szShinings[ITEM_SHINING_MAX_COUNT][256]; public: //Checking if any shining is set for this item. bool Any() const { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(szShinings[i], "")) { return true; } } return false; } } TItemShiningTable; void SetItemShiningTableData(BYTE bIndex, const char* szEffectname); CItemData::TItemShiningTable GetItemShiningTable() { return m_ItemShiningTable; } #endif Ahora buscan la siguiente linea: TItemTable m_ItemTable; Pulsan enter y debajo pegan la siguiente: #ifdef ENABLE_SHINING_SYSTEM TItemShiningTable m_ItemShiningTable; #endif GameLib/ItemData.cpp Ahora buscan la siguiente funcion: BOOL CItemData::IsEquipment() const { .... } Debajo de la funcion agregan lo siguiente: #ifdef ENABLE_SHINING_SYSTEM void CItemData::SetItemShiningTableData(BYTE bIndex, const char* szEffectname) { sprintf(m_ItemShiningTable.szShinings[bIndex], szEffectname); } #endif Ahora buscan la siguiente funcion: void CItemData::Clear() { ..... } Dentro de esa misma funcion buscan la siguiente linea: memset(&m_ItemTable, 0, sizeof(m_ItemTable)); Pulsan un enter y agregan la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM memset(&m_ItemShiningTable, 0, sizeof(m_ItemShiningTable)); #endif 聽
    Parte del cliente Va a su locale y agregan el archivo que os dejare debajo "Como funciona el sistema y que hago para implementar un arma, ala o efecto de armadura" Bueno para implementar todo el mundo ya conoce como se implementa una arma o estola. Agregan la parte de la db luego item_list.txt, item_proto "Pero aca si usan arma 3D en el archivo haran lo siguiente" 61202 "D:/ymir work/effect/plechito/weapons/dark_cult_set/bell_glow.mse" El 61202 es el vnum del arma, armadura o ala que llevara el efecto Y al lado va la ruta del mse "Asegurese que el efecto esta completo Y ya eso es todo 聽
    Y eso seria todo

    Adjunto foto de como funciona el sistema correctamente



    Si lo hacen tal cual le explique en la guia el sistema le funcionara correctamente.聽

    Adjunte foto cuando metan el sistema, no cuesta nada.

    Archivo parte del cliente

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  5. Gracias
    饾棓饾椏饾棽饾榾 got a reaction from rporrasj97 in Aporte "Atuendos verano 2022"   
    Buenas zoneros, hoy os vengo a traer el set de Atlantis festive robe completo, por las 1000 visitas a mi perfil.
    El set viene con los efectos, tanto en las armas como armaduras, al igual que con las alas incluidas.
    Espero que lo disfruten

    Adjunto foto del set y los atuendos:

    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.
    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
    Link de descarga:

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
  6. Caca
    饾棓饾椏饾棽饾榾 got a reaction from kryspi_magnus1999 in [PLECHITO]Set de pascua 2022   
    Buenos d铆as zoneros y zoneras:

    Aca os comparto el set de pascua de plechito completo. El set viene con las armas, armaduras, peinados, alas y los efectos. Espero que lo disfruten


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.

    Aca os dejo algunas fotos

    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.
    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  7. Caca
    饾棓饾椏饾棽饾榾 got a reaction from kryspi_magnus1999 in Atuendos de Halloween 2020 "Official"   
    Buenas noches comunidad, como llevo bastante tiempo sin contenido al foro al igual que pronto comienza halloween, hoy os traigo los set del oficial de halloween del 2020 ya que nos los he visto posteado al igual que todos los enlaces que estan publicos estan caidos.

    Espero que les sirva y le saquen probecho

    Adjunto foto del set:


    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.
  8. Caca
    饾棓饾椏饾棽饾榾 got a reaction from kryspi_magnus1999 in [FIX] Retraso de Monturas   
    Buenas noches zoneros y zoneras:

    Hoy os vengo a dar una peque帽a solucion para las monturas cuando van montadas en ellas, la montura se va para atras o las npcs desaparecen,

    La solucion es la siguiente

    Vamos al run de nuestra montura: El archivo se puede llamar "run.msa, 03.msa, 02.msa.....etc" Para asegurarnos que archivo es vamos a nuestro motlist.txt que se encuentra dentro de la carpeta de la montura. Una vez sabemos cual es el archivo que llama al run lo abrimos y veran que hay lo siguiente. ScriptType MotionData MotionFileName "D:\Ymir Work\npc\horse_event1\03.GR2"-------------------------Este es el que llama al gr2 del correr MotionDuration 0.666667----------------------------------------Y esta es la duracion del run (Este es el que ocasiona aveces el problema) Bueno muchas veces el MotionDuration puede tener otros numeros o encontrarse en 0.000000 Para solucionarlo hacen lo siguiente: ScriptType MotionData MotionFileName "D:\Ymir Work\npc\horse_event1\03.GR2" MotionDuration 0.666667 Accumulation 0.00 -1300.00 0.00----------------------------Le agregan esta linea Y con eso deberia de estar solucionado el problema. 聽

    Quiero asegurar que no es una solucion definitiva "Mas bien es un peque帽o fix que funciona para algunas monturas"
  9. Caca
    饾棓饾椏饾棽饾榾 got a reaction from kryspi_magnus1999 in Pack de verano [Mazmorra Atlantis + Atuendos]   
    Buenas tardes zoner@s, hoy os vengo a traer la mazmorra de atlantis con todos los atuendos y skins


    Link:


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  10. Me Gusta
    饾棓饾椏饾棽饾榾 got a reaction from mageth magwth in Atuendos Halloween [Plechito 2022]   
    Buenas tardes zoner@s, hoy os vengo a traer los atuendos de halloween de este 2022 de plechito


    Os dejare los primeros atuendos, luego mas tarde subire los otros

    El set viene con los atuendos, skin de armas, alas y iconos

    Link:

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.

    Foto del set:

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  11. Caca
    饾棓饾椏饾棽饾榾 got a reaction from Metin2proyecto in Pack Pokem贸n [Pet y Npc]   
    Buenos dias zoner@s, hoy os traigo unos pets y una npc pokemon

    Espero que le saquen provecho!

    Link:


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  12. Caca
    饾棓饾椏饾棽饾榾 got a reaction from palmiro91 in Atuendo Samurai 2022 [Full Version]   
    Buenas noches zoner@s, aca os traigo los atuendos de samurai de plechito de este 2022 completos

    La carpeta contiene los iconos, las armas, los atuendos, los peinados, la estola y los efectos:

    Link de los archivos:


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.

    Imagen del set:

    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
  13. Caca
    饾棓饾椏饾棽饾榾 got a reaction from palmiro91 in Opinion de Nuevo Mapa   
    Buenas Noches Comunidad e Metin2zone Me gustaria Saber Vuestra opinion en un nuevo mapa que e creado.


    PD: Es la primera vez que creo un mapa

    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
  14. Caca
    饾棓饾椏饾棽饾榾 got a reaction from palmiro91 in [SOLICITUD SISTEMA]   
    ENCONTRADO CIERREN POST
  15. Caca
    饾棓饾椏饾棽饾榾 got a reaction from palmiro91 in [GUIA] Que hacer cuando compras un nuevo computador   
    饾棔饾槀饾棽饾椈饾棶饾榾 饾椈饾椉饾棸饾椀饾棽饾榾 饾棴饾椉饾椈饾棽饾椏饾椉饾榾 饾槅 饾棴饾椉饾椈饾棽饾椏饾棶饾榾
    饾棙饾椈 饾棽饾榾饾榿饾棶 饾棦饾棸饾棶饾榾饾椂饾椉饾椈 饾椉饾榾 饾榿饾椏饾棶饾椂饾棿饾椉 饾槀饾椈饾棶 饾椈饾槀饾棽饾槂饾棶 饾棿饾槀饾椂饾棶 饾棻饾棽 饾椌饾槀饾棽 饾椀饾棶饾棸饾棽饾椏 饾棸饾槀饾棶饾椈饾棻饾椉 饾榿饾棽 饾棸饾椉饾椇饾椊饾椏饾棶饾榾 饾槀饾椈 饾椈饾槀饾棽饾槂饾椉 饾棸饾椉饾椇饾椊饾槀饾榿饾棶饾棻饾椉饾椏. [饾棥饾椉 饾棽饾榾 饾椈饾棶饾棻饾棶 饾椏饾棽饾棾饾棽饾椏饾椂饾棻饾椉 饾棶 饾椇饾棽饾榿饾椂饾椈饾煯]
    饾棓饾棸饾棶 饾椉饾榾 饾棽饾椈饾榾饾棽帽饾棶饾椏饾棽 饾榿饾椉饾棻饾椉饾榾 饾椆饾椉饾榾 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶饾榾 饾椌饾槀饾棽 饾椉饾榾 饾棶饾棸饾椉饾椈饾榾饾棽饾椃饾椉 饾榿饾棽饾椈饾棽饾椏 饾棽饾椈 饾槂饾槀饾棽饾榾饾榿饾椏饾棶 饾椊饾棸.
    饾棧饾棶饾椏饾棶 饾棻饾棽饾椃饾棶饾椏饾椆饾棶 饾椆饾椉 饾椇饾棶饾榾 饾棶饾棸饾榿饾槀饾棶饾椆饾椂饾槆饾棶饾棻饾棶 饾棶饾榾饾椂 饾棸饾椉饾椇饾椉 饾椉饾椊饾榿饾椂饾椇饾椂饾槆饾棶饾棻饾棶 饾椊饾椉饾榾饾椂饾棷饾椆饾棽
    [饾棙饾棥 饾棙饾棪饾棫饾棓 饾棜饾棬饾棞饾棓 饾棦饾棪 饾棗饾棞饾棩饾棙 饾棢饾棦饾棪 饾棧饾棩饾棦饾棜饾棩饾棓饾棤饾棓饾棪 饾棫饾棓饾棥饾棫饾棦 饾棙饾棥 饾棯饾棞饾棥饾棗饾棦饾棯饾棪 饾煶 饾棖饾棦饾棤饾棦 饾棙饾棥 饾棯饾棞饾棥饾棗饾棦饾棯饾棪 饾煭饾煬]


    饾樈饾櫔饾櫄饾櫍饾櫎 饾櫂饾櫎饾櫌饾櫄饾櫍饾櫙饾櫄饾櫌饾櫎饾櫒:
    1-. 饾檴饾櫑饾櫃饾櫄饾櫍饾櫀饾櫃饾櫎饾櫑 饾櫂饾櫎饾櫍 饾檼饾櫈饾櫍饾櫃饾櫎饾櫖饾櫒 7:
    饾檵饾櫀饾櫑饾櫀 饾櫏饾櫑饾櫄饾櫏饾櫀饾櫑饾櫀饾櫑 饾櫔饾櫍 饾櫎饾櫑饾櫃饾櫄饾櫍饾櫀饾櫃饾櫎饾櫑 饾櫂饾櫎饾櫍 饾檼饾櫈饾櫍饾櫃饾櫎饾櫖饾櫒 7 饾櫏饾櫑饾櫈饾櫌饾櫄饾櫑饾櫎 饾櫃饾櫄 饾櫓饾櫎饾櫃饾櫎 饾櫎饾櫒 饾櫀饾櫂饾櫎饾櫍饾櫒饾櫄饾櫉饾櫎 饾櫐饾櫔饾櫄 饾櫃饾櫄饾櫒饾櫂饾櫀饾櫑饾櫆饾櫔饾櫄饾櫍 饾櫋饾櫎饾櫒 饾櫒饾櫈饾櫆饾櫔饾櫈饾櫄饾櫍饾櫓饾櫄饾櫒 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀饾櫒 饾櫐饾櫔饾櫄 饾櫎饾櫒 饾櫃饾櫄饾櫉饾櫀饾櫑饾櫄 饾櫀饾櫂饾櫀 饾櫀饾櫁饾櫀饾櫉饾櫎.


    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.聽[饾棙饾榾饾榿饾棽 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶饾榾 饾棽饾榾 饾棽饾椆 饾棗饾椏饾椂饾槂饾棽饾椏 饾棔饾椉饾椉饾榾饾榿饾棽饾椏(饾棙饾椆 饾棸饾槀饾棶饾椆 饾榾饾棽 饾棽饾椈饾棸饾棶饾椏饾棿饾棶饾椏饾棶 饾棻饾棽 饾棶饾棸饾榿饾槀饾棶饾椆饾椂饾槆饾棶饾椏 饾榿饾椉饾棻饾椉饾榾 饾椆饾椉饾榾 饾棻饾椏饾椂饾槂饾棽饾椏饾榾 饾棶饾槀饾榿饾椉饾椇饾棶饾榿饾椂饾棸饾棶饾椇饾棽饾椈饾榿饾棽 饾棻饾棽 饾槂饾槀饾棽饾榾饾榿饾椏饾椉 饾椊饾棸)]
    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.[饾棙饾榾饾榿饾棽 饾棧饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾棽饾榾 饾棽饾椆 饾棖饾椏饾椂饾榾饾榿饾棶饾椆 饾棗饾椂饾榾饾椄 饾棞饾椈饾棾饾椉(饾棪饾棽 饾棽饾椈饾棸饾棶饾椏饾棿饾棶 饾棻饾棽 饾椇饾椉饾榾饾榿饾椏饾棶饾椏饾榿饾棽 饾棽饾椆 饾棽饾榾饾榿饾棶饾棻饾椉 饾棻饾棽 饾榾饾棶饾椆饾槀饾棻 饾棻饾棽 饾榿饾槀 饾棻饾椂饾榾饾棸饾椉 饾棻饾槀饾椏饾椉 饾棶饾榾饾椂 饾棸饾椉饾椇饾椉 饾椆饾棶 饾榿饾棽饾椇饾椊饾棽饾椏饾棶饾榿饾槀饾椏饾棶 饾槅 饾榾饾棽饾棸饾榿饾椉饾椏饾棽饾榾 饾椌饾槀饾棽 饾榾饾棽 饾棽饾椈饾棸饾槀饾棽饾椈饾榿饾椏饾棽饾椈 饾棻饾棶帽饾棶饾棻饾椉饾榾)] 聽
    [饾樉饾櫎饾櫌饾櫎 饾檮饾櫍饾櫒饾櫓饾櫀饾櫋饾櫎 饾櫂饾櫀饾櫃饾櫀 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀, 饾櫘 饾櫂饾櫎饾櫌饾櫎 饾櫅饾櫔饾櫍饾櫂饾櫈饾櫎饾櫍饾櫀饾櫍]

    [饾樇饾櫍饾櫓饾櫈 饾檻饾櫈饾櫑饾櫔饾櫒 饾樇饾櫕饾櫀饾櫒饾櫓]
    1-. 饾檧饾櫗饾櫓饾櫑饾櫀饾櫄饾櫍 饾櫄饾櫋 饾檼饾櫈饾櫍饾櫑饾櫀饾櫑 饾櫘 饾櫄饾櫉饾櫄饾櫂饾櫔饾櫓饾櫀饾櫍 饾櫄饾櫋 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫃饾櫎饾櫑.
    2-. 饾檧饾櫒饾櫏饾櫄饾櫑饾櫀饾櫍 饾櫀 饾櫐饾櫔饾櫄 饾櫂饾櫀饾櫑饾櫆饾櫔饾櫄, 饾櫔饾櫍饾櫀 饾櫕饾櫄饾櫙 饾櫐饾櫔饾櫄 饾櫂饾櫀饾櫑饾櫆饾櫔饾櫄 饾櫋饾櫄饾櫒 饾櫀饾櫏饾櫀饾櫑饾櫄饾櫂饾櫄饾櫑饾櫀 饾櫔饾櫍饾櫀 饾櫕饾櫄饾櫍饾櫓饾櫀饾櫍饾櫀 饾櫄饾櫍 饾櫆饾櫑饾櫀饾櫍饾櫃饾櫄
    3-. 饾樇饾櫁饾櫀饾櫉饾櫎 饾櫃饾櫄 饾櫄饾櫒饾櫀 饾櫕饾櫄饾櫍饾櫓饾櫀饾櫍饾櫀 饾櫄饾櫍饾櫂饾櫎饾櫍饾櫓饾櫑饾櫀饾櫑饾櫀饾櫍 饾櫃饾櫎饾櫒 饾櫂饾櫔饾櫀饾櫃饾櫑饾櫀饾櫃饾櫈饾櫓饾櫎饾櫒. 饾檧饾櫒饾櫎饾櫒 饾櫂饾櫔饾櫀饾櫃饾櫑饾櫀饾櫃饾櫈饾櫓饾櫎饾櫒 饾櫋饾櫎饾櫒 饾櫃饾櫄饾櫒饾櫌饾櫀饾櫑饾櫂饾櫀饾櫍 饾櫘 饾櫋饾櫄 饾櫃饾櫀饾櫍 饾櫀 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫑 饾櫘 饾櫄饾櫒饾櫏饾櫄饾櫑饾櫀饾櫍 饾櫀 饾櫐饾櫔饾櫄 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄
    4-. 饾檺饾櫍饾櫀 饾櫕饾櫄饾櫙 饾櫇饾櫀饾櫘饾櫀 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫀饾櫃饾櫎 饾櫎饾櫒 饾櫒饾櫀饾櫋饾櫃饾櫑饾櫀 饾櫔饾櫍饾櫀 饾櫕饾櫄饾櫍饾櫓饾櫀饾櫍饾櫀 饾櫂饾櫎饾櫍 饾櫔饾櫍 饾櫑饾櫄饾櫂饾櫔饾櫀饾櫃饾櫑饾櫎 饾櫐饾櫔饾櫄 饾櫎饾櫒 饾櫃饾櫈饾櫑饾櫀 饾檨饾櫈饾櫍饾櫀饾櫋饾櫈饾櫙饾櫀饾櫑 饾檮饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫂饾櫈饾櫎饾櫍. 饾檱饾櫄 饾櫏饾櫈饾櫍饾櫂饾櫇饾櫀饾櫍 饾櫘 饾櫄饾櫒饾櫏饾櫄饾櫑饾櫀饾櫍 饾櫔饾櫍饾櫎饾櫒 饾櫒饾櫄饾櫆饾櫔饾櫍饾櫃饾櫎饾櫒.
    5-. 饾樉饾櫔饾櫀饾櫍饾櫃饾櫎 饾櫇饾櫀饾櫘饾櫀 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫀饾櫃饾櫎 饾櫋饾櫀 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫂饾櫈饾櫎饾櫍 饾櫒饾櫄 饾櫎饾櫒 饾櫀饾櫁饾櫑饾櫈饾櫑饾櫀 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀, 饾櫋饾櫄 饾櫃饾櫀饾櫍 饾櫀 饾櫂饾櫎饾櫍饾櫓饾櫈饾櫍饾櫔饾櫀饾櫑 饾櫘 饾櫄饾櫉饾櫄饾櫂饾櫔饾櫓饾櫀饾櫑 饾櫏饾櫑饾櫈饾櫌饾櫄饾櫑 饾櫀饾櫍饾櫀饾櫋饾櫈饾櫒饾櫈饾櫒
    6-. 饾檧饾櫒饾櫏饾櫄饾櫑饾櫀饾櫍 饾櫐饾櫔饾櫄 饾櫓饾櫎饾櫃饾櫎 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫂饾櫄饾櫒饾櫎 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄 饾櫘 饾櫘饾櫀.
    [饾檸饾櫈 饾櫎饾櫒 饾櫒饾櫀饾櫋饾櫄 饾櫐饾櫔饾櫄 饾櫄饾櫋 饾櫄饾櫐饾櫔饾櫈饾櫏饾櫎 饾櫄饾櫒饾櫓饾櫀 饾櫏饾櫑饾櫎饾櫓饾櫄饾櫆饾櫈饾櫃饾櫎 饾櫂饾櫈饾櫄饾櫑饾櫑饾櫀饾櫍 饾櫄饾櫋 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫃饾櫎饾櫑 饾櫘 饾櫘饾櫀.]
    [饾檸饾櫈 饾櫎饾櫒 饾櫒饾櫀饾櫋饾櫄 饾櫐饾櫔饾櫄 饾櫄饾櫋 饾櫄饾櫐饾櫔饾櫈饾櫏饾櫎 饾櫄饾櫒饾櫓饾櫀 饾櫃饾櫀帽饾櫀饾櫃饾櫎 饾櫎 饾櫄饾櫍 饾櫏饾櫄饾櫋饾櫈饾櫆饾櫑饾櫎, 饾櫀饾櫔饾櫓饾櫎饾櫌饾櫀饾櫓饾櫈饾櫂饾櫀饾櫌饾櫄饾櫍饾櫓饾櫄 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀 饾櫑饾櫄饾櫏饾櫀饾櫑饾櫀饾櫑饾櫀 饾櫄饾櫋 饾櫄饾櫐饾櫔饾櫈饾櫏饾櫎.]

    [饾樉饾櫑饾櫈饾櫒饾櫓饾櫀饾櫋 饾樋饾櫈饾櫒饾櫊 饾檮饾櫍饾櫅饾櫎]
    1-. 饾樋饾櫄饾櫒饾櫂饾櫀饾櫑饾櫆饾櫀饾櫍 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀 饾櫃饾櫄饾櫒饾櫃饾櫄 饾櫋饾櫀 饾櫏饾櫀饾櫆饾櫈饾櫍饾櫀 饾櫎饾櫅饾櫈饾櫂饾櫈饾櫀饾櫋.
    2-. 饾檧饾櫉饾櫄饾櫂饾櫔饾櫓饾櫀饾櫍 饾櫄饾櫋 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫃饾櫎饾櫑 饾櫘 饾櫒饾櫈饾櫆饾櫔饾櫄饾櫍 饾櫋饾櫎饾櫒 饾櫏饾櫀饾櫒饾櫎饾櫒 饾櫃饾櫄 饾櫋饾櫀 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫂饾櫈饾櫎饾櫍.
    3-. 饾樉饾櫔饾櫀饾櫍饾櫃饾櫎 饾櫋饾櫀 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫂饾櫈饾櫎饾櫍 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄 饾櫀饾櫁饾櫑饾櫄饾櫍 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀 饾櫘 饾櫎饾櫒 饾櫒饾櫀饾櫋饾櫃饾櫑饾櫀 饾櫔饾櫍饾櫀 饾櫕饾櫄饾櫍饾櫓饾櫀饾櫍饾櫀 饾櫄饾櫋 饾櫂饾櫔饾櫀饾櫋 饾櫎饾櫒 饾櫌饾櫎饾櫒饾櫓饾櫑饾櫀饾櫑饾櫀 饾櫄饾櫋 饾櫄饾櫒饾櫓饾櫀饾櫃饾櫎 饾櫃饾櫄 饾櫒饾櫀饾櫋饾櫔饾櫃
    4-. 饾樇饾櫒饾櫈 饾櫂饾櫎饾櫌饾櫎 饾櫋饾櫎饾櫒 饾櫒饾櫄饾櫂饾櫓饾櫎饾櫑饾櫄饾櫒 饾櫐饾櫔饾櫄 饾櫒饾櫄 饾櫄饾櫍饾櫂饾櫔饾櫄饾櫍饾櫓饾櫑饾櫄饾櫍 饾櫃饾櫀帽饾櫀饾櫃饾櫎饾櫒 饾櫄饾櫍 饾櫕饾櫔饾櫄饾櫒饾櫓饾櫑饾櫎 饾櫃饾櫈饾櫒饾櫂饾櫎 饾櫃饾櫔饾櫑饾櫎 饾櫎 饾櫓饾櫄饾櫌饾櫏饾櫄饾櫑饾櫀饾櫓饾櫔饾櫑饾櫀

    [饾樋饾櫑饾櫈饾櫕饾櫄饾櫑 饾樈饾櫎饾櫎饾櫒饾櫓饾櫄饾櫑]
    1-. 饾樋饾櫄饾櫒饾櫂饾櫀饾櫑饾櫆饾櫀饾櫍 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀
    2-. 饾樉饾櫔饾櫀饾櫍饾櫃饾櫎 饾櫋饾櫎 饾櫃饾櫄饾櫒饾櫂饾櫀饾櫑饾櫆饾櫔饾櫄饾櫍 饾櫄饾櫉饾櫄饾櫂饾櫔饾櫓饾櫀饾櫍 饾櫄饾櫋 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫃饾櫎饾櫑.
    3-. 饾檸饾櫄 饾櫎饾櫒 饾櫀饾櫏饾櫀饾櫑饾櫄饾櫂饾櫄饾櫑饾櫀 饾櫔饾櫍饾櫀 饾檻饾櫄饾櫍饾櫓饾櫀饾櫍饾櫀 饾櫂饾櫎饾櫍 饾櫋饾櫀 饾櫎饾櫏饾櫂饾櫈饾櫎饾櫍 饾櫃饾櫄 饾檮饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫑. 饾檵饾櫈饾櫍饾櫂饾櫇饾櫀饾櫍 饾櫄饾櫍 饾櫄饾櫒饾櫀 饾櫎饾櫏饾櫂饾櫈饾櫎饾櫍
    4-. 饾檧饾櫍 饾櫋饾櫀 饾櫒饾櫈饾櫆饾櫔饾櫈饾櫄饾櫍饾櫓饾櫄 饾檻饾櫄饾櫍饾櫓饾櫀饾櫍饾櫀 饾櫎饾櫒 饾櫃饾櫈饾櫑饾櫀 饾櫐饾櫔饾櫄 饾櫒饾櫈 饾櫃饾櫄饾櫒饾櫄饾櫀饾櫍 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫑 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀 饾樇饾櫃饾櫕饾櫀饾櫍饾櫂饾櫄 饾檸饾櫘饾櫒饾櫓饾櫄饾櫌饾櫀 饾樉饾櫀饾櫑饾櫄. 饾檱饾櫄 饾櫃饾櫀饾櫍 饾櫀 饾櫐饾櫔饾櫄 饾櫍饾櫎 饾櫘 饾櫒饾櫈饾櫆饾櫔饾櫈饾櫄饾櫍饾櫓饾櫄
    5-. 饾檧饾櫒饾櫏饾櫄饾櫑饾櫀饾櫍 饾櫐饾櫔饾櫄 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄 饾櫋饾櫀 饾檮饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫂饾櫈饾櫎饾櫍.
    6-. 饾樉饾櫔饾櫀饾櫍饾櫃饾櫎 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄 饾櫋饾櫀 饾檮饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫂饾櫈饾櫎饾櫍 饾櫋饾櫄饾櫒 饾櫒饾櫀饾櫋饾櫃饾櫑饾櫀 饾櫔饾櫍 饾櫑饾櫄饾櫂饾櫔饾櫀饾櫃饾櫑饾櫎 饾櫐饾櫔饾櫄 饾櫃饾櫈饾櫑饾櫀 饾樇饾櫍饾櫀饾櫋饾櫈饾櫙饾櫀饾櫑 饾樇饾櫇饾櫎饾櫑饾櫀. 饾檱饾櫄 饾櫃饾櫀饾櫍 饾櫂饾櫋饾櫈饾櫂饾櫊 饾櫈饾櫙饾櫐饾櫔饾櫈饾櫄饾櫑饾櫃饾櫎.
    7-. 饾樉饾櫔饾櫀饾櫍饾櫃饾櫎 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄 饾櫃饾櫄 饾櫀饾櫍饾櫀饾櫋饾櫈饾櫙饾櫀饾櫑, 饾櫀饾櫔饾櫓饾櫎饾櫌饾櫀饾櫓饾櫈饾櫂饾櫀饾櫌饾櫄饾櫍饾櫓饾櫄 饾櫓饾櫄 饾櫃饾櫈饾櫑饾櫀 饾櫂饾櫔饾櫀饾櫋饾櫄饾櫒 饾櫒饾櫎饾櫍 饾櫋饾櫎饾櫒 饾櫂饾櫎饾櫍饾櫓饾櫑饾櫎饾櫋饾櫀饾櫃饾櫎饾櫑饾櫄饾櫒 饾櫐饾櫔饾櫄 饾櫓饾櫄 饾櫅饾櫀饾櫋饾櫓饾櫀饾櫍 饾櫏饾櫎饾櫑 饾櫀饾櫂饾櫓饾櫔饾櫀饾櫋饾櫈饾櫙饾櫀饾櫑
    8-. 饾檱饾櫄 饾櫃饾櫀饾櫍 饾櫀 饾樇饾櫂饾櫓饾櫔饾櫀饾櫋饾櫈饾櫙饾櫀饾櫑 饾樇饾櫇饾櫎饾櫑饾櫀 饾櫘 饾櫔饾櫍饾櫀 饾櫕饾櫄饾櫙 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫂饾櫄饾櫒饾櫎 饾櫑饾櫄饾櫈饾櫍饾櫈饾櫂饾櫈饾櫀饾櫍 饾櫄饾櫋 饾櫂饾櫎饾櫌饾櫏饾櫔饾櫓饾櫀饾櫃饾櫎饾櫑.

    [饾樇饾櫃饾櫕饾櫀饾櫍饾櫂饾櫄 饾檸饾櫘饾櫒饾櫓饾櫄饾櫌 饾樉饾櫀饾櫑饾櫄] 饾檧饾櫒饾櫓饾櫄 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀 饾櫓饾櫈饾櫄饾櫍饾櫄 饾櫋饾櫀 饾櫌饾櫈饾櫒饾櫌饾櫀 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫂饾櫈饾櫎饾櫍 饾櫐饾櫔饾櫄 饾櫄饾櫋 饾樋饾櫑饾櫈饾櫕饾櫄饾櫑 饾樈饾櫎饾櫎饾櫒饾櫓饾櫄饾櫑
    1-. 饾樋饾櫄饾櫒饾櫂饾櫀饾櫑饾櫆饾櫀饾櫍 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀
    2-. 饾樉饾櫔饾櫀饾櫍饾櫃饾櫎 饾櫋饾櫎 饾櫃饾櫄饾櫒饾櫂饾櫀饾櫑饾櫆饾櫔饾櫄饾櫍 饾櫄饾櫉饾櫄饾櫂饾櫔饾櫓饾櫀饾櫍 饾櫄饾櫋 饾櫈饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫃饾櫎饾櫑.
    3-. 饾檸饾櫄 饾櫎饾櫒 饾櫀饾櫏饾櫀饾櫑饾櫄饾櫂饾櫄饾櫑饾櫀 饾櫔饾櫍饾櫀 饾檻饾櫄饾櫍饾櫓饾櫀饾櫍饾櫀 饾櫂饾櫎饾櫍 饾櫋饾櫀 饾櫎饾櫏饾櫂饾櫈饾櫎饾櫍 饾櫃饾櫄 饾檮饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫑. 饾檵饾櫈饾櫍饾櫂饾櫇饾櫀饾櫍 饾櫄饾櫍 饾櫄饾櫒饾櫀 饾櫎饾櫏饾櫂饾櫈饾櫎饾櫍
    5-. 饾檧饾櫒饾櫏饾櫄饾櫑饾櫀饾櫍 饾櫐饾櫔饾櫄 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄 饾櫋饾櫀 饾檮饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫂饾櫈饾櫎饾櫍.
    6-. 饾樉饾櫔饾櫀饾櫍饾櫃饾櫎 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄 饾櫋饾櫀 饾檮饾櫍饾櫒饾櫓饾櫀饾櫋饾櫀饾櫂饾櫈饾櫎饾櫍 饾櫋饾櫄饾櫒 饾櫒饾櫀饾櫋饾櫃饾櫑饾櫀 饾櫔饾櫍 饾櫑饾櫄饾櫂饾櫔饾櫀饾櫃饾櫑饾櫎 饾櫐饾櫔饾櫄 饾櫃饾櫈饾櫑饾櫀 饾檨饾櫈饾櫍饾櫀饾櫋饾櫈饾櫙饾櫀饾櫑. 饾檱饾櫄 饾櫃饾櫀饾櫍 饾樉饾櫋饾櫈饾櫂饾櫊 饾檮饾櫙饾櫐饾櫔饾櫈饾櫄饾櫑饾櫃饾櫎.
    7-. 饾樉饾櫔饾櫀饾櫍饾櫃饾櫎 饾櫋饾櫄 饾櫃饾櫄饾櫍 饾櫀 饾檨饾櫈饾櫍饾櫀饾櫋饾櫈饾櫙饾櫀饾櫑 饾樇饾櫔饾櫓饾櫎饾櫌饾櫀饾櫓饾櫈饾櫂饾櫀饾櫌饾櫄饾櫍饾櫓饾櫄 饾櫒饾櫄 饾櫋饾櫄饾櫒 饾櫀饾櫁饾櫑饾櫈饾櫑饾櫀 饾櫔饾櫍 饾櫑饾櫄饾櫂饾櫔饾櫀饾櫃饾櫑饾櫎 饾櫂饾櫎饾櫍 饾櫔饾櫍饾櫀 饾櫎饾櫏饾櫂饾櫈饾櫎饾櫍 饾櫐饾櫔饾櫄 饾櫃饾櫈饾櫂饾櫄 饾樇饾櫍饾櫀饾櫋饾櫈饾櫙饾櫀饾櫑. 饾檱饾櫄 饾櫏饾櫔饾櫋饾櫒饾櫀饾櫍 饾櫘 饾櫄饾櫒饾櫏饾櫄饾櫑饾櫀饾櫍 饾櫐饾櫔饾櫄 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫂饾櫄饾櫒饾櫎 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄
    8-. 饾樉饾櫔饾櫀饾櫍饾櫃饾櫎 饾櫓饾櫄饾櫑饾櫌饾櫈饾櫍饾櫄 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫂饾櫄饾櫒饾櫎 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀 饾櫀饾櫔饾櫓饾櫎饾櫌饾櫀饾櫓饾櫈饾櫂饾櫀饾櫌饾櫄饾櫍饾櫓饾櫄 饾櫑饾櫄饾櫏饾櫀饾櫑饾櫀饾櫑饾櫀 饾櫓饾櫎饾櫃饾櫎 饾櫋饾櫎 饾櫐饾櫔饾櫄 饾櫄饾櫒饾櫓饾櫄 饾櫃饾櫀帽饾櫀饾櫃饾櫎 饾櫀饾櫒饾櫈 饾櫂饾櫎饾櫌饾櫎 饾櫋饾櫎饾櫒 饾櫀饾櫑饾櫂饾櫇饾櫈饾櫕饾櫎饾櫒 饾櫁饾櫀饾櫒饾櫔饾櫑饾櫀....饾櫄饾櫓饾櫂
    9-. 饾檧饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀 饾櫕饾櫈饾櫄饾櫍饾櫄 饾櫂饾櫎饾櫍 饾櫌饾櫀饾櫒 饾櫎饾櫏饾櫂饾櫈饾櫎饾櫍饾櫄饾櫒 饾櫂饾櫎饾櫌饾櫎 饾樇饾櫂饾櫓饾櫈饾櫕饾櫀饾櫑 饾檲饾櫎饾櫃饾櫎 饾檯饾櫔饾櫄饾櫆饾櫎, 饾檱饾櫈饾櫁饾櫄饾櫑饾櫀饾櫑 饾檷饾櫀饾櫌, 饾檵饾櫑饾櫎饾櫓饾櫄饾櫂饾櫂饾櫈饾櫎饾櫍 ....饾櫄饾櫓饾櫂 饾櫘饾櫀 饾櫏饾櫎饾櫃饾櫑饾櫀饾櫍 饾櫕饾櫄饾櫑饾櫋饾櫀饾櫒 饾櫄饾櫍 饾櫄饾櫋 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀.
    饾樉饾櫎饾櫍 饾櫄饾櫒饾櫓饾櫎饾櫒 3 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀饾櫒 饾櫓饾櫄饾櫍饾櫃饾櫑饾櫀饾櫍 饾櫒饾櫔 饾櫂饾櫎饾櫌饾櫏饾櫔饾櫓饾櫀饾櫃饾櫎饾櫑饾櫀 饾櫓饾櫀饾櫍饾櫓饾櫎 饾櫒饾櫄饾櫆饾櫔饾櫑饾櫀 饾櫀饾櫒饾櫈 饾櫂饾櫎饾櫌饾櫎 饾檴饾櫏饾櫓饾櫈饾櫌饾櫈饾櫙饾櫀饾櫃饾櫀.

    饾煭-. 饾棦饾椏饾棻饾棽饾椈饾棶饾棻饾椉饾椏 饾棸饾椉饾椈 饾棯饾椂饾椈饾棻饾椉饾槃饾榾 饾煭饾煬:
    饾棧饾棶饾椏饾棶 饾椊饾椏饾棽饾椊饾棶饾椏饾棶饾椏 饾槀饾椈 饾椉饾椏饾棻饾棽饾椈饾棶饾棻饾椉饾椏 饾棸饾椉饾椈 饾棯饾椂饾椈饾棻饾椉饾槃饾榾 饾煭饾煬聽饾椊饾椏饾椂饾椇饾棽饾椏饾椉 饾棻饾棽 饾榿饾椉饾棻饾椉 饾椉饾榾 饾棶饾棸饾椉饾椈饾榾饾棽饾椃饾椉 饾椌饾槀饾棽 饾棻饾棽饾榾饾棸饾棶饾椏饾棿饾槀饾棽饾椈 饾椆饾椉饾榾 饾榾饾椂饾棿饾槀饾椂饾棽饾椈饾榿饾棽饾榾 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶饾榾 饾椌饾槀饾棽 饾椉饾榾 饾棻饾棽饾椃饾棶饾椏饾棽 饾棶饾棸饾棶 饾棶饾棷饾棶饾椃饾椉.
    饾棓饾椈饾榿饾棽饾榾 饾棻饾棽 饾椈饾棶饾棻饾棶 饾榾饾椂 饾椏饾棽饾棸饾椂饾棽饾椈 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾榾饾榿饾棽饾榾 饾棯饾椂饾椈饾棻饾椉饾槃饾榾 饾煭饾煬 饾椏饾棽饾棸饾槀饾棽饾椏饾棻饾棶 饾棶饾棸饾榿饾槀饾棶饾椆饾椂饾槆饾棶饾椏 饾椆饾椉饾榾 饾棻饾椏饾椂饾槂饾棽饾椏饾榾 饾椇饾棽饾棻饾椂饾棶饾椈饾榿饾棽 饾椆饾棶 饾棸饾椉饾椈饾棾饾椂饾棿饾槀饾椏饾棶饾棸饾椂饾椉饾椈 饾棻饾棽 饾棯饾椂饾椈饾棻饾椉饾槃饾榾 饾煭饾煬聽
    [饾棖饾椉饾椈饾棾饾椂饾棿饾槀饾椏饾棶饾棸饾椂饾椉饾椈/饾棓饾棸饾榿饾槀饾棶饾椆饾椂饾槆饾棶饾棸饾椂饾椉饾椈 饾槅 饾棪饾棽饾棿饾槀饾椏饾椂饾棻饾棶饾棻/饾棯饾椂饾椈饾棻饾椉饾槃饾榾 饾棬饾椊饾棻饾棶饾榿饾棽/]
    饾棪饾椂 饾槅饾棶 饾棶饾榾 饾棶饾棸饾榿饾槀饾棶饾椆饾椂饾槆饾棶饾棻饾椉 饾榿饾椉饾棻饾椉 饾椇饾棽饾棻饾椂饾棶饾椈饾榿饾棽 饾椆饾棶 饾棸饾椉饾椈饾棾饾椂饾棿饾槀饾椏饾棶饾棸饾椂饾椉饾椈 饾棻饾棽 饾棯饾椂饾椈饾棻饾椉饾槃饾榾 饾煭饾煬 饾椊饾椏饾椉饾棸饾棽饾棻饾棽饾椏饾棽饾椇饾椉饾榾 饾棶 饾椆饾棶 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈 饾棻饾棽 饾椆饾椉饾榾 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶饾榾
    饾棢饾棶 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈 饾棻饾棽饾椆 饾棓饾椈饾榿饾椂 饾棭饾椂饾椏饾槀饾榾 饾槅饾棶 饾椌饾槀饾棽 饾棯饾椂饾椈饾棻饾椉饾槃饾榾 饾煭饾煬 饾槂饾椂饾棽饾椈饾棽 饾椊饾椉饾椏 饾棻饾棽饾棾饾棽饾棸饾榿饾椉 饾棸饾椉饾椈 饾棽饾椆 饾棓饾椈饾榿饾椂 饾棭饾椂饾椏饾槀饾榾 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棻饾椉.


    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.聽[饾檧饾櫒饾櫓饾櫄 饾櫏饾櫑饾櫎饾櫆饾櫑饾櫀饾櫌饾櫀饾櫒 饾櫄饾櫒 饾櫄饾櫋 饾樋饾櫑饾櫈饾櫕饾櫄饾櫑 饾樈饾櫎饾櫎饾櫒饾櫓饾櫄饾櫑(饾檧饾櫋 饾櫂饾櫔饾櫀饾櫋 饾櫒饾櫄 饾櫄饾櫍饾櫂饾櫀饾櫑饾櫆饾櫀饾櫑饾櫀 饾櫃饾櫄 饾櫀饾櫂饾櫓饾櫔饾櫀饾櫋饾櫈饾櫙饾櫀饾櫑 饾櫓饾櫎饾櫃饾櫎饾櫒 饾櫋饾櫎饾櫒 饾櫃饾櫑饾櫈饾櫕饾櫄饾櫑饾櫒 饾櫀饾櫔饾櫓饾櫎饾櫌饾櫀饾櫓饾櫈饾櫂饾櫀饾櫌饾櫄饾櫍饾櫓饾櫄 饾櫃饾櫄 饾櫕饾櫔饾櫄饾櫒饾櫓饾櫑饾櫎 饾櫏饾櫂)]
    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.[饾棙饾榾饾榿饾棽 饾棧饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾棽饾榾 饾棽饾椆 饾棖饾椏饾椂饾榾饾榿饾棶饾椆 饾棗饾椂饾榾饾椄 饾棞饾椈饾棾饾椉(饾棪饾棽 饾棽饾椈饾棸饾棶饾椏饾棿饾棶 饾棻饾棽 饾椇饾椉饾榾饾榿饾椏饾棶饾椏饾榿饾棽 饾棽饾椆 饾棽饾榾饾榿饾棶饾棻饾椉 饾棻饾棽 饾榾饾棶饾椆饾槀饾棻 饾棻饾棽 饾榿饾槀 饾棻饾椂饾榾饾棸饾椉 饾棻饾槀饾椏饾椉 饾棶饾榾饾椂 饾棸饾椉饾椇饾椉 饾椆饾棶 饾榿饾棽饾椇饾椊饾棽饾椏饾棶饾榿饾槀饾椏饾棶 饾槅 饾榾饾棽饾棸饾榿饾椉饾椏饾棽饾榾 饾椌饾槀饾棽 饾榾饾棽 饾棽饾椈饾棸饾槀饾棽饾椈饾榿饾椏饾棽饾椈 饾棻饾棶帽饾棶饾棻饾椉饾榾)] 聽
    饾棖饾椉饾椇饾椉 饾棞饾椈饾榾饾榿饾棶饾椆饾椉 饾棸饾棶饾棻饾棶 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶, 饾槅 饾棸饾椉饾椇饾椉 饾棾饾槀饾椈饾棸饾椂饾椉饾椈饾棶饾椈]

    [饾棗饾椂饾椏饾棽饾棸饾榿饾槄 饾煭饾煯]
    饾煭-. 饾棗饾棽饾榾饾棸饾棶饾椏饾棿饾棶饾椈 饾棽饾椆 饾棧饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾棻饾棽 饾椆饾棶 饾椊饾棶饾棿饾椂饾椈饾棶.
    饾煯-. 饾棖饾槀饾棶饾椈饾棻饾椉 饾棻饾棽饾榾饾棸饾棶饾椏饾棿饾槀饾棽饾椈 饾棽饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾棙饾椃饾棽饾棸饾槀饾榿饾棶饾椈 饾棽饾椆 饾棞饾椈饾榾饾榿饾棶饾椆饾棶饾棻饾椉饾椏
    饾煰-. 饾棗饾棽饾榾饾椊饾槀饾棽饾榾 饾棻饾棽 饾棙饾椃饾棽饾棸饾槀饾榿饾棶饾椏 饾棽饾椆 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棻饾椉饾椏 饾榾饾椂饾棿饾槀饾棽饾椈 饾椆饾椉饾榾 饾椊饾棶饾榾饾椉 饾棻饾棽 饾椆饾棶 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈
    饾煱-. 饾棬饾椈饾棶 饾槂饾棽饾槆 饾椀饾棶饾槅饾棶 饾榿饾棽饾椏饾椇饾椂饾椈饾棶饾棻饾椉 饾椆饾棶 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈 饾棸饾椂饾棽饾椏饾椏饾棶饾椈 饾椆饾棶 饾槂饾棽饾椈饾榿饾棶饾椈饾棶 饾槅 饾椏饾棽饾椂饾椈饾椂饾棸饾椂饾棶饾椈 饾椆饾棶 饾棸饾椉饾椇饾椊饾槀饾榿饾棶饾棻饾椉饾椏饾棶.

    [饾棖饾椏饾椂饾榾饾榿饾棶饾椆 饾棗饾椂饾榾饾椄 饾棞饾椈饾棾饾椉]
    饾煭-. 饾棗饾棽饾榾饾棸饾棶饾椏饾棿饾棶饾椈 饾棽饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾棻饾棽饾榾饾棻饾棽 饾椆饾棶 饾椊饾棶饾棿饾椂饾椈饾棶 饾椉饾棾饾椂饾棸饾椂饾棶饾椆.
    饾煯-. 饾棙饾椃饾棽饾棸饾槀饾榿饾棶饾椈 饾棽饾椆 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棻饾椉饾椏 饾槅 饾榾饾椂饾棿饾槀饾棽饾椈 饾椆饾椉饾榾 饾椊饾棶饾榾饾椉饾榾 饾棻饾棽 饾椆饾棶 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈.
    饾煰-. 饾棖饾槀饾棶饾椈饾棻饾椉 饾椆饾棶 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈 饾榿饾棽饾椏饾椇饾椂饾椈饾棽 饾棶饾棷饾椏饾棽饾椈 饾棽饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾槅 饾椉饾榾 饾榾饾棶饾椆饾棻饾椏饾棶 饾槀饾椈饾棶 饾槂饾棽饾椈饾榿饾棶饾椈饾棶 饾棽饾椆 饾棸饾槀饾棶饾椆 饾椉饾榾 饾椇饾椉饾榾饾榿饾椏饾棶饾椏饾棶 饾棽饾椆 饾棽饾榾饾榿饾棶饾棻饾椉 饾棻饾棽 饾榾饾棶饾椆饾槀饾棻
    饾煱-. 饾棓饾榾饾椂 饾棸饾椉饾椇饾椉 饾椆饾椉饾榾 饾榾饾棽饾棸饾榿饾椉饾椏饾棽饾榾 饾椌饾槀饾棽 饾榾饾棽 饾棽饾椈饾棸饾槀饾棽饾椈饾榿饾椏饾棽饾椈 饾棻饾棶帽饾棶饾棻饾椉饾榾 饾棽饾椈 饾槂饾槀饾棽饾榾饾榿饾椏饾椉 饾棻饾椂饾榾饾棸饾椉 饾棻饾槀饾椏饾椉 饾椉 饾榿饾棽饾椇饾椊饾棽饾椏饾棶饾榿饾槀饾椏饾棶

    [饾棗饾椏饾椂饾槂饾棽饾椏 饾棔饾椉饾椉饾榾饾榿饾棽饾椏]
    饾煭-. 饾棗饾棽饾榾饾棸饾棶饾椏饾棿饾棶饾椈 饾棽饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶
    饾煯-. 饾棖饾槀饾棶饾椈饾棻饾椉 饾椆饾椉 饾棻饾棽饾榾饾棸饾棶饾椏饾棿饾槀饾棽饾椈 饾棽饾椃饾棽饾棸饾槀饾榿饾棶饾椈 饾棽饾椆 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棻饾椉饾椏.
    饾煰-. 饾棪饾棽 饾椉饾榾 饾棶饾椊饾棶饾椏饾棽饾棸饾棽饾椏饾棶 饾槀饾椈饾棶 饾棭饾棽饾椈饾榿饾棶饾椈饾棶 饾棸饾椉饾椈 饾椆饾棶 饾椉饾椊饾棸饾椂饾椉饾椈 饾棻饾棽 饾棞饾椈饾榾饾榿饾棶饾椆饾棶饾椏. 饾棧饾椂饾椈饾棸饾椀饾棶饾椈 饾棽饾椈 饾棽饾榾饾棶 饾椉饾椊饾棸饾椂饾椉饾椈
    饾煱-. 饾棙饾椈 饾椆饾棶 饾榾饾椂饾棿饾槀饾椂饾棽饾椈饾榿饾棽 饾棭饾棽饾椈饾榿饾棶饾椈饾棶 饾椉饾榾 饾棻饾椂饾椏饾棶 饾椌饾槀饾棽 饾榾饾椂 饾棻饾棽饾榾饾棽饾棶饾椈 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾椏 饾棽饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾棓饾棻饾槂饾棶饾椈饾棸饾棽 饾棪饾槅饾榾饾榿饾棽饾椇饾棶 饾棖饾棶饾椏饾棽. 饾棢饾棽 饾棻饾棶饾椈 饾棶 饾椌饾槀饾棽 饾椈饾椉 饾槅 饾榾饾椂饾棿饾槀饾椂饾棽饾椈饾榿饾棽
    饾煴-. 饾棙饾榾饾椊饾棽饾椏饾棶饾椈 饾椌饾槀饾棽 饾榿饾棽饾椏饾椇饾椂饾椈饾棽 饾椆饾棶 饾棞饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈.
    饾煵-. 饾棖饾槀饾棶饾椈饾棻饾椉 饾榿饾棽饾椏饾椇饾椂饾椈饾棽 饾椆饾棶 饾棞饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈 饾椆饾棽饾榾 饾榾饾棶饾椆饾棻饾椏饾棶 饾槀饾椈 饾椏饾棽饾棸饾槀饾棶饾棻饾椏饾椉 饾椌饾槀饾棽 饾棻饾椂饾椏饾棶 饾棓饾椈饾棶饾椆饾椂饾槆饾棶饾椏 饾棓饾椀饾椉饾椏饾棶. 饾棢饾棽 饾棻饾棶饾椈 饾棸饾椆饾椂饾棸饾椄 饾椂饾槆饾椌饾槀饾椂饾棽饾椏饾棻饾椉.
    饾煶-. 饾棖饾槀饾棶饾椈饾棻饾椉 饾棽饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾榿饾棽饾椏饾椇饾椂饾椈饾棽 饾棻饾棽 饾棶饾椈饾棶饾椆饾椂饾槆饾棶饾椏, 饾棶饾槀饾榿饾椉饾椇饾棶饾榿饾椂饾棸饾棶饾椇饾棽饾椈饾榿饾棽 饾榿饾棽 饾棻饾椂饾椏饾棶 饾棸饾槀饾棶饾椆饾棽饾榾 饾榾饾椉饾椈 饾椆饾椉饾榾 饾棸饾椉饾椈饾榿饾椏饾椉饾椆饾棶饾棻饾椉饾椏饾棽饾榾 饾椌饾槀饾棽 饾榿饾棽 饾棾饾棶饾椆饾榿饾棶饾椈 饾椊饾椉饾椏 饾棶饾棸饾榿饾槀饾棶饾椆饾椂饾槆饾棶饾椏
    饾煷-. 饾棢饾棽 饾棻饾棶饾椈 饾棶 饾棓饾棸饾榿饾槀饾棶饾椆饾椂饾槆饾棶饾椏 饾棓饾椀饾椉饾椏饾棶 饾槅 饾槀饾椈饾棶 饾槂饾棽饾槆 饾榿饾棽饾椏饾椇饾椂饾椈饾棽 饾棽饾椆 饾椊饾椏饾椉饾棸饾棽饾榾饾椉 饾椏饾棽饾椂饾椈饾椂饾棸饾椂饾棶饾椈 饾棽饾椆 饾棸饾椉饾椇饾椊饾槀饾榿饾棶饾棻饾椉饾椏.

    [饾棓饾棻饾槂饾棶饾椈饾棸饾棽 饾棪饾槅饾榾饾榿饾棽饾椇 饾棖饾棶饾椏饾棽] 饾棙饾榾饾榿饾棽 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾榿饾椂饾棽饾椈饾棽 饾椆饾棶 饾椇饾椂饾榾饾椇饾棶 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈 饾椌饾槀饾棽 饾棽饾椆 饾棗饾椏饾椂饾槂饾棽饾椏 饾棔饾椉饾椉饾榾饾榿饾棽饾椏
    饾煭-. 饾棗饾棽饾榾饾棸饾棶饾椏饾棿饾棶饾椈 饾棽饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶
    饾煯-. 饾棖饾槀饾棶饾椈饾棻饾椉 饾椆饾椉 饾棻饾棽饾榾饾棸饾棶饾椏饾棿饾槀饾棽饾椈 饾棽饾椃饾棽饾棸饾槀饾榿饾棶饾椈 饾棽饾椆 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾棻饾椉饾椏.
    饾煰-. 饾棪饾棽 饾椉饾榾 饾棶饾椊饾棶饾椏饾棽饾棸饾棽饾椏饾棶 饾槀饾椈饾棶 饾棭饾棽饾椈饾榿饾棶饾椈饾棶 饾棸饾椉饾椈 饾椆饾棶 饾椉饾椊饾棸饾椂饾椉饾椈 饾棻饾棽 饾棞饾椈饾榾饾榿饾棶饾椆饾棶饾椏. 饾棧饾椂饾椈饾棸饾椀饾棶饾椈 饾棽饾椈 饾棽饾榾饾棶 饾椉饾椊饾棸饾椂饾椉饾椈
    饾煴-. 饾棙饾榾饾椊饾棽饾椏饾棶饾椈 饾椌饾槀饾棽 饾榿饾棽饾椏饾椇饾椂饾椈饾棽 饾椆饾棶 饾棞饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈.
    饾煵-. 饾棖饾槀饾棶饾椈饾棻饾椉 饾榿饾棽饾椏饾椇饾椂饾椈饾棽 饾椆饾棶 饾棞饾椈饾榾饾榿饾棶饾椆饾棶饾棸饾椂饾椉饾椈 饾椆饾棽饾榾 饾榾饾棶饾椆饾棻饾椏饾棶 饾槀饾椈 饾椏饾棽饾棸饾槀饾棶饾棻饾椏饾椉 饾椌饾槀饾棽 饾棻饾椂饾椏饾棶 饾棛饾椂饾椈饾棶饾椆饾椂饾槆饾棶饾椏. 饾棢饾棽 饾棻饾棶饾椈 饾棖饾椆饾椂饾棸饾椄 饾棞饾槆饾椌饾槀饾椂饾棽饾椏饾棻饾椉.
    饾煶-. 饾棖饾槀饾棶饾椈饾棻饾椉 饾椆饾棽 饾棻饾棽饾椈 饾棶 饾棛饾椂饾椈饾棶饾椆饾椂饾槆饾棶饾椏 饾棓饾槀饾榿饾椉饾椇饾棶饾榿饾椂饾棸饾棶饾椇饾棽饾椈饾榿饾棽 饾榾饾棽 饾椆饾棽饾榾 饾棶饾棷饾椏饾椂饾椏饾棶 饾槀饾椈 饾椏饾棽饾棸饾槀饾棶饾棻饾椏饾椉 饾棸饾椉饾椈 饾槀饾椈饾棶 饾椉饾椊饾棸饾椂饾椉饾椈 饾椌饾槀饾棽 饾棻饾椂饾棸饾棽 饾棓饾椈饾棶饾椆饾椂饾槆饾棶饾椏. 饾棢饾棽 饾椊饾槀饾椆饾榾饾棶饾椈 饾槅 饾棽饾榾饾椊饾棽饾椏饾棶饾椈 饾椌饾槀饾棽 饾棽饾椆 饾椊饾椏饾椉饾棸饾棽饾榾饾椉 饾榿饾棽饾椏饾椇饾椂饾椈饾棽
    饾煷-. 饾棖饾槀饾棶饾椈饾棻饾椉 饾榿饾棽饾椏饾椇饾椂饾椈饾棽 饾棽饾椆 饾椊饾椏饾椉饾棸饾棽饾榾饾椉 饾棽饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾棶饾槀饾榿饾椉饾椇饾棶饾榿饾椂饾棸饾棶饾椇饾棽饾椈饾榿饾棽 饾椏饾棽饾椊饾棶饾椏饾棶饾椏饾棶 饾榿饾椉饾棻饾椉 饾椆饾椉 饾椌饾槀饾棽 饾棽饾榾饾榿饾棽 饾棻饾棶帽饾棶饾棻饾椉 饾棶饾榾饾椂 饾棸饾椉饾椇饾椉 饾椆饾椉饾榾 饾棶饾椏饾棸饾椀饾椂饾槂饾椉饾榾 饾棷饾棶饾榾饾槀饾椏饾棶....饾棽饾榿饾棸. 饾棩饾棽饾椂饾椈饾椂饾棸饾椂饾棽饾椈 饾棽饾椆 饾椊饾棸
    饾煹-. 饾棙饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶 饾槂饾椂饾棽饾椈饾棽 饾棸饾椉饾椈 饾椇饾棶饾榾 饾椉饾椊饾棸饾椂饾椉饾椈饾棽饾榾 饾棸饾椉饾椇饾椉 饾棓饾棸饾榿饾椂饾槂饾棶饾椏 饾棤饾椉饾棻饾椉 饾棟饾槀饾棽饾棿饾椉, 饾棢饾椂饾棷饾棽饾椏饾棶饾椏 饾棩饾棶饾椇, 饾棧饾椏饾椉饾榿饾棽饾棸饾棸饾椂饾椉饾椈 ....饾棽饾榿饾棸 饾槅饾棶 饾椊饾椉饾棻饾椏饾棶饾椈 饾槂饾棽饾椏饾椆饾棶饾榾 饾棽饾椈 饾棽饾椆 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶.

    饾棖饾椉饾椈 饾棽饾榾饾榿饾椉饾榾 饾煰 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶饾榾 饾榿饾棽饾椈饾棻饾椏饾棶饾椈 饾榾饾槀 饾棸饾椉饾椇饾椊饾槀饾榿饾棶饾棻饾椉饾椏饾棶 饾榿饾棶饾椈饾榿饾椉 饾榾饾棽饾棿饾槀饾椏饾棶 饾棶饾榾饾椂 饾棸饾椉饾椇饾椉 饾棦饾椊饾榿饾椂饾椇饾椂饾槆饾棶饾棻饾棶.
    饾棙饾榾饾榿饾椉 饾棽饾榾 饾椊饾椉饾椏 饾棽饾椆 饾椇饾椉饾椇饾棽饾椈饾榿饾椉 饾椆饾椉 饾椌饾槀饾棽 饾椉饾榾 饾棶饾棸饾椉饾椈饾榾饾棽饾椃饾椉 饾椂饾椈饾榾饾榿饾棶饾椆饾棶饾椏 饾棽饾椈 饾榾饾槀饾榾 饾棸饾椉饾椇饾椊饾槀饾榿饾棶饾棻饾椉饾椏饾棶饾榾. 饾棤饾棶饾榾 饾棶饾棻饾棽饾椆饾棶饾椈饾榿饾棽 饾椂饾椏饾棽 饾棶饾棸饾榿饾槀饾棶饾椆饾椂饾槆饾棶饾椈饾棻饾椉 饾棽饾椆 饾椊饾椉饾榾饾榿 饾棸饾椉饾椈 饾椈饾槀饾棽饾槂饾椉饾榾 饾椊饾椏饾椉饾棿饾椏饾棶饾椇饾棶饾榾 饾棶饾榾饾椂 饾棸饾椉饾椇饾椉 饾棸饾椉饾椈 饾椏饾棽饾棸饾椉饾椇饾棽饾椈饾棻饾棶饾棸饾椂饾椉饾椈饾棽饾榾 饾椊饾棶饾椏饾棶 饾椇饾棶饾榿饾棽饾椈饾棽饾椏 饾槂饾槀饾棽饾榾饾榿饾椏饾椉 饾椊饾棸
    饾棢饾椂饾棷饾椏饾棽 饾棻饾棽 饾棭饾椂饾椏饾槀饾榾 饾棶饾椆 饾椂饾棿饾槀饾棶饾椆 饾椌饾槀饾棽 饾棦饾椊饾榿饾椂饾椇饾椂饾槆饾棶饾棻饾椉 饾棶饾椆 饾椇饾棶饾槄饾椂饾椇饾椉

    饾棪饾椂 饾榿饾棽饾椈饾棽饾椂饾榾 饾棶饾椆饾棿饾槀饾椈饾棶 饾棻饾槀饾棻饾棶 饾椉 饾椊饾椏饾椉饾棷饾椆饾棽饾椇饾棶 饾椊饾椉饾棻饾棽饾椂饾榾 饾棸饾椉饾椈饾榿饾棶饾棸饾榿饾棶饾椏饾椇饾棽 饾棶 饾椇饾椂 饾棻饾椂饾榾饾棸饾椉饾椏饾棻
    饾棙饾榾饾椊饾棽饾椏饾椉 饾椌饾槀饾棽 饾椉饾榾 饾榾饾椂饾椏饾槂饾棶 饾椆饾棶 饾棿饾槀饾椂饾棶 饾棶饾槀饾椈饾椌饾槀饾棽 饾椈饾椉 饾榿饾棽饾椈饾棿饾棶 饾椈饾棶饾棻饾棶 饾椌饾槀饾棽 饾槂饾棽饾椏 饾棸饾椉饾椈 饾椇饾棽饾榿饾椂饾椈饾煯 饾槄饾棗
    饾棤饾椂 饾棻饾椂饾榾饾棸饾椉饾椏饾棻 饾棽饾榾: [饾棗饾棙饾棭]饾棓饾榾饾榿饾棶饾椏饾椉饾榿饾椀#饾煷饾煰饾煹饾煶
  16. Caca
    饾棓饾椏饾棽饾榾 got a reaction from kryspi_magnus1999 in IMPLEMENTACION DE ALAS MSE O TAMBIEN LLAMADAS 3D   
    Buenos dias zoneros hoy os traigo un mini tutorial para implementar alas mse o tambien llamada alas 3D
    El tutorial es bastante sencillo por lo cual no es necesario ser un experto en desarrollo ni tampoco entender demasiado sobre c++

    Bueno antes de nada aconsejo hacer copia de seguridad de los archivos que vayamos a modificar (En el caso de que lo cerremos sin querer y no podramos revertir los cambios que hemos realizado)

    Primero abrimos nuestro instancebase.cpp que se encuentra en la ruta Userinterface y buscamos la siguiente linea

    聽聽 聽聽聽 聽__EffectContainer_AttachEffect(m_dwAcceEffect);
    聽聽 聽}

    Recuerden que si no la encuentran busquenla asi聽

    聽聽 聽聽聽 聽__EffectContainer_AttachEffect(m_dwSashEffect);
    聽聽 聽}

    Cuando la encuentren agregan encima de esa linea lo siguiente

    #ifdef ENABLE_WINGS_EFFECT
    聽聽 聽if (dwAcce == 86065) ////////////////////////// Aca va el vnum de la estola o ala que deseas implementar y no existe
    聽聽 聽{
    聽聽 聽聽聽 聽fSpecular += 35;
    聽聽 聽聽聽 聽m_dwAcceEffect = EFFECT_REFINED + EFFECT_WINGS_NEWS1;
    聽聽 聽聽聽 聽__EffectContainer_AttachEffect(m_dwAcceEffect);
    #endif

    Una vez hecho guardamos y pasamos a nuestro archivo instancebase.h que se encuentra en la misma ruta que el instancebase.cpp

    Cuando estemos dentro del archivo buscamos la linea聽

    #ifdef ENABLE_ACCE_SYSTEM
    聽聽 聽聽聽 聽聽聽 聽EFFECT_ACCE,
    #endif

    O

    #ifdef ENABLE_SASH_SYSTEM
    聽聽 聽聽聽 聽聽聽 聽EFFECT_SASH,
    #endif

    Y debajo agregamos

    #ifdef ENABLE_WINGS_EFFECT
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS1 = 201,
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS2 = 202,
    #endif

    /////////// Recuerden que estos numeros seran los que se agreguen en el playersettingmodule.py del cliente revisen que no esten repetidos ( Si lo estan simplemente cambienlos por unos que no se repitan

    Luego de que la agreguen cierran el archivo y abren el Locale_inc.h que esta dentro de la misma carpeta y agregan el define y guardan

    #define ENABLE_WINGS_EFFECT

    Despues nos vamos al archivo聽PythonApplicationModule.cpp y agregan la siguiente linea antes del聽聽}

    Tambien pueden buscar聽PyModule_AddIntConstant y agregar聽debajo lo siguiente


    #ifdef ENABLE_WINGS_EFFECT
    聽聽 聽PyModule_AddIntConstant(poModule, "ENABLE_EFFECT_WINGS_NEW",聽聽 聽1);
    #else
    聽聽 聽PyModule_AddIntConstant(poModule, "ENABLE_EFFECT_WINGS_NEW",聽聽 聽0);
    #endif

    Cuando tengan listo todos los archivos guardan y compilan el binario (Si lo hicieron como les explique no deberian de tener ningun error) "Siempre revisen las tabulaciones"

    Ahora pasamos a la parte del cliente. Para ello vamos a nuestro root y buscamos el archivo playersettingmodule.py y buscan la siguiente linea

    if app.ENABLE_ACCE_SYSTEM:
    聽聽 聽聽聽 聽chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 22, "Bip01", "d:/ymir work/pc/common/effect/armor/acc_01.mse")

    O

    if app.ENABLE_SASH_SYSTEM:
    聽聽 聽聽聽 聽chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 22, "Bip01", "d:/ymir work/pc/common/effect/armor/acc_01.mse")

    Despues de esa linea agregan lo siguiente

    聽聽 聽if app.ENABLE_WINGS_EFFECT:
    聽聽 聽聽聽 聽chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 23, "Bip01", "d:/ymir work/item/weapon/Ksjeu_Anim/Ksjeu_Wings/ksjeu_wings_set8/ksjeu_wings_set8.mse")
    聽聽 聽聽聽 聽chrmgr.RegisterEffect(chrmgr.EFFECT_REFINED + 24, "Bip01", "d:/ymir work/effect/wings/wings_kazu.mse")

    Asegurate que el numero 23 o 24 coincidan con los que agregaron en el binario y importante es que no se repitan con ninguno anterior

    "Bip01"

    El Bip01 siempre es el que ubica la posicion de las alas (Si os sale en la mu帽eca o en la rodilla basta con que lo remplacen con聽"Bip01 Spine02" o viceversa

    "d:/ymir work/item/weapon/Ksjeu_Anim/Ksjeu_Wings/ksjeu_wings_set8/ksjeu_wings_set8.mse")

    Aca va la ruta de nuestro archivo mse. Recuerden revisar donde hace el llamado el mde para que no le salgan con errores.

    Para ellos le dan click derecho al archivo mde y editan con block de notas o notepad y hay veran cual es su ruta

    Ya una vez hecho todo lo anterior deberian de funcionar correctamente las alas sin ningun tipo de error

    Aca os aportare unas alas para que las implementen y me cuenten como les fue. Un saludo

    Alas:聽
    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
    EDIT: Publico foto de unas alas implementadas con el mismo codigo

    Tambien quiero abreviar que si quieren implementar mas simplemente pueden agregar nuevas lineas
    #ifdef ENABLE_WINGS_EFFECT
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS1 = 201,
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS2 = 202,
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS3聽= 203,聽
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS4聽= 204,聽
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS5聽= 205,聽
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS6聽= 206,
    聽聽 聽聽聽 聽聽聽 聽EFFECT_WINGS_NEWS7聽= 207,
    #endif
    INCLUYENDO LA PARTE DEL PLAYERSETTINGMODULE.PY

    Debes iniciar sesi贸n para ver el contenido del archivo adjunto en esta publicaci贸n.
  17. Caca
    饾棓饾椏饾棽饾榾 got a reaction from kryspi_magnus1999 in Sistema de Rachas   
    Buenas tardes zoner@s:

    En esta ocasion os traigo el sistema de rachas completo para el cliente聽reparado por mi

    Primero abrimos nuestro root y buscamos nuestro archivo game.py

    Dentro del archivo buscamos lo siguiente # WEDDING "lover_login" : self.__LoginLover, "lover_logout" : self.__LogoutLover, "lover_near" : self.__LoverNear, "lover_far" : self.__LoverFar, "lover_divorce" : self.__LoverDivorce, "PlayMusic" : self.__PlayMusic, # END_OF_WEDDING Debajo de esta linea agregamos lo siguiente #SISTEMA_RACHAS "Showmedallas_gui" : self.__showmedallas_gui, "Hidemedallas_gui" : self.__hidemedallas_gui, "muertes" : self.__muertes, "primera_muerte" : self.__primera_muerte, "doble_muerte" : self.__doble_muerte, "triple_muerte" : self.__triple_muerte, "exterminio" : self.__exterminio, "muertacular" : self.__muertacular, "bestialidad" : self.__bestialidad, "salvajada" : self.__salvajada, "catastrofe" : self.__catastrofe, "apocalipsis" : self.__apocalipsis, "lluvia_muertos" : self.__lluvia_muertos, "super_increible" : self.__super_increible, #END_SISTEMA_RACHAS Quedando asi # WEDDING "lover_login" : self.__LoginLover, "lover_logout" : self.__LogoutLover, "lover_near" : self.__LoverNear, "lover_far" : self.__LoverFar, "lover_divorce" : self.__LoverDivorce, "PlayMusic" : self.__PlayMusic, # END_OF_WEDDING #SISTEMA_RACHAS "Showmedallas_gui" : self.__showmedallas_gui, "Hidemedallas_gui" : self.__hidemedallas_gui, "muertes" : self.__muertes, "primera_muerte" : self.__primera_muerte, "doble_muerte" : self.__doble_muerte, "triple_muerte" : self.__triple_muerte, "exterminio" : self.__exterminio, "muertacular" : self.__muertacular, "bestialidad" : self.__bestialidad, "salvajada" : self.__salvajada, "catastrofe" : self.__catastrofe, "apocalipsis" : self.__apocalipsis, "lluvia_muertos" : self.__lluvia_muertos, "super_increible" : self.__super_increible, #END_SISTEMA_RACHAS 聽
    Dentro del mismo archivo buscamos lo siguiente: def __InGameShop_Show(self, url): if constinfo.IN_GAME_SHOP_ENABLE: self.interface.OpenWebWindow(url) Una vez encontrado agregamos debajo #SISTEMA_RACHAS def __primera_muerte(self): self.primera_muerte.Show() snd.PlaySound("sound/ui/1_muerte.wav") net.SendChatPacket("(1_muerte)") def __doble_muerte(self): self.doble_muerte.Show() snd.PlaySound("sound/ui/doble_muerte.wav") net.SendChatPacket("(doble_muerte)") def __triple_muerte(self): self.triple_muerte.Show() snd.PlaySound("sound/ui/triple_muerte.wav") net.SendChatPacket("(triple_muerte)") def __exterminio(self): self.exterminio.Show() snd.PlaySound("sound/ui/exterminio.wav") net.SendChatPacket("(exterminio)") def __muertacular(self): self.muertacular.Show() snd.PlaySound("sound/ui/muertacular.wav") net.SendChatPacket("(muertacular)") def __bestialidad(self): self.bestialidad.Show() snd.PlaySound("sound/ui/bestialidad.wav") net.SendChatPacket("(bestialidad)") def __salvajada(self): self.salvajada.Show() snd.PlaySound("sound/ui/salvajada.wav") net.SendChatPacket("(salvajada)") def __catastrofe(self): self.catastrofe.Show() snd.PlaySound("sound/ui/catastrofe.wav") net.SendChatPacket("(catastrofe)") def __apocalipsis(self): self.apocalipsis.Show() snd.PlaySound("sound/ui/apocalipsis.wav") net.SendChatPacket("(apocalipsis)") def __lluvia_muertos(self): self.lluvia_muertos.Show() snd.PlaySound("sound/ui/lluvia_muertos.wav") net.SendChatPacket("(lluvia_muertos)") def __super_increible(self): self.super_increible.Show() snd.PlaySound("sound/ui/super_increible.wav") net.SendChatPacket("(super_increible)") def __hidemedallas_gui(self): self.Medallas_gui.Hide() self.primera_muerte.Hide() self.doble_muerte.Hide() self.triple_muerte.Hide() self.exterminio.Hide() self.muertacular.Hide() self.bestialidad.Hide() self.salvajada.Hide() self.catastrofe.Hide() self.apocalipsis.Hide() self.lluvia_muertos.Hide() self.super_increible.Hide() self.muertes.Hide() def __showmedallas_gui(self): self.Medallas_gui.Show() self.muertes.Show() def __muertes(self, muertes): self.muertes.SetText(muertes) #END_SISTEMA_RACHAS 聽
    Guardamos los cambios y vamos a nuestro archivo playersettingmodule.py dentro de la misma carpeta

    Dentro del playersettingmodule.py buscamos lo siguiente chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+19, "", "d:/ymir work/effect/etc/emoticon/siren.mse") net.RegisterEmoticonString("(emoji8)") Una vez encontrada la linea agregamos abajo lo siguiente chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+20, "", "d:/ymir work/effect/etc/buff/1_muerte.mse") net.RegisterEmoticonString("(1_muerte)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+21, "", "d:/ymir work/effect/etc/buff/doble_muerte.mse") net.RegisterEmoticonString("(doble_muerte)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+22, "", "d:/ymir work/effect/etc/buff/triple_muerte.mse") net.RegisterEmoticonString("(triple_muerte)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+23, "", "d:/ymir work/effect/etc/buff/exterminio.mse") net.RegisterEmoticonString("(exterminio)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+24, "", "d:/ymir work/effect/etc/buff/muertacular.mse") net.RegisterEmoticonString("(muertacular)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+25, "", "d:/ymir work/effect/etc/buff/bestialidad.mse") net.RegisterEmoticonString("(bestialidad)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+26, "", "d:/ymir work/effect/etc/buff/salvajada.mse") net.RegisterEmoticonString("(salvajada)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+27, "", "d:/ymir work/effect/etc/buff/catastrofe.mse") net.RegisterEmoticonString("(catastrofe)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+28, "", "d:/ymir work/effect/etc/buff/apocalipsis.mse") net.RegisterEmoticonString("(apocalipsis)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+29, "", "d:/ymir work/effect/etc/buff/lluvia_muertos.mse") net.RegisterEmoticonString("(lluvia_muertos)") chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+30, "", "d:/ymir work/effect/etc/buff/super_increible.mse") net.RegisterEmoticonString("(super_increible)") Recuerden que los numeros deberan de ser el ultimo al anterior y no se deben de repetir Una vez agregadas las nuevas lineas cerramos el archivo y compilamos nuestro root 聽
    Luego de compilar nuestro root metemos los siguientes archivos en sus rutas correspondientes y compilamos

    Y ya estaria listo el sistema, si lo hacen todo tal cual publique en la guia no deberian de tener problema y todo deberia de estar funcionando sin ningun problema


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
    Sonidos


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽

    Creditos a Rinnegan
  18. Caca
    饾棓饾椏饾棽饾榾 got a reaction from KenEj08 in Set Atuendos de Verano 2020 (Plechito completo)   
    Buenas noches zoneros y zoneras hoy os traigo este set que no he visto publico en ningun foro ni en turkmmo ni en dev ni aca asi que ahora os lo traigo aqui para que le saquen provecho

    Aca os dejo algunas fotos:

    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. 聽
    Aca el link:

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
    Espero que le saquen provecho para este veranico馃槈
  19. Caca
    饾棓饾椏饾棽饾榾 got a reaction from palmiro91 in Gran Aporte "SISTEMA SHINING COMPLETO"   
    Buenas noches zoneros y zoneras:

    En esta ocasion os traigo el sistema Shining completo y reparado para alas y skin de armas ya que veo que no esta publico en ningun foro.聽
    Bueno los archivos que vamos a precisar son los siguientes:

    Parte del Src Client o Binario como lo conozcan:
    De la carpeta UserInterface:
    -.PythonAplication.cpp
    -.Locale_inc.h
    -.Instancebase.h
    -.Instancebase.cpp
    De la carpeta GameLib:
    -.ItemData.h
    -.ItemData.cpp
    -.ItemManager.cpp
    -.ItemManager.h

    Bueno sabiendo ya todo lo que vamos a precisar vamos con la guia
    UserInterface/PythonApplication.cpp Buscamos esta linea: snprintf(szSkillDescFileName, sizeof(szSkillDescFileName), "%s/skilldesc.txt", localePath); Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM snprintf(szShiningTable, sizeof(szShiningTable), "%s/shiningtable.txt", localePath); #endif Buscamos esta linea: char szItemDesc[256]; Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM char szShiningTable[256]; #endif Buscamos esta linea: if (!rkSkillMgr.RegisterSkillTable("data/common/skilltable.txt")) { TraceError("Error while loading skilltable.txt."); return false; } Damos un enter y pegamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM if (!rkItemMgr.LoadShiningTable(szShiningTable)) { Tracenf("LoadLocaleData - LoadShiningTable(%s) Error", szShiningTable); } #endif 聽
    UserInterface/Locale_inc.h Aca agregaremos el siguiente define: #define ENABLE_SHINING_SYSTEM UserInterface/InstanceBase.h Aca buscamos la siguiente linea: DWORD m_armorRefineEffect; Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM //2-Dimensions for Left & Right sided effects DWORD m_weaponShiningEffects[2][CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_armorShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_acceShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; #endif Aca quiero aclarar una cosa: Si en vuestro sistema de estolas de envez de llevar acce lleva sash cambian la linea anterior por esta: #ifdef ENABLE_SHINING_SYSTEM //2-Dimensions for Left & Right sided effects DWORD m_weaponShiningEffects[2][CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_armorShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; DWORD m_sashShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; #endif Ahora buscamos la siguiente linea: UINT __GetRefinedEffect(CItemData* pItem); Pulsamos un enter y agregamos la siguiente: #ifdef ENABLE_SHINING_SYSTEM void __GetShiningEffect(CItemData* pItem); void __ClearWeaponShiningEffect(bool detaching = true); void __ClearArmorShiningEffect(bool detaching = true); void __ClearAcceShiningEffect(bool detaching = true); void __AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01 Spine2"); void __AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); void __AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); #endif Aca quiero explicar 1 cosa: Aca es lo mismo que en la anterior linea, si ustedes de envez de usar acce usan sash remplazan la linea por esta: #ifdef ENABLE_SHINING_SYSTEM void __GetShiningEffect(CItemData* pItem); void __ClearWeaponShiningEffect(bool detaching = true); void __ClearArmorShiningEffect(bool detaching = true); void __ClearSashShiningEffect(bool detaching = true); void __AttachSashShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01 Spine2"); void __AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); void __AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); #endif UserInterface/InstanceBase.cpp Buscamos la siguiente funcion void CInstanceBase::SetArmor(DWORD dwArmor) { ... } Y dentro de esta funcion buscamos lo siguiente __GetRefinedEffect(pItemData); Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Quedando asi: __GetRefinedEffect(pItemData); #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Ahora dentro de la misma funcion buscamos la siguiente linea: __ClearArmorRefineEffect(); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __ClearArmorShiningEffect(); #endif UserInterface/InstanceBase.cpp Aca buscamos la siguiente funcion: void CInstanceBase::SetAcce "Recuerden que si su sistema de estolas no es acce lo cambian por Sash" { .... } Dentro de esta funcion buscamos lo siguiente: ClearAcceEffect(); Pulsamos un enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __ClearAcceShiningEffect(); #endif Luego dentro de la misma funcion mas abajo buscamos lo siguiente: CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData); "Si no usan acce lo cambian por sash" Pulsamos enter y mas abajo pegamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM if (pItemData) __GetShiningEffect(pItemData); #endif Quedando asi: CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData); #ifdef ENABLE_SHINING_SYSTEM if (pItemData) __GetShiningEffect(pItemData); #endif m_GraphicThingInstance.AttachAcce(pItemData, fSpecular); UserInterface/InstanceBase.cpp "Ahora atentos en la siguiente funcion ya que si no lo hacen bien no funcionara en las armas ni en las skin" Buscamos la siguiente funcion: bool CInstanceBase::SetWeapon(DWORD eWeapon) { ... } Dentro de esta funcion buscamos la siguiente linea: __GetRefinedEffect(pItemData); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif Ahora buscamos la siguiente linea: __ClearWeaponRefineEffect(); Pulsamos un enter y agregamos lo siguiente: #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(); #endif "AHORA MUY ATENTOS AL CODIGO QUE PONDRE EN PANTALLA DEBERAN DE HACERLO TAL CUAL LO DEJO ACA" "CON LOS CORCHETES TAL CUAL ESTAN EN LA FUNCION" MI CODIGO CItemData * pItemData; if (CItemManager::Instance().GetItemDataPointer(eWeapon, &pItemData)) { ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA __GetRefinedEffect(pItemData); #ifdef ENABLE_SHINING_SYSTEM __GetShiningEffect(pItemData); #endif } ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA else { ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA __ClearWeaponRefineEffect(); #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(); #endif } ---------------------------ESTOS CORCHETES DEBERAN DE AGREGARLOS TAL CUAL PUSE ACA return true; } UserInterface/Instancebase.cpp Ahora buscamos esta funcion void CInstanceBase::__Initialize() { ..... } Y dentro de ella vamos a buscar la siguiente linea: m_armorRefineEffect = 0; Pulsamos enter y agregamos la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM __ClearWeaponShiningEffect(false); #endif UserInterface/InstanceBase.cpp Ahora agregamos todo este bloque completo al final del archivo #ifdef ENABLE_SHINING_SYSTEM void CInstanceBase::__GetShiningEffect(CItemData* pItem) { bool removeRefineEffect = true; CItemData::TItemShiningTable shiningTable = pItem->GetItemShiningTable(); if (pItem->GetType() == CItemData::ITEM_TYPE_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { bool bRemove = false; for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) if (strcmp(shiningTable.szShinings[i], "")) bRemove = true; if (bRemove) __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { #ifdef ENABLE_WOLFMAN_CHARACTER bool twoSidedWeapon = pItem->GetSubType() == CItemData::WEAPON_DAGGER || pItem->GetSubType() == CItemData::WEAPON_CLAW || (IsMountingHorse() && pItem->GetSubType() == CItemData::WEAPON_FAN); #else bool twoSidedWeapon = pItem->GetSubType() == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetSubType() == CItemData::WEAPON_FAN); #endif if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetSubType() == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #ifdef ENABLE_COSTUME_SYSTEM else if (pItem->GetType() == CItemData::ITEM_TYPE_COSTUME) { #ifdef ENABLE_ACCE_SYSTEM if (pItem->GetSubType() == CItemData::COSTUME_ACCE) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachAcceShiningEffect(i, shiningTable.szShinings[i], "Bip01 Spine2"); } } } #endif else if (pItem->GetSubType() == CItemData::COSTUME_BODY) { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } #ifdef ENABLE_WEAPON_COSTUME_SYSTEM else if (pItem->GetSubType() == CItemData::COSTUME_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { bool twoSidedWeapon = pItem->GetValue(3) == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetValue(3) == CItemData::WEAPON_FAN); if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetValue(3) == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #endif } #endif else { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } } //Attaching the shining effect. //BoneName can be "PART_WEAPON" or "PART_WEAPON_LEFT" to get the attaching bone name dynamically. //If boneName is not given "Bip01" is used as boneName. void CInstanceBase::__AttachWeaponShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); if (!strcmp(boneName, "PART_WEAPON")) { const char* c_szRightBoneName; m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON, &c_szRightBoneName); if (c_szRightBoneName == NULL) return; if (strcmp(c_szRightBoneName, "")) { m_weaponShiningEffects[0][effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, c_szRightBoneName, effectFileName); } } else if (!strcmp(boneName, "PART_WEAPON_LEFT")) { const char* c_szLeftBoneName; m_GraphicThingInstance.GetAttachingBoneName(CRaceData::PART_WEAPON_LEFT, &c_szLeftBoneName); if (c_szLeftBoneName == NULL) return; if (strcmp(c_szLeftBoneName, "")) { m_weaponShiningEffects[1][effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, c_szLeftBoneName, effectFileName); } } else { Tracef("Invalid partname for getting attaching bone name. %s - %s", effectFileName, boneName); } } //Attaching the armor shining effect. //If boneName is not given "Bip01" is used as boneName. void CInstanceBase::__AttachArmorShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } if (!strcmp(boneName, "")) { Tracef("Empty bone name for attaching armor shining. Effect Index: %i, EffectFileName: %s", effectIndex, effectFileName); return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); m_armorShiningEffects[effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, boneName, effectFileName); } //Clears all weapon shining effects. Left & Right if set. void CInstanceBase::__ClearWeaponShiningEffect(bool detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (m_weaponShiningEffects[0][i]) { if (detaching) { __DetachEffect(m_weaponShiningEffects[0][i]); } m_weaponShiningEffects[0][i] = 0; } if (m_weaponShiningEffects[1][i]) { if (detaching) { __DetachEffect(m_weaponShiningEffects[1][i]); } m_weaponShiningEffects[1][i] = 0; } } } //Clears all armor shining effects. void CInstanceBase::__ClearArmorShiningEffect(bool detaching) { if (detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (m_armorShiningEffects[i]) { __DetachEffect(m_armorShiningEffects[i]); } } } memset(&m_armorShiningEffects, 0, sizeof(m_armorShiningEffects)); } #endif #ifdef ENABLE_SHINING_SYSTEM #ifdef ENABLE_ACCE_SYSTEM void CInstanceBase::__AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } if (!strcmp(boneName, "")) { Tracef("Empty bone name for attaching armor shining. Effect Index: %i, EffectFileName: %s", effectIndex, effectFileName); return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); m_acceShiningEffects[effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, boneName, effectFileName); } #ifdef ENABLE_ACCE_SYSTEM void CInstanceBase::__ClearAcceShiningEffect(bool detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (detaching) { __DetachEffect(m_acceShiningEffects[i]); } m_acceShiningEffects[i] = 0; } } #endif #endif #endif UserInterface/InstanceBase.cpp "Ahora os voy a explicar algo" En el caso de que vuestro sistema de estolas no lleve el define acce, deberan de cambiar el codigo del sistema en las partes que llevan acce por sash "Por ejemplo en el bloque que agregan en InstanceBase.cpp" Ese lleva ACCE como Define, ustedes deberan de agregar el define de su sistema de estolas GameLib/ItemManager.h Aca buscan la siguiente linea: bool LoadItemTable(const char* c_szFileName); Pulsan enter y agregan lo siguiente: #ifdef ENABLE_SHINING_SYSTEM bool LoadShiningTable(const char* c_szFileName); #endif GameLib/ItemManager.cpp Ahora buscan la siguiente funcion bool CItemManager::LoadItemTable(const char* c_szFileName) { ... } Y debajo de la funcion completa pulsan enter y agregan el siguiente bloque #ifdef ENABLE_SHINING_SYSTEM bool CItemManager::LoadShiningTable(const char* szShiningTable) { CMappedFile File; LPCVOID pData; if (!CEterPackManager::Instance().Get(File, szShiningTable, &pData)) return false; CMemoryTextFileLoader textFileLoader; textFileLoader.Bind(File.Size(), pData); CTokenVector TokenVector; for (DWORD i = 0; i < textFileLoader.GetLineCount(); ++i) { if (!textFileLoader.SplitLine(i, &TokenVector, "\t")) continue; if (TokenVector.size() > (1 + CItemData::ITEM_SHINING_MAX_COUNT)) { TraceError("CItemManager::LoadShiningTable(%s) - LoadShiningTable in %d\n - RowSize: %d MaxRowSize: %d", szShiningTable, i, TokenVector.size(), CItemData::ITEM_SHINING_MAX_COUNT); } const std::string & c_rstrID = TokenVector[0]; DWORD dwItemVNum = atoi(c_rstrID.c_str()); CItemData * pItemData = MakeItemData(dwItemVNum); if (pItemData) { for (BYTE i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (i < (TokenVector.size()-1)) { const std::string & c_rstrEffectPath = TokenVector[i + 1]; pItemData->SetItemShiningTableData(i, c_rstrEffectPath.c_str()); } else { pItemData->SetItemShiningTableData(i, ""); } } } } return true; } #endif GameLib/ItemData.h Buscan la siguiente linea: ITEM_SOCKET_MAX_NUM = 3, Pulsan un enter y agregan la siguiente debajo #ifdef ENABLE_SHINING_SYSTEM ITEM_SHINING_MAX_COUNT = 3, #endif Ahora buscan la siguiente linea: void SetItemTableData(TItemTable * pItemTable); Pulsan enter y debajo agregan la siguiente: #ifdef ENABLE_SHINING_SYSTEM typedef struct SItemShiningTable { char szShinings[ITEM_SHINING_MAX_COUNT][256]; public: //Checking if any shining is set for this item. bool Any() const { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(szShinings[i], "")) { return true; } } return false; } } TItemShiningTable; void SetItemShiningTableData(BYTE bIndex, const char* szEffectname); CItemData::TItemShiningTable GetItemShiningTable() { return m_ItemShiningTable; } #endif Ahora buscan la siguiente linea: TItemTable m_ItemTable; Pulsan enter y debajo pegan la siguiente: #ifdef ENABLE_SHINING_SYSTEM TItemShiningTable m_ItemShiningTable; #endif GameLib/ItemData.cpp Ahora buscan la siguiente funcion: BOOL CItemData::IsEquipment() const { .... } Debajo de la funcion agregan lo siguiente: #ifdef ENABLE_SHINING_SYSTEM void CItemData::SetItemShiningTableData(BYTE bIndex, const char* szEffectname) { sprintf(m_ItemShiningTable.szShinings[bIndex], szEffectname); } #endif Ahora buscan la siguiente funcion: void CItemData::Clear() { ..... } Dentro de esa misma funcion buscan la siguiente linea: memset(&m_ItemTable, 0, sizeof(m_ItemTable)); Pulsan un enter y agregan la siguiente linea: #ifdef ENABLE_SHINING_SYSTEM memset(&m_ItemShiningTable, 0, sizeof(m_ItemShiningTable)); #endif 聽
    Parte del cliente Va a su locale y agregan el archivo que os dejare debajo "Como funciona el sistema y que hago para implementar un arma, ala o efecto de armadura" Bueno para implementar todo el mundo ya conoce como se implementa una arma o estola. Agregan la parte de la db luego item_list.txt, item_proto "Pero aca si usan arma 3D en el archivo haran lo siguiente" 61202 "D:/ymir work/effect/plechito/weapons/dark_cult_set/bell_glow.mse" El 61202 es el vnum del arma, armadura o ala que llevara el efecto Y al lado va la ruta del mse "Asegurese que el efecto esta completo Y ya eso es todo 聽
    Y eso seria todo

    Adjunto foto de como funciona el sistema correctamente



    Si lo hacen tal cual le explique en la guia el sistema le funcionara correctamente.聽

    Adjunte foto cuando metan el sistema, no cuesta nada.

    Archivo parte del cliente

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  20. Caca
    饾棓饾椏饾棽饾榾 got a reaction from palmiro91 in Aporte "Atuendos verano 2022"   
    Buenas zoneros, hoy os vengo a traer el set de Atlantis festive robe completo, por las 1000 visitas a mi perfil.
    El set viene con los efectos, tanto en las armas como armaduras, al igual que con las alas incluidas.
    Espero que lo disfruten

    Adjunto foto del set y los atuendos:

    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.
    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
    Link de descarga:

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n. 聽
  21. Me Gusta
    饾棓饾椏饾棽饾榾 got a reaction from Marcos Pinheiro in Templo de Andun y Mazmorra Andun [Version Completa]   
    Buenas tardes zoner@s hoy os vengo a traer el templo de andun con su mapa de farmeo respectivo

    En caso de errores pueden publicarlos y os ayudare a resolverlos.

    Link:


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  22. Caca
    饾棓饾椏饾棽饾榾 got a reaction from MoRdOr29 in Pack de verano [Mazmorra Atlantis + Atuendos]   
    Buenas tardes zoner@s, hoy os vengo a traer la mazmorra de atlantis con todos los atuendos y skins


    Link:


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  23. Me Gusta
    饾棓饾椏饾棽饾榾 got a reaction from Kayus Produtions in Sistema Mazmorra Zodiaco "Full Version"   
    Buenas tardes zoner@s, en esta ocasion os traigo el sistema zodiaco en su version mas completa聽

    El sistema no he tenido tiempo para revisar y testearlo

    Link:


    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  24. Caca
    饾棓饾椏饾棽饾榾 got a reaction from holasi in Sistema Yut-Nori [Evento de Halloween]   
    Buenas tardes zoner@s, en esta ocasion os vengo a traer el evento de halloween "Yut-Nori"

    El sistema es algo complejo de instalar, en mi caso yo no tuve tiempo para meterlo.



    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
  25. Caca
    饾棓饾椏饾棽饾榾 got a reaction from palmiro91 in Atuendos Halloween [Plechito 2022]   
    Buenas tardes zoner@s, hoy os vengo a traer los atuendos de halloween de este 2022 de plechito


    Os dejare los primeros atuendos, luego mas tarde subire los otros

    El set viene con los atuendos, skin de armas, alas y iconos

    Link:

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.

    Foto del set:

    Debes iniciar sesi贸n para ver el contenido del enlace en esta publicaci贸n.
×
×
  • Crear nuevo...