Polymorph
-
- DBfiller
- Posts: 3816
- Joined: Fri Oct 31, 2003 5:30 am
- Location: San Diego CA, USA
- Contact:
you can change the # in your char txt file and you will be that monster
i also had a spell that would change you to a zombie
i also had a spell that would change you to a zombie
<img src='http://img88.exs.cx/img88/2290/7666.jpg' border='0' alt='user posted image' />
-
- Regular
- Posts: 63
- Joined: Wed Mar 03, 2004 1:17 am
- Location: Hell... With all the rest of the flaming queers
- Contact:
I was a bunny once...
I went around flying people...
I was still a bunny...
I went around flying people...
I was still a bunny...
<img src='http://home.ripway.com/2004-1/53073/megahurtz.jpg' border='0' alt='user posted image' />
-
- Regular
- Posts: 63
- Joined: Wed Mar 03, 2004 1:17 am
- Location: Hell... With all the rest of the flaming queers
- Contact:
More Advice:
HBSS.tk files SUCK!!! Make your own. kthx.
HBSS.tk files SUCK!!! Make your own. kthx.
<img src='http://home.ripway.com/2004-1/53073/megahurtz.jpg' border='0' alt='user posted image' />
The only files i could find on the web are helbreathss files, all the other got bugs, of fake of 3.2
u got link of "good files"?
u got link of "good files"?
<img src='http://w1.860.telia.com/~u86020899/udii.jpg' border='0' alt='user posted image' /><br>:P
lol, i was trying to get in hb eternal 3.2 testing server, by making a 3.2client, then i stumbled on healbreathss and thought, o yes, lets have a look what u can do as a GM 
i never read anything about hex editting and server files and stuf before <_<
i wouldnt know how to make my own files

i never read anything about hex editting and server files and stuf before <_<
i wouldnt know how to make my own files

