PDA

View Full Version : |Source| [ACTeaM] Formulas TradeBuffer Season 9.1 MuBlue :)



Mr.Haziel
08/01/2016, 04:28 PM
Bom galera como vazou o Sistema de Bot da TitansTech e tem uma galerinha incluindo nos dev's,resouvi postar minha função com as formulas do Buffs.

OBS: pode ser usado da season 3.2 pra cima, por causa do BuffEffect caso use de season 2 para baixo, use a formula da TT que não tem BuffEffect

[Only registered and activated users can see links]
[Only registered and activated users can see links]

OBJBOTBUFFER::TradeBuffer:ott



bool OBJBOTBUFFER::TradeBuffer(int aIndex, int lpTargetObj)
{


LPOBJ lpObj = (LPOBJ)OBJECT_POINTER(aIndex);
LPOBJ TargetObj = (LPOBJ)OBJECT_POINTER(lpTargetObj);


if( lpObj->Level < this->Level ){GCActionSend(TargetObj,AT_GOODBYE1,lpTargetObj,a Index);BotChatSend(aIndex,lpTargetObj,"Você nao tem o Level Suficiente! Requerido: %d",this->Level ); return FALSE;}
if( epObj[aIndex].m_Vip < this->OnlyVip ){GCActionSend(TargetObj,AT_GOODBYE1,lpTargetObj,a Index);BotChatSend(aIndex,lpTargetObj,"Seu VIP não tem privilégios suficientes para usar o comando!");return FALSE;}
if( lpObj->Money < this->Price ){GCActionSend(TargetObj,AT_GOODBYE1,lpTargetObj,a Index);BotChatSend(aIndex,lpTargetObj,"Você nao tem Zen suficiente! Requerido: %d" ,this->Price ); return FALSE;}




GCMoneySend(aIndex,lpObj->Money -= this->Price);


switch(TargetObj->Class)
{
case CLASS_WIZARD:
{
int WizardSkillDefense = 0;
int WizardSkillDefenseTime = 0;


WizardSkillDefense = 10 + (lpObj->Dexterity + lpObj->AddDexterity) / 50 + (lpObj->Energy + lpObj->AddEnergy) / 200;
WizardSkillDefenseTime = 60 + (lpObj->Energy + lpObj->AddEnergy) / 40;


gObjAddBuffEffect(lpObj,AT_WIZARD_DEFENSE, 21, WizardSkillDefense, 28, 20, WizardSkillDefenseTime); //season3 add-on
GCMagicAttackNumberSend(lpObj, 0x10u,aIndex, 1);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot Wizard ! ",lpObj->Name);
return TRUE;
}
break;
case CLASS_KNIGHT:
{

int iaddLifepower = 12 + (lpObj->Vitality + lpObj->AddVitality) / 100 + (lpObj->Energy + lpObj->AddEnergy)/20 + 1;
int iLifeTime = 60 + (lpObj->Energy + lpObj->AddEnergy) / 10;
int iaddlife = (lpObj->MaxLife) * iaddLifepower / 100;




gObjAddBuffEffect(lpObj, AT_SWELL_LIFE, 4,iaddLifepower / 100, 0, 0, iLifeTime);
GCMagicAttackNumberSend(lpObj, 0x30u,aIndex, 1);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot Knigth ! ",lpObj->Name);
return TRUE;
}
break;
case CLASS_ELF:
{
BYTE Boff = rand()%3;


switch(Boff)
{
case 1: //--> SkillDefense
{
int skill_level = lpObj->Level;
float skill_defense = float(skill_level + 1)*2 + (lpObj->Energy + lpObj->AddEnergy) / 8;
if(lpObj->Class == CLASS_KNIGHT)
{
skill_defense += skill_defense/10.0f;
}
gObjAddBuffEffect(lpObj,AT_INCREASE_DEFENSE,3, skill_defense, 0, 0, 60);
GCMagicAttackNumberSend(lpObj,0x1b,aIndex,1);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot Elf ! ",lpObj->Name);
return TRUE;
}
break;
case 2: //--> SkillAttack
{
int skill_level = lpObj->Level;
float skill_attack = float((skill_level + 1) * 3) + (lpObj->Energy + lpObj->AddEnergy) / 7.0f;
if(lpObj->Class == CLASS_KNIGHT)
{
skill_attack += skill_attack/10.0f;
}
gObjAddBuffEffect(lpObj, AT_INCREASE_ATTACK, 2, skill_attack, 0, 0, 60);
GCMagicAttackNumberSend(lpObj,0x1c,aIndex,1);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot Elf ! ",lpObj->Name);
return TRUE;
}
break;
case 3: //--> SkillHealing
{
int skill_level = lpObj->Level;
lpObj->Life = ((skill_level + 1) * 5 + (lpObj->Energy + lpObj->AddEnergy) / 5) + lpObj->Life;
if((lpObj->MaxLife + lpObj->AddLife) < lpObj->Life)
{
lpObj->Life = lpObj->MaxLife + lpObj->AddLife;
}
GCReFillSend(aIndex,lpObj->Life,0xFF,0,lpObj->iShield);
GCMagicAttackNumberSend(lpObj,0x1a,aIndex,1);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot Elf ! ",lpObj->Name);
return TRUE;
}
break;
}


}
break;
case CLASS_MAGUMSA:
{

}
break;
case CLASS_DARKLORD:
{

int addcriticaldamagevalue = (lpObj->Leadership + lpObj->AddLeadership)/25 + (lpObj->Energy + lpObj->AddEnergy)/30;
int SkillTime = (lpObj->Energy + lpObj->AddEnergy)/10 + 60;
gObjAddBuffEffect(lpObj, AT_INCREASE_CRITICAL_DMG,17, addcriticaldamagevalue, 0, 0, SkillTime); //season3 add-on
GCMagicAttackNumberSend(lpObj,0x40,aIndex,1);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot DarkLord ! ",lpObj->Name);
return TRUE;

}
break;
case CLASS_SUMMONER:
{

int iDuration = lpObj->Energy / 20 + 30;
int iIncMana = lpObj->Energy / 30;
int iDecLife = lpObj->Energy / 60;
GCMagicAttackNumberSend(lpObj,218,aIndex,1);
gObjAddBuffEffect(lpObj, AT_BERSERKER, 31, iIncMana, 32, iDecLife, iDuration);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot Summoner ! ",lpObj->Name);
return TRUE;

}
break;
case CLASS_MONK:
{
BYTE Boff = rand()%3;
switch(Boff)
{
case 1: //-- AT_SKILL_RAGEFIGHTER_REDARMOR:
{
int nEffectValue = {0};
nEffectValue = (double)(lpObj->Energy + (signed int)lpObj->AddEnergy - 404) / 100.0 + 3.0;
gObjAddBuffEffect(lpObj,BUFF_IGNORE_DEFENSE, 72, nEffectValue, 0, 0, lpObj->Energy / 5 + 60);
GCMagicAttackNumberSend(lpObj, 0x10Au,aIndex, 1);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot Monk ! ",lpObj->Name);
return TRUE;
}
break;
case 2: //-- AT_SKILL_RAGEFIGHTER_FITNESS
{
int nEffectValue = {0};
nEffectValue = (double)(lpObj->Energy + (signed int)lpObj->AddEnergy - 132) / 10.0 + 30.0;
gObjAddBuffEffect(lpObj,BUFF_INCREASE_VIT,73,nEffe ctValue,0,0,60);
GCMagicAttackNumberSend(lpObj,267,aIndex,1);
gObjCalCharacter(aIndex);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot Monk ! ",lpObj->Name);
return TRUE;
}
break;
case 3: //-- AT_SKILL_RAGEFIGHTER_DEFRATE
{
int nEffectValue = {0};
nEffectValue = (double)(lpObj->Energy + (signed int)lpObj->AddEnergy - 80) / 10.0 + 10.0;
gObjAddBuffEffect(lpObj,BUFF_INCREASE_DEFRATE,74,n EffectValue,0,0,60);
GCMagicAttackNumberSend(lpObj,268,aIndex,1);
BotChatSend(aIndex,lpTargetObj,"%s Recebel a Buff do Bot Monk ! ",lpObj->Name);
return TRUE;
}
break;
}
}
break;


}
return FALSE;


}




