Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const string CHATSPELL_SIGNAL_TEXT = "Buffs-";
- const string CHATSPELL_EXTENDED = "x";
- const string CHATSPELL_ANIMALCOMPANION = "a";
- const string CHATSPELL_FAMILIAR = "f";
- const string CHATSPELL_HENCHMEN = "h";
- const string CHATSPELL_SUMMONED_CREATURE = "s";
- const string CHATSPELL_ATGROUND = "g";
- const string CHATSPELL_DELIMITER = " ";
- int GetIsADigit(string sString);
- void main()
- {
- string sMsg = GetPCChatMessage();
- if (FindSubString(sMsg, CHATSPELL_SIGNAL_TEXT) >= 0) {
- int nFindLength = GetStringLength(CHATSPELL_SIGNAL_TEXT);
- int nPosition = 0;
- string sRetVal = "";
- int nFound = FindSubString(sMsg, CHATSPELL_SIGNAL_TEXT);
- while ( nFound >= 0 ) {
- sRetVal += GetSubString(sMsg, nPosition, nFound - nPosition);
- nPosition = nFound + nFindLength;
- nFound = FindSubString(sMsg, CHATSPELL_SIGNAL_TEXT, nPosition);
- }
- sMsg = sRetVal + GetStringRight(sMsg, GetStringLength(sMsg) - nPosition) + " ";
- string sLeft = GetStringLeft(sMsg, 1);
- object oPC = GetPCChatSpeaker();
- object oTarget = oPC;
- string sSpell;
- int nExtend, nHench, bGround;
- while (sLeft != "") {
- if (sLeft == CHATSPELL_DELIMITER) {
- if (GetStringLength(sSpell) > 0) {
- if (bGround) AssignCommand(oPC, ActionCastSpellAtLocation(StringToInt(sSpell), GetLocation(oPC), nExtend));
- else {
- while (GetIsObjectValid(oTarget)) {
- AssignCommand(oPC, ActionCastSpellAtObject(StringToInt(sSpell), oTarget, nExtend));
- if (nHench > 0) {
- nHench++;
- oTarget = GetAssociate(1, oPC, nHench);
- }
- else oTarget = OBJECT_INVALID;
- }
- }
- }
- sSpell = "";
- bGround = FALSE;
- nExtend = METAMAGIC_NONE;
- oTarget = oPC;
- nHench = 0;
- } else if (GetIsADigit(sLeft)) {
- sSpell = sSpell+ sLeft;
- } else if (sLeft == CHATSPELL_EXTENDED) {
- nExtend = METAMAGIC_EXTEND;
- } else if (sLeft == CHATSPELL_ATGROUND) {
- bGround = TRUE;
- } else if (sLeft == CHATSPELL_ANIMALCOMPANION) {
- oTarget = GetAssociate(2, oPC);
- } else if (sLeft == CHATSPELL_FAMILIAR) {
- oTarget = GetAssociate(3, oPC);
- } else if (sLeft == CHATSPELL_SUMMONED_CREATURE) {
- oTarget = GetAssociate(4, oPC);
- } else if (sLeft == CHATSPELL_HENCHMEN) {
- nHench = 1;
- oTarget = GetAssociate(1, oPC, nHench);
- }
- sMsg = GetStringRight(sMsg, GetStringLength(sMsg)-1);
- sLeft = GetStringLeft(sMsg, 1);
- }
- }
- }
- int GetIsADigit(string sString)
- {
- int nString = StringToInt(sString);
- if (nString != 0) return TRUE;
- string sBacktest = IntToString(nString);
- return (sBacktest == sString);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement