[src] Tutelary Angels System

Codes already submitted by people of the forums.
Post Reply
theblue3
noob
Posts: 11
Joined: Wed Apr 19, 2006 8:30 am

Post by theblue3 »


Ring angel image comming soon~

and creafting item command source comming soon~

my server It was embodied already..
€M4NU€L
Outpost bitch
Posts: 517
Joined: Sat Nov 19, 2005 9:07 pm
Location: I watch gay porn
Contact:

Post by €M4NU€L »

Hey TheBlue3 can you give me your Gamedialog.pak Dialogtext.pak sprites please ? I think they are HB United sprites i been looking for them long time and now you have it :lol:
<span style='color:blue'>Helbreath Thermal</span> <span style='color:green'>BETA</span> <span style='color:red'>Soon</span>:<br><br>www.youporngay.com<br><br><img src='http://img264.imageshack.us/img264/1041 ... piopk7.jpg' border='0' alt='user posted image' /><br><img src='http://img257.imageshack.us/img257/3762 ... eakxj1.jpg' border='0' alt='user posted image' /><br><img src='http://arthur.crepin.free.fr/images/use ... mpsons.png' border='0' alt='user posted image' /><br><img src='http://img329.imageshack.us/img329/5797/pesgamerrr3.gif' border='0' alt='user posted image' /><br><br><u><b>BLACK GAY LIST:</b></u><br><br><span style='color:red'>€M4NU€L</span>:<br>I look like a girl and he's always complaining someone.
Tafka12
&lt;3 bd long time
Posts: 772
Joined: Wed Dec 28, 2005 6:32 pm

Post by Tafka12 »

Locobans
Maybe try add a case in character data wrong place somewhere that
if m_iLU_Pool <= 3
m_iLU_Pool = 3
and then put smth that would decrease stats too then.
or then add it in release item handler that if release Angelic Pendant then decrease LU_Pool and
if m_iHP > max hp
then change it to current max HP
<img src='http://www.hot.ee/carvanho/taavi.png' border='0' alt='user posted image' /><br><br><img src='http://www.hot.ee/carvanho/Elvine.png' border='0' alt='user posted image' /><br><img src='http://www.hot.ee/carvanho/LieroX.png' border='0' alt='user posted image' /><br><img src='http://www.hot.ee/carvanho/Football.png' border='0' alt='user posted image' />
locobans
Outpost Junkie
Posts: 2264
Joined: Tue Jul 13, 2004 3:51 am
Location: Behind You
Contact:

Post by locobans »

theblue3 if you fixed it...post the fixes.

Tafka12 thx for recomendation.
QUOTE (ADDKiD @ Dec 1 2006, 4:01 PM) <br>You guys make me laugh alot, half the shit I say, is bullshit...<br><br><img src='http://img485.imageshack.us/img485/492/banssig1ng.gif' border='0' alt='user posted image' /><br><br><b>I see no changes at all, wake up in the morning and ask myself...<br>Is life worth living? Should I blast myself?</b><br><br><b><a href='http://2paclegacy.com' target='_blank'>2PacLegacy.com</a></b>
snoopy81
Loyal fan
Posts: 338
Joined: Mon Jul 12, 2004 7:13 pm

Post by snoopy81 »

I went through Angels a very different way.
Don't touch real stats, but create m_iAngelicStr, m_iAngelicDex, m_iAngelicInt, m_iAngelicMag, Set them to NULL, bty default, and use them everywhere needed server side (Add them to corresponding stat to compute things)

