Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Classes(int clientid, int SrcSlot, int DstSlot, int warp)
- {
- st_Mob *player = (st_Mob*)GetMobFromIndex(clientid);
- char tmp[1024];
- int cHora = PInt(0x00A5EA418);
- int cMin = PInt(0x00A5EA414);
- int cSeg = PInt(0x00A5EA410);
- int add_dn[] = {18, 24, 30, 18, 30, 24, 24, 30, 18, 18, 24, 18, 18, 24}; // 14
- int add_crit[] = {50, 60, 70, 50, 50, 60 ,70, 60, 60, 50, 60, 50, 70, 50}; // 14
- int add_mag[] = {6, 8, 10, 6, 8, 10, 8, 8, 6, 6, 8, 10, 8}; // 14
- int add_helm_mag[] = {6, 8, 12, 12, 8 ,6 ,12, 8 ,8, 6, 8, 8, 12, 6}; // 14
- int add_def[] = {20, 25, 30, 20, 25, 25, 20, 30, 20, 20, 25, 30, 20, 25}; // 14
- int add_hp [] = {30, 40, 50, 30, 30, 40, 50, 40, 50, 30, 40, 50, 40, 30}; // 14
- int add_aprendiz[] = {12, 15, 18, 12, 15, 12, 18, 15, 18, 15, 12, 18, 15, 15}; // 14
- srand(time(NULL) * cHora * cMin / cSeg + ((cSeg + rand() % 100) * cHora));
- int tipo_add = rand() % 100;
- if(GetItemADDInventory(clientid, DstSlot, 43) <= 6)
- {
- if(tipo_add <= 60)
- { // Dano
- int type = GetItemType(clientid, player->Inventory[DstSlot].Index);
- srand(time(NULL) * (cHora / cMin + cSeg + ((cMin + rand() % 100 - cSeg) / cHora)) * rand()%200-150);
- if(type == 3021) // Elmo
- { // Elmo - 0 = HP - 1 = DEF - 2 = MG
- int addef_1 = rand() % 60 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EF2 = 4;
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EF2 = 3;
- if(addef_1 > 40)
- player->Inventory[DstSlot].EF2 = 60;
- srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
- int addefv_1 = rand() % 13 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EFV2 = add_hp[addefv_1];
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
- if(addef_1 > 40)
- player->Inventory[DstSlot].EFV2 = add_helm_mag[addefv_1];
- srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
- int addef_2 = rand() % 60 - 0;
- if(addef_2 <= 20)
- player->Inventory[DstSlot].EF3 = 4;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(addef_2 > 20 && addef_2 <= 40)
- player->Inventory[DstSlot].EF3 = 3;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(addef_2 > 40)
- player->Inventory[DstSlot].EF3 = 60;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
- int addefv_2 = rand() % 13 - 0;
- if(addef_2 <= 20)
- player->Inventory[DstSlot].EFV3 = add_hp[addefv_2];
- if(addef_2 > 20 && addef_2 <= 40)
- player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
- if(addef_2 > 40)
- player->Inventory[DstSlot].EFV3 = add_helm_mag[addefv_2];
- player->Inventory[SrcSlot].Index = 0;
- SendAll(clientid);
- SendEffect(3,0x0E,clientid);
- } else if(type == 3022 || type == 3023)
- { // PEITO 0 = DEF 1 = CRIT 2 = DANO
- int addef_1 = rand() % 60 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EF2 = 3;
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EF2 = 42;
- if(addef_1 > 40)
- player->Inventory[DstSlot].EF2 = 2;
- srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
- int addefv_1 = rand() % 13 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EFV2 = add_crit[addefv_1];
- if(addef_1 > 40)
- player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
- srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
- int addef_2 = rand() % 60 - 0;
- if(addef_2 <= 20)
- player->Inventory[DstSlot].EF3 = 3;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(addef_2 > 20 && addef_2 <= 40)
- player->Inventory[DstSlot].EF3 = 42;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(addef_2 > 40)
- player->Inventory[DstSlot].EF3 = 2;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
- int addefv_2 = rand() % 13 - 0;
- if(addef_2 <= 20 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
- if(addef_2 > 20 && addef_2 <= 40 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_crit[addefv_2];
- if(addef_2 > 40 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_dn[addefv_2];
- player->Inventory[SrcSlot].Index = 0;
- SendAll(clientid);
- SendEffect(3,0x0E,clientid);
- } else if(type == 3024)
- { // LUVA 0 = DEF 1 = DANO 2 = SKILL
- int addef_1 = rand() % 60 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EF2 = 3;
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EF2 = 2;
- if(addef_1 > 40)
- player->Inventory[DstSlot].EF2 = 74;
- srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
- int addefv_1 = rand() % 13 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
- if(addef_1 > 40)
- player->Inventory[DstSlot].EFV2 = add_aprendiz[addefv_1];
- srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
- int addef_2 = rand() % 60 - 0;
- if(addef_2 <= 20)
- player->Inventory[DstSlot].EF3 = 3;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(addef_2 > 20 && addef_2 <= 40)
- player->Inventory[DstSlot].EF3 = 2;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(addef_2 > 40)
- player->Inventory[DstSlot].EF3 = 74;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(player->Inventory[DstSlot].EF2 == 74 && player->Inventory[DstSlot].EF3 == 74)
- {
- player->Inventory[DstSlot].EF2 = 3;
- addef_2 = 20; }
- if(player->Inventory[DstSlot].EF2 == 3 && player->Inventory[DstSlot].EF3 == 3)
- {
- player->Inventory[DstSlot].EF2 = 74;
- addef_2 = 60;
- }
- if((player->Inventory[DstSlot].EF2 == 2 && player->Inventory[DstSlot].EF3 == 74) ||
- (player->Inventory[DstSlot].EF2 == 74 && player->Inventory[DstSlot].EF3 == 2))
- {
- player->Inventory[DstSlot].EF2 = 2;
- player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
- player->Inventory[DstSlot].EF3 = 3;
- addef_2 = 45;
- }
- if(player->Inventory[DstSlot].EF2 == 2 && player->Inventory[DstSlot].EF3 == 2)
- {
- player->Inventory[DstSlot].EF3 = 3;
- addef_2 = 45;
- }
- srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
- int addefv_2 = rand() % 13 - 0;
- if(addef_2 <= 20 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
- if(addef_2 > 20 && addef_2 <= 40 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_dn[addefv_2];
- if(addef_2 > 40 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_aprendiz[addefv_2];
- player->Inventory[SrcSlot].Index = 0;
- SendAll(clientid);
- SendEffect(3,0x0E,clientid);
- } else if(type == 3025)
- { // BOTA 0
- srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
- int addefv_1 = rand() % 13 - 0;
- player->Inventory[DstSlot].EF2 = 2;
- player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
- srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
- int addefv_2 = rand() % 13 - 0;
- player->Inventory[DstSlot].EF3 = 60;
- player->Inventory[DstSlot].EFV3 = add_mag[addefv_2];
- player->Inventory[SrcSlot].Index = 0;
- player->Inventory[SrcSlot].Index = 0;
- player->Inventory[SrcSlot].Index = 0;
- SendAll(clientid);
- SendEffect(3,0x0E,clientid);
- }
- } else if(tipo_add > 60)
- {
- int type = GetItemType(clientid, player->Inventory[DstSlot].Index);
- srand(time(NULL) * (cSeg * cSeg + cMin + cMin + ((cHora + rand() % 100 - cHora) / cMin)) * rand()%200-160);
- if(type == 3021) // Elmo
- { // Elmo - 0 = HP - 1 = DEF - 2 = MG
- int addef_1 = rand() % 60 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EF2 = 4;
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EF2 = 3;
- if(addef_1 > 40)
- player->Inventory[DstSlot].EF2 = 60;
- srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
- int addefv_1 = rand() % 13 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EFV2 = add_hp[addefv_1];
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
- if(addef_1 > 40)
- player->Inventory[DstSlot].EFV2 = add_helm_mag[addefv_1];
- srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
- int addef_2 = rand() % 60 - 0;
- if(addef_2 <= 20)
- player->Inventory[DstSlot].EF3 = 4;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(addef_2 > 20 && addef_2 <= 40)
- player->Inventory[DstSlot].EF3 = 3;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(addef_2 > 40)
- player->Inventory[DstSlot].EF3 = 60;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
- int addefv_2 = rand() % 13 - 0;
- if(addef_2 <= 20)
- player->Inventory[DstSlot].EFV3 = add_hp[addefv_2];
- if(addef_2 > 20 && addef_2 <= 40)
- player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
- if(addef_2 > 40)
- player->Inventory[DstSlot].EFV3 = add_helm_mag[addefv_2];
- player->Inventory[SrcSlot].Index = 0;
- SendAll(clientid);
- SendEffect(3,0x0E,clientid);
- } else if(type == 3022 || type == 3023)
- { // PEITO 0 = DEF 1 = 60
- int addef_1 = rand() % 40 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EF2 = 3;
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EF2 = 60;
- srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
- int addefv_1 = rand() % 13 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EFV2 = add_mag[addefv_1];
- srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
- int addef_2 = rand() % 40 - 0;
- if(player->Inventory[DstSlot].EF2 == 3)
- {
- player->Inventory[DstSlot].EF3 = 60;
- addef_2 = 40;
- } else if(player->Inventory[DstSlot].EF2 == 60)
- {
- player->Inventory[DstSlot].EF3 = 3;
- addef_2 = 10;
- }
- srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
- int addefv_2 = rand() % 13 - 0;
- if(addef_2 <= 20 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
- if(addef_2 > 20 && addef_2 <= 40 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_mag[addefv_2];
- player->Inventory[SrcSlot].Index = 0;;
- SendAll(clientid);
- SendEffect(3,0x0E,clientid);
- } else if(type == 3024)
- { // LUVA 0 = DEF 1 = DANO 2 = SKILL
- int addef_1 = rand() % 40 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EF2 = 3;
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EF2 = 60;
- srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
- int addefv_1 = rand() % 13 - 0;
- if(addef_1 <= 20)
- player->Inventory[DstSlot].EFV2 = add_def[addefv_1];
- if(addef_1 > 20 && addef_1 <= 40)
- player->Inventory[DstSlot].EFV2 = add_mag[addefv_1];
- srand(time(NULL) * cMin + cSeg / cHora - ((cSeg + rand() % 100) / cMin));
- int addef_2 = rand() % 40 - 0;
- if(addef_2 <= 20)
- player->Inventory[DstSlot].EF3 = 3;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(addef_2 > 20 && addef_2 <= 40)
- player->Inventory[DstSlot].EF3 = 60;
- if(player->Inventory[DstSlot].EF2 == player->Inventory[DstSlot].EF3)
- player->Inventory[DstSlot].EF3 = 0;
- if(player->Inventory[DstSlot].EF2 == 3 && player->Inventory[DstSlot].EF3 == 3)
- {
- player->Inventory[DstSlot].EF2 = 60;
- addef_2 = 40;
- }
- if((player->Inventory[DstSlot].EF2 == 60 && player->Inventory[DstSlot].EF3 == 0))
- {
- player->Inventory[DstSlot].EF3 = 3;
- addef_2 = 15;
- }
- if((player->Inventory[DstSlot].EF2 == 3 && player->Inventory[DstSlot].EF3 == 0))
- {
- player->Inventory[DstSlot].EF3 = 60;
- addef_2 = 40;
- }
- if(player->Inventory[DstSlot].EF2 == 60 && player->Inventory[DstSlot].EF3 == 60)
- {
- player->Inventory[DstSlot].EF3 = 3;
- player->Inventory[DstSlot].EFV3 = add_def[addefv_1];
- }
- srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
- int addefv_2 = rand() % 13 - 0;
- if(addef_2 <= 20 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_def[addefv_2];
- if(addef_2 > 20 && addef_2 <= 40 && player->Inventory[DstSlot].EF3 != 0)
- player->Inventory[DstSlot].EFV3 = add_mag[addefv_2];
- player->Inventory[SrcSlot].Index = 0;
- SendAll(clientid);
- SendEffect(3,0x0E,clientid);
- } else if(type == 3025)
- { // BOTA 0
- srand(time(NULL) * cMin / cSeg * cHora + ((cSeg + rand() % 100) * cMin));
- int addefv_1 = rand() % 13 - 0;
- player->Inventory[DstSlot].EF2 = 2;
- player->Inventory[DstSlot].EFV2 = add_dn[addefv_1];
- srand(time(NULL) * cMin / cHora * cHora - ((cMin + rand() % 100 - cSeg) * cMin));
- int addefv_2 = rand() % 13 - 0;
- player->Inventory[DstSlot].EF3 = 74;
- player->Inventory[DstSlot].EFV3 = add_aprendiz[addefv_2];
- player->Inventory[SrcSlot].Index = 0;
- SendAll(clientid);
- SendEffect(3,0x0E,clientid);
- }
- }
- } else {
- SendClientMsg(clientid, "Apenas para itens até +6");
- SendAll(clientid);
- return;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment