Here is my rune plate script where you dial a code and poof. I would like to adjust it so you have to dial the waypoint tag so if tag is 1234 you have to dial 1234 .
right now you can dial these numbers in any order to port.
void main()
{ PlaySound("as_cv_brickscrp1");
object oPlateEffector = GetNearestObjectByTag("plate_effector");
int iCheck = GetLocalInt(oPlateEffector, "count");
string sPlate = GetStringRight(GetTag(OBJECT_SELF), 1);
SetLocalInt(OBJECT_SELF, "on", 1); SetLocalInt(oPlateEffector, sPlate, 1);
iCheck++;
SetLocalInt(oPlateEffector, "count", iCheck);
AssignCommand(OBJECT_SELF, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
if (iCheck == 4)
{ object oPC = GetLastUsedBy();
object oPlateEffector = GetNearestObjectByTag("plate_effector");
string s1 = IntToString(GetLocalInt(oPlateEffector, "1"));
string s2 = IntToString(GetLocalInt(oPlateEffector, "2"));
string s3 = IntToString(GetLocalInt(oPlateEffector, "3"));
string s4 = IntToString(GetLocalInt(oPlateEffector, "4"));
string s5 = IntToString(GetLocalInt(oPlateEffector, "5"));
string s6 = IntToString(GetLocalInt(oPlateEffector, "6"));
string s7 = IntToString(GetLocalInt(oPlateEffector, "7"));
string s8 = IntToString(GetLocalInt(oPlateEffector, "8"));
string sWaypoint = s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8;
object oWaypoint = GetWaypointByTag(sWaypoint);
object oWaypointHere = GetNearestObjectByTag(sWaypoint,oPC,1);
if ((oWaypoint == OBJECT_INVALID) || (GetIsObjectValid(oWaypointHere)))
{ if (oWaypoint == OBJECT_INVALID) FloatingTextStringOnCreature("Warning Invalid Rune Code",oPC); else if (GetIsObjectValid(oWaypointHere)) FloatingTextStringOnCreature("Warning This Rune Code Destination",oPC);
object oPlateEffector = GetNearestObjectByTag("plate_effector");
DelayCommand(0.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_SMOKE_PUFF), oPC, 0.0)); AssignCommand(GetNearestObjectByTag("RUNEP_1", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_2", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_3", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_4", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_5", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_6", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_7", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_8", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetLocalInt(GetNearestObjectByTag("RUNEP_1", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_2", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_3", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_4", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_5", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_6", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_7", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_8", oPC), "on", 0);
SetLocalInt(oPlateEffector, "1", 0);
SetLocalInt(oPlateEffector, "2", 0);
SetLocalInt(oPlateEffector, "3", 0);
SetLocalInt(oPlateEffector, "4", 0);
SetLocalInt(oPlateEffector, "5", 0);
SetLocalInt(oPlateEffector, "6", 0);
SetLocalInt(oPlateEffector, "7", 0);
SetLocalInt(oPlateEffector, "8", 0);
SetLocalInt(oPlateEffector, "count", 0);return;}
AssignCommand(GetNearestObjectByTag("RUNEP_1", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_2", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_3", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_4", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_5", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_6", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_7", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); AssignCommand(GetNearestObjectByTag("RUNEP_8", oPC), ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetLocalInt(GetNearestObjectByTag("RUNEP_1", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_2", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_3", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_4", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_5", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_6", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_7", oPC), "on", 0); SetLocalInt(GetNearestObjectByTag("RUNEP_8", oPC), "on", 0);
SetLocalInt(oPlateEffector, "1", 0);
SetLocalInt(oPlateEffector, "2", 0);
SetLocalInt(oPlateEffector, "3", 0);
SetLocalInt(oPlateEffector, "4", 0);
SetLocalInt(oPlateEffector, "5", 0);
SetLocalInt(oPlateEffector, "6", 0);
SetLocalInt(oPlateEffector, "7", 0);
SetLocalInt(oPlateEffector, "8", 0);
SetLocalInt(oPlateEffector, "count", 0);
SetCommandable(FALSE, oPC);
DelayCommand(4.9, SetCommandable(TRUE, oPC));
DelayCommand(5.0, AssignCommand(oPC, JumpToObject(oWaypoint)));
DelayCommand(0.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE),oPC, 4.0));
DelayCommand(1.5, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_PROT_EPIC_ARMOR_2),oPC, 2.5));
DelayCommand(4.5, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_1),oPC, 3.5)); }}
Modifié par Knight_Shield, 25 août 2011 - 03:59 .