Jump to content
  • 0

Ayuda Con Objecto de Coaccion?


TheKing24

Pregunta

Hola alguien me ayudara donde cambio por c++ Objecto de coaccion infinito? me explico mi server files ya venia prederterminado que agregas infinito pero quiero quitarlo y consuma cada libro por cada bonus que agregas a cada arma y me gustaria que alguien me diga por favor no ignoren mi mensaje quiero saber e buscado en foros pero no consigo como quitarlo e visto donde esta el codigo pero no se quita ay otro codigo existente para quitarlo porfavor que alguien me ayude y gracias por leer!!!

 

image.png

Enlace para comentar
Compartir en otros sitios

13 respuestas a esta pregunta

Mensajes recomendados

  • 0

pues si usa otro código como 

#ifdef BLABLABLA_BLABLABLA simplemente coméntalo en Locale_inc.h o en CommonDefine.h y automáticamente se desactiva el sistema y vuelve a usar las líneas originales, si tiene otro código, pues copia simplemente esa parte de otros files que no tengan eso infinito.

Enlace para comentar
Compartir en otros sitios

  • 0
hace 22 horas, NazoX dijo:

pues si usa otro código como 

#ifdef BLABLABLA_BLABLABLA simplemente coméntalo en Locale_inc.h o en CommonDefine.h y automáticamente se desactiva el sistema y vuelve a usar las líneas originales, si tiene otro código, pues copia simplemente esa parte de otros files que no tengan eso infinito.

Gracias por comentar, pero como lo comento? o verifico ya intente copiar lineas de otro server files aun no sirven o no se si lo estoy cambiando mal

Enlace para comentar
Compartir en otros sitios

  • 0
hace 27 minutos, TheKing24 dijo:

Gracias por comentar, pero como lo comento? o verifico ya intente copiar lineas de otro server files aun no sirven o no se si lo estoy cambiando mal

Enseña una imagen del archivo y lo miramos. 

 

Enlace para comentar
Compartir en otros sitios

  • 0
hace 12 minutos, NazoX dijo:

Enseña una imagen del archivo y lo miramos. 

 

#define LOCALE_SERVICE_SINGAPORE
#define ENABLE_COSTUME_SYSTEM
#define ENABLE_ENERGY_SYSTEM
#define ENABLE_NEW_EQUIPMENT_SYSTEM	
#define ENABLE_SKILL_SELECT_FEATURE
#define ENABLE_AFTERDEATH_SHIELD
#define ENABLE_MINIMAP_WHITEMARK_NEW
#define ENABLE_CPP_PSM
#define __EXTENDED_SAFEBOX__
#define __EXPANDED_BOOK_NAME__
#define ENABLE_KINGDOMS_FLAG_DELETE
#define ENABLE_GRAPHIC_MODE	
#define ENABLE_FAST_CHEST_OPEN
#define ENABLE_EFFECT_SYSTEM
#define ENABLE_EXPANDED_BOOK_NAME
#define ENABLE_CRC32_CHECK
#define ENABLE_NEW_EXCHANGE_WINDOW
#define ENABLE_COSTUME_WEAPON_SYSTEM
#define ENABLE_MAXIMUM_LEVEL_2147483647
#define ENABLE_SAFEZONE_STOP_COLLISION
#define ENABLE_SEND_TARGET_INFO
#define ENABLE_STONE_MINIMAP
#define ENABLE_SASH_SYSTEM
#define ENABLE_MDE_EFFECT
#define ENABLE_VIEW_TARGET_PLAYER_HP
#define ENABLE_VIEW_TARGET_DECIMAL_HP
#define ENABLE_CHANGELOOK_SYSTEM
#define ENABLE_CUSTOM_TAG_SYSTEM
#define ENABLE_DROPDIALOG_DESTROY
#define ENABLE_SHOP_SEARCH
#define ENABLE_OFFLINE_SHOP
#define	ENABLE_FEATURES_REFINE_SYSTEM
#define ENABLE_TITLE_SYSTEM
#define ENABLE_MAINTENANCE_SYSTEM
#define ENABLE_LOCALIZATION_SYSTEM
#define TOURNAMENT_PVP_SYSTEM
#define ENABLE_BIOLOG_SYSTEM
#define ENABLE_ADMIN_BAN_MANAGER
#define ENABLE_COINS_INVENTORY
#define VERSION_162_ENABLED
#define ENABLE_PVP_ADVANCED
#define EQUIP_ENABLE_VIEW_SASH

