Area Changes and other fixes
added areas and ccoh, fixed some areas to work with crafting fixed some on death issues added server entry/ooc
This commit is contained in:
@@ -1,221 +0,0 @@
|
||||
void NewLocation(object oPC, location lPC, int iDirection, int iMapSkill);
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
object oMap = GetLocalObject(oPC,"oMapUsed");
|
||||
DeleteLocalObject(oPC,"oMapUsed");
|
||||
|
||||
location lNewLoc1;
|
||||
location lNewLoc2;
|
||||
location lNewLoc3;
|
||||
location lNewLoc4;
|
||||
location lNewLoc5;
|
||||
location lNewLoc6;
|
||||
location lNewLoc7;
|
||||
location lNewLoc8;
|
||||
location lNewLoc9;
|
||||
location lNewLoc10;
|
||||
location lNewLoc11;
|
||||
location lNewLoc12;
|
||||
location lNewLoc13;
|
||||
location lNewLoc14;
|
||||
location lNewLoc15;
|
||||
location lNewLoc16;
|
||||
location lStartLoc = GetLocation(oPC);
|
||||
|
||||
string sAreaTag = GetTag(GetArea(oPC));
|
||||
string sAreaName = GetName(GetArea(oPC));
|
||||
|
||||
|
||||
//Map location variables
|
||||
string sMapAreaTag = GetLocalString(oMap,"sMapAreaTag");
|
||||
string sMapAreaName = GetLocalString(oMap,"sMapAreaName");
|
||||
float fMapUsedX = GetLocalFloat(oMap,"fMapPositionX");
|
||||
float fMapUsedY = GetLocalFloat(oMap,"fMapPositionY");
|
||||
float fMapUsedZ = GetLocalFloat(oMap,"fMapPositionZ");
|
||||
float fMapOrientation = GetFacing(oPC);
|
||||
object oMapArea = GetObjectByTag(sMapAreaTag);
|
||||
//May need to filter out all non-area object types in case of
|
||||
//tag-related issues.. i.e. area tag matching a sword item tag.
|
||||
|
||||
vector vMap = Vector(fMapUsedX,fMapUsedY,fMapUsedZ);
|
||||
int iMapSkill = GetLocalInt(oMap,"iMapUsedSkill");
|
||||
location lPC = Location(oMapArea,vMap,fMapOrientation);
|
||||
|
||||
|
||||
FloatingTextStringOnCreature("You unfurl the map and attempt to get your bearings...",oPC,FALSE);
|
||||
AssignCommand(oPC,ActionPlayAnimation(ANIMATION_FIREFORGET_READ,0.2,4.0));
|
||||
|
||||
if (sAreaTag!=sMapAreaTag)
|
||||
{
|
||||
AssignCommand(oPC,DelayCommand(4.1,FloatingTextStringOnCreature("This map does not apear to be for this area.",oPC,FALSE)));
|
||||
AssignCommand(oPC,DelayCommand(4.2,ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD,1.0,1.0)));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
NewLocation(oPC,lPC,1,iMapSkill);
|
||||
lNewLoc1 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,2,iMapSkill);
|
||||
lNewLoc2 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,3,iMapSkill);
|
||||
lNewLoc3 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,4,iMapSkill);
|
||||
lNewLoc4 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,5,iMapSkill);
|
||||
lNewLoc5 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,6,iMapSkill);
|
||||
lNewLoc6 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,7,iMapSkill);
|
||||
lNewLoc7 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,8,iMapSkill);
|
||||
lNewLoc8 = GetLocalLocation(oPC,"lLoc1");
|
||||
if (iMapSkill>700)
|
||||
{
|
||||
NewLocation(oPC,lPC,9,iMapSkill);
|
||||
lNewLoc9 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,10,iMapSkill);
|
||||
lNewLoc10 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,11,iMapSkill);
|
||||
lNewLoc11 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,12,iMapSkill);
|
||||
lNewLoc12 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,13,iMapSkill);
|
||||
lNewLoc13 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,14,iMapSkill);
|
||||
lNewLoc14 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,15,iMapSkill);
|
||||
lNewLoc15 = GetLocalLocation(oPC,"lLoc1");
|
||||
NewLocation(oPC,lPC,16,iMapSkill);
|
||||
lNewLoc16 = GetLocalLocation(oPC,"lLoc1");
|
||||
}
|
||||
DeleteLocalLocation(oPC,"lLoc1");
|
||||
|
||||
//This section of script provides an on-PC 'hook' so that
|
||||
//you can check for this varibale in any 'trigger' areas
|
||||
//So that the trigger is not activated by the PC being
|
||||
//sent to that trigger by this script.. since the PC is not
|
||||
//really at the trigger location.
|
||||
|
||||
SetLocalInt(oPC,"iPCUsedMap",99);
|
||||
|
||||
//------ This value is erased after the PC is sent back to
|
||||
//their original location.
|
||||
|
||||
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectCutsceneGhost(),oPC,9.0);
|
||||
//BlackScreen(oPC);
|
||||
AssignCommand(oPC,ActionJumpToLocation(lNewLoc1));
|
||||
DelayCommand(0.5,AssignCommand(oPC,ActionJumpToLocation(lNewLoc2)));
|
||||
DelayCommand(1.0,AssignCommand(oPC,ActionJumpToLocation(lNewLoc3)));
|
||||
DelayCommand(1.5,AssignCommand(oPC,ActionJumpToLocation(lNewLoc4)));
|
||||
DelayCommand(2.0,AssignCommand(oPC,ActionJumpToLocation(lNewLoc5)));
|
||||
DelayCommand(2.5,AssignCommand(oPC,ActionJumpToLocation(lNewLoc6)));
|
||||
DelayCommand(3.0,AssignCommand(oPC,ActionJumpToLocation(lNewLoc7)));
|
||||
DelayCommand(3.5,AssignCommand(oPC,ActionJumpToLocation(lNewLoc8)));
|
||||
if (iMapSkill>700)
|
||||
{
|
||||
DelayCommand(4.0,AssignCommand(oPC,ActionJumpToLocation(lNewLoc9)));
|
||||
DelayCommand(4.5,AssignCommand(oPC,ActionJumpToLocation(lNewLoc10)));
|
||||
DelayCommand(5.0,AssignCommand(oPC,ActionJumpToLocation(lNewLoc11)));
|
||||
DelayCommand(5.5,AssignCommand(oPC,ActionJumpToLocation(lNewLoc12)));
|
||||
DelayCommand(6.0,AssignCommand(oPC,ActionJumpToLocation(lNewLoc13)));
|
||||
DelayCommand(6.5,AssignCommand(oPC,ActionJumpToLocation(lNewLoc14)));
|
||||
DelayCommand(7.0,AssignCommand(oPC,ActionJumpToLocation(lNewLoc15)));
|
||||
DelayCommand(7.5,AssignCommand(oPC,ActionJumpToLocation(lNewLoc15)));
|
||||
DelayCommand(8.0,AssignCommand(oPC,ActionJumpToLocation(lStartLoc)));
|
||||
DelayCommand(8.1,AssignCommand(oPC,DeleteLocalInt(oPC,"iPCUsedMap")));
|
||||
DelayCommand(8.2,AssignCommand(oPC,FloatingTextStringOnCreature("You carefully study the map and get your bearings..",oPC,FALSE)));
|
||||
}
|
||||
else
|
||||
{
|
||||
DelayCommand(4.0,AssignCommand(oPC,ActionJumpToLocation(lStartLoc)));
|
||||
DelayCommand(4.1,AssignCommand(oPC,DeleteLocalInt(oPC,"iPCUsedMap")));
|
||||
DelayCommand(4.2,AssignCommand(oPC,FloatingTextStringOnCreature("You carefully study the map and get your bearings..",oPC,FALSE)));
|
||||
}
|
||||
|
||||
|
||||
//DelayCommand(4.1,StopFade(oPC));
|
||||
}
|
||||
|
||||
|
||||
|
||||
void NewLocation(object oPC, location lPC, int iDirection, int iMapSkill)
|
||||
{
|
||||
location lNewLoc;
|
||||
location lSelf = lPC;
|
||||
vector vSelf = GetPositionFromLocation(lPC);
|
||||
object oArea = GetArea(oPC);
|
||||
vector vNewLoc;
|
||||
int vDirection;
|
||||
float fSelf;
|
||||
float fDistance;
|
||||
float fDistanceMax;
|
||||
location lSelf2;
|
||||
fSelf = GetFacing(oPC);
|
||||
fDistanceMax = 45.0;
|
||||
if (iDirection>8)
|
||||
{
|
||||
iDirection=iDirection-8;
|
||||
fDistanceMax=30.0;
|
||||
}
|
||||
switch (iDirection)
|
||||
{
|
||||
case 1:{fSelf=fSelf+45.0;break;}
|
||||
case 2:{fSelf=fSelf+90.0;break;}
|
||||
case 3:{fSelf=fSelf+135.0;break;}
|
||||
case 4:{fSelf=fSelf+180.0;break;}
|
||||
case 5:{fSelf=fSelf+225.0;break;}
|
||||
case 6:{fSelf=fSelf+270.0;break;}
|
||||
case 7:{fSelf=fSelf+315.0;break;}
|
||||
default:{break;}
|
||||
}
|
||||
|
||||
fDistance = fDistanceMax / (1000.0/IntToFloat(iMapSkill));
|
||||
vNewLoc = vSelf + (AngleToVector(fSelf) * fDistance);
|
||||
lSelf2 = Location(oArea,vNewLoc,fSelf);
|
||||
SetLocalLocation(oPC,"lLoc1",lSelf2);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
void main()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
FloatingTextStringOnCreature("You unfurl the map and attempt to get your bearings...",oPC,FALSE);
|
||||
|
||||
string sAreaResRef = GetResRef(GetArea(oPC));
|
||||
string sAreaName = GetName(GetArea(oPC));
|
||||
string sMapArea = GetLocalString(oPC,"sMapAreaResRef");
|
||||
string sMapName = GetLocalString(oPC,"sMapAreaName");
|
||||
|
||||
DeleteLocalString(oPC,"sMapAreaResRef");
|
||||
DeleteLocalString(oPC,"sMapAreaName");
|
||||
|
||||
AssignCommand(oPC,ActionPlayAnimation(ANIMATION_FIREFORGET_READ,0.2,10.0));
|
||||
|
||||
if (sAreaResRef!=sMapArea)
|
||||
{
|
||||
AssignCommand(oPC,DelayCommand(9.5,FloatingTextStringOnCreature("This map does not apear to be for this area.",oPC,FALSE)));
|
||||
AssignCommand(oPC,DelayCommand(10.0,ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD,1.0,1.0)));
|
||||
return;
|
||||
}
|
||||
|
||||
AssignCommand(oPC,DelayCommand(9.5,FloatingTextStringOnCreature("You carefully study the map and get your bearings..",oPC,FALSE)));
|
||||
AssignCommand(oPC,DelayCommand(10.0,ActionPlayAnimation(ANIMATION_LOOPING_LOOK_FAR,1.0,4.0)));
|
||||
DelayCommand(10.0,ExploreAreaForPlayer(GetArea(oPC),oPC));
|
||||
|
||||
}
|
Reference in New Issue
Block a user