Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.06 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include "Functions.h"
  3.  
  4. int32_t Func::Shany_CompareItem(char* str, STRUCT_ITEM* item, int32_t loopIndex)
  5. {
  6.     auto amount = BASE_GetItemAmount(item);
  7.  
  8.     if (loopIndex >= 0 && loopIndex <= 1)
  9.     {
  10.         if (item->Index == 3448)
  11.         {
  12.             if (amount < 10)
  13.             {
  14.                 sprintf_s(str, 256, "Necessário Pacote de Lackterion com 10 unidades.");
  15.                 return 2;
  16.             }
  17.             return 1;
  18.         }
  19.     }
  20.     return 0;
  21. }
  22. char* Func::ReadMessage(char* pMsg, int32_t pSize)
  23. {
  24.     auto header = reinterpret_cast<MSG_STANDARD*>(pMsg);
  25.  
  26.  
  27.     return pMsg;
  28. }
  29. bool Func::SetItemPriceString(STRUCT_ITEM* item, char* str)
  30. {
  31.     /*switch (item->Index)
  32.     {
  33.     case 9999:
  34.         sprintf(str, "Almas necessárias: %d", GetItemPrice(item->Index));
  35.         return true;
  36.     }*/
  37.     return false;
  38. }
  39. int32_t Func::AddItemSanc(STRUCT_ITEM* item, char* str)
  40. {
  41.     auto ret = BASE_GetItemAmount(item);
  42.     if (ret > 0)
  43.         sprintf(str, "%d", ret);
  44.     else
  45.     {
  46.         ret = BASE_GetItemSanc(item);
  47.  
  48.         if (ret > 10)
  49.         {
  50.             if (ret >= 10 && ret < 14)
  51.                 ret = 10;
  52.             else if (ret >= 14 && ret < 18)
  53.                 ret = 11;
  54.             else if (ret >= 18 && ret < 22)
  55.                 ret = 12;
  56.             else if (ret >= 22 && ret < 26)
  57.                 ret = 13;
  58.             else if (ret >= 26 && ret < 30)
  59.                 ret = 14;
  60.             else if (ret >= 30 && ret < 34)
  61.                 ret = 15;
  62.         }
  63.         sprintf(str, "+%d", ret);
  64.     }
  65.     return ret;
  66. }
  67. bool Func::AddAmountItem(int32_t itemID)
  68. {
  69.     /*switch (itemID)
  70.     {
  71.     case 9999:
  72.         return true;
  73.     }*/
  74.     return false;
  75. }
  76. int32_t Func::AddVolatileMessageItem(int32_t itemID)
  77. {
  78.     switch (itemID)
  79.     {
  80.     case 5401:
  81.     case 5402:
  82.     case 5403:
  83.         return 1;
  84.     }
  85.     return 0;
  86. }
  87. bool Func::SetVolatileMessageBoxText(int32_t itemID, char* text)
  88. {
  89.     auto toRoman = [](uint32_t i) -> const char* {
  90.         if (i == 1) return "I";
  91.         else if (i == 2) return "II";
  92.         else if (i == 3) return "III";
  93.         else if (i == 4) return "IV";
  94.         else if (i == 5) return "V";
  95.         else if (i == 6) return "VI";
  96.         else if (i == 7) return "VII";
  97.         else if (i == 8) return "VIII";
  98.         else if (i == 9) return "IX";
  99.         else if (i == 10) return "X";
  100.         else return "Undefined";
  101.     };
  102.     if (itemID >= 5401 && itemID <= 5403)
  103.     {
  104.         sprintf(text, "Quest Iniciante %s: Deseja continuar?", toRoman((itemID - 5400) + 1));
  105.         return true;
  106.     }
  107.     return false;
  108. }
  109. int32_t Func::AddItemDescription(STRUCT_ITEM* item, char* line1, char* line2, char* line3, char* line4, DWORD* line1Color, DWORD* line2Color, DWORD* line3Color, DWORD* line4Color)
  110. {
  111.     /*
  112.     switch(item->Index)
  113.     {
  114.     case 9999:
  115.        
  116.         return 5;
  117.     }
  118.     */
  119.     return 0;
  120. }
  121. enum Costumes
  122. {
  123.     Valquiria = 1,
  124.     Esqueleto,
  125.     Romano,
  126.     Kalintz_M,
  127.     Kalintz_F,
  128.     Draco,
  129.     Bruxa,
  130.     RedSanta,
  131.     WhiteSanta,
  132.     Purple_Rudolph = 0xD,
  133.     Blue_Rudolph,
  134.     White_Police,
  135.     Black_Police,
  136.     Blindness,
  137.     Deafness,
  138.     Hanbok,
  139.     Rabbit_Girl,
  140.     ST_Set,
  141.     Kingdom_Red,
  142.     Kingdom_Blue,
  143.     Gandi,
  144.     Odin,
  145.     Rabbit,
  146.     Dancing_Girl,
  147.     Feudal,
  148.     Oriental,
  149.     Plant,
  150.     Succubus,
  151.     Oriental_F,
  152.     Elegant,
  153.     Dosa,
  154.     Feudal_F,
  155. };
  156. void Func::AddIndex(int32_t index, int32_t* value)
  157. {
  158.     switch (index)
  159.     {
  160.     case 4188: *value = RedSanta;
  161.         break;
  162.     case 4161:
  163.     case 4187: *value = Purple_Rudolph;
  164.         break;
  165.  
  166.     case 4162:  *value = Blue_Rudolph;
  167.         break;
  168.  
  169.     case 4163: *value = White_Police;
  170.         break;
  171.  
  172.     case 4164: *value = Black_Police;
  173.         break;
  174.  
  175.     case 4165: *value = Blindness;
  176.         break;
  177.  
  178.     case 4166: *value = Deafness;
  179.         break;
  180.  
  181.     case 4167: *value = Hanbok;
  182.         break;
  183.  
  184.     case 4168: *value = Rabbit_Girl;
  185.         break;
  186.  
  187.     case 4169:
  188.     case 4170: *value = ST_Set;
  189.         break;
  190.  
  191.     case 4171: *value = Kingdom_Red;
  192.         break;
  193.     case 4172: *value = Kingdom_Blue;
  194.         break;
  195.  
  196.     case 4173:
  197.     case 4186: *value = Gandi;
  198.         break;
  199.  
  200.     case 4174:
  201.     case 4185: *value = Odin;
  202.         break;
  203.  
  204.     case 4175: *value = Dancing_Girl;
  205.         break;
  206.  
  207.     case 4176: *value = Rabbit;
  208.         break;
  209.  
  210.     case 4177: *value = Oriental;
  211.         break;
  212.  
  213.     case 4178: *value = Feudal;
  214.         break;
  215.  
  216.     case 4179: *value = Feudal_F;
  217.         break;
  218.  
  219.     case 4183: *value = Elegant;
  220.         break;
  221.  
  222.     case 4180: *value = Plant;
  223.         break;
  224.  
  225.     case 4181: *value = Succubus;
  226.         break;
  227.  
  228.     case 4182: *value = Oriental_F;
  229.         break;
  230.  
  231.     case 4184:
  232.     case 4150: *value = Dosa;
  233.         break;
  234.     default:
  235.         break;
  236.     }
  237. }
  238. void Func::CorrectBone(int32_t index, int32_t* bone)
  239. {
  240.     switch (index)
  241.     {
  242.     case Valquiria:
  243.     case Bruxa:
  244.     case Romano:
  245.     case Kalintz_F:
  246.     case Purple_Rudolph:
  247.     case Blue_Rudolph:
  248.     case White_Police:
  249.     case Black_Police:
  250.     case Deafness:
  251.     case Rabbit_Girl:
  252.     case Rabbit:
  253.     case Dancing_Girl:
  254.     case Oriental:
  255.     case Plant:
  256.     case Succubus:
  257.     case Oriental_F:
  258.     case Elegant:
  259.     case Hanbok:
  260.     case Feudal_F:
  261.         *bone = 0x1;
  262.         break;
  263.  
  264.     case Draco:
  265.     case Esqueleto:
  266.     case Kalintz_M:
  267.     case Feudal:
  268.     case Kingdom_Blue:
  269.     case Kingdom_Red:
  270.     case Dosa:
  271.     case Blindness:
  272.     case ST_Set:
  273.     case Gandi:
  274.     case Odin:
  275.         *bone = 0x0;
  276.         break;
  277.  
  278.     default:
  279.         break;
  280.     }
  281. }
  282. void Func::LoadFile(int32_t index, char* textureName, char* meshName)
  283. {
  284.     auto loadCostume = [textureName, meshName](char* texture, char* msh1, char* msh2, char* msh3, char* msh4, char* msh5, char* msh6)
  285.     {
  286.         auto counter = reinterpret_cast<int32_t*>(0x5EEECC);
  287.  
  288.         strcpy(textureName, texture);
  289.  
  290.         switch (*counter)
  291.         {
  292.         case 1:
  293.             strcpy(meshName, msh1); *counter = 2;
  294.             break;
  295.         case 2:
  296.             strcpy(meshName, msh2); *counter = 3;
  297.             break;
  298.         case 3:
  299.             strcpy(meshName, msh3); *counter = 4;
  300.             break;
  301.         case 4:
  302.             strcpy(meshName, msh4); *counter = 5;
  303.             break;
  304.         case 5:
  305.             strcpy(meshName, msh5); *counter = 6;
  306.             break;
  307.         case 6:
  308.             strcpy(meshName, msh6); *counter = 1;
  309.             break;
  310.         }
  311.     };
  312.  
  313.     switch (index)
  314.     {
  315.     case Purple_Rudolph:
  316.         loadCostume("mesh\\PurpleRudol.wyt", "mesh\\ch020194.msh", "mesh\\ch020294.msh", "mesh\\ch020394.msh", "mesh\\ch020494.msh", "mesh\\ch020594.msh", "mesh\\ch020694.msh");
  317.         break;
  318.     case Blue_Rudolph:
  319.         loadCostume("mesh\\BlueRudol.wyt", "mesh\\ch020194.msh", "mesh\\ch020294.msh", "mesh\\ch020394.msh", "mesh\\ch020494.msh", "mesh\\ch020594.msh", "mesh\\ch020694.msh");
  320.         break;
  321.     case White_Police:
  322.         loadCostume("mesh\\WhitePolice.wyt", "mesh\\ch020195.msh", "mesh\\ch020295.msh", "mesh\\ch020395.msh", "mesh\\ch020495.msh", "mesh\\ch020595.msh", "mesh\\ch020695.msh");
  323.         break;
  324.     case Black_Police:
  325.         loadCostume("mesh\\BlackPolice.wyt", "mesh\\ch020195.msh", "mesh\\ch020295.msh", "mesh\\ch020395.msh", "mesh\\ch020495.msh", "mesh\\ch020595.msh", "mesh\\ch020695.msh");
  326.         break;
  327.     case Blindness:
  328.         loadCostume("mesh\\DeathCos2.wyt", "mesh\\ch010189.msh", "mesh\\ch010289.msh", "mesh\\ch010389.msh", "mesh\\ch010489.msh", "mesh\\ch010589.msh", "mesh\\ch010689.msh");
  329.         break;
  330.     case Deafness:
  331.         loadCostume("mesh\\DeathCos.wyt", "mesh\\ch020189.msh", "mesh\\ch020289.msh", "mesh\\ch020389.msh", "mesh\\ch020489.msh", "mesh\\ch020589.msh", "mesh\\ch020689.msh");
  332.         break;
  333.     case Dosa:
  334.         loadCostume("mesh\\ch010199.wyt", "mesh\\ch010199.msh", "mesh\\ch010299.msh", "mesh\\ch010399.msh", "mesh\\ch010499.msh", "mesh\\ch010599.msh", "mesh\\ch010699.msh");
  335.         break;
  336.     case Hanbok:
  337.         loadCostume("mesh\\ch0101100.wys", "mesh\\ch0101100.msh", "mesh\\ch0102100.msh", "mesh\\ch0103100.msh", "mesh\\ch0104100.msh", "mesh\\ch0105100.msh", "mesh\\ch0106100.msh");
  338.         break;
  339.     case Rabbit_Girl:
  340.         loadCostume("mesh\\ch0101101.wys", "mesh\\ch0101101.msh", "mesh\\ch0102101.msh", "mesh\\ch0103101.msh", "mesh\\ch0104101.msh", "mesh\\ch0105101.msh", "mesh\\ch0106101.msh");
  341.         break;
  342.     case ST_Set:
  343.         loadCostume("mesh\\ch0101102.wyt", "mesh\\ch0101102.msh", "mesh\\ch0102102.msh", "mesh\\ch0103102.msh", "mesh\\ch0104102.msh", "mesh\\ch0105102.msh", "mesh\\ch0106102.msh");
  344.         break;
  345.     case Kingdom_Red:
  346.         loadCostume("mesh\\ch0101103.wyt", "mesh\\ch0101103.msh", "mesh\\ch0102103.msh", "mesh\\ch0103103.msh", "mesh\\ch0104103.msh", "mesh\\ch0105103.msh", "mesh\\ch0105103.msh");
  347.         break;
  348.     case Kingdom_Blue:
  349.         loadCostume("mesh\\ch0102103.wyt", "mesh\\ch0101103.msh", "mesh\\ch0102103.msh", "mesh\\ch0103103.msh", "mesh\\ch0104103.msh", "mesh\\ch0105103.msh", "mesh\\ch0105103.msh");
  350.         break;
  351.     case Gandi:
  352.         loadCostume("mesh\\ch0101104.wyt", "mesh\\ch0101104.msh", "mesh\\ch0102104.msh", "mesh\\ch0103104.msh", "mesh\\ch0104104.msh", "mesh\\ch0105104.msh", "mesh\\ch0106104.msh");
  353.         break;
  354.     case Odin:
  355.         loadCostume("mesh\\ch0101106.wyt", "mesh\\ch0101106.msh", "mesh\\ch0102106.msh", "mesh\\ch0103106.msh", "mesh\\ch0104106.msh", "mesh\\ch0105106.msh", "mesh\\ch0106106.msh");
  356.         break;
  357.     case Rabbit:
  358.         loadCostume("mesh\\ch0101107.wyt", "mesh\\ch0101107.msh", "mesh\\ch0102107.msh", "mesh\\ch0103107.msh", "mesh\\ch0104107.msh", "mesh\\ch0105107.msh", "mesh\\ch0106107.msh");
  359.         break;
  360.     case Oriental:
  361.         loadCostume("mesh\\ch0101108.wyt", "mesh\\ch0101108.msh", "mesh\\ch0102108.msh", "mesh\\ch0103108.msh", "mesh\\ch0104108.msh", "mesh\\ch0105108.msh", "mesh\\ch0106108.msh");
  362.         break;
  363.     case Feudal:
  364.         loadCostume("mesh\\ch0101109.wyt", "mesh\\ch0101109.msh", "mesh\\ch0102109.msh", "mesh\\ch0103109.msh", "mesh\\ch0104109.msh", "mesh\\ch0105109.msh", "mesh\\ch0106109.msh");
  365.         break;
  366.     case Dancing_Girl:
  367.         loadCostume("mesh\\ch0101105.wyt", "mesh\\ch0101105.msh", "mesh\\ch0102105.msh", "mesh\\ch0103105.msh", "mesh\\ch0104105.msh", "mesh\\ch0105105.msh", "mesh\\ch0106105.msh");
  368.         break;
  369.     case Feudal_F:
  370.         loadCostume("mesh\\ch0101110.wyt", "mesh\\ch0101110.msh", "mesh\\ch0102110.msh", "mesh\\ch0103110.msh", "mesh\\ch0104110.msh", "mesh\\ch0105110.msh", "mesh\\ch0106110.msh");
  371.         break;
  372.     case Plant:
  373.         loadCostume("mesh\\ch0101111.wyt", "mesh\\ch0101111.msh", "mesh\\ch0102111.msh", "mesh\\ch0103111.msh", "mesh\\ch0104111.msh", "mesh\\ch0105111.msh", "mesh\\ch0106111.msh");
  374.         break;
  375.     case Succubus:
  376.         loadCostume("mesh\\ch0101112.wyt", "mesh\\ch0101112.msh", "mesh\\ch0102112.msh", "mesh\\ch0103112.msh", "mesh\\ch0104112.msh", "mesh\\ch0105112.msh", "mesh\\ch0106112.msh");
  377.         break;
  378.     case Oriental_F:
  379.         loadCostume("mesh\\ch0101113.wyt", "mesh\\ch0101113.msh", "mesh\\ch0102113.msh", "mesh\\ch0103113.msh", "mesh\\ch0104113.msh", "mesh\\ch0105113.msh", "mesh\\ch0106113.msh");
  380.         break;
  381.     case Elegant:
  382.         loadCostume("mesh\\ch0101114.wyt", "mesh\\ch0101114.msh", "mesh\\ch0102114.msh", "mesh\\ch0103114.msh", "mesh\\ch0104114.msh", "mesh\\ch0105114.msh", "mesh\\ch0106114.msh");
  383.         break;
  384.  
  385.     default:
  386.         break;
  387.     }
  388. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement