1. CommonDefines.h veya service.h içerisine ekleyiniz.
  2. #define ENABLE_WEAPON_KILL_SYSTEM
  3. char.cpp içerisinde
  4. }
  5. void CHARACTER::Create
  6. //Aratın
  7. #ifdef ENABLE_WEAPON_KILL_SYSTEM
  8. MaraKillList.clear();
  9. #endif
  10. // Üzerine ekleyiniz.
  11. char.h içerisinde
  12. bool DragonSoul_RefineWindow_CanRefine();
  13. //Aratın
  14. #ifdef ENABLE_WEAPON_KILL_SYSTEM
  15. public:
  16. std::map<DWORD, DWORD> MaraKillList;
  17. #endif
  18. //Altına ekleyin.
  19. char_battle.cpp içerisinde
  20. //Aratın
  21. ClearAffect(true);
  22. if (pkKiller && IsPC())
  23. {
  24. if (!pkKiller->IsPC())
  25. {
  26. if (!isForked)
  27. {
  28. sys_log(1, "DEAD: %s %p WITH PENALTY", GetName(), this);
  29. SET_BIT(m_pointsInstant.instant_flag, INSTANT_FLAG_DEATH_PENALTY);
  30. LogManager::instance().CharLog(this, pkKiller->GetRaceNum(), "DEAD_BY_NPC", pkKiller->GetName());
  31. }
  32. }
  33. else
  34. {
  35. // Altına Ekle
  36. #ifdef ENABLE_WEAPON_KILL_SYSTEM
  37. LPITEM item = pkKiller->GetWear(WEAR_WEAPON);
  38. if (item)
  39. {
  40. if (item->GetType() == ITEM_WEAPON)
  41. {
  42. std::map<DWORD, DWORD>::iterator MaraKillerIterator;
  43. MaraKillerIterator = pkKiller->MaraKillList.find(GetPlayerID());
  44. bool MaraReturn = true;
  45. if (MaraKillerIterator != pkKiller->MaraKillList.end())
  46. if (MaraKillerIterator->second + (60 * 60) > time(0))
  47. MaraReturn = false;
  48. if (MaraReturn)
  49. {
  50. const TPlayerItemAttribute& attrItem = item->GetAttribute(7);
  51. item->SetForceAttribute(7, 0, attrItem.sValue + 1);
  52. pkKiller->MaraKillList[GetPlayerID()] = time(0);
  53. }
  54. else
  55. {
  56. pkKiller->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Bu rakip'den les puani zaten aldin 1 saat beklemelisin."));
  57. }
  58. }
  59. }
  60. #endif
  61. locale_string.txt içerisine ekle
  62. "Bu rakip'den les puani zaten aldin 1 saat beklemelisin.";
  63. "Bu rakip'den leş puanı zaten aldın 1 saat beklemelisin.";
  64. Locale_inc.h içerisine
  65. #define ENABLE_WEAPON_KILL_SYSTEM
  66. // Ekle
  67. PythonApplicationModule.cpp içerisine
  68. #ifdef ENABLE_WEAPON_KILL_SYSTEM
  69. PyModule_AddIntConstant(poModule, "ENABLE_WEAPON_KILL_SYSTEM", 1);
  70. #else
  71. PyModule_AddIntConstant(poModule, "ENABLE_WEAPON_KILL_SYSTEM", 0);
  72. #endif
  73. // Ekle
  74. uitooltip.py içerisinde
  75. ## ºÎäÀÏ °æ¿ì ¸¶°øÀ» ¸ÕÀú Ç¥½ÃÇÑ´Ù.
  76. if item.WEAPON_FAN == itemSubType:
  77. self.__AppendMagicAttackInfo()
  78. self.__AppendAttackPowerInfo()
  79. else:
  80. self.__AppendAttackPowerInfo()
  81. self.__AppendMagicAttackInfo()
  82. self.__AppendAffectInformation()
  83. self.__AppendAttributeInformation(attrSlot)
  84. // Arat
  85. if app.ENABLE_WEAPON_KILL_SYSTEM:
  86. if item.ITEM_TYPE_WEAPON == item.GetItemType() and not item.WEAPON_ARROW == item.GetItemSubType() and not item.WEAPON_QUIVER == item.GetItemSubType():
  87. self.AppendKill(attrSlot)
  88. // Altına ekle
  89. def __DragonSoulInfoString (self, dwVnum):
  90. // Arat
  91. if app.ENABLE_WEAPON_KILL_SYSTEM:
  92. def AppendKill(self, attrSlot):
  93. if 0 != attrSlot:
  94. self.AppendTextLine(localeInfo.lessystem % (attrSlot[7][1]), 0xffFF0000)
  95. // Üzerine ekle
  96. locale_game.txt içerisine
  97. lessystem = [Leş Sayısı: %s]
  98. // Ekle