shepher

Replations 7.54

Apr 13th, 2012
350
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 14.59 KB | None | 0 0
  1. void Classes(int clientid, int SrcSlot, int DstSlot, int warp)
  2. {
  3.     st_Mob *player = (st_Mob*)GetMobFromIndex(clientid);
  4.     char tmp[1024];
  5.     int cHora = PInt(0x00A5EA418);
  6.     int cMin = PInt(0x00A5EA414);
  7.     int cSeg = PInt(0x00A5EA410);
  8.     int add_dn[] = {18, 24, 30, 18, 30, 24, 24, 30, 18, 18, 24, 18, 18, 24}; // 14
  9.     int add_crit[] = {50, 60, 70, 50, 50, 60 ,70, 60, 60, 50, 60, 50, 70, 50}; // 14
  10.     int add_mag[] = {6, 8, 10, 6, 8, 10, 8, 8, 6, 6, 8, 10, 8}; // 14
  11.     int add_helm_mag[] = {6, 8, 12, 12, 8 ,6 ,12, 8 ,8, 6, 8, 8, 12, 6}; // 14
  12.     int add_def[] = {20, 25, 30, 20, 25, 25, 20, 30, 20, 20, 25, 30, 20, 25}; // 14
  13.     int add_hp [] = {30, 40, 50, 30, 30, 40, 50, 40, 50, 30, 40, 50, 40, 30}; // 14
  14.     int add_aprendiz[] = {12, 15, 18, 12, 15, 12, 18, 15, 18, 15, 12, 18, 15, 15}; // 14
  15.     srand(time(NULL) * cHora * cMin / cSeg + ((cSeg + rand() % 100) * cHora));
  16.     int tipo_add = rand() % 100;
  17.     if(GetItemADDInventory(clientid, DstSlot, 43) <= 6)
  18.     {
  19.         if(tipo_add <= 60)
  20.         { // Dano
  21.             int type = GetItemType(clientid, player->Inventory[DstSlot].Index);
  22.             srand(time(NULL) * (cHora / cMin + cSeg + ((cMin + rand() % 100 - cSeg) / cHora)) * rand()%200-150);
  23.             if(type == 3021) // Elmo
  24.             {   // Elmo - 0 = HP  -  1 = DEF   - 2 = MG
  25.                 int addef_1 = rand() % 60 - 0;
  26.                 if(addef_1 <= 20)
  27.                     player->Inventory[DstSlot].EF2 = 4;
  28.                 if(addef_1 > 20 && addef_1 <= 40)
  29.                     player->Inventory[DstSlot].EF2 = 3;
  30.                 if(addef_1 > 40)
  31.                     player->Inventory[DstSlot].EF2 = 60;
  32.                 srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
  33.                 int addefv_1 = rand() % 13 - 0;
  34.                 if(addef_1 <= 20)
  35.                     player->Inventory[DstSlot].EFV2 = add_hp[addefv_1];
  36.                 if(addef_1 > 20 && addef_1 <= 40)
  37.                     player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
  38.                 if(addef_1 > 40)
  39.                     player->Inventory[DstSlot].EFV2 = add_helm_mag[addefv_1];
  40.                 srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
  41.                 int addef_2 = rand() % 60 - 0;
  42.                 if(addef_2 <= 20)
  43.                     player->Inventory[DstSlot].EF3 = 4;
  44.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  45.                     player->Inventory[DstSlot].EF3 = 0;
  46.                 if(addef_2 > 20 && addef_2 <= 40)
  47.                     player->Inventory[DstSlot].EF3 = 3;
  48.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  49.                     player->Inventory[DstSlot].EF3 = 0;
  50.                 if(addef_2 > 40)
  51.                     player->Inventory[DstSlot].EF3 = 60;
  52.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  53.                     player->Inventory[DstSlot].EF3 = 0;
  54.                 srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
  55.                 int addefv_2 = rand() % 13 - 0;
  56.                 if(addef_2 <= 20)
  57.                     player->Inventory[DstSlot].EFV3 = add_hp[addefv_2];
  58.                 if(addef_2 > 20 && addef_2 <= 40)
  59.                     player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
  60.                 if(addef_2 > 40)
  61.                     player->Inventory[DstSlot].EFV3 = add_helm_mag[addefv_2];
  62.                 player->Inventory[SrcSlot].Index = 0;
  63.                 SendAll(clientid);
  64.                 SendEffect(3,0x0E,clientid);
  65.             } else if(type == 3022 || type == 3023)
  66.             { // PEITO  0 = DEF   1 = CRIT   2 = DANO
  67.                 int addef_1 = rand() % 60 - 0;
  68.                 if(addef_1 <= 20)
  69.                     player->Inventory[DstSlot].EF2 = 3;
  70.                 if(addef_1 > 20 && addef_1 <= 40)
  71.                     player->Inventory[DstSlot].EF2 = 42;
  72.                 if(addef_1 > 40)
  73.                     player->Inventory[DstSlot].EF2 = 2;
  74.                 srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
  75.                 int addefv_1 = rand() % 13 - 0;
  76.                 if(addef_1 <= 20)
  77.                     player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
  78.                 if(addef_1 > 20 && addef_1 <= 40)
  79.                     player->Inventory[DstSlot].EFV2 = add_crit[addefv_1];
  80.                 if(addef_1 > 40)
  81.                     player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
  82.                 srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
  83.                 int addef_2 = rand() % 60 - 0;
  84.                 if(addef_2 <= 20)
  85.                     player->Inventory[DstSlot].EF3 = 3;
  86.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  87.                     player->Inventory[DstSlot].EF3 = 0;
  88.                 if(addef_2 > 20 && addef_2 <= 40)
  89.                     player->Inventory[DstSlot].EF3 = 42;
  90.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  91.                     player->Inventory[DstSlot].EF3 = 0;
  92.                 if(addef_2 > 40)
  93.                     player->Inventory[DstSlot].EF3 = 2;
  94.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  95.                     player->Inventory[DstSlot].EF3 = 0;
  96.                 srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
  97.                 int addefv_2 = rand() % 13 - 0;
  98.                 if(addef_2 <= 20 && player->Inventory[DstSlot].EF3 != 0)
  99.                     player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
  100.                 if(addef_2 > 20 && addef_2 <= 40 && player->Inventory[DstSlot].EF3 != 0)
  101.                     player->Inventory[DstSlot].EFV3 = add_crit[addefv_2];
  102.                 if(addef_2 > 40 && player->Inventory[DstSlot].EF3 != 0)
  103.                     player->Inventory[DstSlot].EFV3 = add_dn[addefv_2];
  104.                 player->Inventory[SrcSlot].Index = 0;
  105.                 SendAll(clientid);
  106.                 SendEffect(3,0x0E,clientid);
  107.             } else if(type == 3024)
  108.             { // LUVA  0 = DEF  1 = DANO  2 = SKILL
  109.                 int addef_1 = rand() % 60 - 0;
  110.                 if(addef_1 <= 20)
  111.                     player->Inventory[DstSlot].EF2 = 3;
  112.                 if(addef_1 > 20 && addef_1 <= 40)
  113.                     player->Inventory[DstSlot].EF2 = 2;
  114.                 if(addef_1 > 40)
  115.                     player->Inventory[DstSlot].EF2 = 74;
  116.                 srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
  117.                 int addefv_1 = rand() % 13 - 0;
  118.                 if(addef_1 <= 20)
  119.                     player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
  120.                 if(addef_1 > 20 && addef_1 <= 40)
  121.                     player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
  122.                 if(addef_1 > 40)
  123.                     player->Inventory[DstSlot].EFV2 = add_aprendiz[addefv_1];
  124.                 srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
  125.                 int addef_2 = rand() % 60 - 0;
  126.                 if(addef_2 <= 20)
  127.                     player->Inventory[DstSlot].EF3 = 3;
  128.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  129.                     player->Inventory[DstSlot].EF3 = 0;
  130.                 if(addef_2 > 20 && addef_2 <= 40)
  131.                     player->Inventory[DstSlot].EF3 = 2;
  132.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  133.                     player->Inventory[DstSlot].EF3 = 0;
  134.                 if(addef_2 > 40)
  135.                     player->Inventory[DstSlot].EF3 = 74;
  136.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  137.                     player->Inventory[DstSlot].EF3 = 0;
  138.                 if(player->Inventory[DstSlot].EF2 == 74 && player->Inventory[DstSlot].EF3 == 74)
  139.                 {  
  140.                     player->Inventory[DstSlot].EF2 = 3;
  141.                     addef_2 = 20; }
  142.                 if(player->Inventory[DstSlot].EF2 == 3 && player->Inventory[DstSlot].EF3 == 3)
  143.                 {
  144.                     player->Inventory[DstSlot].EF2 = 74;
  145.                     addef_2 = 60;
  146.                 }
  147.                 if((player->Inventory[DstSlot].EF2 == 2 && player->Inventory[DstSlot].EF3 == 74) ||
  148.                     (player->Inventory[DstSlot].EF2 == 74 && player->Inventory[DstSlot].EF3 == 2))
  149.                 {
  150.                     player->Inventory[DstSlot].EF2 = 2;
  151.                     player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
  152.                     player->Inventory[DstSlot].EF3 = 3;
  153.                     addef_2 = 45;
  154.                 }
  155.                 if(player->Inventory[DstSlot].EF2 == 2 && player->Inventory[DstSlot].EF3 == 2)
  156.                 {
  157.                     player->Inventory[DstSlot].EF3 = 3;
  158.                     addef_2 = 45;
  159.                 }
  160.                 srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
  161.                 int addefv_2 = rand() % 13 - 0;
  162.                 if(addef_2 <= 20 && player->Inventory[DstSlot].EF3 != 0)
  163.                     player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
  164.                 if(addef_2 > 20 && addef_2 <= 40 && player->Inventory[DstSlot].EF3 != 0)
  165.                     player->Inventory[DstSlot].EFV3 = add_dn[addefv_2];
  166.                 if(addef_2 > 40 && player->Inventory[DstSlot].EF3 != 0)
  167.                     player->Inventory[DstSlot].EFV3 = add_aprendiz[addefv_2];
  168.                 player->Inventory[SrcSlot].Index = 0;
  169.                 SendAll(clientid);
  170.                 SendEffect(3,0x0E,clientid);
  171.             } else if(type == 3025)
  172.             { // BOTA 0
  173.                 srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
  174.                 int addefv_1 = rand() % 13 - 0;
  175.                 player->Inventory[DstSlot].EF2 = 2;
  176.                 player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
  177.                 srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
  178.                 int addefv_2 = rand() % 13 - 0;
  179.                 player->Inventory[DstSlot].EF3 = 60;
  180.                 player->Inventory[DstSlot].EFV3 = add_mag[addefv_2];
  181.                 player->Inventory[SrcSlot].Index = 0;
  182.                 player->Inventory[SrcSlot].Index = 0;
  183.                 player->Inventory[SrcSlot].Index = 0;
  184.                 SendAll(clientid);
  185.                 SendEffect(3,0x0E,clientid);
  186.             }
  187.         } else if(tipo_add > 60)
  188.         {
  189.             int type = GetItemType(clientid, player->Inventory[DstSlot].Index);
  190.             srand(time(NULL) * (cSeg * cSeg + cMin + cMin + ((cHora + rand() % 100 - cHora) / cMin)) * rand()%200-160);
  191.             if(type == 3021) // Elmo
  192.             {   // Elmo - 0 = HP  -  1 = DEF   - 2 = MG
  193.                 int addef_1 = rand() % 60 - 0;
  194.                 if(addef_1 <= 20)
  195.                     player->Inventory[DstSlot].EF2 = 4;
  196.                 if(addef_1 > 20 && addef_1 <= 40)
  197.                     player->Inventory[DstSlot].EF2 = 3;
  198.                 if(addef_1 > 40)
  199.                     player->Inventory[DstSlot].EF2 = 60;
  200.                 srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
  201.                 int addefv_1 = rand() % 13 - 0;
  202.                 if(addef_1 <= 20)
  203.                     player->Inventory[DstSlot].EFV2 = add_hp[addefv_1];
  204.                 if(addef_1 > 20 && addef_1 <= 40)
  205.                     player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
  206.                 if(addef_1 > 40)
  207.                     player->Inventory[DstSlot].EFV2 = add_helm_mag[addefv_1];
  208.                 srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
  209.                 int addef_2 = rand() % 60 - 0;
  210.                 if(addef_2 <= 20)
  211.                     player->Inventory[DstSlot].EF3 = 4;
  212.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  213.                     player->Inventory[DstSlot].EF3 = 0;
  214.                 if(addef_2 > 20 && addef_2 <= 40)
  215.                     player->Inventory[DstSlot].EF3 = 3;
  216.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  217.                     player->Inventory[DstSlot].EF3 = 0;
  218.                 if(addef_2 > 40)
  219.                     player->Inventory[DstSlot].EF3 = 60;
  220.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  221.                     player->Inventory[DstSlot].EF3 = 0;
  222.                 srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
  223.                 int addefv_2 = rand() % 13 - 0;
  224.                 if(addef_2 <= 20)
  225.                     player->Inventory[DstSlot].EFV3 = add_hp[addefv_2];
  226.                 if(addef_2 > 20 && addef_2 <= 40)
  227.                     player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
  228.                 if(addef_2 > 40)
  229.                     player->Inventory[DstSlot].EFV3 = add_helm_mag[addefv_2];
  230.                 player->Inventory[SrcSlot].Index = 0;
  231.                 SendAll(clientid);
  232.                 SendEffect(3,0x0E,clientid);
  233.             } else if(type == 3022 || type == 3023)
  234.             { // PEITO  0 = DEF   1 = 60
  235.                 int addef_1 = rand() % 40 - 0;
  236.                 if(addef_1 <= 20)
  237.                     player->Inventory[DstSlot].EF2 = 3;
  238.                 if(addef_1 > 20 && addef_1 <= 40)
  239.                     player->Inventory[DstSlot].EF2 = 60;
  240.                 srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
  241.                 int addefv_1 = rand() % 13 - 0;
  242.                 if(addef_1 <= 20)
  243.                     player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
  244.                 if(addef_1 > 20 && addef_1 <= 40)
  245.                     player->Inventory[DstSlot].EFV2 = add_mag[addefv_1];
  246.                 srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
  247.                 int addef_2 = rand() % 40 - 0;
  248.                 if(player->Inventory[DstSlot].EF2 == 3)
  249.                 {
  250.                     player->Inventory[DstSlot].EF3 = 60;
  251.                     addef_2 = 40;
  252.                 } else if(player->Inventory[DstSlot].EF2 == 60)
  253.                 {
  254.                     player->Inventory[DstSlot].EF3 = 3;
  255.                     addef_2 = 10;
  256.                 }
  257.                 srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
  258.                 int addefv_2 = rand() % 13 - 0;
  259.                 if(addef_2 <= 20 && player->Inventory[DstSlot].EF3 != 0)
  260.                     player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
  261.                 if(addef_2 > 20 && addef_2 <= 40 && player->Inventory[DstSlot].EF3 != 0)
  262.                     player->Inventory[DstSlot].EFV3 = add_mag[addefv_2];
  263.                 player->Inventory[SrcSlot].Index = 0;;
  264.                 SendAll(clientid);
  265.                 SendEffect(3,0x0E,clientid);
  266.             } else if(type == 3024)
  267.             { // LUVA  0 = DEF  1 = DANO  2 = SKILL
  268.                 int addef_1 = rand() % 40 - 0;
  269.                 if(addef_1 <= 20)
  270.                     player->Inventory[DstSlot].EF2 = 3;
  271.                 if(addef_1 > 20 && addef_1 <= 40)
  272.                     player->Inventory[DstSlot].EF2 = 60;
  273.                 srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
  274.                 int addefv_1 = rand() % 13 - 0;
  275.                 if(addef_1 <= 20)
  276.                     player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
  277.                 if(addef_1 > 20 && addef_1 <= 40)
  278.                     player->Inventory[DstSlot].EFV2 = add_mag[addefv_1];
  279.                 srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
  280.                 int addef_2 = rand() % 40 - 0;
  281.                 if(addef_2 <= 20)
  282.                     player->Inventory[DstSlot].EF3 = 3;
  283.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  284.                     player->Inventory[DstSlot].EF3 = 0;
  285.                 if(addef_2 > 20 && addef_2 <= 40)
  286.                     player->Inventory[DstSlot].EF3 = 60;
  287.                 if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
  288.                     player->Inventory[DstSlot].EF3 = 0;
  289.                 if(player->Inventory[DstSlot].EF2 == 3 && player->Inventory[DstSlot].EF3 == 3)
  290.                 {
  291.                     player->Inventory[DstSlot].EF2 = 60;
  292.                     addef_2 = 40;
  293.                 }
  294.                 if((player->Inventory[DstSlot].EF2 == 60 && player->Inventory[DstSlot].EF3 == 0))
  295.                 {
  296.                     player->Inventory[DstSlot].EF3 = 3;
  297.                     addef_2 = 15;
  298.                 }
  299.                 if((player->Inventory[DstSlot].EF2 == 3 && player->Inventory[DstSlot].EF3 == 0))
  300.                 {
  301.                     player->Inventory[DstSlot].EF3 = 60;
  302.                     addef_2 = 40;
  303.                 }
  304.                 if(player->Inventory[DstSlot].EF2 == 60 && player->Inventory[DstSlot].EF3 == 60)
  305.                 {
  306.                     player->Inventory[DstSlot].EF3 = 3;
  307.                     player->Inventory[DstSlot].EFV3 = add_def[addefv_1];
  308.                 }
  309.                 srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
  310.                 int addefv_2 = rand() % 13 - 0;
  311.                 if(addef_2 <= 20 && player->Inventory[DstSlot].EF3 != 0)
  312.                     player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
  313.                 if(addef_2 > 20 && addef_2 <= 40 && player->Inventory[DstSlot].EF3 != 0)
  314.                     player->Inventory[DstSlot].EFV3 = add_mag[addefv_2];
  315.                 player->Inventory[SrcSlot].Index = 0;
  316.                 SendAll(clientid);
  317.                 SendEffect(3,0x0E,clientid);
  318.             } else if(type == 3025)
  319.             { // BOTA 0
  320.                 srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
  321.                 int addefv_1 = rand() % 13 - 0;
  322.                 player->Inventory[DstSlot].EF2 = 2;
  323.                 player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
  324.                 srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
  325.                 int addefv_2 = rand() % 13 - 0;
  326.                 player->Inventory[DstSlot].EF3 = 74;
  327.                 player->Inventory[DstSlot].EFV3 = add_aprendiz[addefv_2];
  328.                 player->Inventory[SrcSlot].Index = 0;
  329.                 SendAll(clientid);
  330.                 SendEffect(3,0x0E,clientid);
  331.             }
  332.         }
  333.     } else {
  334.         SendClientMsg(clientid, "Apenas para itens até +6");
  335.         SendAll(clientid);
  336.         return;
  337.     }
  338. }
Advertisement
Add Comment
Please, Sign In to add comment