Added Corrected Char Sheet XP script by -=HA=-

Added Corrected Char Sheet XP script by -=HA=-.  Updated a few NPC onDeath scripts to use point at the correct XP scripts.  Full compile.  Updated release archive.
This commit is contained in:
Jaysyn904 2024-10-21 15:19:44 -04:00
parent 3e6f2fee03
commit 6685b7ca0d
31 changed files with 395 additions and 318 deletions

View File

@ -861,7 +861,7 @@
},
"Tile_ID": {
"type": "int",
"value": 166
"value": 5
},
"Tile_MainLight1": {
"type": "byte",
@ -873,15 +873,15 @@
},
"Tile_Orientation": {
"type": "int",
"value": 3
"value": 2
},
"Tile_SrcLight1": {
"type": "byte",
"value": 3
"value": 2
},
"Tile_SrcLight2": {
"type": "byte",
"value": 3
"value": 2
}
},
{
@ -2194,7 +2194,7 @@
},
"Tile_ID": {
"type": "int",
"value": 38
"value": 118
},
"Tile_MainLight1": {
"type": "byte",
@ -2237,7 +2237,7 @@
},
"Tile_ID": {
"type": "int",
"value": 154
"value": 39
},
"Tile_MainLight1": {
"type": "byte",
@ -2245,7 +2245,7 @@
},
"Tile_MainLight2": {
"type": "byte",
"value": 0
"value": 1
},
"Tile_Orientation": {
"type": "int",
@ -2296,11 +2296,11 @@
},
"Tile_SrcLight1": {
"type": "byte",
"value": 2
"value": 3
},
"Tile_SrcLight2": {
"type": "byte",
"value": 2
"value": 3
}
},
{
@ -3629,11 +3629,11 @@
},
"Tile_SrcLight1": {
"type": "byte",
"value": 3
"value": 2
},
"Tile_SrcLight2": {
"type": "byte",
"value": 3
"value": 2
}
},
{
@ -44197,7 +44197,7 @@
},
"Version": {
"type": "dword",
"value": 32
"value": 34
},
"Width": {
"type": "int",

View File

@ -31592,7 +31592,7 @@
},
"XPosition": {
"type": "float",
"value": 165.8017883300781
"value": 165.0381317138672
},
"YOrientation": {
"type": "float",
@ -31600,7 +31600,7 @@
},
"YPosition": {
"type": "float",
"value": 13.92373180389404
"value": 14.20234966278076
},
"ZPosition": {
"type": "float",
@ -34406,7 +34406,7 @@
},
"XPosition": {
"type": "float",
"value": 164.9021759033203
"value": 164.8339538574219
},
"YOrientation": {
"type": "float",
@ -34414,11 +34414,11 @@
},
"YPosition": {
"type": "float",
"value": 19.68864059448242
"value": 20.38010215759277
},
"ZPosition": {
"type": "float",
"value": 0.2000000029802322
"value": 0.199998140335083
}
},
{

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -466,7 +466,7 @@ if(GetLocalInt(GetModule(), "COLORS_OK")==1)
//Turn their channel to talk..
SetPCChatVolume(TALKVOLUME_TALK);
//Tell the PC the DMs are not recieving messages..
SetPCChatMessage("The DM has turned off Party Chat temporarialy.");
SetPCChatMessage("The DM has turned off Party Chat temporarily.");
}
}
@ -480,7 +480,7 @@ if(GetLocalInt(GetModule(), "COLORS_OK")==1)
//Turn their channel to talk..
SetPCChatVolume(TALKVOLUME_TALK);
//Tell the PC the DMs are not recieving messages..
SetPCChatMessage("The DM has turned off DM tells temporarialy.");
SetPCChatMessage("The DM has turned off DM tells temporarily.");
}
}

View File

