Jump to content

TrafalgarLaw

Miembro
  • Contador contenido

    207
  • Ingreso

  • Última visita

  • Días ganados

    6

Actividad de reputación

  1. Me Gusta
    TrafalgarLaw got a reaction from Marcos Pinheiro in Calendario (Eventos)   
    Funciona 100%, no tengo fotos en el telefono pero cuando entre ami computador les adjunto una foto del calendario
    Dentro del rar trae el tutorial, esta todo muy facil de entender.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    LINK ACTUALIZADO A UN CALENDARIO MEJOR
    si ya instalaron todo de la parte de python
    solo reemplazar en root el archivo uievent.py
  2. Sorprendido
    TrafalgarLaw got a reaction from Mircea Vlad in Mp Automatico (100%)   
    Aqui dejo el rar con el tutorial adentro, Disfruten.
    aca en zone habia uno pero no funciona sin modificarlo bien. Asi que les traigo el completo.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Os Dejo un imagen de que sirve en mi cliente.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  3. Me Gusta
    TrafalgarLaw reacted to JeS in [Guia] Aumentar el porcentaje de insertar piedras   
    Debes iniciar sesión para ver el contenido del enlace en esta publicación. (Tal vez no sea, pero es más corta y tiene la misma función.)
  4. Me Gusta
    TrafalgarLaw got a reaction from Tayfun küçük in Recursos TrafalgarLow 3-4 GB   
    Paquete De Recursos Recopilado por mucho tiempo. Disfrutenlo.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    DEN +1, NO SEAN MAL AGRADECIDOS❤️

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
  5. Caca
    TrafalgarLaw got a reaction from Frezi Op in Gran Aporte "SISTEMA SHINING COMPLETO"   
    Buen Aporte, Pero esta en turkmmon pero como la mayoria no conoce ese foro Buen APORTE al traerlo
  6. Me Gusta
    TrafalgarLaw reacted to 𝗔𝗿𝗲𝘀 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.
  7. Me Gusta
    TrafalgarLaw reacted to -YC- in [Quest-Pack]Muchas Quest xd   
    Hola amigos de Zone bueno les vengo a postearles varias quest (No son mías) las he tomado de varios files hispanos pero bueno al grano xd
     
    iré agregando conforme encuentre xd
     
    trae estas quest:
     
    Comerciante de anillo 
    Anilloteleporter
    Anillo antiexp
    autorates
    banear por pergamino
    cambio de raza
    cambio de reino
    cambio de bonus (evita el bot de bonus)
    panel de control gm
    loteria
    mineria
    sistema de renos
    munturas con bonus
    quest de informacion al loguearnos saldra un texto
    npc de eventos te invoca un jefe
     
     
    PD: NO SON MIS QUEST

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  8. Me Gusta
    TrafalgarLaw reacted to Dilong in Defender metin   
    Actualizado, ahora saca a los reinos derrotados (No afecta a los GM´s)

    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.
  9. Me Gusta
    TrafalgarLaw reacted to PACI in Nueva Quest del Sistema de Energia   
    Hola.
    Bueno, hace unos días  gracias a Luca Fraga de Inforge, yo y un amigo conseguimos, digamos, "mejorar" el sistema de energía free, o mejor dicho, la parte del .use del Cristal de energía.
    Os estaréis preguntando, mejorarlo como? Bueno, como sabréis en los oficiales, cuando recibes el cristal, al primer click que le das, te saldrá la cantidad de energía que recibirás, pues bueno aquí es parecido, pero en vez de energía, te dará un bonos aleatoria mente  y lo mismo con su cantidad, y al segundo click, hará el cmdchat, y dará la cantidad y el bonos que saldrán al primer click.
    La imagen esta en mi firma.
    Primero de todo, necesitaremos de la Lib de Luca, la LfLib que posteó en inforge.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     
    En quest_functions, colocareis las funciones:
    lf_item.get_attribute
    lf_item.set_attribute
     
    La quest: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Yo la tengo en Portugués, pero no creo que sea problema alguno.
    Bueno, tendréis que cambiar también el type del item 51002 en el cliente, ya que es type 27, yo le puse type 28, como los atuendos.
    Otra cosa es que mi quest, no usa el mysql_query, ya que tenia un bug por la Lib del sistema de atuendos.
    Como editar los bonos que salen, sus cantidades y la duración?
    Bonos :
    - Al primer click, en el array idbonus, colocais el id del bonus.
    - Al segundo click, en el array qt_bonus.
    -- Nota: La clientside es del sistema de energía lite (free), para editar abren el uitaskbar.py y editan el desc. El primer bono del array qt_bonus corresponde al primer bonus del desc (en el uitaskbar.py)
     
    Cantidades:
    - Como vereis hay varios math.random, los valores que están ahí, son los que editáis.
     
    Duración:
    - get_time() + X, yo lo tengo en 15, o sea, dura 15 segundos, vosotros lo poneis a vuestro gusto.
     
    He escrito más de lo que podría haber escribido? Puede, pero bueno, funciona igual.
     
    Agradecimientos:
    PauloFerreira por la idea y consejos;
    Luca Fraga por la Librería.
     
    Actualmente y que yo sepa existen 2 quests, la mía, y la de paulo, son parecidas, pero no pasa na.
     
    Créditos de la quest: Yo.
     
    Saludos.  
     

  10. Me Gusta
    TrafalgarLaw got a reaction from DarneLL超本能 in Mp Automatico (100%)   
    Aqui dejo el rar con el tutorial adentro, Disfruten.
    aca en zone habia uno pero no funciona sin modificarlo bien. Asi que les traigo el completo.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Os Dejo un imagen de que sirve en mi cliente.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  11. Me Gusta
    TrafalgarLaw got a reaction from acuario in Calendario (Eventos)   
    Funciona 100%, no tengo fotos en el telefono pero cuando entre ami computador les adjunto una foto del calendario
    Dentro del rar trae el tutorial, esta todo muy facil de entender.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    LINK ACTUALIZADO A UN CALENDARIO MEJOR
    si ya instalaron todo de la parte de python
    solo reemplazar en root el archivo uievent.py
  12. Me Gusta
    TrafalgarLaw got a reaction from Kojuro in Recursos TrafalgarLow 3-4 GB   
    Paquete De Recursos Recopilado por mucho tiempo. Disfrutenlo.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    DEN +1, NO SEAN MAL AGRADECIDOS❤️

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
  13. Me Gusta
    TrafalgarLaw reacted to 𝗔𝗿𝗲𝘀 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
  14. Me Gusta
    TrafalgarLaw got a reaction from Okasa2 in Nuevo Proyecto   
    Suerte, pero no te aconsejo un socio porque filtran las cosas o lo mas probable te robe el mismo
  15. Me Gusta
    TrafalgarLaw got a reaction from Quang Cậu in Recursos TrafalgarLow 3-4 GB   
    Paquete De Recursos Recopilado por mucho tiempo. Disfrutenlo.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    DEN +1, NO SEAN MAL AGRADECIDOS❤️

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
  16. Me Gusta
    TrafalgarLaw got a reaction from marcotulio in Recursos TrafalgarLow 3-4 GB   
    Paquete De Recursos Recopilado por mucho tiempo. Disfrutenlo.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    DEN +1, NO SEAN MAL AGRADECIDOS❤️

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
  17. Me Gusta
    TrafalgarLaw reacted to pepineitor in Baul del Aprendiz   
    Bueno, os dejo el que acabo de hacer, la tabla es la que usa Akroma asi estaba bien.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    Salu2.
  18. Me Gusta
    TrafalgarLaw reacted to KeKo in Baul del Aprendiz   
    Eso de que son menos lineas en fin xd
     
    Esa quest era innecesario hacerla ya que LF95 ya la hizo hace tiempo y no se si has probado nunca que solo te dan el cofre en el lvl1, los demas salen al abrir los demas.
     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  19. Me Gusta
    TrafalgarLaw got a reaction from Fran bp in 142 Carpetas De Set De Armas (APORTE)   
    les dejo adjunta una imagen de lo que trae el rar pero son puras armas, si quieren atuendos, armaduras etc tengo como 500 armaduras, 200 pet, 200 monturas etc un monton de weas
    la imagen es parte de lo que trae, son 142 carpetas con set de armas.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
  20. Me Gusta
    TrafalgarLaw got a reaction from Daniel Barbosa in 86 Carpetas De Atuendos y 36 de accesorios (APORTE)   
    Atuendos Pack (86 Carpetas)
    Accesorios (36 Carpetas)

    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 archivo adjunto en esta publicación.
  21. Confuso
    TrafalgarLaw got a reaction from DeadOfLove in Mp Automatico (100%)   
    Aqui dejo el rar con el tutorial adentro, Disfruten.
    aca en zone habia uno pero no funciona sin modificarlo bien. Asi que les traigo el completo.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación. Os Dejo un imagen de que sirve en mi cliente.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  22. Me Gusta
    TrafalgarLaw got a reaction from 3DStudio RD in Web Evion Antigua   
    La Compre al imbecil de Snookey y solo es la interfaz no viene completa ni siquiera con todas las funciones correctas, es base de cms la mierda

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
  23. Sorprendido
    TrafalgarLaw got a reaction from Mircea Vlad in Calendario (Eventos)   
    Funciona 100%, no tengo fotos en el telefono pero cuando entre ami computador les adjunto una foto del calendario
    Dentro del rar trae el tutorial, esta todo muy facil de entender.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    LINK ACTUALIZADO A UN CALENDARIO MEJOR
    si ya instalaron todo de la parte de python
    solo reemplazar en root el archivo uievent.py
  24. Me Gusta
    TrafalgarLaw got a reaction from barbera69 in Recursos TrafalgarLow 3-4 GB   
    Paquete De Recursos Recopilado por mucho tiempo. Disfrutenlo.
    Debes iniciar sesión para ver el contenido del enlace en esta publicación.  
    DEN +1, NO SEAN MAL AGRADECIDOS❤️

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
  25. Me Gusta
    TrafalgarLaw got a reaction from clocki in Panel PvP   
    Adjunto el Rar con el tutorial de instalacion dentro.

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

    Debes iniciar sesión para ver el contenido del archivo adjunto en esta publicación.
×
×
  • Crear nuevo...