//#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; }