Lost padawan
-
- DBfiller
- Posts: 3816
- Joined: Fri Oct 31, 2003 5:30 am
- Location: San Diego CA, USA
- Contact:
you can also change sum number in your char txt file to a monster number and you will be that monster
<img src='http://img88.exs.cx/img88/2290/7666.jpg' border='0' alt='user posted image' />
-
- Member
- Posts: 111
- Joined: Sat Feb 07, 2004 10:35 pm
binary is teh awesome.
You can change your admin-user-level = to the NPC # (look it up in NPC.cfg) and you'll be that monster. Just be sure to unequip all your items or you'll be invisible when you are standing still.
And just in case someone already said the exact same thing in this topic, my explanation is more literate, therefore more important.
You can change your admin-user-level = to the NPC # (look it up in NPC.cfg) and you'll be that monster. Just be sure to unequip all your items or you'll be invisible when you are standing still.
And just in case someone already said the exact same thing in this topic, my explanation is more literate, therefore more important.
(Sir Galahad the Pure)
ok, this should enable u to polymorph in wathever u want.
usage:in order to come back to ur original shape. As u can't run while polymorphed and can't even move with certain NPC, i would suggest to avoid that in server code. Also, u should be in peace mode in order to properly polymorph. Again, u should code it.
Implementation:
in ChatMsgHandler
modify/create this function
As u can see in the code, when u polymorph ur SP goes to 0, avoiding client crash when trying to show u running. BUT client will crash if u're running while using /pm command.
usage:
example/pm <NPC>
will polymorph u in a black girl. Just type/pm 4
or/pm
Code: Select all
/pm 0
Implementation:
in ChatMsgHandler
Code: Select all
if (memcmp(cp, "/pm ", 4) == 0) {
AdminOrder_Polymorph(iClientH, cp, dwMsgSize - 21);
return;
}
Code: Select all
void CGame::AdminOrder_Polymorph(int iClientH, char *pData, DWORD dwMsgSize)
{
char seps[] = "= \t\n";
char * token, cBuff[256];
int iNum;
class CStrTok * pStrTok;
if (m_pClientList[iClientH] == NULL) return;
if ((dwMsgSize) <= 0) return;
if (m_pClientList[iClientH]->m_iAdminUserLevel < 3) {
return;
}
ZeroMemory(cBuff, sizeof(cBuff));
memcpy(cBuff, pData, dwMsgSize);
pStrTok = new class CStrTok(cBuff, seps);
token = pStrTok->pGet();
token = pStrTok->pGet();
if (token != NULL)
iNum = atoi(token);
if (token != NULL)
{
if (iNum==0)
{
if (m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ] != 0)
{
m_pClientList[iClientH]->m_sType = m_pClientList[iClientH]->m_sOriginalType;
m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ]=0;
bRegisterDelayEvent(DEF_DELAYEVENTTYPE_MAGICRELEASE, DEF_MAGICTYPE_POLYMORPH, timeGetTime(),
iClientH, DEF_OWNERTYPE_PLAYER, NULL, NULL, NULL, m_pClientList[iClientH]->m_sOriginalType, NULL, NULL);
}
}
else
{
if (m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ] == 0) m_pClientList[iClientH]->m_sOriginalType = m_pClientList[iClientH]->m_sType;
m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ] = iNum;
m_pClientList[iClientH]->m_sType = iNum;
SendEventToNearClient_TypeA(iClientH, DEF_OWNERTYPE_PLAYER, MSGID_EVENT_MOTION, DEF_OBJECTNULLACTION, NULL, NULL, NULL);
SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_MAGICEFFECTON, DEF_MAGICTYPE_POLYMORPH, iNum, NULL, NULL);
if(iNum>=10)
{
m_pClientList[iClientH]->m_iSP=0;
SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SP, NULL, NULL, NULL, NULL);
}
}
}
else
{
if (m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ] != 0)
{
m_pClientList[iClientH]->m_sType = m_pClientList[iClientH]->m_sOriginalType;
m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ]=0;
bRegisterDelayEvent(DEF_DELAYEVENTTYPE_MAGICRELEASE, DEF_MAGICTYPE_POLYMORPH, timeGetTime(),
iClientH, DEF_OWNERTYPE_PLAYER, NULL, NULL, NULL, m_pClientList[iClientH]->m_sOriginalType, NULL, NULL);
}
}
delete pStrTok;
}
-
- DBfiller
- Posts: 3816
- Joined: Fri Oct 31, 2003 5:30 am
- Location: San Diego CA, USA
- Contact:
yea, im sure alot of us know what to do with thatZabuza wrote: ok, this should enable u to polymorph in wathever u want.
usage:example/pm <NPC>will polymorph u in a black girl. Just type/pm 4or/pmin order to come back to ur original shape. As u can't run while polymorphed and can't even move with certain NPC, i would suggest to avoid that in server code. Also, u should be in peace mode in order to properly polymorph. Again, u should code it.Code: Select all
/pm 0
Implementation:
in ChatMsgHandlermodify/create this functionCode: Select all
if (memcmp(cp, "/pm ", 4) == 0) { AdminOrder_Polymorph(iClientH, cp, dwMsgSize - 21); return; }
As u can see in the code, when u polymorph ur SP goes to 0, avoiding client crash when trying to show u running. BUT client will crash if u're running while using /pm command.Code: Select all
void CGame::AdminOrder_Polymorph(int iClientH, char *pData, DWORD dwMsgSize) { char seps[] = "= \t\n"; char * token, cBuff[256]; int iNum; class CStrTok * pStrTok; if (m_pClientList[iClientH] == NULL) return; if ((dwMsgSize) <= 0) return; if (m_pClientList[iClientH]->m_iAdminUserLevel < 3) { return; } ZeroMemory(cBuff, sizeof(cBuff)); memcpy(cBuff, pData, dwMsgSize); pStrTok = new class CStrTok(cBuff, seps); token = pStrTok->pGet(); token = pStrTok->pGet(); if (token != NULL) iNum = atoi(token); if (token != NULL) { if (iNum==0) { if (m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ] != 0) { m_pClientList[iClientH]->m_sType = m_pClientList[iClientH]->m_sOriginalType; m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ]=0; bRegisterDelayEvent(DEF_DELAYEVENTTYPE_MAGICRELEASE, DEF_MAGICTYPE_POLYMORPH, timeGetTime(), iClientH, DEF_OWNERTYPE_PLAYER, NULL, NULL, NULL, m_pClientList[iClientH]->m_sOriginalType, NULL, NULL); } } else { if (m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ] == 0) m_pClientList[iClientH]->m_sOriginalType = m_pClientList[iClientH]->m_sType; m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ] = iNum; m_pClientList[iClientH]->m_sType = iNum; SendEventToNearClient_TypeA(iClientH, DEF_OWNERTYPE_PLAYER, MSGID_EVENT_MOTION, DEF_OBJECTNULLACTION, NULL, NULL, NULL); SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_MAGICEFFECTON, DEF_MAGICTYPE_POLYMORPH, iNum, NULL, NULL); if(iNum>=10) { m_pClientList[iClientH]->m_iSP=0; SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SP, NULL, NULL, NULL, NULL); } } } else { if (m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ] != 0) { m_pClientList[iClientH]->m_sType = m_pClientList[iClientH]->m_sOriginalType; m_pClientList[iClientH]->m_cMagicEffectStatus[ DEF_MAGICTYPE_POLYMORPH ]=0; bRegisterDelayEvent(DEF_DELAYEVENTTYPE_MAGICRELEASE, DEF_MAGICTYPE_POLYMORPH, timeGetTime(), iClientH, DEF_OWNERTYPE_PLAYER, NULL, NULL, NULL, m_pClientList[iClientH]->m_sOriginalType, NULL, NULL); } } delete pStrTok; }

but thx anyways

<img src='http://img88.exs.cx/img88/2290/7666.jpg' border='0' alt='user posted image' />