#ifndef ENABLE_SHOW_LIDER_AND_GENERAL_GUILD
	#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD
	#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE1 "|cFFD45151|h[Maestro]|r - "
	#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE2 "|cFFCCCE0F|h[Oficial]|r - "
#endif

#define ENABLE_MELEY_LAIR_DUNGEON
#ifdef ENABLE_MELEY_LAIR_DUNGEON
	#define MELEY_LAIR_DUNGEON_STATUE 6118
#endif

ese es locale inc el CommonDefine.h no se donde esta

Enlace para comentar
Compartir en otros sitios

  • 0
hace 13 minutos, TheKing24 dijo:

#define LOCALE_SERVICE_SINGAPORE
#define ENABLE_COSTUME_SYSTEM
#define ENABLE_ENERGY_SYSTEM
#define ENABLE_NEW_EQUIPMENT_SYSTEM	
#define ENABLE_SKILL_SELECT_FEATURE
#define ENABLE_AFTERDEATH_SHIELD
#define ENABLE_MINIMAP_WHITEMARK_NEW
#define ENABLE_CPP_PSM
#define __EXTENDED_SAFEBOX__
#define __EXPANDED_BOOK_NAME__
#define ENABLE_KINGDOMS_FLAG_DELETE
#define ENABLE_GRAPHIC_MODE	
#define ENABLE_FAST_CHEST_OPEN
#define ENABLE_EFFECT_SYSTEM
#define ENABLE_EXPANDED_BOOK_NAME
#define ENABLE_CRC32_CHECK
#define ENABLE_NEW_EXCHANGE_WINDOW
#define ENABLE_COSTUME_WEAPON_SYSTEM
#define ENABLE_MAXIMUM_LEVEL_2147483647
#define ENABLE_SAFEZONE_STOP_COLLISION
#define ENABLE_SEND_TARGET_INFO
#define ENABLE_STONE_MINIMAP
#define ENABLE_SASH_SYSTEM
#define ENABLE_MDE_EFFECT
#define ENABLE_VIEW_TARGET_PLAYER_HP
#define ENABLE_VIEW_TARGET_DECIMAL_HP
#define ENABLE_CHANGELOOK_SYSTEM
#define ENABLE_CUSTOM_TAG_SYSTEM
#define ENABLE_DROPDIALOG_DESTROY
#define ENABLE_SHOP_SEARCH
#define ENABLE_OFFLINE_SHOP
#define	ENABLE_FEATURES_REFINE_SYSTEM
#define ENABLE_TITLE_SYSTEM
#define ENABLE_MAINTENANCE_SYSTEM
#define ENABLE_LOCALIZATION_SYSTEM
#define TOURNAMENT_PVP_SYSTEM
#define ENABLE_BIOLOG_SYSTEM
#define ENABLE_ADMIN_BAN_MANAGER
#define ENABLE_COINS_INVENTORY
#define VERSION_162_ENABLED
#define ENABLE_PVP_ADVANCED
#define EQUIP_ENABLE_VIEW_SASH

#ifndef ENABLE_SHOW_LIDER_AND_GENERAL_GUILD
	#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD
	#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE1 "|cFFD45151|h[Maestro]|r - "
	#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD_VALUE2 "|cFFCCCE0F|h[Oficial]|r - "
#endif

#define ENABLE_MELEY_LAIR_DUNGEON
#ifdef ENABLE_MELEY_LAIR_DUNGEON
	#define MELEY_LAIR_DUNGEON_STATUE 6118
#endif

ese es locale inc el CommonDefine.h no se donde esta

vale,  enseñame también el archivo donde has visto el código que mencionas

Enlace para comentar
Compartir en otros sitios

  • 0

Hola

Dudo que venga con un define ya que esa modificación es solo tocar una línea 🙂

Voy a ver si lo puedo explicar bien

 

Eso va por el lado del servidor

Te vas a char_item.cpp, este archivo describe la interacción entre entidades (personajes) e ítems.

Hay una clase muy importante llamada UseItemEx, que es cuando se le da clic derecho a un objeto para usarlo.

bool CHARACTER::UseItemEx(LPITEM item, TItemPos DestCell)

Como todos los ítems tienen una clasificación, y estos son los tipos y subtipos, ahí podemos guiarnos.

En el proto se ve en la línea del objeto de coacción el type ITEM_USE y el subtype USE_ADD_ATTRIBUTE.