@ -29,15 +29,32 @@ location bTarget;
//Required Include For Color Messages(Read include to learn more)
#include "gen_inc_color"
#include "inc_utility"
#include "nwnx_player"
//Required Include for SimTools
//#include "fky_chat_inc"
void SetTlkOverrideForMaximumLevel(object oPC)
{
int nLevel = GetHitDice(oPC);
if (nLevel < 40)
{
NWNX_Player_SetTlkOverride(oPC, 315, "");
}
else
{
NWNX_Player_SetTlkOverride(oPC, 315, "Next Level: " + IntToString((nLevel + 1) * nLevel * 500) + "\n");
}
}
//Main Script
void main()
{
ExecuteScript("prc_onenter", OBJECT_SELF);
//Declare Major Variables..
//Declare Major Variables
object oPC;
oPC = GetEnteringObject();
object oTarget;
@ -46,6 +63,8 @@ object oPlayer = oPC;
object oPP = oPC;
string sCDKey = GetPCPublicCDKey(oPC, FALSE);
SetTlkOverrideForMaximumLevel(GetEnteringObject());
//IMPORTANT, please set the Nap Time Below!
//If changed here you must open the script "kopcwand" and adjust it there!
object oNap = GetItemPossessedBy(oPC, "napper");

View File

@ -9,10 +9,24 @@ Created On: 3/03/09
Intergrated SimTools to the OnPlayerLevelUp Event
----------------------------------------------------------*/
#include "nwnx_player"
//Required Include for SimTools
//#include "fky_chat_inc"
void SetTlkOverrideForMaximumLevel(object oPC)
{
int nLevel = GetHitDice(oPC);
if (nLevel < 40)
{
NWNX_Player_SetTlkOverride(oPC, 315, "");
}
else
{
NWNX_Player_SetTlkOverride(oPC, 315, "Next Level: " + IntToString((nLevel + 1) * nLevel * 500) + "\n");
}
}
void SendMessageToAllPC(string sMessage)
{
object oPC = GetFirstPC();
@ -26,10 +40,13 @@ void SendMessageToAllPC(string sMessage)
void main()
{
ExecuteScript("prc_levelup", OBJECT_SELF);
object oPC = GetPCLevellingUp();
int nHD = GetHitDice(oPC);
location lSaved = GetLocation(oPC);
int MULTI_PLAYER = GetLocalInt(GetModule(), "multi");
SetTlkOverrideForMaximumLevel(GetPCLevellingUp());
///////LOCATION SAVING OPTION////////
//Delete the /* above to activate

View File

@ -14,4 +14,3 @@ void main()
ExecuteScript("prc_npc_death", OBJECT_SELF);
ExecuteScript("prc_pwondeath", OBJECT_SELF);
}

View File

@ -1,5 +1,9 @@
#include "nwnx_player"
//Created By Guile 5/5/08
//:: NWNxEE / 60 lvl support by Jaysyn & HA
//IMPORTANT////////////////////////////////////////////////////////////////////
//This is an include not an actual script (It has prototype functions in it!)
//Function which you can use in any script!! Just.....
@ -37,6 +41,19 @@ Relevel(oPC);
//you should double check this yourself to verify it.
///////////////////////////////////////////////////////////////////////////////
void SetTlkOverrideForMaximumLevel(object oPC)
{
int nLevel = GetHitDice(oPC);
if (nLevel < 40)
{
NWNX_Player_SetTlkOverride(oPC, 315, "");
}
else
{
NWNX_Player_SetTlkOverride(oPC, 315, "Next Level: " + IntToString((nLevel + 1) * nLevel * 500) + "\n");
}
}
//This function Take1Level(oTarget); will take 1 level from the Target.
//It set's thier xp to the base required XP for the next lowest level.
@ -109,13 +126,16 @@ case 58: nXP = 1596000; break;
case 59: nXP = 1653000; break;
case 60: nXP = 1711000; break;
}
SetXP(oTarget, nXP);
SetTlkOverrideForMaximumLevel(oTarget);
}
//The Function Below Give1Level(oTarget); gives the Target one level.
//IMPORTANT: This function cannot be used with Take1Level(oTarget);
//or it will delevel the target!!!!
//I created this exlusively for the purose of my DM wand
//I created this exlusively for the purpose of my DM wand
//and other scripts which only give the PC one level as a reward.
void Give1Level(object oTarget)
{
@ -210,6 +230,7 @@ if(GetGold(oTarget)>nGold)
TakeGoldFromCreature(nGold, oTarget, TRUE);
SetXP(oTarget, 0);
DelayCommand(1.0, GiveXPToCreature(oTarget, gXP));
DelayCommand(1.3, SetTlkOverrideForMaximumLevel(oTarget));
}
else
@ -228,26 +249,29 @@ SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
Take1Level(oTarget);
DelayCommand(1.0, SetXP(oTarget, gXP));
DelayCommand(1.3, SetTlkOverrideForMaximumLevel(oTarget));
}
//The Function Relevel3(oTarget) will take 3 levels from the Target and give
//back thier orginal XP. This script does not cause xp loss whatsoever.
//The Function Relevel5(oTarget) will take 5 levels from the Target and give
//back their orginal XP. This script does not cause xp loss whatsoever.
void Relevel5(object oTarget)
{
int nCCXP;
nCCXP = GetXP(oTarget);
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
DelayCommand(1.0, SetXP(oTarget, gXP));
}
//The Function Relevel5(oTarget) will take 5 levels from the Target and give
//back thier orginal XP. This script does not cause xp loss whatsoever.
//The Function Relevel10(oTarget) will take 10 levels from the Target and give
//back their orginal XP. This script does not cause xp loss whatsoever.
void Relevel10(object oTarget)
{
int nGold = GetHitDice(oTarget) * 50;
@ -257,6 +281,7 @@ int nCCXP;
nCCXP = GetXP(oTarget);
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
@ -267,6 +292,7 @@ Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
Take1Level(oTarget);
DelayCommand(1.0, SetXP(oTarget, gXP));
}
}
@ -344,10 +370,8 @@ case 57: nXP = 1596000; break;
case 58: nXP = 1653000; break;
case 59: nXP = 1711000; break;
case 60: nXP = 1770000; break;
}
int aXP = GetXP(oPlayer);
int bXP = aXP - nXP; //Subtract thier minimum XP needed for the level
int dXP = bXP + 100; //Give 100 XP to Prevent the divide by 0 error
@ -372,3 +396,5 @@ case 60: nXP = 1770000; break;
}
}
//:: void main (){}