Client side, detect The Angelic pendant (must use Item's Name) and decode the value, the adjust HP MP SP bars, and F5 screen.

This way it's far simpler to avoid Stats errors.
_\_ _<br> / , \__/ . \ Admin of Equilibrium Project<br> II\ \___ . O<br> III \_/ \ _ / <a href='http://www.equiprojet.com' target='_blank'>http://www.equiprojet.com</a><br> II I¯I
Drajwer
&lt;3 bd long time
Posts: 841
Joined: Fri Dec 10, 2004 3:24 pm

Post by Drajwer »

Wow, theblue. Nice sprites.
<img src='http://img440.imageshack.us/img440/2627/15pt.jpg' border='0' alt='user posted image' /><br><br>HBPolska characters:<br><br>Hellios 150+ Aresden Hero Mage<br>TheBill 120 Aresden plrider<br>Kill_Me 100 Full-Hero plrider<br>Rockeater 110+ Aresden Plate Mage<br><br><a href='http://www.helbreath.org' target='_blank'>http://www.helbreath.org</a> come and play (250 ppl online)
Dshaked
&lt;3 bd long time
Posts: 747
Joined: Tue Oct 11, 2005 6:40 pm

Post by Dshaked »

I like real angel icons, but the "pizzas" looks funny ^^
Old Helbreath Nemesis Player<br><img src='http://img232.imageshack.us/img232/9784/dshakedqc5.jpg' border='0' alt='user posted image' /><br><img src='http://img232.imageshack.us/img232/6475 ... barqj0.jpg' border='0' alt='user posted image' /><br><a href='index.php?showtopic=7107&hl=' target='_blank'>MainServer Hexing Tutorial</a><br><a href='index.php?showtopic=7663&hl=x-mas' target='_blank'>My Files</a>
€M4NU€L
Outpost bitch
Posts: 517
Joined: Sat Nov 19, 2005 9:07 pm
Location: I watch gay porn
Contact:

Post by €M4NU€L »

Dshaked wrote: I like real angel icons, but the "pizzas" looks funny ^^
Lol copy catter ... they aren't pizzas i just told him that cuz the STR Angelic Pandent looks like an pizza :lol:
<span style='color:blue'>Helbreath Thermal</span> <span style='color:green'>BETA</span> <span style='color:red'>Soon</span>:<br><br>www.youporngay.com<br><br><img src='http://img264.imageshack.us/img264/1041 ... piopk7.jpg' border='0' alt='user posted image' /><br><img src='http://img257.imageshack.us/img257/3762 ... eakxj1.jpg' border='0' alt='user posted image' /><br><img src='http://arthur.crepin.free.fr/images/use ... mpsons.png' border='0' alt='user posted image' /><br><img src='http://img329.imageshack.us/img329/5797/pesgamerrr3.gif' border='0' alt='user posted image' /><br><br><u><b>BLACK GAY LIST:</b></u><br><br><span style='color:red'>€M4NU€L</span>:<br>I look like a girl and he's always complaining someone.
locobans
Outpost Junkie
Posts: 2264
Joined: Tue Jul 13, 2004 3:51 am
Location: Behind You
Contact:

Post by locobans »

snoopy81 wrote: I went through Angels a very different way.
Don't touch real stats, but create m_iAngelicStr, m_iAngelicDex, m_iAngelicInt, m_iAngelicMag, Set them to NULL, bty default, and use them everywhere needed server side (Add them to corresponding stat to compute things)

Client side, detect The Angelic pendant (must use Item's Name) and decode the value, the adjust HP MP SP bars, and F5 screen.

This way it's far simpler to avoid Stats errors.
Ahh this is more interesting :huh:
QUOTE (ADDKiD @ Dec 1 2006, 4:01 PM) <br>You guys make me laugh alot, half the shit I say, is bullshit...<br><br><img src='http://img485.imageshack.us/img485/492/banssig1ng.gif' border='0' alt='user posted image' /><br><br><b>I see no changes at all, wake up in the morning and ask myself...<br>Is life worth living? Should I blast myself?</b><br><br><b><a href='http://2paclegacy.com' target='_blank'>2PacLegacy.com</a></b>
diuuude
Outpost bitch
Posts: 592
Joined: Wed Dec 28, 2005 11:57 pm

Post by diuuude »

<span style='color:red'>Release Item PTA BugFix</span>

Well, thins code should fix the bug when you release a PTA with +X stats... Didn't test it but it should work.

in ReleaseItemHandler, add a new case in switch (cEquipPos) {

Code: Select all

	if (cEquipPos == DEF_EQUIPPOS_LFINGER) {
  if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum != NULL) {
  	int iValue, iMaxHP, iMaxSP, iMaxMP;
  	if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 908) {//AngelicPendant(STR)
    iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
    if (iValue >= 1) {
    // Remove the stats bonus
    m_pClientList[iClientH]->m_iStr -= iValue;
    // Re-calculate Max HP, MP, SP
    iMaxHP = iGetMaxHP(iClientH);
    iMaxSP = iGetMaxSP(iClientH);
    iMaxMP = iGetMaxMP(iClientH);
    // Re-Set current HP, MP, SP
    if (m_pClientList[iClientH]->m_iHP > iMaxHP) m_pClientList[iClientH]->m_iHP = iMaxHP;
    if (m_pClientList[iClientH]->m_iMP > iMaxMP) m_pClientList[iClientH]->m_iMP = iMaxMP;
    if (m_pClientList[iClientH]->m_iSP > iMaxSP) m_pClientList[iClientH]->m_iSP = iMaxSP;
    }
  	}

  	else if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 909) {//AngelicPendant(DEX)
    iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
    if (iValue >= 1) {
    // Remove the stats bonus
    m_pClientList[iClientH]->m_iDex -= iValue;
    // Re-calculate Max HP, MP, SP
    iMaxHP = iGetMaxHP(iClientH);
    iMaxSP = iGetMaxSP(iClientH);
    iMaxMP = iGetMaxMP(iClientH);
    // Re-Set current HP, MP, SP
    if (m_pClientList[iClientH]->m_iHP > iMaxHP) m_pClientList[iClientH]->m_iHP = iMaxHP;
    if (m_pClientList[iClientH]->m_iMP > iMaxMP) m_pClientList[iClientH]->m_iMP = iMaxMP;
    if (m_pClientList[iClientH]->m_iSP > iMaxSP) m_pClientList[iClientH]->m_iSP = iMaxSP;
    }
  	}

  	else if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 910) {//AngelicPendant(INT)
    iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
    if (iValue >= 1) {
    // Remove the stats bonus
    m_pClientList[iClientH]->m_iInt -= iValue;
    // Re-calculate Max HP, MP, SP
    iMaxHP = iGetMaxHP(iClientH);
    iMaxSP = iGetMaxSP(iClientH);
    iMaxMP = iGetMaxMP(iClientH);
    // Re-Set current HP, MP, SP
    if (m_pClientList[iClientH]->m_iHP > iMaxHP) m_pClientList[iClientH]->m_iHP = iMaxHP;
    if (m_pClientList[iClientH]->m_iMP > iMaxMP) m_pClientList[iClientH]->m_iMP = iMaxMP;
    if (m_pClientList[iClientH]->m_iSP > iMaxSP) m_pClientList[iClientH]->m_iSP = iMaxSP;
    // Remove spells learnt while wearing INT PTA bonus +X
    bCheckMagicInt(iClientH);
    }
  	}
  	else if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 911) {//AngelicPendant(MAG)
    iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
    if (iValue >= 1) {
    // Remove the stats bonus
    m_pClientList[iClientH]->m_iMag -= iValue;
    // Re-calculate Max HP, MP, SP
    iMaxHP = iGetMaxHP(iClientH);
    iMaxSP = iGetMaxSP(iClientH);
    iMaxMP = iGetMaxMP(iClientH);
    // Re-Set current HP, MP, SP
    if (m_pClientList[iClientH]->m_iHP > iMaxHP) m_pClientList[iClientH]->m_iHP = iMaxHP;
    if (m_pClientList[iClientH]->m_iMP > iMaxMP) m_pClientList[iClientH]->m_iMP = iMaxMP;
    if (m_pClientList[iClientH]->m_iSP > iMaxSP) m_pClientList[iClientH]->m_iSP = iMaxSP;
    }
  	}
  }
	}