image.png

Vamos de nuevo a char_item.cpp

y nos encontramos con esto:

image.png

La línea 

item->SetCount(item->GetCount() - 1);

seguramente la comentaron o la quitaron. Hay que revisarlo. Creo que se entiende, la cantidad de ese objeto disminuye en 1.

 

 

Enlace para comentar
Compartir en otros sitios

  • 0
hace 14 minutos, caanmasu dijo:

Hola

Dudo que venga con un define ya que esa modificación es solo tocar una línea 🙂

Voy a ver si lo puedo explicar bien

 

Eso va por el lado del servidor

Te vas a char_item.cpp, este archivo describe la interacción entre entidades (personajes) e ítems.

Hay una clase muy importante llamada UseItemEx, que es cuando se le da clic derecho a un objeto para usarlo.


bool CHARACTER::UseItemEx(LPITEM item, TItemPos DestCell)

Como todos los ítems tienen una clasificación, y estos son los tipos y subtipos, ahí podemos guiarnos.

En el proto se ve en la línea del objeto de coacción el type ITEM_USE y el subtype USE_ADD_ATTRIBUTE.

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

Vamos de nuevo a char_item.cpp

y nos encontramos con esto:

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

La línea 


item->SetCount(item->GetCount() - 1);

seguramente la comentaron o la quitaron. Hay que revisarlo. Creo que se entiende, la cantidad de ese objeto disminuye en 1.

 

 

Puede ser como dices, me base en un define porque el dice o me dio a entender que había código remplazado  "pero no se quita ay otro codigo existente para quitarlo"

por eso pensé quizás en el 6-7 del oficial o algo similar, una vez descartásemos eso, procederíamos a tu comentario aún así se agradece que te me hayas adelantado! quizás le sirva a alguien más <.<

Enlace para comentar
Compartir en otros sitios

  • 0
hace 7 minutos, NazoX dijo:

Puede ser como dices, me base en un define porque el dice o me dio a entender que había código remplazado  "pero no se quita ay otro codigo existente para quitarlo"

por eso pensé quizás en el 6-7 del oficial o algo similar, una vez descartásemos eso, procederíamos a tu comentario aún así se agradece que te me hayas adelantado! quizás le sirva a alguien más <.<

Sí, es que no sé, su mensaje es confuso, no le entiendo bien xD

Esos files se ven muy tocados, no sé qué tan complicado sea trabajar donde otros pusieron la mano sin saber cómo modificaron las cosas.

Hice mi aporte :v como si tuviera unos files vírgenes.

Bueno hace parte del trabajo ayudar en cuanto uno puede.

Saludos NazoX!

Enlace para comentar
Compartir en otros sitios

  • 0
En 6/6/2022 a las 15:21, caanmasu dijo:

Hola

Dudo que venga con un define ya que esa modificación es solo tocar una línea 🙂

Voy a ver si lo puedo explicar bien

 

Eso va por el lado del servidor

Te vas a char_item.cpp, este archivo describe la interacción entre entidades (personajes) e ítems.

Hay una clase muy importante llamada UseItemEx, que es cuando se le da clic derecho a un objeto para usarlo.


bool CHARACTER::UseItemEx(LPITEM item, TItemPos DestCell)

Como todos los ítems tienen una clasificación, y estos son los tipos y subtipos, ahí podemos guiarnos.

En el proto se ve en la línea del objeto de coacción el type ITEM_USE y el subtype USE_ADD_ATTRIBUTE.

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

Vamos de nuevo a char_item.cpp

y nos encontramos con esto:

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

La línea 


item->SetCount(item->GetCount() - 1);

seguramente la comentaron o la quitaron. Hay que revisarlo. Creo que se entiende, la cantidad de ese objeto disminuye en 1.

 

 