View File

@ -15,6 +15,20 @@ character.
*/
////////////////////////////////////
#include "nwnx_player"
void SetTlkOverrideForMaximumLevel(object oPC)
{
int nLevel = GetHitDice(oPC);
if (nLevel < 40)
{
NWNX_Player_SetTlkOverride(oPC, 315, "");
}
else
{
NWNX_Player_SetTlkOverride(oPC, 315, "Next Level: " + IntToString((nLevel + 1) * nLevel * 500) + "\n");
}
}
void main()
{
@ -52,6 +66,8 @@ int tXP = cXP + rXP; //rXP + pXP;
//Take all the player's XP
SetXP(oPC, 0);
SetTlkOverrideForMaximumLevel(oPC);
//Let's make sure the character is saved!!!!
DelayCommand(1.0, ExportSingleCharacter(oPC));
@ -74,7 +90,7 @@ else
//In case of errors..
else
{
FloatingTextStringOnCreature("Please notify a DM's there is an error" +
FloatingTextStringOnCreature("Please notify a DM that there is an error" +
" with the XP Bank.", oPC);
}
}

View File

@ -361,7 +361,7 @@ void GiveXP(object oKiller, int nXPToGive, float fKillerBonus, int nDiff, int nP
}
}
GiveXPToCreature(oParty, (nXPToGive + FloatToInt(fKillerBonus)));
//GiveXPToCreature(oParty, (nXPToGive + FloatToInt(fKillerBonus)));
}
//:: Reward other party members
else
@ -407,7 +407,7 @@ void GiveXP(object oKiller, int nXPToGive, float fKillerBonus, int nDiff, int nP
GiveGoldToCreature(oParty, FloatToInt((IntToFloat(nXPToGive) + fKillerBonus) * GP_REWARD_MULTIPLIER));
} */
GiveXPToCreature(oParty, nXPToGive);
//GiveXPToCreature(oParty, nXPToGive);
}
}
}