<a href='http://www.technohell.net' target='_blank'><b><span style='color:red'>>>> Helbreath Ressources Website Here <<<</span></b></a><br>C++ Sources, Tools, Server Files, Help on Forum, C++ Snippets, Toplist... Updated often, come visit us !
juggalo2
Spamtastic
Posts: 1144
Joined: Sun Jul 17, 2005 5:28 pm

Post by juggalo2 »

when i added it it was all bersked monster whats happenedImage
<img src='http://lifeplaysu420.com/unknow/nightsign.png' border='0' alt='user posted image' /><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>Wanna make money for surfing the net sing up at <br><a href='http://www.cashfiesta.com/php/join.php? ... yprivitera' target='_blank'>cash fiesta</a><br>its all free hey why ntot make money while fucking around on the computer<br><br><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diuuude
Outpost bitch
Posts: 592
Joined: Wed Dec 28, 2005 11:57 pm

Post by diuuude »

juggalo2 wrote: when i added it it was all bersked monster whats happenedImage
bah you added it IN the berserk flag check, instead of AFTER it :P
<a href='http://www.technohell.net' target='_blank'><b><span style='color:red'>>>> Helbreath Ressources Website Here <<<</span></b></a><br>C++ Sources, Tools, Server Files, Help on Forum, C++ Snippets, Toplist... Updated often, come visit us !
juggalo2
Spamtastic
Posts: 1144
Joined: Sun Jul 17, 2005 5:28 pm

