PDA

View Full Version : |Source| [ACTeaM] Comando de evolução



Mr.Haziel
15/01/2016, 06:51 PM
Bom galera como estou melhorando meu Plugin da Season 9 Blue, dei uma melhorada no meu comando de evolução (/evo)
O comando agora evolui para a 2ª classe e 3ª classe e com seus atributos da quest assim não bugando o Combo e a Master Skill Tree.
Tem admim que gosta do comando outros não,não importa,o importante e ser funcional,assim fica a gosto.

Comando de Evolução:ott




enum PLAYER_QUEST
{
QUEST_COMPENSATION_CHANGEUP = 201,
QUEST_COMPENSATION_STATUP = 200,
QUEST_COMPENSATION_PLUSSSTAT = 202,
QUEST_COMPENSATION_COMBOSKILL = 203,
QUEST_COMPENSATION_CHANGEUP3RD = 204,
QUEST_MINLEVEL_PLUSSTAT = 220,
QUEST_STATE_SIZE = 50
};
void PCHATPROC::EvoCommand(int aIndex)
{
LPOBJ lpObj = (LPOBJ)OBJECT_POINTER(aIndex);


if(this->EvoSwitch <= 0){ GCServerMsgStringSend("Comando desativado!",aIndex,1);return;}


if(lpObj->Level < this->EvoNeedLevel){MsgOutput(aIndex,"%s Você Não Tem Level Suficiente! Requerido: %d",lpObj->Name,this->EvoNeedLevel);return;}


if(lpObj->Money < this->EvoNeedZen){ MsgOutput(aIndex,"%s Você Não Tem Zen Suficiente! Requerido: %d",lpObj->Name,this->EvoNeedZen);return;}


if( lpObj->ThirdChangeUp != FALSE ){MsgOutput(aIndex,"%s Você já está na 3ª Evolução ",lpObj->Name);return;}

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

switch(lpObj->DbClass)
{


case DB_DARK_WIZARD:
case DB_DARK_KNIGHT:
case DB_FAIRY_ELF:
case DB_SUMMONER:
{
lpObj->ChangeUP = true;
lpObj->DbClass |= true;
lpObj->LevelUpPoints += 220;
gObjMakePreviewCharSet(aIndex);
BYTE btClass = (lpObj->Class << 5) & 0xE0;
btClass |= (lpObj->ChangeUP << 4) & 0x10;
GCSendQuestPrize(aIndex,QUEST_COMPENSATION_CHANGEU P, btClass);
gObjMakePreviewCharSet(aIndex);
lpObj->m_Quest[0] = 0xAA; //---> Quest Fix The Darck Stone
LogAddFuncColor(COLOR_BLUE,"[ACTeaM][%s][%s]:Command evolution changeup successfully executed",lpObj->AccountID,lpObj->Name);
}
break;
default:
{
lpObj->ChangeUP = true;
lpObj->DbClass |= 2;
lpObj->LevelUpPoints += 250;
lpObj->PlusStatQuestClear = true;
lpObj->ComboSkillquestClear = true;
lpObj->ThirdChangeUp = true;
gObjMakePreviewCharSet(aIndex);
BYTE btClass = (lpObj->Class << 5) & 0xE0;
btClass |= (lpObj->ChangeUP << 4) & 0x10;
btClass |= (lpObj->ThirdChangeUp<<0x03)&0x08;
GCLevelUpMsgSend(aIndex ,1);
GCSendQuestPrize(aIndex,QUEST_COMPENSATION_CHANGEU P3RD, btClass);
gObjMakePreviewCharSet(aIndex);
lpObj->m_Quest[1] = 0xEA; //---> Quest Fix The Darck Elf General Tree
LogAddFuncColor(COLOR_BLUE,"[ACTeaM][%s][%s]:Command evolution changeup3rd successfully executed",lpObj->AccountID,lpObj->Name);


}


}

}





[Only registered and activated users can see links]

OBS: Pode usar só matenha os Creditos !!

Créditos Staff PerfectZone Brasil

Daenerys
16/01/2016, 10:21 AM
Obrigada pelo comando, já inclui na minha Season 4 tem Admin que curte por para vip !!

OBS: Creio que o objetivo da Perfect Zone é isso,os programadores postar suas ideias e códigos e não criticar quem posta e faz o fórum crescer !

Agradecida !!

Mr.Haziel
16/01/2016, 10:32 AM
@Daenerys Obrigado pelo comentário construtivo! A intenção do poste é para pessoas que curti o comando.
Hoje ainda estarei postando mais um código de logica de protocolo muito bom para trabalhar sem Hook.

InFamous
16/01/2016, 10:48 AM
Tópico limpo.... para manter a organização do mesmo.

Daenerys
16/01/2016, 10:52 AM
Mr.Haziel posta sim!Estou querendo entender como funciona o protocolo e seus pacotes.Aprovo essa sua iniciativa de querer ajudar postando suas ideias e códigos,Staff aqui esta de parabéns !!

Marceliin
16/01/2016, 10:53 AM
Legal Haziel nunca havia parado pra ver a quest e ver essa função :

QUEST_COMPENSATION_CHANGEUP = 201,
QUEST_COMPENSATION_STATUP = 200,
QUEST_COMPENSATION_PLUSSSTAT = 202,
QUEST_COMPENSATION_COMBOSKILL = 203,
QUEST_COMPENSATION_CHANGEUP3RD = 204,
QUEST_MINLEVEL_PLUSSTAT = 220, QUEST_STATE_SIZE = 50


Concerteza vou utilizar obrigado por compartilhar !

Mr.Haziel
16/01/2016, 05:12 PM
Tópico limpo e fechado! Objetivo do tópico é apenas postar o código para quem quiser usar o mesmo !!