shepher

Itens por Level

Sep 7th, 2012
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.68 KB | None | 0 0
  1. void ItensPerLevel(int clientid) {
  2.     st_Mob *player = (st_Mob*)GetMobFromIndex(clientid); char tmp[1024];
  3.     int slot = GetFirstSlotInBank(clientid, 0); bool Gain = false; int Type = -1;
  4.     if(slot == -1) {
  5.         SendClientMsg(clientid, "Você não possuía espaço no banco para receber o prêmio!");
  6.         return;
  7.     }
  8.     const WORD szItens[4][4][5] =
  9.     {
  10.         {
  11.             {1144, 1156, 1108, 1132, 1120},
  12.             {1171, 1174, 1162, 1168, 1164},
  13.             {1201, 1204, 1192, 1198, 1194}
  14.         },
  15.         {
  16.             {1294, 1306, 1258, 1282, 1270},
  17.             {1321, 1324, 1312, 1318, 1315},
  18.             {1336, 1339, 1327, 1333, 1330}
  19.         },
  20.         {
  21.             {1456, 1459, 1447, 1453, 1450},
  22.             {1471, 1474, 1462, 1468, 1465},
  23.             {1486, 1489, 1477, 1483, 1480}
  24.         },
  25.         {
  26.             {1591, 1594, 1582, 1588, 1585},
  27.             {1606, 1698, 1597, 1603, 1600},
  28.             {1621, 1624, 1612, 1618, 1615}
  29.         }
  30.     };
  31.     int lvl = player->bStatus.Level;
  32.     if(lvl == 29 || lvl == 34 || lvl == 39 || lvl == 44 || lvl == 49)
  33.         Type = 0;
  34.     else if(lvl == 59 || lvl == 64 || lvl == 69 || lvl == 74 || lvl == 79)
  35.         Type = 1;
  36.     else if(lvl == 89 || lvl == 94 || lvl == 99 || lvl == 104 || lvl == 109)
  37.         Type = 2;
  38.     else
  39.         Type = -1;
  40.     st_Item item;
  41.     if(Type != -1) {
  42.         if(lvl == 29 || lvl == 59 || lvl == 89) {
  43.             if(player->bStatus.STR + player->bStatus.DEX > player->bStatus.INT) {
  44.                 item.Index = szItens[player->ClassInfo][Type][0];   item.EF1 = 43;  item.EFV1 = 3;  item.EF2 = 2;
  45.                 item.EFV2 = 30; item.EF3 = 3; item.EFV3 = 30;
  46.             } else {
  47.                 item.Index = szItens[player->ClassInfo][Type][0]; item.EF1 = 43; item.EFV1 = 3; item.EF2 = 60;
  48.                 item.EFV2 = 10; item.EF3 = 3; item.EFV3 = 30;
  49.             }
  50.             Gain = true;
  51.         } else if(lvl == 34 || lvl == 64 || lvl == 94){
  52.             if(player->bStatus.STR + player->bStatus.DEX > player->bStatus.INT) {
  53.                 item.Index = szItens[player->ClassInfo][Type][1];   item.EF1 = 43;  item.EFV1 = 3;  item.EF2 = 2;
  54.                 item.EFV2 = 30; item.EF3 = 74; item.EFV3 = 18;
  55.             } else {
  56.                 item.Index = szItens[player->ClassInfo][Type][1]; item.EF1 = 43; item.EFV1 = 3; item.EF2 = 2;
  57.                 item.EFV2 = 24; item.EF3 = 60; item.EFV3 = 10;
  58.             }
  59.             Gain = true;
  60.         } else if((lvl == 39 || lvl == 69 || lvl == 99)) {
  61.             if(player->bStatus.STR + player->bStatus.DEX > player->bStatus.INT) {
  62.                 item.Index = szItens[player->ClassInfo][Type][2]; item.EF1 = 43;    item.EFV1 = 3;  item.EF2 = 26;
  63.                 item.EFV2 = 18; item.EF3 = 4; item.EFV3 = 50;
  64.             } else {
  65.                 item.Index = szItens[player->ClassInfo][Type][2]; item.EF1 = 43; item.EFV1 = 3; item.EF2 = 60;
  66.                 item.EFV2 = 12; item.EF3 = 3; item.EFV3 = 25;
  67.             }
  68.         } else if(lvl == 44 || lvl == 74 || lvl == 104) {
  69.             if(player->bStatus.STR + player->bStatus.DEX > player->bStatus.INT) {
  70.                 item.Index = szItens[player->ClassInfo][Type][3]; item.EF1 = 43; item.EFV1 = 3; item.EF2 = 2;
  71.                 item.EFV2 = 30; item.EF3 = 3; item.EFV3 = 30;
  72.             } else {
  73.                 item.Index = szItens[player->ClassInfo][Type][3]; item.EF1 = 43; item.EFV1 = 3; item.EF2 = 60;
  74.                 item.EFV2 = 10; item.EF3 = 3; item.EFV3 = 30;
  75.             }
  76.         } else if(lvl == 49 || lvl == 79 || lvl == 109) {
  77.             if(player->bStatus.STR + player->bStatus.DEX > player->bStatus.INT) {
  78.                 item.Index = szItens[player->ClassInfo][Type][4]; item.EF1 = 43; item.EFV1 = 3; item.EF2 = 2;
  79.                 item.EFV2 = 30; item.EF3 = 3; item.EFV3 = 30;
  80.             } else {
  81.                 item.Index = szItens[player->ClassInfo][Type][4]; item.EF1 = 43; item.EFV1 = 3; item.EF2 = 60;
  82.                 item.EFV2 = 10; item.EF3 = 3; item.EFV3 = 30;
  83.             }
  84.         }
  85.         Gain = true;
  86.     } else {
  87.         if(lvl == 149) {
  88.             memset(&item, 5, 8);
  89.             item.Index = 2367;
  90.             Gain = true;
  91.         } else if(lvl == 155) {
  92.             if(player->ClassInfo == 0)
  93.                 if(player->bStatus.STR + player->bStatus.DEX > player->bStatus.INT)
  94.                     item.Index = 2112, item.EF1 = 43, item.EFV1 = 0, item.EF2 = 2, item.EFV2 = 45;
  95.                 else
  96.                     item.Index = 2137, item.EF1 = 43, item.EFV1 = 0, item.EF2 = 60, item.EFV2 = 20;
  97.             else if(player->ClassInfo == 1)
  98.                 if(player->bStatus.STR + player->bStatus.DEX > player->bStatus.INT)
  99.                     item.Index = 2122, item.EF1 = 43, item.EFV1 = 0, item.EF2 = 2, item.EFV2 = 45;
  100.                 else
  101.                     item.Index = 2127, item.EF1 = 43, item.EFV1 = 0, item.EF2 = 60, item.EFV2 = 20;
  102.             else if(player->ClassInfo == 2)
  103.                 if(player->bStatus.STR + player->bStatus.DEX > player->bStatus.INT)
  104.                     item.Index = 2102, item.EF1 = 43, item.EFV1 = 0, item.EF2 = 2, item.EFV2 = 45;
  105.                 else
  106.                     item.Index = 2137, item.EF1 = 43, item.EFV1 = 0, item.EF2 = 60, item.EFV2 = 20;
  107.             else if(player->ClassInfo == 3)
  108.                 item.Index = 2132, item.EF1 = 43, item.EFV1 = 0, item.EF2 = 2, item.EFV2 = 45;
  109.             Gain = true;
  110.         }
  111.     }
  112.     if(Gain) {
  113.         p182(clientid, 2, slot, item);
  114.         sprintf(tmp, "!Chegou um item [%s]", GetItemName(item.Index));
  115.         SendClientMsg(clientid, tmp);
  116.         SetItemBank(clientid, slot, item);
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment