SHARE
TWEET

krecik-xxx-masno-extender

a guest Sep 18th, 2019 85 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 0.0 Kopie sobie zróbcie w razie czego bo potem nie będę płaczu słuchać.
  2. 1.0 Source Server:
  3. common->service.h/CommonDefines.h
  4. #define ENABLE_COSTUME_TIME_EXTENDER
  5.  
  6.  
  7. common->item_length.h
  8. szukacie:
  9. (to powinno być 30 domyślnie, jezeli dodawaliście jakieś dodatkowe subtype'y to wiadomo dodajcie niżej)
  10.  
  11. USE_PUT_INTO_RING_SOCKET,
  12.  
  13. pod dodajecie:
  14.  
  15. #ifdef ENABLE_COSTUME_TIME_EXTENDER
  16. USE_TIME_EXTEND, //31
  17. #endif
  18.  
  19. db->ProtoReader.cpp
  20.  
  21. szukacie:
  22.  
  23. "USE_PUT_INTO_RING_SOCKET"
  24.  
  25. pod dodajecie:
  26. #ifdef ENABLE_COSTUME_TIME_EXTENDER
  27. ,"USE_TIME_EXTEND"
  28. #endif
  29.  
  30. game->char_item.cpp
  31. szukacie:
  32.  
  33.         if (item->GetVnum() >= 27863 && item->GetVnum() <= 27883)
  34.         {
  35.             if (CArenaManager::instance().IsArenaMap(GetMapIndex()) == true)
  36.             {
  37.                 ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´ë·Ă Áßżˇ´Â ŔĚżëÇŇ Ľö ľř´Â ą°Ç°ŔÔ´Ď´Ů."));
  38.                 return false;
  39.             }    
  40.         }
  41.        
  42.         if (test_server)
  43.         {
  44.             sys_log (0, "USE_ITEM %s Type %d SubType %d vnum %d", item->GetName(), item->GetType(), item->GetSubType(), item->GetOriginalVnum());
  45.         }
  46.         switch (item->GetSubType())
  47.         {
  48.  
  49. w tym switchu dopisujecie:
  50.  
  51. #ifdef ENABLE_COSTUME_TIME_EXTENDER
  52.     case USE_TIME_EXTEND:
  53.     {
  54.         LPITEM item2;
  55.         if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
  56.             return false; if (item2->GetType() != ITEM_COSTUME) return false;
  57.        
  58.        
  59.         #ifdef ENABLE_SASH_SYSTEM
  60.         if (item2->GetSubType() == COSTUME_SASH)
  61.             return false;
  62.         #endif
  63.        
  64.         //tutaj sobie dostosujcie czy chcecie też mounty wydłużać jeżeli macie w ogóle mounty zakładane do okienka kostiumów.
  65.         #ifdef ENABLE_COSTUME_MOUNT
  66.         if (item2->GetSubType() == COSTUME_MOUNT)
  67.             return false;
  68.         #endif
  69.  
  70.         if (item2->IsExchanging() || item2->IsEquipped())
  71.             return false;
  72.        
  73.         //ja potrzebowałem konwersje czasu na dni, także tutaj po prostu musicie podzielić na odpowiednią ilość czasu value, aby uzyskać prawidłową wartość. Czas w Value ustalimy, że w wpisujemy w sekundach czyli godzina to będzie 3600. Komunikat dostosujcie sobie sami.
  74.         int days = item->GetValue(0)/86400;
  75.         item2->SetSocket(0, item2->GetSocket(0) + item->GetValue(0));
  76.         char buf[21]; snprintf(buf, sizeof(buf), "%u", item2->GetID());
  77.         LogManager::instance().ItemLog(this, item, "USE_TIME_EXTEND", buf);
  78.         item->SetCount(item->GetCount() - 1);
  79.         ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You added time %d to your costume."), days);
  80.     }
  81.     break;
  82.     #endif
  83.  
  84. 1.1 Client Source
  85. GameLib->ItemData.h
  86. (upewnijcie sie że macie zaincludowane Locale_inc.h, jak nie to u samej góry dopisujecie: #include "../UserInterface/Locale_inc.h")
  87.  
  88. szukacie:
  89. USE_PUT_INTO_RING_SOCKET,
  90. pod dodajecie:
  91.  
  92. #ifdef ENABLE_COSTUME_TIME_EXTENDER
  93. USE_TIME_EXTEND, //31
  94. #endif
  95.  
  96. GameLib->ItemData.cpp
  97. szukacie:
  98.  
  99. case USE_PUT_INTO_RING_SOCKET:
  100.     return DEF_STR(USE_PUT_INTO_RING_SOCKET);
  101.  
  102. pod dodajecie:
  103.  
  104. #ifdef ENABLE_COSTUME_TIME_EXTENDER
  105.     case USE_TIME_EXTEND:
  106.         return DEF_STR(USE_TIME_EXTEND);
  107. #endif
  108.  
  109. UserInterface->Locale_inc.h
  110.  
  111. #define ENABLE_COSTUME_TIME_EXTENDER
  112.  
  113. 1.2 Client:
  114. root->uiinventory.py
  115. szukacie:
  116.  
  117. USE_TYPE_TUPLE =
  118.  
  119. dopisujecie tutaj na końcu:
  120.  
  121. ,"USE_TIME_EXTEND"
  122.  
  123. szukacie:
  124.  
  125.             elif "USE_PUT_INTO_ACCESSORY_SOCKET" == useType:                                
  126.                 if self.__CanPutAccessorySocket(dstSlotPos, srcItemVNum):
  127.                     return True
  128.  
  129. pod dodajecie:
  130.  
  131.             elif "USE_TIME_EXTEND" == useType:
  132.                 if self.__CanExtendCostume(dstSlotPos):
  133.                     return True
  134.  
  135. szukacie:
  136.  
  137.     def __CanPutAccessorySocket(self, dstSlotPos, mtrlVnum):
  138.         dstItemVNum = player.GetItemIndex(dstSlotPos)
  139.         if dstItemVNum == 0:
  140.             return False
  141.  
  142.         item.SelectItem(dstItemVNum)
  143.  
  144.         if item.GetItemType() != item.ITEM_TYPE_ARMOR:
  145.             return False
  146.  
  147.         if not item.GetItemSubType() in (item.ARMOR_WRIST, item.ARMOR_NECK, item.ARMOR_EAR):
  148.             return False
  149.  
  150.         curCount = player.GetItemMetinSocket(dstSlotPos, 0)
  151.         maxCount = player.GetItemMetinSocket(dstSlotPos, 1)
  152.  
  153.         if mtrlVnum != constInfo.GET_ACCESSORY_MATERIAL_VNUM(dstItemVNum, item.GetItemSubType()):
  154.             return False
  155.        
  156.         if curCount>=maxCount:
  157.             return False
  158.  
  159.         return True
  160.        
  161. pod dodajecie:
  162.  
  163.     def __CanExtendCostume(self, dstSlotPos):
  164.         itemVnum = player.GetItemIndex(dstSlotPos)
  165.  
  166.         if itemVnum == 0:
  167.             return False item.SelectItem(itemVnum)
  168.  
  169.         #tutaj w zależnosci czy macie system szarf/mountów sobie dodajcie
  170.         if app.ENABLE_SASH_SYSTEM:
  171.             if item.GetItemSubType == COSTUME_SASH:
  172.                 return False
  173.        
  174.         if app.ENABLE_COSTUME_MOUNT_SYSTEM:
  175.             if item.GetItemSubType == COSTUME_MOUNT:
  176.                 return False
  177.  
  178.         if item.GetItemType() != ITEM_COSTUME:
  179.             return False
  180.  
  181.         return True
  182.  
  183. 1.3 MySQL:
  184. Tworzycie przedmiot może być stackowalny w Value0 ustawiacie ile czasu ma dodawać w sekundach. Musi mieć Type 3 i SubType 31 (chyba że mieliście coś więcej w item_length.h)
  185.  
  186. 1.4 share->locale->xxx->locale_string.txt:
  187. "You added time %d to your costume.";
  188. "<Serwer> Czas kostiumu został wydłużony o: %d dni.";
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top