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:
parent
3e6f2fee03
commit
6685b7ca0d
@ -861,7 +861,7 @@
|
|||||||
},
|
},
|
||||||
"Tile_ID": {
|
"Tile_ID": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
"value": 166
|
"value": 5
|
||||||
},
|
},
|
||||||
"Tile_MainLight1": {
|
"Tile_MainLight1": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
@ -873,15 +873,15 @@
|
|||||||
},
|
},
|
||||||
"Tile_Orientation": {
|
"Tile_Orientation": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
"value": 3
|
"value": 2
|
||||||
},
|
},
|
||||||
"Tile_SrcLight1": {
|
"Tile_SrcLight1": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 3
|
"value": 2
|
||||||
},
|
},
|
||||||
"Tile_SrcLight2": {
|
"Tile_SrcLight2": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 3
|
"value": 2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -2194,7 +2194,7 @@
|
|||||||
},
|
},
|
||||||
"Tile_ID": {
|
"Tile_ID": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
"value": 38
|
"value": 118
|
||||||
},
|
},
|
||||||
"Tile_MainLight1": {
|
"Tile_MainLight1": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
@ -2237,7 +2237,7 @@
|
|||||||
},
|
},
|
||||||
"Tile_ID": {
|
"Tile_ID": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
"value": 154
|
"value": 39
|
||||||
},
|
},
|
||||||
"Tile_MainLight1": {
|
"Tile_MainLight1": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
@ -2245,7 +2245,7 @@
|
|||||||
},
|
},
|
||||||
"Tile_MainLight2": {
|
"Tile_MainLight2": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 0
|
"value": 1
|
||||||
},
|
},
|
||||||
"Tile_Orientation": {
|
"Tile_Orientation": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
@ -2296,11 +2296,11 @@
|
|||||||
},
|
},
|
||||||
"Tile_SrcLight1": {
|
"Tile_SrcLight1": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 2
|
"value": 3
|
||||||
},
|
},
|
||||||
"Tile_SrcLight2": {
|
"Tile_SrcLight2": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 2
|
"value": 3
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -3629,11 +3629,11 @@
|
|||||||
},
|
},
|
||||||
"Tile_SrcLight1": {
|
"Tile_SrcLight1": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 3
|
"value": 2
|
||||||
},
|
},
|
||||||
"Tile_SrcLight2": {
|
"Tile_SrcLight2": {
|
||||||
"type": "byte",
|
"type": "byte",
|
||||||
"value": 3
|
"value": 2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -44197,7 +44197,7 @@
|
|||||||
},
|
},
|
||||||
"Version": {
|
"Version": {
|
||||||
"type": "dword",
|
"type": "dword",
|
||||||
"value": 32
|
"value": 34
|
||||||
},
|
},
|
||||||
"Width": {
|
"Width": {
|
||||||
"type": "int",
|
"type": "int",
|
||||||
|
@ -31592,7 +31592,7 @@
|
|||||||
},
|
},
|
||||||
"XPosition": {
|
"XPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 165.8017883300781
|
"value": 165.0381317138672
|
||||||
},
|
},
|
||||||
"YOrientation": {
|
"YOrientation": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
@ -31600,7 +31600,7 @@
|
|||||||
},
|
},
|
||||||
"YPosition": {
|
"YPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 13.92373180389404
|
"value": 14.20234966278076
|
||||||
},
|
},
|
||||||
"ZPosition": {
|
"ZPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
@ -34406,7 +34406,7 @@
|
|||||||
},
|
},
|
||||||
"XPosition": {
|
"XPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 164.9021759033203
|
"value": 164.8339538574219
|
||||||
},
|
},
|
||||||
"YOrientation": {
|
"YOrientation": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
@ -34414,11 +34414,11 @@
|
|||||||
},
|
},
|
||||||
"YPosition": {
|
"YPosition": {
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"value": 19.68864059448242
|
"value": 20.38010215759277
|
||||||
},
|
},
|
||||||
"ZPosition": {
|
"ZPosition": {
|
||||||
"type": "float",
|
"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.
@ -466,7 +466,7 @@ if(GetLocalInt(GetModule(), "COLORS_OK")==1)
|
|||||||
//Turn their channel to talk..
|
//Turn their channel to talk..
|
||||||
SetPCChatVolume(TALKVOLUME_TALK);
|
SetPCChatVolume(TALKVOLUME_TALK);
|
||||||
//Tell the PC the DMs are not recieving messages..
|
//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..
|
//Turn their channel to talk..
|
||||||
SetPCChatVolume(TALKVOLUME_TALK);
|
SetPCChatVolume(TALKVOLUME_TALK);
|
||||||
//Tell the PC the DMs are not recieving messages..
|
//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.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,22 +29,41 @@ location bTarget;
|
|||||||
//Required Include For Color Messages(Read include to learn more)
|
//Required Include For Color Messages(Read include to learn more)
|
||||||
#include "gen_inc_color"
|
#include "gen_inc_color"
|
||||||
#include "inc_utility"
|
#include "inc_utility"
|
||||||
|
#include "nwnx_player"
|
||||||
|
|
||||||
//Required Include for SimTools
|
//Required Include for SimTools
|
||||||
//#include "fky_chat_inc"
|
//#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
|
//Main Script
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
ExecuteScript("prc_onenter", OBJECT_SELF);
|
ExecuteScript("prc_onenter", OBJECT_SELF);
|
||||||
//Declare Major Variables..
|
|
||||||
object oPC;
|
//Declare Major Variables
|
||||||
oPC = GetEnteringObject();
|
object oPC;
|
||||||
object oTarget;
|
oPC = GetEnteringObject();
|
||||||
oTarget = oPC;
|
object oTarget;
|
||||||
object oPlayer = oPC;
|
oTarget = oPC;
|
||||||
object oPP = oPC;
|
object oPlayer = oPC;
|
||||||
string sCDKey = GetPCPublicCDKey(oPC, FALSE);
|
object oPP = oPC;
|
||||||
|
string sCDKey = GetPCPublicCDKey(oPC, FALSE);
|
||||||
|
|
||||||
|
SetTlkOverrideForMaximumLevel(GetEnteringObject());
|
||||||
|
|
||||||
//IMPORTANT, please set the Nap Time Below!
|
//IMPORTANT, please set the Nap Time Below!
|
||||||
//If changed here you must open the script "kopcwand" and adjust it there!
|
//If changed here you must open the script "kopcwand" and adjust it there!
|
||||||
|
@ -9,10 +9,24 @@ Created On: 3/03/09
|
|||||||
Intergrated SimTools to the OnPlayerLevelUp Event
|
Intergrated SimTools to the OnPlayerLevelUp Event
|
||||||
|
|
||||||
----------------------------------------------------------*/
|
----------------------------------------------------------*/
|
||||||
|
#include "nwnx_player"
|
||||||
|
|
||||||
//Required Include for SimTools
|
//Required Include for SimTools
|
||||||
//#include "fky_chat_inc"
|
//#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)
|
void SendMessageToAllPC(string sMessage)
|
||||||
{
|
{
|
||||||
object oPC = GetFirstPC();
|
object oPC = GetFirstPC();
|
||||||
@ -25,11 +39,14 @@ void SendMessageToAllPC(string sMessage)
|
|||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
ExecuteScript("prc_levelup", OBJECT_SELF);
|
ExecuteScript("prc_levelup", OBJECT_SELF);
|
||||||
object oPC = GetPCLevellingUp();
|
|
||||||
int nHD = GetHitDice(oPC);
|
object oPC = GetPCLevellingUp();
|
||||||
location lSaved = GetLocation(oPC);
|
int nHD = GetHitDice(oPC);
|
||||||
int MULTI_PLAYER = GetLocalInt(GetModule(), "multi");
|
location lSaved = GetLocation(oPC);
|
||||||
|
int MULTI_PLAYER = GetLocalInt(GetModule(), "multi");
|
||||||
|
|
||||||
|
SetTlkOverrideForMaximumLevel(GetPCLevellingUp());
|
||||||
///////LOCATION SAVING OPTION////////
|
///////LOCATION SAVING OPTION////////
|
||||||
|
|
||||||
//Delete the /* above to activate
|
//Delete the /* above to activate
|
||||||
|
@ -13,5 +13,4 @@ void main()
|
|||||||
//ExecuteScript("sf_xp", OBJECT_SELF);
|
//ExecuteScript("sf_xp", OBJECT_SELF);
|
||||||
ExecuteScript("prc_npc_death", OBJECT_SELF);
|
ExecuteScript("prc_npc_death", OBJECT_SELF);
|
||||||
ExecuteScript("prc_pwondeath", OBJECT_SELF);
|
ExecuteScript("prc_pwondeath", OBJECT_SELF);
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,9 @@
|
|||||||
|
#include "nwnx_player"
|
||||||
|
|
||||||
//Created By Guile 5/5/08
|
//Created By Guile 5/5/08
|
||||||
|
|
||||||
|
//:: NWNxEE / 60 lvl support by Jaysyn & HA
|
||||||
|
|
||||||
//IMPORTANT////////////////////////////////////////////////////////////////////
|
//IMPORTANT////////////////////////////////////////////////////////////////////
|
||||||
//This is an include not an actual script (It has prototype functions in it!)
|
//This is an include not an actual script (It has prototype functions in it!)
|
||||||
//Function which you can use in any script!! Just.....
|
//Function which you can use in any script!! Just.....
|
||||||
@ -37,156 +41,172 @@ Relevel(oPC);
|
|||||||
//you should double check this yourself to verify it.
|
//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.
|
//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.
|
//It set's thier xp to the base required XP for the next lowest level.
|
||||||
//
|
//
|
||||||
void Take1Level(object oTarget)
|
void Take1Level(object oTarget)
|
||||||
{
|
{
|
||||||
int cLvl = GetHitDice(oTarget);
|
int cLvl = GetHitDice(oTarget);
|
||||||
int nXP;
|
int nXP;
|
||||||
|
|
||||||
switch (cLvl)
|
switch (cLvl)
|
||||||
{
|
{
|
||||||
case 1: nXP = 0; break;
|
case 1: nXP = 0; break;
|
||||||
case 2: nXP = 0; break;
|
case 2: nXP = 0; break;
|
||||||
case 3: nXP = 1000; break;
|
case 3: nXP = 1000; break;
|
||||||
case 4: nXP = 3000; break;
|
case 4: nXP = 3000; break;
|
||||||
case 5: nXP = 6000; break;
|
case 5: nXP = 6000; break;
|
||||||
case 6: nXP = 10000; break;
|
case 6: nXP = 10000; break;
|
||||||
case 7: nXP = 15000; break;
|
case 7: nXP = 15000; break;
|
||||||
case 8: nXP = 21000; break;
|
case 8: nXP = 21000; break;
|
||||||
case 9: nXP = 28000; break;
|
case 9: nXP = 28000; break;
|
||||||
case 10: nXP = 36000; break;
|
case 10: nXP = 36000; break;
|
||||||
case 11: nXP = 45000; break;
|
case 11: nXP = 45000; break;
|
||||||
case 12: nXP = 55000; break;
|
case 12: nXP = 55000; break;
|
||||||
case 13: nXP = 66000; break;
|
case 13: nXP = 66000; break;
|
||||||
case 14: nXP = 78000; break;
|
case 14: nXP = 78000; break;
|
||||||
case 15: nXP = 91000; break;
|
case 15: nXP = 91000; break;
|
||||||
case 16: nXP = 105000; break;
|
case 16: nXP = 105000; break;
|
||||||
case 17: nXP = 120000; break;
|
case 17: nXP = 120000; break;
|
||||||
case 18: nXP = 136000; break;
|
case 18: nXP = 136000; break;
|
||||||
case 19: nXP = 153000; break;
|
case 19: nXP = 153000; break;
|
||||||
case 20: nXP = 171000; break;
|
case 20: nXP = 171000; break;
|
||||||
case 21: nXP = 190000; break;
|
case 21: nXP = 190000; break;
|
||||||
case 22: nXP = 210000; break;
|
case 22: nXP = 210000; break;
|
||||||
case 23: nXP = 231000; break;
|
case 23: nXP = 231000; break;
|
||||||
case 24: nXP = 263000; break;
|
case 24: nXP = 263000; break;
|
||||||
case 25: nXP = 276000; break;
|
case 25: nXP = 276000; break;
|
||||||
case 26: nXP = 300000; break;
|
case 26: nXP = 300000; break;
|
||||||
case 27: nXP = 325000; break;
|
case 27: nXP = 325000; break;
|
||||||
case 28: nXP = 351000; break;
|
case 28: nXP = 351000; break;
|
||||||
case 29: nXP = 378000; break;
|
case 29: nXP = 378000; break;
|
||||||
case 30: nXP = 406000; break;
|
case 30: nXP = 406000; break;
|
||||||
case 31: nXP = 435000; break;
|
case 31: nXP = 435000; break;
|
||||||
case 32: nXP = 465000; break;
|
case 32: nXP = 465000; break;
|
||||||
case 33: nXP = 496000; break;
|
case 33: nXP = 496000; break;
|
||||||
case 34: nXP = 528000; break;
|
case 34: nXP = 528000; break;
|
||||||
case 35: nXP = 561000; break;
|
case 35: nXP = 561000; break;
|
||||||
case 36: nXP = 595000; break;
|
case 36: nXP = 595000; break;
|
||||||
case 37: nXP = 630000; break;
|
case 37: nXP = 630000; break;
|
||||||
case 38: nXP = 666000; break;
|
case 38: nXP = 666000; break;
|
||||||
case 39: nXP = 703000; break;
|
case 39: nXP = 703000; break;
|
||||||
case 40: nXP = 741000; break;
|
case 40: nXP = 741000; break;
|
||||||
case 41: nXP = 780000; break;
|
case 41: nXP = 780000; break;
|
||||||
case 42: nXP = 820000; break;
|
case 42: nXP = 820000; break;
|
||||||
case 43: nXP = 861000; break;
|
case 43: nXP = 861000; break;
|
||||||
case 44: nXP = 903000; break;
|
case 44: nXP = 903000; break;
|
||||||
case 45: nXP = 946000; break;
|
case 45: nXP = 946000; break;
|
||||||
case 46: nXP = 990000; break;
|
case 46: nXP = 990000; break;
|
||||||
case 47: nXP = 1035000; break;
|
case 47: nXP = 1035000; break;
|
||||||
case 48: nXP = 1081000; break;
|
case 48: nXP = 1081000; break;
|
||||||
case 49: nXP = 1128000; break;
|
case 49: nXP = 1128000; break;
|
||||||
case 50: nXP = 1176000; break;
|
case 50: nXP = 1176000; break;
|
||||||
case 51: nXP = 1225000; break;
|
case 51: nXP = 1225000; break;
|
||||||
case 52: nXP = 1275000; break;
|
case 52: nXP = 1275000; break;
|
||||||
case 53: nXP = 1326000; break;
|
case 53: nXP = 1326000; break;
|
||||||
case 54: nXP = 1378000; break;
|
case 54: nXP = 1378000; break;
|
||||||
case 55: nXP = 1431000; break;
|
case 55: nXP = 1431000; break;
|
||||||
case 56: nXP = 1485000; break;
|
case 56: nXP = 1485000; break;
|
||||||
case 57: nXP = 1540000; break;
|
case 57: nXP = 1540000; break;
|
||||||
case 58: nXP = 1596000; break;
|
case 58: nXP = 1596000; break;
|
||||||
case 59: nXP = 1653000; break;
|
case 59: nXP = 1653000; break;
|
||||||
case 60: nXP = 1711000; break;
|
case 60: nXP = 1711000; break;
|
||||||
}
|
}
|
||||||
SetXP(oTarget, nXP);
|
|
||||||
|
SetXP(oTarget, nXP);
|
||||||
|
|
||||||
|
SetTlkOverrideForMaximumLevel(oTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
//The Function Below Give1Level(oTarget); gives the Target one level.
|
//The Function Below Give1Level(oTarget); gives the Target one level.
|
||||||
//IMPORTANT: This function cannot be used with Take1Level(oTarget);
|
//IMPORTANT: This function cannot be used with Take1Level(oTarget);
|
||||||
//or it will delevel the target!!!!
|
//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.
|
//and other scripts which only give the PC one level as a reward.
|
||||||
void Give1Level(object oTarget)
|
void Give1Level(object oTarget)
|
||||||
{
|
{
|
||||||
int cLvl = GetHitDice(oTarget);
|
int cLvl = GetHitDice(oTarget);
|
||||||
int nXP;
|
int nXP;
|
||||||
|
|
||||||
switch (cLvl)
|
switch (cLvl)
|
||||||
{
|
{
|
||||||
case 1: nXP = 1000; break;
|
case 1: nXP = 1000; break;
|
||||||
case 2: nXP = 3000; break;
|
case 2: nXP = 3000; break;
|
||||||
case 3: nXP = 6000; break;
|
case 3: nXP = 6000; break;
|
||||||
case 4: nXP = 10000; break;
|
case 4: nXP = 10000; break;
|
||||||
case 5: nXP = 15000; break;
|
case 5: nXP = 15000; break;
|
||||||
case 6: nXP = 21000; break;
|
case 6: nXP = 21000; break;
|
||||||
case 7: nXP = 28000; break;
|
case 7: nXP = 28000; break;
|
||||||
case 8: nXP = 36000; break;
|
case 8: nXP = 36000; break;
|
||||||
case 9: nXP = 45000; break;
|
case 9: nXP = 45000; break;
|
||||||
case 10: nXP = 55000; break;
|
case 10: nXP = 55000; break;
|
||||||
case 11: nXP = 66000; break;
|
case 11: nXP = 66000; break;
|
||||||
case 12: nXP = 78000; break;
|
case 12: nXP = 78000; break;
|
||||||
case 13: nXP = 91000; break;
|
case 13: nXP = 91000; break;
|
||||||
case 14: nXP = 105000; break;
|
case 14: nXP = 105000; break;
|
||||||
case 15: nXP = 120000; break;
|
case 15: nXP = 120000; break;
|
||||||
case 16: nXP = 136000; break;
|
case 16: nXP = 136000; break;
|
||||||
case 17: nXP = 153000; break;
|
case 17: nXP = 153000; break;
|
||||||
case 18: nXP = 171000; break;
|
case 18: nXP = 171000; break;
|
||||||
case 19: nXP = 190000; break;
|
case 19: nXP = 190000; break;
|
||||||
case 20: nXP = 210000; break;
|
case 20: nXP = 210000; break;
|
||||||
case 21: nXP = 231000; break;
|
case 21: nXP = 231000; break;
|
||||||
case 22: nXP = 263000; break;
|
case 22: nXP = 263000; break;
|
||||||
case 23: nXP = 276000; break;
|
case 23: nXP = 276000; break;
|
||||||
case 24: nXP = 300000; break;
|
case 24: nXP = 300000; break;
|
||||||
case 25: nXP = 325000; break;
|
case 25: nXP = 325000; break;
|
||||||
case 26: nXP = 351000; break;
|
case 26: nXP = 351000; break;
|
||||||
case 27: nXP = 378000; break;
|
case 27: nXP = 378000; break;
|
||||||
case 28: nXP = 406000; break;
|
case 28: nXP = 406000; break;
|
||||||
case 29: nXP = 435000; break;
|
case 29: nXP = 435000; break;
|
||||||
case 30: nXP = 465000; break;
|
case 30: nXP = 465000; break;
|
||||||
case 31: nXP = 496000; break;
|
case 31: nXP = 496000; break;
|
||||||
case 32: nXP = 528000; break;
|
case 32: nXP = 528000; break;
|
||||||
case 33: nXP = 561000; break;
|
case 33: nXP = 561000; break;
|
||||||
case 34: nXP = 595000; break;
|
case 34: nXP = 595000; break;
|
||||||
case 35: nXP = 630000; break;
|
case 35: nXP = 630000; break;
|
||||||
case 36: nXP = 666000; break;
|
case 36: nXP = 666000; break;
|
||||||
case 37: nXP = 703000; break;
|
case 37: nXP = 703000; break;
|
||||||
case 38: nXP = 741000; break;
|
case 38: nXP = 741000; break;
|
||||||
case 39: nXP = 780000; break;
|
case 39: nXP = 780000; break;
|
||||||
case 40: nXP = 820000; break;
|
case 40: nXP = 820000; break;
|
||||||
case 41: nXP = 861000; break;
|
case 41: nXP = 861000; break;
|
||||||
case 42: nXP = 903000; break;
|
case 42: nXP = 903000; break;
|
||||||
case 43: nXP = 946000; break;
|
case 43: nXP = 946000; break;
|
||||||
case 44: nXP = 990000; break;
|
case 44: nXP = 990000; break;
|
||||||
case 45: nXP = 1035000; break;
|
case 45: nXP = 1035000; break;
|
||||||
case 46: nXP = 1081000; break;
|
case 46: nXP = 1081000; break;
|
||||||
case 47: nXP = 1128000; break;
|
case 47: nXP = 1128000; break;
|
||||||
case 48: nXP = 1176000; break;
|
case 48: nXP = 1176000; break;
|
||||||
case 49: nXP = 1225000; break;
|
case 49: nXP = 1225000; break;
|
||||||
case 50: nXP = 1275000; break;
|
case 50: nXP = 1275000; break;
|
||||||
case 51: nXP = 1326000; break;
|
case 51: nXP = 1326000; break;
|
||||||
case 52: nXP = 1378000; break;
|
case 52: nXP = 1378000; break;
|
||||||
case 53: nXP = 1431000; break;
|
case 53: nXP = 1431000; break;
|
||||||
case 54: nXP = 1485000; break;
|
case 54: nXP = 1485000; break;
|
||||||
case 55: nXP = 1540000; break;
|
case 55: nXP = 1540000; break;
|
||||||
case 56: nXP = 1596000; break;
|
case 56: nXP = 1596000; break;
|
||||||
case 57: nXP = 1653000; break;
|
case 57: nXP = 1653000; break;
|
||||||
case 58: nXP = 1711000; break;
|
case 58: nXP = 1711000; break;
|
||||||
case 59: nXP = 1770000; break;
|
case 59: nXP = 1770000; break;
|
||||||
case 60: nXP = 1830000; break;
|
case 60: nXP = 1830000; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetXP(oTarget, nXP);
|
SetXP(oTarget, nXP);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,77 +218,83 @@ SetXP(oTarget, nXP);
|
|||||||
//Example: Relevel(oPC); (That's all you need to relevel the PC!)
|
//Example: Relevel(oPC); (That's all you need to relevel the PC!)
|
||||||
void Relevel(object oTarget)
|
void Relevel(object oTarget)
|
||||||
{
|
{
|
||||||
int nLvl = GetHitDice(oTarget);
|
int nLvl = GetHitDice(oTarget);
|
||||||
int nGold = nLvl * 50;
|
int nGold = nLvl * 50;
|
||||||
int nCCXP;
|
int nCCXP;
|
||||||
nCCXP = GetXP(oTarget);
|
nCCXP = GetXP(oTarget);
|
||||||
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
|
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
|
||||||
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
|
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
|
||||||
|
|
||||||
if(GetGold(oTarget)>nGold)
|
if(GetGold(oTarget)>nGold)
|
||||||
{
|
{
|
||||||
TakeGoldFromCreature(nGold, oTarget, TRUE);
|
TakeGoldFromCreature(nGold, oTarget, TRUE);
|
||||||
SetXP(oTarget, 0);
|
SetXP(oTarget, 0);
|
||||||
DelayCommand(1.0, GiveXPToCreature(oTarget, gXP));
|
DelayCommand(1.0, GiveXPToCreature(oTarget, gXP));
|
||||||
|
DelayCommand(1.3, SetTlkOverrideForMaximumLevel(oTarget));
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SendMessageToPC(oTarget, "You do not have enough gold to relevel!");
|
SendMessageToPC(oTarget, "You do not have enough gold to relevel!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//The Function Relevel1(oTarget) will take 1 level from the Target and give
|
//The Function Relevel1(oTarget) will take 1 level from the Target and give
|
||||||
//back thier orginal XP. This script does not cause xp loss whatsoever.
|
//back thier orginal XP. This script does not cause xp loss whatsoever.
|
||||||
void Relevel1(object oTarget)
|
void Relevel1(object oTarget)
|
||||||
{
|
{
|
||||||
int nCCXP;
|
int nCCXP;
|
||||||
nCCXP = GetXP(oTarget);
|
nCCXP = GetXP(oTarget);
|
||||||
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
|
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
|
||||||
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
|
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
DelayCommand(1.0, SetXP(oTarget, gXP));
|
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.
|
|
||||||
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
|
//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.
|
//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 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)
|
void Relevel10(object oTarget)
|
||||||
{
|
{
|
||||||
int nGold = GetHitDice(oTarget) * 50;
|
int nGold = GetHitDice(oTarget) * 50;
|
||||||
if(GetGold(oTarget) >= nGold)
|
if(GetGold(oTarget) >= nGold)
|
||||||
{
|
{
|
||||||
int nCCXP;
|
int nCCXP;
|
||||||
nCCXP = GetXP(oTarget);
|
nCCXP = GetXP(oTarget);
|
||||||
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
|
SetLocalInt(oTarget, "pc_exact_xp", nCCXP);
|
||||||
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
|
int gXP = GetLocalInt(oTarget, "pc_exact_xp");
|
||||||
Take1Level(oTarget);
|
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
Take1Level(oTarget);
|
Take1Level(oTarget);
|
||||||
DelayCommand(1.0, SetXP(oTarget, gXP));
|
Take1Level(oTarget);
|
||||||
}
|
|
||||||
|
DelayCommand(1.0, SetXP(oTarget, gXP));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//This function penalizes a the person repsawning it goes in the (see below)
|
//This function penalizes a the person repsawning it goes in the (see below)
|
||||||
@ -279,96 +305,96 @@ DelayCommand(1.0, SetXP(oTarget, gXP));
|
|||||||
//Note This is a good script if your using Legendary Levels :)
|
//Note This is a good script if your using Legendary Levels :)
|
||||||
void ApplyRespawnPenalty(object oPlayer)
|
void ApplyRespawnPenalty(object oPlayer)
|
||||||
{
|
{
|
||||||
int cLvl = GetHitDice(oPlayer);
|
int cLvl = GetHitDice(oPlayer);
|
||||||
int nXP;
|
int nXP;
|
||||||
//We need this switch to determine what xp they must keep..
|
//We need this switch to determine what xp they must keep..
|
||||||
switch (cLvl)
|
switch (cLvl)
|
||||||
{
|
{
|
||||||
case 1: nXP = 0; break;
|
case 1: nXP = 0; break;
|
||||||
case 2: nXP = 1000; break;
|
case 2: nXP = 1000; break;
|
||||||
case 3: nXP = 3000; break;
|
case 3: nXP = 3000; break;
|
||||||
case 4: nXP = 6000; break;
|
case 4: nXP = 6000; break;
|
||||||
case 5: nXP = 10000; break;
|
case 5: nXP = 10000; break;
|
||||||
case 6: nXP = 15000; break;
|
case 6: nXP = 15000; break;
|
||||||
case 7: nXP = 21000; break;
|
case 7: nXP = 21000; break;
|
||||||
case 8: nXP = 28000; break;
|
case 8: nXP = 28000; break;
|
||||||
case 9: nXP = 36000; break;
|
case 9: nXP = 36000; break;
|
||||||
case 10: nXP = 45000; break;
|
case 10: nXP = 45000; break;
|
||||||
case 11: nXP = 55000; break;
|
case 11: nXP = 55000; break;
|
||||||
case 12: nXP = 66000; break;
|
case 12: nXP = 66000; break;
|
||||||
case 13: nXP = 78000; break;
|
case 13: nXP = 78000; break;
|
||||||
case 14: nXP = 91000; break;
|
case 14: nXP = 91000; break;
|
||||||
case 15: nXP = 105000; break;
|
case 15: nXP = 105000; break;
|
||||||
case 16: nXP = 120000; break;
|
case 16: nXP = 120000; break;
|
||||||
case 17: nXP = 136000; break;
|
case 17: nXP = 136000; break;
|
||||||
case 18: nXP = 153000; break;
|
case 18: nXP = 153000; break;
|
||||||
case 19: nXP = 171000; break;
|
case 19: nXP = 171000; break;
|
||||||
case 20: nXP = 190000; break;
|
case 20: nXP = 190000; break;
|
||||||
case 21: nXP = 210000; break;
|
case 21: nXP = 210000; break;
|
||||||
case 22: nXP = 231000; break;
|
case 22: nXP = 231000; break;
|
||||||
case 23: nXP = 263000; break;
|
case 23: nXP = 263000; break;
|
||||||
case 24: nXP = 276000; break;
|
case 24: nXP = 276000; break;
|
||||||
case 25: nXP = 300000; break;
|
case 25: nXP = 300000; break;
|
||||||
case 26: nXP = 325000; break;
|
case 26: nXP = 325000; break;
|
||||||
case 27: nXP = 351000; break;
|
case 27: nXP = 351000; break;
|
||||||
case 28: nXP = 378000; break;
|
case 28: nXP = 378000; break;
|
||||||
case 29: nXP = 406000; break;
|
case 29: nXP = 406000; break;
|
||||||
case 30: nXP = 435000; break;
|
case 30: nXP = 435000; break;
|
||||||
case 31: nXP = 465000; break;
|
case 31: nXP = 465000; break;
|
||||||
case 32: nXP = 496000; break;
|
case 32: nXP = 496000; break;
|
||||||
case 33: nXP = 528000; break;
|
case 33: nXP = 528000; break;
|
||||||
case 34: nXP = 561000; break;
|
case 34: nXP = 561000; break;
|
||||||
case 35: nXP = 595000; break;
|
case 35: nXP = 595000; break;
|
||||||
case 36: nXP = 630000; break;
|
case 36: nXP = 630000; break;
|
||||||
case 37: nXP = 666000; break;
|
case 37: nXP = 666000; break;
|
||||||
case 38: nXP = 703000; break;
|
case 38: nXP = 703000; break;
|
||||||
case 39: nXP = 741000; break;
|
case 39: nXP = 741000; break;
|
||||||
case 40: nXP = 780000; break;
|
case 40: nXP = 780000; break;
|
||||||
case 41: nXP = 820000; break;
|
case 41: nXP = 820000; break;
|
||||||
case 42: nXP = 861000; break;
|
case 42: nXP = 861000; break;
|
||||||
case 43: nXP = 903000; break;
|
case 43: nXP = 903000; break;
|
||||||
case 44: nXP = 946000; break;
|
case 44: nXP = 946000; break;
|
||||||
case 45: nXP = 990000; break;
|
case 45: nXP = 990000; break;
|
||||||
case 46: nXP = 1035000; break;
|
case 46: nXP = 1035000; break;
|
||||||
case 47: nXP = 1081000; break;
|
case 47: nXP = 1081000; break;
|
||||||
case 48: nXP = 1128000; break;
|
case 48: nXP = 1128000; break;
|
||||||
case 49: nXP = 1176000; break;
|
case 49: nXP = 1176000; break;
|
||||||
case 50: nXP = 1225000; break;
|
case 50: nXP = 1225000; break;
|
||||||
case 51: nXP = 1275000; break;
|
case 51: nXP = 1275000; break;
|
||||||
case 52: nXP = 1326000; break;
|
case 52: nXP = 1326000; break;
|
||||||
case 53: nXP = 1378000; break;
|
case 53: nXP = 1378000; break;
|
||||||
case 54: nXP = 1431000; break;
|
case 54: nXP = 1431000; break;
|
||||||
case 55: nXP = 1485000; break;
|
case 55: nXP = 1485000; break;
|
||||||
case 56: nXP = 1540000; break;
|
case 56: nXP = 1540000; break;
|
||||||
case 57: nXP = 1596000; break;
|
case 57: nXP = 1596000; break;
|
||||||
case 58: nXP = 1653000; break;
|
case 58: nXP = 1653000; break;
|
||||||
case 59: nXP = 1711000; break;
|
case 59: nXP = 1711000; break;
|
||||||
case 60: nXP = 1770000; 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
|
||||||
|
int mXP = dXP / 100; //Break thier xp up into a percentile
|
||||||
|
int oXP = mXP * 80; //Returns thier 80% of their XP (-20%)
|
||||||
|
int pXP = oXP - 100; //This subtracts the 100 given earlier
|
||||||
|
int zXP = pXP + nXP; //The 20% Loss + Min XP For Their Current Level.
|
||||||
|
int nGold = GetGold(oPlayer);
|
||||||
|
int oGold = nGold / 100;
|
||||||
|
int pGold = oGold * 10; //(calculate 10%)
|
||||||
|
|
||||||
|
if(pXP >0)//Saftey in case they didn't have enough XP over level required
|
||||||
|
{
|
||||||
|
SetXP(oPlayer, zXP);
|
||||||
|
TakeGoldFromCreature(pGold, oPlayer, TRUE); //Take 10% of their gold.
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetXP(oPlayer, nXP); //Set them to the minimum required for level.
|
||||||
|
TakeGoldFromCreature(pGold, oPlayer, TRUE); //Take 10% of their gold.
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//:: void main (){}
|
||||||
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
|
|
||||||
int mXP = dXP / 100; //Break thier xp up into a percentile
|
|
||||||
int oXP = mXP * 80; //Returns thier 80% of their XP (-20%)
|
|
||||||
int pXP = oXP - 100; //This subtracts the 100 given earlier
|
|
||||||
int zXP = pXP + nXP; //The 20% Loss + Min XP For Their Current Level.
|
|
||||||
int nGold = GetGold(oPlayer);
|
|
||||||
int oGold = nGold / 100;
|
|
||||||
int pGold = oGold * 10; //(calculate 10%)
|
|
||||||
|
|
||||||
if(pXP >0)//Saftey in case they didn't have enough XP over level required
|
|
||||||
{
|
|
||||||
SetXP(oPlayer, zXP);
|
|
||||||
TakeGoldFromCreature(pGold, oPlayer, TRUE); //Take 10% of their gold.
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SetXP(oPlayer, nXP); //Set them to the minimum required for level.
|
|
||||||
TakeGoldFromCreature(pGold, oPlayer, TRUE); //Take 10% of their gold.
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -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()
|
void main()
|
||||||
{
|
{
|
||||||
@ -51,6 +65,8 @@ int tXP = cXP + rXP; //rXP + pXP;
|
|||||||
|
|
||||||
//Take all the player's XP
|
//Take all the player's XP
|
||||||
SetXP(oPC, 0);
|
SetXP(oPC, 0);
|
||||||
|
|
||||||
|
SetTlkOverrideForMaximumLevel(oPC);
|
||||||
|
|
||||||
//Let's make sure the character is saved!!!!
|
//Let's make sure the character is saved!!!!
|
||||||
DelayCommand(1.0, ExportSingleCharacter(oPC));
|
DelayCommand(1.0, ExportSingleCharacter(oPC));
|
||||||
@ -74,7 +90,7 @@ else
|
|||||||
//In case of errors..
|
//In case of errors..
|
||||||
else
|
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);
|
" with the XP Bank.", oPC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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
|
//:: Reward other party members
|
||||||
else
|
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));
|
GiveGoldToCreature(oParty, FloatToInt((IntToFloat(nXPToGive) + fKillerBonus) * GP_REWARD_MULTIPLIER));
|
||||||
} */
|
} */
|
||||||
|
|
||||||
GiveXPToCreature(oParty, nXPToGive);
|
//GiveXPToCreature(oParty, nXPToGive);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user