Jump to content

Burdavskyy

Newbie
  • Posts

    5
  • Joined

  • Last visited

  • Feedback

    0%

Burdavskyy's Achievements

Rookie

Rookie (2/16)

  • Week One Done
  • Dedicated
  • First Post
  • Conversation Starter
  • Reacting Well

Recent Badges

0

Reputation

  1. Hello everyone, I have a problem that when I change bonuses in an item, new ones will be added randomly, once I have 4, in a moment I have 3 and so on until it goes down to 0. my code char_item.cpp: 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; // DWORD dwLastChangeItemAttrMin = pPC->GetFlag(msc_szLastChangeItemAttrFlag); // if (dwLastChangeItemAttrMin + dwChangeItemAttrCycle > dwNowMin) // { // ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 바꾼지 %d분 이내에는 다시 변경할 수 없습니다.(%d 분 남음)"), // dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowMin - dwLastChangeItemAttrMin)); // return false; // } 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); } //item->SetCount(item->GetCount() - 1); break; and 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); } //item->SetCount(item->GetCount() - 1); } else { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("더이상 이 아이템을 이용하여 속성을 추가할 수 없습니다.")); } break;
  2. I thought these were errors because below the photo it said 35 error but I will post a new photo soon, maybe it will be clearer /edit sorry its no error its warning : @TheEqualizer but where i can find new game and db ? // EDIT v2 I fixed the problem, I was compiling in the wrong places! Thanks for your help buddy! can close thread
  3. but it doesn't compile for me and I don't have these files, maybe I can't find them, can you tell me where they are because I can't find anything
  4. Hello i use ULTHAR SF v2 and i want compile source but i have error like this : 1. 2. 3. someone can help me ?
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.