It is supposed to happen only in one specific battle, on one area. Another way I could make it happen, although I also don't know how possible it is, is with a count... say a battle that after 2-3 minutes will stop and a convo will start.
Convo when PC gets low, or after time passes
Débuté par
andysks
, sept. 15 2013 05:42
#1
Posté 15 septembre 2013 - 05:42
Hi all, I think I have a tough one here... at least for me
. I have a situation, where a PC and the party are supposed to fight someone else who is not supposed to die. Now, I know from another thread and I managed to do on another situation that an NPC can start a conversation when he reaches low HP. In this one though, story wise, it makes more sense if the convo starts when the PC reaches low HP and not the NPC. Is there any way to make this happen?
It is supposed to happen only in one specific battle, on one area. Another way I could make it happen, although I also don't know how possible it is, is with a count... say a battle that after 2-3 minutes will stop and a convo will start.
It is supposed to happen only in one specific battle, on one area. Another way I could make it happen, although I also don't know how possible it is, is with a count... say a battle that after 2-3 minutes will stop and a convo will start.
#2
Posté 15 septembre 2013 - 05:55
Four ideas:
1) Re-write your death/respawn script to automatically respawn the PC and start the conversation at this particular plot point.
2) Have a heartbeat on an i-point or some other object that checks the PC's hitpoints every few seconds.
3) Use the same on-damaged script you have on the NPC, but have it check the PC's hitpoints instead. So whenever this NPC gets hit, it checks how damaged the PC is and then starts the conversation. Of course, if the PC or their party can't land a hit, then the conversation won't fire. You could try moving the script to on-combat-round-end or on-physically attacked instead.
4) Give your NPC a weapon with the on-hit cast unique spell attribute, and use a tag-based script to check the PC's hitpoints.
1) Re-write your death/respawn script to automatically respawn the PC and start the conversation at this particular plot point.
2) Have a heartbeat on an i-point or some other object that checks the PC's hitpoints every few seconds.
3) Use the same on-damaged script you have on the NPC, but have it check the PC's hitpoints instead. So whenever this NPC gets hit, it checks how damaged the PC is and then starts the conversation. Of course, if the PC or their party can't land a hit, then the conversation won't fire. You could try moving the script to on-combat-round-end or on-physically attacked instead.
4) Give your NPC a weapon with the on-hit cast unique spell attribute, and use a tag-based script to check the PC's hitpoints.
#3
Posté 15 septembre 2013 - 06:38
Wow, I love idea #4!
#4
Posté 15 septembre 2013 - 07:11
I can see a lot of variables here and that's going to make your life hard.
What level are you thinking of? Anything with a time delay is going to suffer if the PC has only a few HP. So this needs to be level 5+ in my opinion. Also there should not be a risk that the PC dies during the tracking. For instance LotRS sword is going to see the hp before the hit? If the hit itself takes the PC unto death then there could be issues.
Also you are going to need to track the PC's hp as a proportion of the total not as a fixed number (though you will need the number to start the process). It's easy with an npc because you know whats its HP are. The PC could be a mage or a fighter so you need to check HP as a percent of total and trigger your convo at say 50%. Additionaly if they come into the battle already broken (damaged) you have another thing to think about, theoretically they could be already below your threshold.
Lastly I guess you need to consider that the PC might not get hit at all. If they are not the tank the whole party could go down before the PC.
I'm sounding negative and I don't mean to. I think you should shift focus and try to find a way of tracking this that has less variability? If the npc is not supposed to die then have them surrender when thier hp get low or teleport them away or some other such thing. That's going to cut down on the variable and leave you to work out a plot reason for the cessation of hostilities.
Can you post what the situation is outside of the combat, perhaps there is another way?
PJ
What level are you thinking of? Anything with a time delay is going to suffer if the PC has only a few HP. So this needs to be level 5+ in my opinion. Also there should not be a risk that the PC dies during the tracking. For instance LotRS sword is going to see the hp before the hit? If the hit itself takes the PC unto death then there could be issues.
Also you are going to need to track the PC's hp as a proportion of the total not as a fixed number (though you will need the number to start the process). It's easy with an npc because you know whats its HP are. The PC could be a mage or a fighter so you need to check HP as a percent of total and trigger your convo at say 50%. Additionaly if they come into the battle already broken (damaged) you have another thing to think about, theoretically they could be already below your threshold.
Lastly I guess you need to consider that the PC might not get hit at all. If they are not the tank the whole party could go down before the PC.
I'm sounding negative and I don't mean to. I think you should shift focus and try to find a way of tracking this that has less variability? If the npc is not supposed to die then have them surrender when thier hp get low or teleport them away or some other such thing. That's going to cut down on the variable and leave you to work out a plot reason for the cessation of hostilities.
Can you post what the situation is outside of the combat, perhaps there is another way?
PJ
#5
Guest_Iveforgotmypassword_*
Posté 15 septembre 2013 - 07:45
Guest_Iveforgotmypassword_*
You could do the whole thing in a conversation.. Make the NPC a caster who throws a fake spell at the PC and knocks him over ( knockdown ) then the conversation continues whilst the PC is standing up. He/she will still have full hit points but it will look like they were badly damaged you could even reduce the PC's hp during the conversation for effect when it's over.
#6
Posté 15 septembre 2013 - 08:14
OK it kinda goes like this. A fight is necessary, and the PC has to lose this fight. It's kind of the plot there. But I cannot simply make the PC to surrender... it's impossible. I could though, as Password said, make it seem like the NPC stops the fight with a surrender script, and then through a cutscene do all the rest. I'm not sure if I can explain it really well without giving a lot, but I think I got it figured out.
#7
Posté 15 septembre 2013 - 09:11
That makes more sense. The plot position is not that the npc must not die it is that the PC must lose the fight?
In that case Tsongo's idea would work well. Or the npc could use a charm wand on the PC?
Hope it works out for you,
PJ
In that case Tsongo's idea would work well. Or the npc could use a charm wand on the PC?
Hope it works out for you,
PJ
#8
Posté 16 septembre 2013 - 12:49
I would handle this with option #4 and make it so the weapon does no combat damage. It will still do 1 point each hit remember.
Use the on hit script to check the PC's hit points if they are low enough start the convo/cutscene. If there are enough hit points have the script apply damage to the PC. This will give you more control of the battle and prevent a critical hit or even a normal hit from killing the PC.
Use the on hit script to check the PC's hit points if they are low enough start the convo/cutscene. If there are enough hit points have the script apply damage to the PC. This will give you more control of the battle and prevent a critical hit or even a normal hit from killing the PC.
#9
Posté 16 septembre 2013 - 08:09
a simple timer could, as well be attached to the #4 option. Just put a DelayCommand(StartConversation(...),....RoundsToSeconds(...));
Modifié par Morbane, 16 septembre 2013 - 08:12 .





Retour en haut







