Polymorph

Talk about helbreath here.
Benzz
noob
Posts: 10
Joined: Tue Apr 06, 2004 3:09 pm

Post by Benzz »

Ok /polymorph doesnt work

i type '/polymorph Tigerworm'
nothing happens :huh:

how do i use it?
Lost padawan
drunk
Loyal fan
Posts: 265
Joined: Wed Mar 17, 2004 1:43 pm

Post by drunk »

Im having a problem with this command also on my server.And im pretty sure u type the monsters # not name.For example werewolf =33 I would type /polymorph 33 nothing happens.
binarydata
DBfiller
Posts: 3816
Joined: Fri Oct 31, 2003 5:30 am
Location: San Diego CA, USA
Contact:

Post by binarydata »

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
<img src='http://img88.exs.cx/img88/2290/7666.jpg' border='0' alt='user posted image' />
[FrosT]
Regular
Posts: 63
Joined: Wed Mar 03, 2004 1:17 am
Location: Hell... With all the rest of the flaming queers
Contact:

Post by [FrosT] »

I was a bunny once...
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' />
Benzz
noob
Posts: 10
Joined: Tue Apr 06, 2004 3:09 pm

Post by Benzz »

i was on a server once, and the GM was polymoprhing in to al sorts of things, tw, hc guard

he said he types /polymoprh Tigerworm

doesnt seem to work on my 2.20 server
Lost padawan
[FrosT]
Regular
Posts: 63
Joined: Wed Mar 03, 2004 1:17 am
Location: Hell... With all the rest of the flaming queers
Contact:

Post by [FrosT] »

More Advice:

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' />
udik2
noob
Posts: 20
Joined: Sat Mar 20, 2004 11:02 am

Post by udik2 »

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"?
<img src='http://w1.860.telia.com/~u86020899/udii.jpg' border='0' alt='user posted image' /><br>:P
Benzz
noob
Posts: 10
Joined: Tue Apr 06, 2004 3:09 pm

Post by Benzz »

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 :P
Lost padawan
binarydata
DBfiller
Posts: 3816
Joined: Fri Oct 31, 2003 5:30 am
Location: San Diego CA, USA
Contact:

Post by binarydata »

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' />
SirGalahad
Member
Posts: 111
Joined: Sat Feb 07, 2004 10:35 pm

Post by SirGalahad »

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.
(Sir Galahad the Pure)
Zabuza
Member
Posts: 160
Joined: Thu Jan 22, 2004 11:05 pm

Post by Zabuza »

ok, this should enable u to polymorph in wathever u want.
usage:
/pm <NPC>
example
/pm 4
will polymorph u in a black girl. Just type
/pm
or

Code: Select all

/pm 0
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

Code: Select all

if (memcmp(cp, "/pm ", 4) == 0) {
  	AdminOrder_Polymorph(iClientH, cp, dwMsgSize - 21);
  	return;
  }
modify/create this function

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;
}
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.
binarydata
DBfiller
Posts: 3816
Joined: Fri Oct 31, 2003 5:30 am
Location: San Diego CA, USA
Contact:

Post by binarydata »

Zabuza wrote: ok, this should enable u to polymorph in wathever u want.
usage:
/pm <NPC>
example
/pm 4
will polymorph u in a black girl. Just type
/pm
or

Code: Select all

/pm 0
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

Code: Select all

if (memcmp(cp, "/pm ", 4) == 0) {
  	AdminOrder_Polymorph(iClientH, cp, dwMsgSize - 21);
  	return;
  }
modify/create this function

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;
}
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.
yea, im sure alot of us know what to do with that :lol:
but thx anyways :D
<img src='http://img88.exs.cx/img88/2290/7666.jpg' border='0' alt='user posted image' />
Zabuza
Member
Posts: 160
Joined: Thu Jan 22, 2004 11:05 pm

Post by Zabuza »

in the other forums u say 99% of ppl doesn't know how to declare a variable and here lots of ppl knows how? eureka! i found my place!
kmatt02
Member
Posts: 164
Joined: Fri Nov 21, 2003 9:32 pm

Post by kmatt02 »

Zabuza wrote: in the other forums u say 99% of ppl doesn't know how to declare a variable and here lots of ppl knows how? eureka! i found my place!
Nah, not many people here.
HB_Casero
just visiting
Posts: 1
Joined: Wed Sep 08, 2004 11:38 pm

Post by HB_Casero »

binarydata that I number change in the file txt?
Post Reply