Change city command

Codes already submitted by people of the forums.
Post Reply
50-pesos
just visiting
Posts: 3
Joined: Sun Jan 01, 2006 1:11 pm

Post by 50-pesos »

Classic /changecity command but this one also changes your hero items.

HG SRC:
Game.cpp:
Search for:

Code: Select all

case '/':
right before that add:

Code: Select all

if (memcmp(cp, "/changecity ", 12) == 0) {
        PlayerOrder_ChangeCity(iClientH);
        return; 
        }
now at the end of Game.cpp add:

Code: Select all

void CGame::PlayerOrder_ChangeCity(int iClientH)
{
class CItem * pItem;
int i, iEraseReq;
int iCape, iCape1, iHelm, iBerk, iPlate, iLegs, iRobe, iCap;
iCape = iCape1 = iHelm = iBerk = iPlate = iLegs = iRobe = iCap = 0;
if(m_pClientList[iClientH] == NULL) return;
if(m_pClientList[iClientH]->m_iLevel <= 249) return;
if(m_pClientList[iClientH]->m_iGizonItemUpgradeLeft >= 300)
{
for(i = 0; i < DEF_MAXITEMS; i++)
{
if(m_pClientList[iClientH]->m_pItemList[i] != NULL)
{
switch(m_pClientList[iClientH]->m_pItemList[i]->m_sIDnum)
{
case 400://AresdenHeroCape-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iCape = 1;
break;
case 401://ElvineHeroCape-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iCape = 2;
break;
case 403://aHeroHelm(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iHelm = 1;
break;
case 404://aHeroHelm(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iHelm = 2;
break;
case 405://eHeroHelm(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iHelm = 3;
break;
case 406://eHeroHelm(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iHelm = 4;
break;
case 407://aHeroCap(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iCap = 1;
break;
case 408://aHeroCap(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iCap = 2;
break;
case 409://eHeroCap(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iCap = 3;
break;
case 410://eHeroCap(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iCap = 4;
break;
case 411://aHeroArmor(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iPlate = 1;
break;
case 412://aHeroArmor(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iPlate = 2;
break;
case 413://eHeroArmor(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iPlate = 3;
break;
case 414://eHeroArmor(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iPlate = 4;
break;
case 415://aHeroRobe(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iRobe = 1;
break;
case 416://aHeroRobe(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iRobe = 2;
break;
case 417://eHeroRobe(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iRobe = 3;
break;
case 418://eHeroRobe(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iRobe = 4;
break;
case 419://aHeroHauberk(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iBerk = 1;
break;
case 420://aHeroHauberk(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iBerk = 2;
break;
case 421://eHeroHauberk(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iBerk = 3;
break;
case 422://eHeroHauberk(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iBerk = 4;
break;
case 423://aHeroLeggings(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iLegs = 1;
break;
case 424://aHeroLeggings(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iLegs = 2;
break;
case 425://eHeroLeggings(M)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iLegs = 3;
break;
case 426://eHeroLeggings(W)-
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iLegs = 4;
break;
case 427://AresdenHeroCape+1
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iCape1 = 1;
break;
case 428://ElvineHeroCape+1
ItemDepleteHandler(iClientH, i, TRUE, TRUE);
iCape1 = 2;
break;
}
}
}
if(iCape != 0)
{
pItem = new class CItem;
if(iCape == 1) _bInitItemAttr(pItem, 401);
else if(iCape == 2) _bInitItemAttr(pItem, 400);
pItem->m_sTouchEffectType = DEF_ITET_UNIQUE_OWNER;
pItem->m_sTouchEffectValue1 = m_pClientList[iClientH]->m_sCharIDnum1;
pItem->m_sTouchEffectValue2 = m_pClientList[iClientH]->m_sCharIDnum2;
pItem->m_sTouchEffectValue3 = m_pClientList[iClientH]->m_sCharIDnum3;
_bAddClientItemList(iClientH, pItem, &iEraseReq);
SendItemNotifyMsg(iClientH, DEF_NOTIFY_ITEMOBTAINED, pItem, NULL);
}
if(iHelm != 0)
{
pItem = new class CItem;
if(iHelm == 1) _bInitItemAttr(pItem, 405);
else if(iHelm == 2) _bInitItemAttr(pItem, 406);
else if(iHelm == 3) _bInitItemAttr(pItem, 403);
else if(iHelm == 4) _bInitItemAttr(pItem, 404);
pItem->m_sTouchEffectType = DEF_ITET_UNIQUE_OWNER;
pItem->m_sTouchEffectValue1 = m_pClientList[iClientH]->m_sCharIDnum1;
pItem->m_sTouchEffectValue2 = m_pClientList[iClientH]->m_sCharIDnum2;
pItem->m_sTouchEffectValue3 = m_pClientList[iClientH]->m_sCharIDnum3;
_bAddClientItemList(iClientH, pItem, &iEraseReq);
SendItemNotifyMsg(iClientH, DEF_NOTIFY_ITEMOBTAINED, pItem, NULL);
}
if(iCap != 0)
{
pItem = new class CItem;
if(iCap == 1) _bInitItemAttr(pItem, 409);
else if(iCap == 2) _bInitItemAttr(pItem, 410);
else if(iCap == 3) _bInitItemAttr(pItem, 407);
else if(iCap == 4) _bInitItemAttr(pItem, 408);
pItem->m_sTouchEffectType = DEF_ITET_UNIQUE_OWNER;
pItem->m_sTouchEffectValue1 = m_pClientList[iClientH]->m_sCharIDnum1;
pItem->m_sTouchEffectValue2 = m_pClientList[iClientH]->m_sCharIDnum2;
pItem->m_sTouchEffectValue3 = m_pClientList[iClientH]->m_sCharIDnum3;
_bAddClientItemList(iClientH, pItem, &iEraseReq);
SendItemNotifyMsg(iClientH, DEF_NOTIFY_ITEMOBTAINED, pItem, NULL);
}
if(iPlate != 0)
{
pItem = new class CItem;
if(iPlate == 1) _bInitItemAttr(pItem, 413);
else if(iPlate == 2) _bInitItemAttr(pItem, 414);
else if(iPlate == 3) _bInitItemAttr(pItem, 411);
else if(iPlate == 4) _bInitItemAttr(pItem, 412);
pItem->m_sTouchEffectType = DEF_ITET_UNIQUE_OWNER;
pItem->m_sTouchEffectValue1 = m_pClientList[iClientH]->m_sCharIDnum1;
pItem->m_sTouchEffectValue2 = m_pClientList[iClientH]->m_sCharIDnum2;
pItem->m_sTouchEffectValue3 = m_pClientList[iClientH]->m_sCharIDnum3;
_bAddClientItemList(iClientH, pItem, &iEraseReq);
SendItemNotifyMsg(iClientH, DEF_NOTIFY_ITEMOBTAINED, pItem, NULL);
}
if(iRobe != 0)
{
pItem = new class CItem;
if(iRobe == 1) _bInitItemAttr(pItem, 417);
else if(iRobe == 2) _bInitItemAttr(pItem, 418);
else if(iRobe == 3) _bInitItemAttr(pItem, 415);
else if(iRobe == 4) _bInitItemAttr(pItem, 416);
pItem->m_sTouchEffectType = DEF_ITET_UNIQUE_OWNER;
pItem->m_sTouchEffectValue1 = m_pClientList[iClientH]->m_sCharIDnum1;
pItem->m_sTouchEffectValue2 = m_pClientList[iClientH]->m_sCharIDnum2;
pItem->m_sTouchEffectValue3 = m_pClientList[iClientH]->m_sCharIDnum3;
_bAddClientItemList(iClientH, pItem, &iEraseReq);
SendItemNotifyMsg(iClientH, DEF_NOTIFY_ITEMOBTAINED, pItem, NULL);
}
if(iBerk != 0)
{
pItem = new class CItem;
if(iBerk == 1) _bInitItemAttr(pItem, 421);
else if(iBerk == 2) _bInitItemAttr(pItem, 422);
else if(iBerk == 3) _bInitItemAttr(pItem, 419);
else if(iBerk == 4) _bInitItemAttr(pItem, 420);
pItem->m_sTouchEffectType = DEF_ITET_UNIQUE_OWNER;
pItem->m_sTouchEffectValue1 = m_pClientList[iClientH]->m_sCharIDnum1;
pItem->m_sTouchEffectValue2 = m_pClientList[iClientH]->m_sCharIDnum2;
pItem->m_sTouchEffectValue3 = m_pClientList[iClientH]->m_sCharIDnum3;
_bAddClientItemList(iClientH, pItem, &iEraseReq);
SendItemNotifyMsg(iClientH, DEF_NOTIFY_ITEMOBTAINED, pItem, NULL);
}
if(iLegs != 0)
{
pItem = new class CItem;
if(iLegs == 1) _bInitItemAttr(pItem, 425);
else if(iLegs == 2) _bInitItemAttr(pItem, 426);
else if(iLegs == 3) _bInitItemAttr(pItem, 423);
else if(iLegs == 4) _bInitItemAttr(pItem, 424);
pItem->m_sTouchEffectType = DEF_ITET_UNIQUE_OWNER;
pItem->m_sTouchEffectValue1 = m_pClientList[iClientH]->m_sCharIDnum1;
pItem->m_sTouchEffectValue2 = m_pClientList[iClientH]->m_sCharIDnum2;
pItem->m_sTouchEffectValue3 = m_pClientList[iClientH]->m_sCharIDnum3;
_bAddClientItemList(iClientH, pItem, &iEraseReq);
SendItemNotifyMsg(iClientH, DEF_NOTIFY_ITEMOBTAINED, pItem, NULL);
}
if(iCape1 != 0)
{
pItem = new class CItem;
if(iCape1 == 1) _bInitItemAttr(pItem, 428);
else if(iCape1 == 2) _bInitItemAttr(pItem, 427);
pItem->m_sTouchEffectType = DEF_ITET_UNIQUE_OWNER;
pItem->m_sTouchEffectValue1 = m_pClientList[iClientH]->m_sCharIDnum1;
pItem->m_sTouchEffectValue2 = m_pClientList[iClientH]->m_sCharIDnum2;
pItem->m_sTouchEffectValue3 = m_pClientList[iClientH]->m_sCharIDnum3;
_bAddClientItemList(iClientH, pItem, &iEraseReq);
SendItemNotifyMsg(iClientH, DEF_NOTIFY_ITEMOBTAINED, pItem, NULL);
}
m_pClientList[iClientH]->m_iGizonItemUpgradeLeft -= 300;
SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_GIZONITEMUPGRADELEFT, m_pClientList[iClientH]->m_iGizonItemUpgradeLeft, NULL, NULL, NULL);
if(memcmp(m_pClientList[iClientH]->m_cLocation, "aresden",7) == 0 ) strcpy(m_pClientList[iClientH]->m_cLocation,"elvine");
else if (memcmp(m_pClientList[iClientH]->m_cLocation, "elvine",6) == 0 ) strcpy(m_pClientList[iClientH]->m_cLocation,"aresden");
if(m_pClientList[iClientH]->m_iGuildRank != -1)
{
m_pClientList[iClientH]->m_iGuildRank = -1;
m_pClientList[iClientH]->m_iGuildGUID = -1;
strcpy(m_pClientList[iClientH]->m_cGuildName,"NONE");
}

ShowClientMsg(iClientH, "Enjoy your new citizenship!");
wsprintf(G_cTxt, "(!) Player(%s) Request ChangeCity: C(%d) - H(%d) - C(%d) - P(%d) - R(%d) - B(%d) - L(%d) - C(%d)", m_pClientList[iClientH]->m_cCharName, iCape, iHelm, iCap, iPlate, iRobe, iBerk, iLegs, iCape1);
PutLogList(G_cTxt);
DeleteClient(iClientH, TRUE, TRUE);
}
else
{
ShowClientMsg(iClientH, "Necesitas 300 majestic para cambiar de ciudad");
}
}
Game.h:
Add:

Code: Select all

void PlayerOrder_ChangeCity(int iClientH);
By 50Cent
<img src='http://i722.photobucket.com/albums/ww22 ... ippy-5.gif' border='0' alt='user posted image' />
Post Reply