Hi, I am Ameroth from Midkemia and I have just embarked on building a complete fighting system using lua for Midkemia an Iron Realms MUD that features a fairly unique combat system. As it stands the game community currently provides a good complete combat system for the client Mudlet that about 90% of the playerbase use. I would like to build a system that can be competitive with this free system that will hopefully diversify the pvp landscape slightly rather than having everyone on the exact same client and system. I believe MUSHclient is an excellent client that will enable me to create something competitive with the free system. Having used Mudlet since I started playing, I am not that familiar with MUSHclient and am running into many syntax errors and other simple mistakes. I have a rough idea of how I would like my system to function but I believe I will require assistance in order to complete it within a reasonable timeframe. I am hopeful that the MUSHclient community will be able to help.
As MKO is a game that supports GMCP, I have installed the plugin and will be using GMCP to track things like health and endurance. Midkemia essentially uses a system of four balances, which are Balance, Equilibrium, Inner Focus, and Overdrive. Balance is used for attacks and certain actions, while equilibrium is used for defences and certain other actions, inner focus removes an affliction from the player and depending on the type of affliction you either focus body, mind or spirit and it cures a random affliction of that type and then has a delay before it can be used again. Overdrive converts adrenaline generated during fighting into extra health, and is for healing purposes.
I have a number of things I would like pointers on and advice with:
1. I essentially want to update a variable from my prompt that will say whether I have balance or not. (This cannot be found in GMCP)
My prompt is as shown below
<PROMPT>840h, 120e, 0g xb A:50% -</PROMPT>
If x is present equilibrium should be true and if b is present balance should be true, if they are not present the variables should be set to false. I have looked at some examples of code on this, but I can't seem to get mine to work.
2.My second question concerns how I wish to go about defending in Midkemia.
I would like to make a trigger for defences that works in the following way:
If my equilibrium is true, I would like to make a value in the following way
Variable= = ("Base [the time for the slowest version of the attack possible]" x "Speed [a variable that will be set to match the current target's value which will be the factor to multiply the base value to reduce the time of the defence i.e. it will be a fraction" x "Anach, which will be a value on certain attacks that have been sped up using an ability it will also be a fraction" - Timewarp/Censure [if there is no timewarp or censure this value will be zero if not it will be 1 which is the retardation speed])
Once I have this variable captured and it is not a negative (which it could be if timewarped) I would like to use it with a timer that will send("defence e.g. jump") after that time. If it is negative I would like it to do nothing.
If my equilibrium is not true at the time the trigger fires which is quite likely I would like it to start a timer that captures the time from that point up until equilbrium is regained, the value from this timer would then be subtracted from the same value calculated above and that then used to send("defence"). Thus ensuring defending times are accurate. Again if the value comes out negative I would like it to do nothing.
Would anyone know the tidiest way of doing this, equilibrium can be detected from the prompt and there is also a line sent by the server when it is regained.
3. As there is stupidity in MKO, that can cause commands to fail without loss of balance, I would like to know what is the easiest way to resend the last line (or possible two lines) of text sent as output.
As MKO is a game that supports GMCP, I have installed the plugin and will be using GMCP to track things like health and endurance. Midkemia essentially uses a system of four balances, which are Balance, Equilibrium, Inner Focus, and Overdrive. Balance is used for attacks and certain actions, while equilibrium is used for defences and certain other actions, inner focus removes an affliction from the player and depending on the type of affliction you either focus body, mind or spirit and it cures a random affliction of that type and then has a delay before it can be used again. Overdrive converts adrenaline generated during fighting into extra health, and is for healing purposes.
I have a number of things I would like pointers on and advice with:
1. I essentially want to update a variable from my prompt that will say whether I have balance or not. (This cannot be found in GMCP)
My prompt is as shown below
<PROMPT>840h, 120e, 0g xb A:50% -</PROMPT>
If x is present equilibrium should be true and if b is present balance should be true, if they are not present the variables should be set to false. I have looked at some examples of code on this, but I can't seem to get mine to work.
2.My second question concerns how I wish to go about defending in Midkemia.
I would like to make a trigger for defences that works in the following way:
If my equilibrium is true, I would like to make a value in the following way
Variable= = ("Base [the time for the slowest version of the attack possible]" x "Speed [a variable that will be set to match the current target's value which will be the factor to multiply the base value to reduce the time of the defence i.e. it will be a fraction" x "Anach, which will be a value on certain attacks that have been sped up using an ability it will also be a fraction" - Timewarp/Censure [if there is no timewarp or censure this value will be zero if not it will be 1 which is the retardation speed])
Once I have this variable captured and it is not a negative (which it could be if timewarped) I would like to use it with a timer that will send("defence e.g. jump") after that time. If it is negative I would like it to do nothing.
If my equilibrium is not true at the time the trigger fires which is quite likely I would like it to start a timer that captures the time from that point up until equilbrium is regained, the value from this timer would then be subtracted from the same value calculated above and that then used to send("defence"). Thus ensuring defending times are accurate. Again if the value comes out negative I would like it to do nothing.
Would anyone know the tidiest way of doing this, equilibrium can be detected from the prompt and there is also a line sent by the server when it is regained.
3. As there is stupidity in MKO, that can cause commands to fail without loss of balance, I would like to know what is the easiest way to resend the last line (or possible two lines) of text sent as output.