Quote

                    case USE_ADD_ATTRIBUTE:
                    case USE_ADD_ATTRIBUTE2:
                        {
                            LPITEM item2;
                            if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
                                return false;

                            if (item2->IsEquipped())
                            {
                                BuffOnAttr_RemoveBuffsFromItem(item2);
                            }

                            // [NOTE] 코스튬 아이템에는 아이템 최초 생성시 랜덤 속성을 부여하되, 재경재가 등등은 막아달라는 요청이 있었음.
                            // 원래 ANTI_CHANGE_ATTRIBUTE 같은 아이템 Flag를 추가하여 기획 레벨에서 유연하게 컨트롤 할 수 있도록 할 예정이었으나
                            // 그딴거 필요없으니 닥치고 빨리 해달래서 그냥 여기서 막음... -_-
                            if (ITEM_COSTUME == item2->GetType())
                            {
                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
                                return false;
                            }

                            if (item2->IsExchanging())
                                return false;

                            if (item2->IsEquipped())
                                return false;

                            switch (item->GetSubType())
                            {
                                case USE_CLEAN_SOCKET:
                                    {
                                        int i;
                                        for (i = 0; i < ITEM_SOCKET_MAX_NUM; ++i)
                                        {
                                            if (item2->GetSocket(i) == ITEM_BROKEN_METIN_VNUM)
                                                break;
                                        }

                                        if (i == ITEM_SOCKET_MAX_NUM)
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("청소할 석이 박혀있지 않습니다."));
                                            return false;
                                        }

                                        int j = 0;

                                        for (i = 0; i < ITEM_SOCKET_MAX_NUM; ++i)
                                        {
                                            if (item2->GetSocket(i) != ITEM_BROKEN_METIN_VNUM && item2->GetSocket(i) != 0)
                                                item2->SetSocket(j++, item2->GetSocket(i));
                                        }

                                        for (; j < ITEM_SOCKET_MAX_NUM; ++j)
                                        {
                                            if (item2->GetSocket(j) > 0)
                                                item2->SetSocket(j, 1);
                                        }

                                        {
                                            char buf[21];
                                            snprintf(buf, sizeof(buf), "%u", item2->GetID());
                                            LogManager::instance().ItemLog(this, item, "CLEAN_SOCKET", buf);
                                        }

                                        item->SetCount(item->GetCount() - 1);

                                    }
                                    break;

                                case USE_CHANGE_ATTRIBUTE :
                                    if (item2->GetAttributeSetIndex() == -1)
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
                                        return false;
                                    }

                                    if (item2->GetAttributeCount() == 0)
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("변경할 속성이 없습니다."));
                                        return false;
                                    }

                                    if (GM_PLAYER == GetGMLevel() && false == test_server)
                                    {
                                        //
                                        // Event Flag 를 통해 이전에 아이템 속성 변경을 한 시간으로 부터 충분한 시간이 흘렀는지 검사하고
                                        // 시간이 충분히 흘렀다면 현재 속성변경에 대한 시간을 설정해 준다.
                                        //

                                        DWORD dwChangeItemAttrCycle = quest::CQuestManager::instance().GetEventFlag(msc_szChangeItemAttrCycleFlag);
                                        if (dwChangeItemAttrCycle < msc_dwDefaultChangeItemAttrCycle)
                                            dwChangeItemAttrCycle = msc_dwDefaultChangeItemAttrCycle;

                                        quest::PC* pPC = quest::CQuestManager::instance().GetPC(GetPlayerID());

                                        if (pPC)
                                        {
                                            DWORD dwNowMin = get_global_time() / 60;
                                         
                                            //Comment for 0 switch players start
                                            //DWORD dwLastChangeItemAttrMin = pPC->GetFlag(msc_szLastChangeItemAttrFlag);
                                         
                                            //if (dwLastChangeItemAttrMin + dwChangeItemAttrCycle > dwNowMin)
                                            //{
                                                //ChatPacket(CHAT_TYPE_INFO, LC_TEXT("L?sR?aU?U지 %ds?REl??는 ??A sZ?? L?lr?R??.(%d s?l?R?)"),
                                                    //dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowMin - dwLastChangeItemAttrMin));
                                                //return false;
                                                //}
                                            //Comment for 0 switch players end
                                         
                                            pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowMin);
                                            }
                                        }

                                    if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
                                    {
                                        int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] = 
                                        {
                                            0, 0, 30, 40, 3
                                        };

                                        item2->ChangeAttribute(aiChangeProb);
                                    }
                                    else if (item->GetVnum() == 76014)
                                    {
                                        int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] = 
                                        {
                                            0, 10, 50, 39, 1
                                        };

                                        item2->ChangeAttribute(aiChangeProb);
                                    }

                                    else
                                    {
                                        // 연재경 특수처리
                                        // 절대로 연재가 추가 안될거라 하여 하드 코딩함.
                                        if (item->GetVnum() == 71151 || item->GetVnum() == 76023)
                                        {
                                            if ((item2->GetType() == ITEM_WEAPON)
                                                || (item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY))
                                            {
                                                bool bCanUse = true;
                                                for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
                                                {
                                                    if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
                                                    {
                                                        bCanUse = false;
                                                        break;
                                                    }
                                                }
                                                if (false == bCanUse)
                                                {
                                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("적용 레벨보다 높아 사용이 불가능합니다."));
                                                    break;
                                                }
                                            }
                                            else
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("무기와 갑옷에만 사용 가능합니다."));
                                                break;
                                            }
                                        }
                                        item2->ChangeAttribute();
                                    }

                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경하였습니다."));
                                    {
                                        char buf[21];
                                        snprintf(buf, sizeof(buf), "%u", item2->GetID());
                                        LogManager::instance().ItemLog(this, item, "CHANGE_ATTRIBUTE", buf);
                                    }
                                    
                                    if (VRAJESTE_PERMANENT == false)
                                    {
                                        item->SetCount(item->GetCount() - 1);
                                        break;
                                    }   
                                    else
                                    {
                                        break;
                                    }      
                                    break;

                                case USE_ADD_ATTRIBUTE :
                                    if (item2->GetAttributeSetIndex() == -1)
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
                                        return false;
                                    }

                                    if (item2->GetAttributeCount() < 4)
                                    {
                                        // 연재가 특수처리
                                        // 절대로 연재가 추가 안될거라 하여 하드 코딩함.
                                        if (item->GetVnum() == 71152 || item->GetVnum() == 76024)
                                        {
                                            if ((item2->GetType() == ITEM_WEAPON)
                                                || (item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY))
                                            {
                                                bool bCanUse = true;
                                                for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
                                                {
                                                    if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
                                                    {
                                                        bCanUse = false;
                                                        break;
                                                    }
                                                }
                                                if (false == bCanUse)
                                                {
                                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("적용 레벨보다 높아 사용이 불가능합니다."));
                                                    break;
                                                }
                                            }
                                            else
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("무기와 갑옷에만 사용 가능합니다."));
                                                break;
                                            }
                                        }
                                        char buf[21];
                                        snprintf(buf, sizeof(buf), "%u", item2->GetID());

                                        if (number(1, 100) <= aiItemAttributeAddPercent[item2->GetAttributeCount()])
                                        {
                                            item2->AddAttribute();
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 성공하였습니다."));

                                            int iAddedIdx = item2->GetAttributeCount() - 1;
                                            LogManager::instance().ItemLog(
                                                    GetPlayerID(), 
                                                    item2->GetAttributeType(iAddedIdx),
                                                    item2->GetAttributeValue(iAddedIdx),
                                                    item->GetID(), 
                                                    "ADD_ATTRIBUTE_SUCCESS",
                                                    buf,
                                                    GetDesc()->GetHostName(),
                                                    item->GetOriginalVnum());
                                        }
                                        else
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 실패하였습니다."));
                                            LogManager::instance().ItemLog(this, item, "ADD_ATTRIBUTE_FAIL", buf);
                                        }
                                    }
                                    else
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("더이상 이 아이템을 이용하여 속성을 추가할 수 없습니다."));
                                    }
                                    if (INTARIRE_PERMANENT == false)
                                    {
                                        item->SetCount(item->GetCount() - 1);
                                        break;
                                    }
                                    break;

                                case USE_ADD_ATTRIBUTE2 :
                                    // 축복의 구슬 
                                    // 재가비서를 통해 속성을 4개 추가 시킨 아이템에 대해서 하나의 속성을 더 붙여준다.
                                    if (item2->GetAttributeSetIndex() == -1)
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
                                        return false;
                                    }

                                    // 속성이 이미 4개 추가 되었을 때만 속성을 추가 가능하다.
                                    if (item2->GetAttributeCount() == 4)
                                    {
                                        char buf[21];
                                        snprintf(buf, sizeof(buf), "%u", item2->GetID());

                                        if (number(1, 100) <= aiItemAttributeAddPercent[item2->GetAttributeCount()])
                                        {
                                            item2->AddAttribute();
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 성공하였습니다."));

                                            int iAddedIdx = item2->GetAttributeCount() - 1;
                                            LogManager::instance().ItemLog(
                                                    GetPlayerID(),
                                                    item2->GetAttributeType(iAddedIdx),
                                                    item2->GetAttributeValue(iAddedIdx),
                                                    item->GetID(),
                                                    "ADD_ATTRIBUTE2_SUCCESS",
                                                    buf,
                                                    GetDesc()->GetHostName(),
                                                    item->GetOriginalVnum());
                                        }
                                        else
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 실패하였습니다."));
                                            LogManager::instance().ItemLog(this, item, "ADD_ATTRIBUTE2_FAIL", buf);
                                        }
                                    }
                                    else if (item2->GetAttributeCount() == 5)
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("더 이상 이 아이템을 이용하여 속성을 추가할 수 없습니다."));
                                    }
                                    else if (item2->GetAttributeCount() < 4)
                                    {
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("먼저 재가비서를 이용하여 속성을 추가시켜 주세요."));
                                    }
                                    else
                                    {
                                        // wtf ?!
                                        sys_err("ADD_ATTRIBUTE2 : Item has wrong AttributeCount(%d)", item2->GetAttributeCount());
                                    }
                                    if (MARMURA_PERMANENT == false)
                                    {
                                        item->SetCount(item->GetCount() - 1);
                                        break;
                                    }
                                    break;

                                case USE_ADD_ACCESSORY_SOCKET:
                                    {
                                        char buf[21];
                                        snprintf(buf, sizeof(buf), "%u", item2->GetID());

                                        if (item2->IsAccessoryForSocket())
                                        {
                                            if (item2->GetAccessorySocketMaxGrade() < ITEM_ACCESSORY_SOCKET_MAX_NUM)
                                            {
                                                if (number(1, 100) <= 100)
                                                {
                                                    item2->SetAccessorySocketMaxGrade(item2->GetAccessorySocketMaxGrade() + 1);
                                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("소켓이 성공적으로 추가되었습니다."));
                                                    LogManager::instance().ItemLog(this, item, "ADD_SOCKET_SUCCESS", buf);
                                                }

                                                item->SetCount(item->GetCount() - 1);
                                            }
                                            else
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이 액세서리에는 더이상 소켓을 추가할 공간이 없습니다."));
                                            }
                                        }
                                        else
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이 아이템으로 소켓을 추가할 수 없는 아이템입니다."));
                                        }
                                    }
                                    break;

