Me assustei um pouco com o código gigantesco que foi criado para premiar a mudança de patente no ms da falecida f-team. Então estou postando uma modificação bem simples e didática para resumir e melhorar o desempenho do mesmo.
Dentro do CommandManager.cpp você deve remover tudo referente a atualização de patente e colocar apenas isso:
Código:
gCustomRankUser.CheckUpdate(lpObj->Index);
Adicionar no CustomRankUser.cpp
Código:
void CCustomRankUser::CheckUpdate(int aIndex)
{
LPOBJ lpObj = &gObj[aIndex];
for(int i = 0; i < this->m_count; i++)
{
if(this->m_Data[i].m_iResetMin == lpObj->Reset)
{
SDHP_COMMAND_COIN_RESET pMsg;
pMsg.header.set(0x0F,0x05,sizeof(pMsg));
pMsg.index = lpObj->Index;
memcpy(pMsg.account,lpObj->Account,sizeof(pMsg.account));
pMsg.Type = 1;
pMsg.Value = this->m_Data[i].m_Coin;
gDataServerConnection.DataSend((BYTE*)&pMsg,pMsg.header.size);
gNotice.GCNoticeSendToAll(0,0,0,0,0,0,gMessage.GetMessage(763+i),lpObj->Name);
gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(742+i),lpObj->Name);
return;
}
}
return;
}
CustomRankUser.h
Código:
void CheckUpdate(int aIndex);
No CustomRankUser.txt você deve adicionar um coluna que será o premio:
Exemplo:
Código:
//=================================================================================================================
// #RankIndex #Name #ResetMin #ResetMax #Cash
//=================================================================================================================
0
0 "Novato" 0 50 0
1 "Aprendiz" 51 100 0
2 "Mensageiro" 101 150 0
....
Obs: Não esqueça de dar load nessa coluna.
Créditos
F-team