Post by juggalo2 »

oppps
<img src='http://lifeplaysu420.com/unknow/nightsign.png' border='0' alt='user posted image' /><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>Wanna make money for surfing the net sing up at <br><a href='http://www.cashfiesta.com/php/join.php? ... yprivitera' target='_blank'>cash fiesta</a><br>its all free hey why ntot make money while fucking around on the computer<br><br><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
locobans
Outpost Junkie
Posts: 2264
Joined: Tue Jul 13, 2004 3:51 am
Location: Behind You
Contact:

Post by locobans »

diuude beated me...

Trust me that happened to me xDDD

Edit:

Well that fix you posted...I checked and there was a code added in that place alredy...
// ******* Angel Code - Begin ******* //
case DEF_EQUIPPOS_LFINGER:
int iValue;
if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum != NULL) {
if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 908) {//AngelicPendant(STR)
  iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
  if (iValue >= 1) {
  m_pClientList[iClientH]->m_iStr -= iValue;
  }
  SetAngelFlag1(iClientH, DEF_OWNERTYPE_PLAYER, FALSE);
  SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SETTING_SUCCESS, NULL, NULL, NULL, NULL);
}

else if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 909) {//AngelicPendant(DEX)
  iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
  if (iValue >= 1) {
  m_pClientList[iClientH]->m_iDex -= iValue;
  }
  SetAngelFlag2(iClientH, DEF_OWNERTYPE_PLAYER, FALSE);
  SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SETTING_SUCCESS, NULL, NULL, NULL, NULL);
}

else if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 910) {//AngelicPendant(INT)
  iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
  if (iValue >= 1) {
  m_pClientList[iClientH]->m_iInt -= iValue;
  }
  SetAngelFlag3(iClientH, DEF_OWNERTYPE_PLAYER, FALSE);
  SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SETTING_SUCCESS, NULL, NULL, NULL, NULL);
}
else if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 911) {//AngelicPendant(MAG)
  iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
  if (iValue >= 1) {
  m_pClientList[iClientH]->m_iMag -= iValue;
  }
  SetAngelFlag4(iClientH, DEF_OWNERTYPE_PLAYER, FALSE);
  SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SETTING_SUCCESS, NULL, NULL, NULL, NULL);
}
}
break;
// ******* Angel Code - End ******* //
So I thought that the new one should look like this...
// ******* Angel Code - Begin ******* //
case DEF_EQUIPPOS_LFINGER:
int iValue, iMaxHP, iMaxSP, iMaxMP;
if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum != NULL) {
if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 908) {//AngelicPendant(STR)
  iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
  if (iValue >= 1) {
  // Remove the stats bonus
  m_pClientList[iClientH]->m_iStr -= iValue;
   // Re-calculate Max HP, MP, SP
   iMaxHP = iGetMaxHP(iClientH);
   iMaxSP = iGetMaxSP(iClientH);
   iMaxMP = iGetMaxMP(iClientH);
   // Re-Set current HP, MP, SP
   if (m_pClientList[iClientH]->m_iHP > iMaxHP) m_pClientList[iClientH]->m_iHP = iMaxHP;
   if (m_pClientList[iClientH]->m_iMP > iMaxMP) m_pClientList[iClientH]->m_iMP = iMaxMP;
   if (m_pClientList[iClientH]->m_iSP > iMaxSP) m_pClientList[iClientH]->m_iSP = iMaxSP;
  }
  SetAngelFlag1(iClientH, DEF_OWNERTYPE_PLAYER, FALSE);
  SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SETTING_SUCCESS, NULL, NULL, NULL, NULL);
}