gracias bro pero no consigo o veo algo diferente esta es la fuente me dices cual es el error?

Enlace para comentar
Compartir en otros sitios

  • 0
hace 25 minutos, TheKing24 dijo:

gracias bro pero no consigo o veo algo diferente esta es la fuente me dices cual es el error?

                                    if (INTARIRE_PERMANENT == false)
                                    {
                                        item->SetCount(item->GetCount() - 1);
                                        break;
                                    }
                                    break;

Ahí está el problema. Ellos usan una variable llamada INTARIRE_PERMANENT. Si dejas esa variable en false, se va a descontar el objeto.

La otra sería borrar ese if, o sea, dejar solo:
 

                                    item->SetCount(item->GetCount() - 1);
                                    break;

 

Enlace para comentar
Compartir en otros sitios

  • 0
hace 15 minutos, caanmasu dijo:

                                    if (INTARIRE_PERMANENT == false)
                                    {
                                        item->SetCount(item->GetCount() - 1);
                                        break;
                                    }
                                    break;

Ahí está el problema. Ellos usan una variable llamada INTARIRE_PERMANENT. Si dejas esa variable en true, se va a descontar el objeto.

La otra sería borrar ese if, o sea, dejar solo:
 


                                    item->SetCount(item->GetCount() - 1);
                                    break;

 

muchas gracias bro voy  a probar cual de ambos me funciona

Enlace para comentar
Compartir en otros sitios

  • 0
hace 46 minutos, caanmasu dijo:

                                    if (INTARIRE_PERMANENT == false)
                                    {
                                        item->SetCount(item->GetCount() - 1);
                                        break;
                                    }
                                    break;

Ahí está el problema. Ellos usan una variable llamada INTARIRE_PERMANENT. Si dejas esa variable en false, se va a descontar el objeto.

La otra sería borrar ese if, o sea, dejar solo:
 


                                    item->SetCount(item->GetCount() - 1);
                                    break;

 

gracias bro si funciono pueden cerrar el post mil gracias!

Enlace para comentar
Compartir en otros sitios

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.

Guest
Responder esta pregunta...

×   Has pegado contenido con formato .   Eliminar formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incorporado automáticamente.   Mostrar un enlace en su lugar

×   Se ha restaurado el contenido anterior. .   Borrar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...