[Only registered and activated users can see links]


Créditos: Mr.Haziel

Marco_Aurélio
08/01/2016, 04:31 PM
Bom demais, cm te falei agora vai chover servidores com bots, de tudo quanto é jeito.
Mais obrigado por compartilhar.

Biel
08/01/2016, 04:32 PM
Legal rs Quando eu criar um servidor mais avançado pode ter certesa que vou testar !!
Obrigado por compartilhar manin !!

djagripnos
08/01/2016, 04:33 PM
Wow Perfect Dev Mr.Haziel!

Hugo
08/01/2016, 05:37 PM
Para leigos Esta não faz o bot funcionar ! apenas e a função de dar o buf ao dar trade , fora isso ainda tem q reescrever muita coisa para funcionar ! Acabei com a alegria de muitos :D belo code

Mr.Haziel
08/01/2016, 05:43 PM
Extamente Hugo! Postei apenas a formulas do Buff,o resto dar para eles pegarem na TitansTech apesar que também não achei legal,mas cada um faz o que pode !

Grande abraço a todos da PZ

Marco_Aurélio
08/01/2016, 06:54 PM
Exatamente , porém agora com a TT vazada, o povo vai saber como se fazer, porém vai ter aqueles q nao darão conta. mais de qualquer forma esse codigo do Haziel, que são as formulas dos buffs irá ajudar muito.

Mr.Haziel
16/01/2016, 02:25 AM
Tópico Atualizado,Vídeo adicionado demostrando o funcionamento.