else if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 909) {//AngelicPendant(DEX)
  iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
  if (iValue >= 1) {
  // Remove the stats bonus
  m_pClientList[iClientH]->m_iDex -= iValue;
   // Re-calculate Max HP, MP, SP
   iMaxHP = iGetMaxHP(iClientH);
   iMaxSP = iGetMaxSP(iClientH);
   iMaxMP = iGetMaxMP(iClientH);
   // Re-Set current HP, MP, SP
   if (m_pClientList[iClientH]->m_iHP > iMaxHP) m_pClientList[iClientH]->m_iHP = iMaxHP;
   if (m_pClientList[iClientH]->m_iMP > iMaxMP) m_pClientList[iClientH]->m_iMP = iMaxMP;
   if (m_pClientList[iClientH]->m_iSP > iMaxSP) m_pClientList[iClientH]->m_iSP = iMaxSP;
  }
  SetAngelFlag2(iClientH, DEF_OWNERTYPE_PLAYER, FALSE);
  SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SETTING_SUCCESS, NULL, NULL, NULL, NULL);
}

else if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 910) {//AngelicPendant(INT)
  iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
  if (iValue >= 1) {
  // Remove the stats bonus
  m_pClientList[iClientH]->m_iInt -= iValue;
   // Re-calculate Max HP, MP, SP
   iMaxHP = iGetMaxHP(iClientH);
   iMaxSP = iGetMaxSP(iClientH);
   iMaxMP = iGetMaxMP(iClientH);
   // Re-Set current HP, MP, SP
   if (m_pClientList[iClientH]->m_iHP > iMaxHP) m_pClientList[iClientH]->m_iHP = iMaxHP;
   if (m_pClientList[iClientH]->m_iMP > iMaxMP) m_pClientList[iClientH]->m_iMP = iMaxMP;
   if (m_pClientList[iClientH]->m_iSP > iMaxSP) m_pClientList[iClientH]->m_iSP = iMaxSP;
   // Remove spells learnt while wearing INT PTA bonus +X
   bCheckMagicInt(iClientH);
  }
  SetAngelFlag3(iClientH, DEF_OWNERTYPE_PLAYER, FALSE);
  SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SETTING_SUCCESS, NULL, NULL, NULL, NULL);
}
else if (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_sIDnum == 911) {//AngelicPendant(MAG)
  iValue = (m_pClientList[iClientH]->m_pItemList[sItemIndex]->m_dwAttribute & 0xF0000000) >> 28;
  if (iValue >= 1) {
  // Remove the stats bonus
  m_pClientList[iClientH]->m_iMag -= iValue;
   // Re-calculate Max HP, MP, SP
   iMaxHP = iGetMaxHP(iClientH);
   iMaxSP = iGetMaxSP(iClientH);
   iMaxMP = iGetMaxMP(iClientH);
   // Re-Set current HP, MP, SP
   if (m_pClientList[iClientH]->m_iHP > iMaxHP) m_pClientList[iClientH]->m_iHP = iMaxHP;
   if (m_pClientList[iClientH]->m_iMP > iMaxMP) m_pClientList[iClientH]->m_iMP = iMaxMP;
   if (m_pClientList[iClientH]->m_iSP > iMaxSP) m_pClientList[iClientH]->m_iSP = iMaxSP;
  }
  SetAngelFlag4(iClientH, DEF_OWNERTYPE_PLAYER, FALSE);
  SendNotifyMsg(NULL, iClientH, DEF_NOTIFY_SETTING_SUCCESS, NULL, NULL, NULL, NULL);
}
}
break;
// ******* Angel Code - End ******* //
QUOTE (ADDKiD @ Dec 1 2006, 4:01 PM) <br>You guys make me laugh alot, half the shit I say, is bullshit...<br><br><img src='http://img485.imageshack.us/img485/492/banssig1ng.gif' border='0' alt='user posted image' /><br><br><b>I see no changes at all, wake up in the morning and ask myself...<br>Is life worth living? Should I blast myself?</b><br><br><b><a href='http://2paclegacy.com' target='_blank'>2PacLegacy.com</a></b>
Shetar
Member
Posts: 148
Joined: Sun Nov 30, 2003 12:57 am

Post by Shetar »

I made a new stat which works the same way as angels:
Image
Image
Image

Just like angels it requires a couple of modifications here and there.
My advice: Be smart and don't let the HG save the extra stats into a char file, just make the HG check at login if you got something equiped which adds stats.
Another advice: Don't let the HG save the LU points, but make it calculate it on the fly, might save some problems.
Helbreath II Project Manager & All round Developer. <br><i>(Don't worry, we're not dead)</i>
Post Reply