Advertisement
Guest User

krecik-xxx-masno-extender

a guest
Sep 18th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.06 KB | None | 0 0
  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.";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement