Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. #ifdef NEW_PET_SYSTEM
  2. if (item->GetVnum() == 55001)
  3. {
  4.  
  5. LPITEM item2;
  6.  
  7. if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
  8. return false;
  9.  
  10. if (item2->IsExchanging())
  11. return false;
  12.  
  13. if (item2->GetVnum() >= 55718 || item2->GetVnum() < 55701)
  14. return false;
  15.  
  16.  
  17. char szQuery1[1024];
  18. snprintf(szQuery1, sizeof(szQuery1), "SELECT duration FROM new_petsystem WHERE id = %lu LIMIT 1", item2->GetID());
  19. std::auto_ptr<SQLMsg> pmsg2(DBManager::instance().DirectQuery(szQuery1));
  20. if (pmsg2->Get()->uiNumRows > 0)
  21. {
  22. MYSQL_ROW row = mysql_fetch_row(pmsg2->Get()->pSQLResult);
  23. if (atoi(row[0]) > 0)
  24. {
  25. if (GetNewPetSystem()->IsActivePet())
  26. {
  27. ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You have to unsummon your pet first."));
  28. return false;
  29. }
  30.  
  31. DBManager::instance().DirectQuery("UPDATE new_petsystem SET duration =(tduration) WHERE id = %d", item2->GetID());
  32. ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Your Pet's life is now full."));
  33. }
  34. else
  35. {
  36. DBManager::instance().DirectQuery("UPDATE new_petsystem SET duration =(tduration/2) WHERE id = %d", item2->GetID());
  37. ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Your Pet's life is now restored."));
  38. }
  39. item->SetCount(item->GetCount() - 1);
  40. return true;
  41. }
  42. else
  43. return false;
  44. }
  45.  
  46. if (item->GetVnum() >= 55701 && item->GetVnum() <= 55718)
  47. {
  48. LPITEM item2;
  49.  
  50. if (item2 = GetItem(DestCell))
  51. {
  52. if (item2->GetVnum() == 55002)
  53. {
  54. if(item2->GetAttributeValue(0) > 0)
  55. {
  56. ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Cutia are deja un animalut inauntru."));
  57. }
  58. else if (item->GetAttributeValue(3) == 0)
  59. {
  60. ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Scoate animalutul din ou mai intai!"));
  61. return false;
  62. }
  63. else
  64. {
  65. if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
  66. return false;
  67.  
  68. if (item2->IsExchanging())
  69. return false;
  70.  
  71. if (GetNewPetSystem()->IsActivePet())
  72. {
  73. ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You have to unsummon your pet first."));
  74. return false;
  75. }
  76.  
  77. for (int b = 0; b < 3; b++)
  78. {
  79. item2->SetForceAttribute(b, 1, item->GetAttributeValue(b));
  80. }
  81.  
  82. item2->SetForceAttribute(3, 1, item->GetAttributeValue(3));
  83. item2->SetForceAttribute(4, 1, item->GetAttributeValue(4));
  84. //Pet Yas Bugu Fixi//
  85. item2->SetForceAttribute(5, 1, item->GetAttributeValue(5));
  86. //Pet Yas Bugu Fixi//
  87. DWORD vnum1 = item->GetVnum()-55700;
  88. item2->SetSocket(2, vnum1);
  89. item2->SetSocket(1, item->GetSocket(1));
  90. //ChatPacket(CHAT_TYPE_INFO, "Pet %d %d %d //// %d %d %d",item->GetAttributeValue(0),item->GetAttributeValue(1),item->GetAttributeValue(2),item2->GetAttributeValue(0),item2->GetAttributeValue(1),item2->GetAttributeValue(2));
  91. DBManager::instance().DirectQuery("UPDATE new_petsystem SET id =%d WHERE id = %d", item2->GetID(), item->GetID());
  92. ITEM_MANAGER::instance().RemoveItem(item);
  93. return true;
  94. }
  95. }
  96. }
  97. }
  98.  
  99. if (item->GetVnum() == 55002 && item->GetAttributeValue(0) > 0)
  100. {
  101.  
  102. int pos = GetEmptyInventory(item->GetSize());
  103. if(pos == -1)
  104. {
  105. ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Nu ai destul spatiu in inventar!"));
  106. return false;
  107. }
  108.  
  109. if (GetLevel() < item->GetSocket(1))
  110. {
  111. ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Nivelul animalutului mai mare decat nivelul tau"));
  112. return false;
  113. }
  114.  
  115. if (item->IsExchanging())
  116. return false;
  117. DWORD vnum2 = 55700+item->GetSocket(2);
  118. LPITEM item2 = AutoGiveItem(vnum2, 1);
  119. for (int b = 0; b < 3; b++)
  120. {
  121. item2->SetForceAttribute(b, 1, item->GetAttributeValue(b));
  122. }
  123. item2->SetForceAttribute(3, 1, item->GetAttributeValue(3));
  124. item2->SetForceAttribute(4, 1, item->GetAttributeValue(4));
  125. //Pet Yas Bugu Fixi//
  126. item2->SetForceAttribute(5, 1, item->GetAttributeValue(5));
  127. //Pet Yas Bugu Fixi//
  128. item2->SetSocket(1,item->GetSocket(1));
  129. //ChatPacket(CHAT_TYPE_INFO, "Pet1 %d %d %d",item->GetAttributeValue(0),item->GetAttributeValue(1),item->GetAttributeValue(2));
  130. DBManager::instance().DirectQuery("UPDATE new_petsystem SET id =%d WHERE id = %d", item2->GetID(), item->GetID());
  131. ITEM_MANAGER::instance().RemoveItem(item);
  132. return true;
  133.  
  134. }
  135. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement