
u need exp exchange command and command for use it ...

Code: Select all
void CGame::DropItemID(int iClientH,int iItemID,int iX, int iY) {
class CItem * pItem;
pItem = new class CItem;
if (_bInitItemAttr(pItem, iItemID) == FALSE) {
delete pItem;
}
else {
m_pMapList[ m_pClientList[iClientH]->m_cMapIndex ]->bSetItem(iX, iY, pItem);
SendEventToNearClient_TypeB(MSGID_EVENT_COMMON, DEF_COMMONTYPE_ITEMDROP, m_pClientList[iClientH]->m_cMapIndex,iX, iY, pItem->m_sSprite, pItem->m_sSpriteFrame, pItem->m_cItemColor); // v1.4
}
}
Code: Select all
void CGame::PlayerOrder_StaffUpgrade(int iClientH) {
{
int i;
char buff [100];
int iItemID;
char cItemName[20];
int ipoints;
if (m_pClientList[iClientH] == NULL) return;
ipoints=0;
for (i = 0; i < DEF_MAXITEMS; i++) {
if ((m_pClientList[iClientH]->m_pItemList[i] != NULL) && (memcmp(m_pClientList[iClientH]->m_pItemList[i]->m_cName, "MasterWand", 10) == 0)) {
ZeroMemory(cItemName,sizeof(cItemName));
memcpy(cItemName,m_pClientList[iClientH]->m_pItemList[i]->m_cName,strlen(m_pClientList[iClientH]->m_pItemList[i]->m_cName));
wsprintf(buff,"(!) %s depletes %s",m_pClientList[iClientH]->m_cCharName,cItemName);
ipoints = m_pClientList[iClientH]->m_iMajesticCount;
PutLogList(buff);
if (ipoints < 2) return; //jezeli nie ma punktow na +2 to nic nie rob
if ((memcmp(cItemName,"MasterWand",11) == 0) && (ipoints >= 2) && (ipoints - 2 >= 0)) {
ItemDepleteHandler(iClientH, i, TRUE); //skasuj
ipoints -= 2; // odejmij punkty -2
//797 = MasterWand+2
DropItemID(iClientH,797,m_pClientList[iClientH]->m_sX,m_pClientList[iClientH]->m_sY); // dropnij +2 wanda
m_pClientList[iClientH]->m_iMajesticCount = ipoints; //punkty dla gracza (odjete)
wsprintf(buff," Master upgrade points decreased by 2");
ShowInGameMsg(iClientH,buff); //pokaz wiadomosc
return;
}
if ((memcmp(cItemName,"MasterWand+2",13) == 0) && (ipoints >= 4) && (ipoints - 4 >= 0)) { //masterwand+2 -> masterwand+4
ItemDepleteHandler(iClientH, i, TRUE);
ipoints -= 4;
DropItemID(iClientH,809,m_pClientList[iClientH]->m_sX,m_pClientList[iClientH]->m_sY);
m_pClientList[iClientH]->m_iMajesticCount = ipoints;
wsprintf(buff," Master upgrade points decreased by 4");
ShowInGameMsg(iClientH,buff);
return;
}
if ((memcmp(cItemName,"MasterWand+4",13) == 0) && (ipoints >= 7) && (ipoints - 7 >= 0)) { //masterwand+4 -> masterwand+6
ItemDepleteHandler(iClientH, i, TRUE);
ipoints -= 7;
DropItemID(iClientH,810,m_pClientList[iClientH]->m_sX,m_pClientList[iClientH]->m_sY);
m_pClientList[iClientH]->m_iMajesticCount = ipoints;
wsprintf(buff," Master upgrade points decreased by 7");
ShowInGameMsg(iClientH,buff);
return;
}
if ((memcmp(cItemName,"MasterWand+6",13) == 0) && (ipoints >= 11) && (ipoints - 11 >= 0)) { //masterwand+6 -> masterwand +8
ItemDepleteHandler(iClientH, i, TRUE);
ipoints -= 11;
DropItemID(iClientH,811,m_pClientList[iClientH]->m_sX,m_pClientList[iClientH]->m_sY);
m_pClientList[iClientH]->m_iMajesticCount = ipoints;
wsprintf(buff," Master upgrade points decreased by 11");
ShowInGameMsg(iClientH,buff);
return;
}
if ((memcmp(cItemName,"MasterWand+8",13) == 0) && (ipoints >= 16) && (ipoints - 16 >= 0)) { //masterwand+8 -> masterwand +10
ItemDepleteHandler(iClientH, i, TRUE);
ipoints -= 16;
DropItemID(iClientH,812,m_pClientList[iClientH]->m_sX,m_pClientList[iClientH]->m_sY);
m_pClientList[iClientH]->m_iMajesticCount = ipoints;
wsprintf(buff," Master upgrade points decreased by 16");
ShowInGameMsg(iClientH,buff);
return;
}
if ((memcmp(cItemName,"MasterWand+10",14) == 0) && (ipoints >= 22) && (ipoints - 22 >= 0)) { //masterwand+8 -> masterwand +10
ItemDepleteHandler(iClientH, i, TRUE);
ipoints -= 22;
DropItemID(iClientH,813,m_pClientList[iClientH]->m_sX,m_pClientList[iClientH]->m_sY);
m_pClientList[iClientH]->m_iMajesticCount = ipoints;
wsprintf(buff," Master upgrade points decreased by 22");
ShowInGameMsg(iClientH,buff);
return;
}
if ((memcmp(cItemName,"MasterWand+12",14) == 0) && (ipoints >= 29) && (ipoints - 29 >= 0)) { //masterwand+8 -> masterwand +10
ItemDepleteHandler(iClientH, i, TRUE);
ipoints -= 29;
DropItemID(iClientH,814,m_pClientList[iClientH]->m_sX,m_pClientList[iClientH]->m_sY);
m_pClientList[iClientH]->m_iMajesticCount = ipoints;
wsprintf(buff," Master upgrade points decreased by 29");
ShowInGameMsg(iClientH,buff);
return;
}
if ((memcmp(cItemName,"MasterWand+14",14) == 0)&& (ipoints >= 37) && (ipoints - 37 >= 0)) { //masterwand+8 -> masterwand +10
ItemDepleteHandler(iClientH, i, TRUE);
ipoints -= 37;
DropItemID(iClientH,815,m_pClientList[iClientH]->m_sX,m_pClientList[iClientH]->m_sY);
m_pClientList[iClientH]->m_iMajesticCount = ipoints;
wsprintf(buff," Master upgrade points decreased by 37");
ShowInGameMsg(iClientH,buff);
return;
}
}
}
}
}
Code: Select all
if (memcmp(cp, "/exptrade",9) == 0) {
PlayerOrder_ExchangeEXP(iClientH);
return;
}
if (memcmp(cp, "/master",7) == 0) {
char ilemammasterow[50];
wsprintf(ilemammasterow," You have %d upgrade points.",m_pClientList[iClientH]->m_iMajesticCount);
ShowInGameMsg(iClientH,ilemammasterow);
return;
}
if (memcmp(cp, "/MasterWand",11) == 0) {
PlayerOrder_StaffUpgrade(iClientH);
return;
}
Code: Select all
void CGame::PlayerOrder_ExchangeEXP(int iClientH) {
int i;
int exp;
int exp2;
char buff[100];
if (m_pClientList[iClientH]->m_iLevel < 180) {
ShowInGameMsg(iClientH," You must have 180 level");
return;
}
exp = m_pClientList[iClientH]->m_iExp; //ile ma expa
exp2 = exp-119633989;
if (exp2>=5000000)
{
exp2=exp2 / 5000000; //<- exp2 = points
m_pClientList[iClientH]->m_iMajesticCount += exp2;
wsprintf(buff," You have %d master upgrade points",exp2);
ShowInGameMsg(iClientH,buff);
m_pClientList[iClientH]->m_iExp = 119633989;//(exp2 * 10000000);
SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_EXP, NULL, NULL, NULL, NULL);
}
}