Areas and Fixes
Added CCOH and missing areas Changed some areas to be craftable, Fixed some on death issues, Fixed the Gaurd
This commit is contained in:
600
_module/nss/_use_skillbook3.nss
Normal file
600
_module/nss/_use_skillbook3.nss
Normal file
@@ -0,0 +1,600 @@
|
||||
//#include "_persist_01a"
|
||||
|
||||
//The following comment added Aug. 19, 2003, by UOAbigail
|
||||
//
|
||||
//Original script written by UOAbigail for UOACraft v02x and up
|
||||
//Script modified to work with conversation menu instead of floaty text
|
||||
//by Mikel. This is a 100% improvement over the floaty text version.
|
||||
//
|
||||
//Be sure to check out the Somnium module in the Social Servers section
|
||||
//of GameSpy to see UOAcraft in action, as well as many other systems
|
||||
//scripted by Mikel. ;) (Sorry...Had to plug yer mod here ;)
|
||||
//
|
||||
//Modified script is included in this release via permission from Mikel.
|
||||
//
|
||||
//Script modified sleightly for improved formatting and inclusion of version
|
||||
//by UOAbigail on Aug. 19, 2003
|
||||
//
|
||||
//------End comment------
|
||||
#include "aps_include"
|
||||
|
||||
void DelayText(object oPC, int iSkillNumber);
|
||||
void DelayText2(object oPC, int iSkillNumber);
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
object oTarget = GetLocalObject(oPC,"oTarget");
|
||||
int iSkillNumber =34;
|
||||
for (iSkillNumber; iSkillNumber>0; iSkillNumber--)
|
||||
{
|
||||
if (oTarget==OBJECT_INVALID)DelayText(oPC,iSkillNumber);
|
||||
if (oTarget!=OBJECT_INVALID)
|
||||
{
|
||||
if (oTarget==oPC)DelayText(oTarget,iSkillNumber);
|
||||
if (oTarget!=oPC)DelayText2(oTarget,iSkillNumber);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void DelayText(object oPC, int iSkillNumber)
|
||||
{
|
||||
string sSkillName = "";
|
||||
string sSkillTitle = "- Unskilled -";
|
||||
int iSkillValue = 0;
|
||||
|
||||
switch (iSkillNumber)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iMiningSkill","UOACraft");
|
||||
sSkillName = "Mining";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iSmeltSkill","UOACraft");
|
||||
sSkillName = "Smelting";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iDigSkill","UOACraft");
|
||||
sSkillName = "Digging";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iGlassSkill","UOACraft");
|
||||
sSkillName = "Pottery and Glassblowing";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iTinkerSkill","UOACraft");
|
||||
sSkillName = "Tinkering";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iFarmSkill","UOACraft");
|
||||
sSkillName = "Farming";
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iLumberjackSkill","UOACraft");
|
||||
sSkillName = "Lumberjacking";
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iSkinningSkill","UOACraft");
|
||||
sSkillName = "Skinning Pelts";
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iCureSkill","UOACraft");
|
||||
sSkillName = "Curing Hides";
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iTanSkill","UOACraft");
|
||||
sSkillName = "Tanning Leather";
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iLeatherSkill","UOACraft");
|
||||
sSkillName = "Leatherworking";
|
||||
break;
|
||||
}
|
||||
case 12:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iAlchemySkill","UOACraft");
|
||||
sSkillName = "Alchemy";
|
||||
break;
|
||||
}
|
||||
case 13:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iFishingSkill","UOACraft");
|
||||
sSkillName = "Fishing";
|
||||
break;
|
||||
}
|
||||
case 14:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iBeeSkill","UOACraft");
|
||||
sSkillName = "Beekeeping";
|
||||
break;
|
||||
}
|
||||
case 15:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iFletchingSkill","UOACraft");
|
||||
sSkillName = "Fletching";
|
||||
break;
|
||||
}
|
||||
case 16:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iBowSkill","UOACraft");
|
||||
sSkillName = "Bowcraft";
|
||||
break;
|
||||
}
|
||||
case 17:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iSmithSkill","UOACraft");
|
||||
sSkillName = "Weaponcrafting";
|
||||
break;
|
||||
}
|
||||
case 18:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iArmorSkill","UOACraft");
|
||||
sSkillName = "Armorcrafting";
|
||||
break;
|
||||
}
|
||||
case 19:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iPolishSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Gem Polishing";
|
||||
break;
|
||||
}
|
||||
case 20:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iGemSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Gemcutting";
|
||||
break;
|
||||
}
|
||||
case 21:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iGemQuarrySkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Gem Quarrying";
|
||||
break;
|
||||
}
|
||||
case 22:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iTailorSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Tailoring";
|
||||
break;
|
||||
}
|
||||
case 23:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iSpindleSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Spindling";
|
||||
break;
|
||||
}
|
||||
case 24:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iClothSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Clothmaking";
|
||||
break;
|
||||
}
|
||||
case 25:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iDyeSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Cloth Dyeing";
|
||||
break;
|
||||
}
|
||||
case 26:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iPaperSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Papermaking";
|
||||
break;
|
||||
}
|
||||
case 27:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iShroomSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Mycology";
|
||||
break;
|
||||
}
|
||||
case 28:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iScribeSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Inscription";
|
||||
break;
|
||||
}
|
||||
case 29:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iCookSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Cooking";
|
||||
break;
|
||||
}
|
||||
case 30:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iJewelSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Jewelcraft";
|
||||
break;
|
||||
}
|
||||
case 31:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iMapSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Cartography";
|
||||
break;
|
||||
}
|
||||
case 32:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iCarpentrySkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Carpentry";
|
||||
break;
|
||||
}
|
||||
case 33:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iBrewSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Brewing";
|
||||
break;
|
||||
}
|
||||
case 34:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iEnchantSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Enchanting";
|
||||
break;
|
||||
}
|
||||
default:{return;}
|
||||
}
|
||||
|
||||
|
||||
if (iSkillValue >=100) sSkillTitle = "- Neophyte -";
|
||||
if (iSkillValue >=200) sSkillTitle = "- Neophyte -";
|
||||
if (iSkillValue >=300) sSkillTitle = "- Apprentice -";
|
||||
if (iSkillValue >=400) sSkillTitle = "- Apprentice -";
|
||||
if (iSkillValue >=500) sSkillTitle = "- Apprentice -";
|
||||
if (iSkillValue >=600) sSkillTitle = "- Journeyman -";
|
||||
if (iSkillValue >=700) sSkillTitle = "- Expert -";
|
||||
if (iSkillValue >=800) sSkillTitle = "- Adept -";
|
||||
if (iSkillValue >=900) sSkillTitle = "- Master -";
|
||||
if (iSkillValue==1000) sSkillTitle = "- Grandmaster -";
|
||||
|
||||
string sOldSkill = "";
|
||||
string sOldSkill2 = "";
|
||||
sOldSkill2 = IntToString(iSkillValue);
|
||||
sOldSkill = "."+GetStringRight(sOldSkill2,1);
|
||||
if (iSkillValue > 9)
|
||||
{
|
||||
sOldSkill = GetStringLeft(sOldSkill2,GetStringLength(sOldSkill2)-1)+sOldSkill;
|
||||
}
|
||||
else
|
||||
{
|
||||
sOldSkill = "0"+sOldSkill;
|
||||
}
|
||||
|
||||
string sMessage = sSkillName + " " + sSkillTitle + " (" + sOldSkill + ")";
|
||||
SetCustomToken(3000+iSkillNumber,sMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
void DelayText2(object oPC, int iSkillNumber)
|
||||
{
|
||||
string sSkillName = "";
|
||||
string sSkillTitle = "- Unskilled -";
|
||||
int iSkillValue = 0;
|
||||
string sPCName = GetName(oPC);
|
||||
|
||||
switch (iSkillNumber)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iMiningSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Mining";
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iSmeltSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Smelting";
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iDigSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Digging";
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iGlassSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Pottery and Glassblowing";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iTinkerSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Tinkering";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iFarmSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Farming";
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iLumberjackSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Lumberjacking";
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iSkinningSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Skinning Pelts";
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iCureSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Curing Hides";
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iTanSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Tanning Leather";
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iLeatherSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Leatherworking";
|
||||
break;
|
||||
}
|
||||
case 12:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iAlchemySkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Alchemy";
|
||||
break;
|
||||
}
|
||||
case 13:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iFishingSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Fishing";
|
||||
break;
|
||||
}
|
||||
case 14:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iBeeSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Beekeeping";
|
||||
break;
|
||||
}
|
||||
case 15:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iFletchingSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Fletching";
|
||||
break;
|
||||
}
|
||||
case 16:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iBowSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Bowcraft";
|
||||
break;
|
||||
}
|
||||
case 17:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iSmithSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Weaponcrafting";
|
||||
break;
|
||||
}
|
||||
case 18:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iArmorSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Armorcrafting";
|
||||
break;
|
||||
}
|
||||
case 19:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iPolishSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Gem Polishing";
|
||||
break;
|
||||
}
|
||||
case 20:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iGemSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Gemcutting";
|
||||
break;
|
||||
}
|
||||
case 21:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iGemQuarrySkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Gem Quarrying";
|
||||
break;
|
||||
}
|
||||
case 22:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iTailorSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Tailoring";
|
||||
break;
|
||||
}
|
||||
case 23:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iSpindleSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Spindling";
|
||||
break;
|
||||
}
|
||||
case 24:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iClothSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Clothmaking";
|
||||
break;
|
||||
}
|
||||
case 25:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iDyeSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Cloth Dyeing";
|
||||
break;
|
||||
}
|
||||
case 26:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iPaperSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Papermaking";
|
||||
break;
|
||||
}
|
||||
case 27:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iShroomSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Mycology";
|
||||
break;
|
||||
}
|
||||
case 28:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iScribeSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Inscription";
|
||||
break;
|
||||
}
|
||||
case 29:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iCookSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Cooking";
|
||||
break;
|
||||
}
|
||||
case 30:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iJewelSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Jewelcraft";
|
||||
break;
|
||||
}
|
||||
case 31:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iMapSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Cartography";
|
||||
break;
|
||||
}
|
||||
case 32:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iCarpentrySkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Carpentry";
|
||||
break;
|
||||
}
|
||||
case 33:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iBrewSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Brewmeister";
|
||||
break;
|
||||
}
|
||||
case 34:
|
||||
{
|
||||
iSkillValue = GetPersistentInt(oPC,"iEnchantSkill","UOACraft"
|
||||
);
|
||||
sSkillName = "Enchanter";
|
||||
break;
|
||||
}
|
||||
default:{return;}
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------
|
||||
//This section is the 'fudge' section of the code..
|
||||
//The purpose of this section is to allow a chance for skill
|
||||
//reporting of another player's attained skills is 'off' by a little
|
||||
//because the PC annot know for sure the exact skill attained by the other player
|
||||
//because his/her perception of the other player is based on rumors, reputation, etc
|
||||
//You may opt to remove this section as it is not necessary.
|
||||
if (Random(1000)<500)
|
||||
{
|
||||
iSkillValue = iSkillValue+Random(150);
|
||||
if (iSkillValue>1000)iSkillValue=1000;
|
||||
}
|
||||
else
|
||||
{
|
||||
iSkillValue = iSkillValue-Random(150);
|
||||
if (iSkillValue<0)iSkillValue=0;
|
||||
}
|
||||
//------------------------------------------------------------------------------------
|
||||
sSkillTitle = "an Unskilled ";
|
||||
if (iSkillValue >=100) sSkillTitle = "a Neophyte ";
|
||||
if (iSkillValue >=200) sSkillTitle = "a Neophyte ";
|
||||
if (iSkillValue >=300) sSkillTitle = "an Apprentice ";
|
||||
if (iSkillValue >=400) sSkillTitle = "an Apprentice ";
|
||||
if (iSkillValue >=500) sSkillTitle = "an Apprentice ";
|
||||
if (iSkillValue >=600) sSkillTitle = "a Journeyman ";
|
||||
if (iSkillValue >=700) sSkillTitle = "an Expert ";
|
||||
if (iSkillValue >=800) sSkillTitle = "an Adept ";
|
||||
if (iSkillValue >=900) sSkillTitle = "a Master ";
|
||||
if (iSkillValue==1000) sSkillTitle = "a Grandmaster ";
|
||||
|
||||
string sOldSkill = "";
|
||||
string sOldSkill2 = "";
|
||||
sOldSkill2 = IntToString(iSkillValue);
|
||||
sOldSkill = "."+GetStringRight(sOldSkill2,1);
|
||||
if (iSkillValue > 9)
|
||||
{
|
||||
sOldSkill = GetStringLeft(sOldSkill2,GetStringLength(sOldSkill2)-1)+sOldSkill;
|
||||
}
|
||||
else
|
||||
{
|
||||
sOldSkill = "0"+sOldSkill;
|
||||
}
|
||||
|
||||
string sMessage = "You believe that "+sPCName+" is "+sSkillTitle+" "+sSkillName+".";
|
||||
SetCustomToken(3000+iSkillNumber,sMessage);
|
||||
return;
|
||||
}
|
Reference in New Issue
Block a user