Erm.. about my previous comment... If anyone at all knows how to avoid it, PLEASE email me! If anyone can I'll be very grateful!
Posted by Simon at 2003-11-1313:07:00
Erm.. about my previous comment... If anyone at all knows how to avoid it, PLEASE email me! If anyone can I'll be very grateful!
Posted by Simon at 2003-11-1313:07:00
Erm.. about my previous comment... If anyone at all knows how to avoid it, PLEASE email me! If anyone can I'll be very grateful!
Posted by Simon at 2003-11-1313:03:00
For some reason, when I try an action (in the game) a script thing appears at the bottom (says something about beetles and slashing). Can you tell me how to avoid this?
Posted by Drawde at 2003-11-0918:45:00
THIS IS SOOOO MUCH FUN!!!! Played your test area for 50 minutes just now: don't know why but it is SO entertaining. I jumped up and down and all around... loads of fun. Haven't been so hooked on a script since... never mind. I've never played a test area so long before. Thanks a ton, Whistler. Drawde
Posted by Ryel at 2003-11-0214:21:00
I figured it out, just change the failure portion at the end of the script to this and it should function properly. Just check to see if oPC oFailDest are in the same area, if not it does an ActionJumptoObject(oFailDest). //------------------------------------------------------// // FAILURE if ((iRank + iRoll + 5) >= iDC) { // Perform animations and look for a destination. object oFailDest = MSGetDestination(sDestTag+"F", FALSE); if ((GetIsObjectValid(oFailDest))(GetLocation(oFailDest))==(GetLocation(oPC))) AssignCommand(oPC, MSDoMovementAction(iSkill, oFailDest, TRUE)); // Let the player know what they rolled. FloatingTextStringOnCreature("*"+GetStringUpperCase(sSkillName)+" FAILURE* "+sRoll, oPC, FALSE); // Make the nearby people aware of the result. In playtesting the players liked this feature. AssignCommand(oPC, ActionSpeakString("*FAILURE* on "+sDifficulty+" "+sSkillName)); // If oFailDest is in a different Area // if((GetIsObjectValid(oFailDest))(GetLocation(oFailDest))!=(GetLocation(oPC))) AssignCommand(oPC, ActionJumpToObject(oFailDest)); else AssignCommand(oPC, MSDoFalldown()); DelayCommand(2.0, AssignCommand(oPC, MSDoFalldown())); // Let the player know what they rolled. // DelayCommand(3.0, FloatingTextStringOnCreature("*"+GetStringUpperCase(sSkillName)+" FAILURE* "+sRoll, oPC, FALSE)); // Make the nearby people aware of the result. In playtesting the players liked this feature. DelayCommand(4.0, AssignCommand(oPC, ActionSpeakString("*FAILURE* on "+sDifficulty+" "+sSkillName))); return; } // CRITICAL FAILURE // Perform animations and look for a destination. object oFailDest = MSGetDestination(sDestTag+"F", FALSE); if ((GetIsObjectValid(oFailDest))(GetLocation(oFailDest))==(GetLocation(oPC))) AssignCommand(oPC, MSDoMovementAction(iSkill, oFailDest, TRUE)); // This is a critical failure so the player will take damage. int iDmg = MSGetDamage(iSkill, iMaxDmg, oPC); if (iDmg > 0) AssignCommand(oPC, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(iDmg, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_PLUS_FIVE), oPC)); // Let the player know what they rolled. FloatingTextStringOnCreature("*"+GetStringUpperCase(sSkillName)+" CRITICAL FAILURE* "+sRoll+". Took "+IntToString(iDmg)+" damage.", oPC, FALSE); // Make the nearby people aware of the result. In playtesting the players liked this feature. AssignCommand(oPC, ActionSpeakString("*CRITICAL FAILURE* on "+sDifficulty+" "+sSkillName)); // If oFailDest is in a different Area // if((GetIsObjectValid(oFailDest))(GetLocation(oFailDest))!=(GetLocation(oPC))) AssignCommand(oPC, ActionJumpToObject(oFailDest)); DelayCommand(2.0, AssignCommand(oPC, MSDoFalldown())); // This is a critical failure so the player will take damage. if (iDmg > 0) AssignCommand(oPC, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(iDmg, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_PLUS_FIVE), oPC)); // Let the player know what they rolled. DelayCommand(3.0, FloatingTextStringOnCreature("*"+GetStringUpperCase(sSkillName)+" CRITICAL FAILURE* "+sRoll+". Took "+IntToString(iDmg)+" damage.", oPC, FALSE)); // Make the nearby people aware of the result. In playtesting the players liked this feature. DelayCommand(4.0, AssignCommand(oPC, ActionSpeakString("*CRITICAL FAILURE* on "+sDifficulty+" "+sSkillName))); return; } //------------------------------------------------------//
Posted by Ryel at 2003-11-0118:19:00
Hello! Nice script. I ran into one complication and am trying to find a workaround. I was trying to make a jump over a canyon and have the fail waypoints in a seperate area so if the person fails the jump, they would fall into the canyon and take appropriate damage. Only problem is that on failure, it gives the fail message and I believe tried to do the animation and froze the game. I don't think it's inter-area friendly. Is there an easy way around this? Thanks!
Posted by whistler at 2003-10-1313:39:00
Thanks Nissa, in the immortal words of Talking Barbie: "Math is hard". :)
Posted by Nissa_Red at 2003-10-1305:14:00
I just wanted to confirm what Lareal said : > He noticed that when you performed the high jump (I have > a series of them) the east-west coordinates are messed > up. So...when you are actually heading east, you get a > west message, and vice versa. Since I am also an adept of your scripts, I corrected it in my module : string MSGetAngleBetween(object oDestination, object oPC) { float fAngle = VectorToAngle(GetPosition(oDestination) - GetPosition(oPC)); AssignCommand(oPC, SetFacing(fAngle)); switch ( FloatToInt( fAngle / 22.5 )) { case 0: return "East"; case 1: case 2: return "North east"; case 3: case 4: return "North"; case 5: case 6: return "North west"; case 7: case 8: return "West"; case 9: case 10: return "South west"; case 11: case 12: return "South"; case 13: case 14: return "South east"; case 15: return "East"; } return ""; } Please keep up the good work, and thank you for the script =)