unkzinho 16 Posted August 30, 2016 Boas.Queria pedir se alguém expriente nisto, poderia me fazer uma quest em que consiste :Rodar infinito, que 1 rodar seja infinito tipo a quest das capas inifnitas, mas queria um rodar xD Share this post Link to post Share on other sites
BackDooR 4 Posted August 30, 2016 Boas. Queria pedir se alguém expriente nisto, poderia me fazer uma quest em que consiste : Rodar infinito, que 1 rodar seja infinito tipo a quest das capas inifnitas, mas queria um rodar xD Já experimentas-te usar a quest de capas infinitas e mudar apenas o id do item em uso na quest? Share this post Link to post Share on other sites
'PACI 2,317 Posted August 30, 2016 Não dá por quest Share this post Link to post Share on other sites
unkzinho 16 Posted August 30, 2016 Não dá por quest Source? Share this post Link to post Share on other sites
Witness 87 Posted August 30, 2016 Como O Pacificador disse não da para isso com Quest Terás de usar a source, e Não é Algo Muito Complicado Vais em char_item.cpp Procuras Por : 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; e Apagas ou Comentas a Linha : item->SetCount(item->GetCount() - 1); Share this post Link to post Share on other sites