Code: Select all
void CGame::AdminOrder_SetPlayerCont(int iClientH, char *pData, DWORD dwMsgSize)
{
char seps[] = "= \t\n";
char * token, cBuff[256];
class CStrTok * pStrTok;
char * cont;
char cNick[20];
char cCont[5];
char notice[100];
int oldcont;
int i;
if (m_pClientList[iClientH] == NULL) return;
if ((dwMsgSize) <= 0) return;
if (m_pClientList[iClientH]->m_iAdminUserLevel == 0) {
SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_ADMINUSERLEVELLOW, NULL, NULL, NULL, NULL); //adminuserlvl
return;
}
ZeroMemory(cBuff, sizeof(cBuff));
memcpy(cBuff, pData, dwMsgSize);
pStrTok = new class CStrTok(cBuff, seps);
token = pStrTok->pGet();
token = pStrTok->pGet();
if (token == NULL) {
delete pStrTok;
return;
}
strcpy(cNick, token);
cont = pStrTok->pGet();
if (cont == NULL) {
delete pStrTok;
return;
}
strcpy(cCont, cont);
for (i = 0; i < DEF_MAXCLIENTS; i++) {
if ((m_pClientList[i] != NULL) && (memcmp(m_pClientList[i]->m_cCharName, cNick, strlen(cNick)) == 0)) {
oldcont = m_pClientList[i]->m_iContribution; //prev cont
m_pClientList[i]->m_iContribution=atoi(cCont); //change to new cont
SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_QUESTCOUNTER, NULL, NULL, NULL, NULL);
wsprintf(notice,"Contribution has been changed for player %s from %d to %d.",m_pClientList[iClientH]->m_cCharName,oldcont,atoi(cCont));
ShowNotice(iClientH,notice);
}
}
delete pStrTok;
}
Code: Select all
if (memcmp(cp, "/setcont ", 9) == 0) {
AdminOrder_SetPlayerCont(iClientH, cp, dwMsgSize - 21);
return;
}