Advertisement
tlist

Untitled

Oct 1st, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. const string CHATSPELL_SIGNAL_TEXT = "Buffs-";
  2. const string CHATSPELL_EXTENDED = "x";
  3. const string CHATSPELL_ANIMALCOMPANION = "a";
  4. const string CHATSPELL_FAMILIAR = "f";
  5. const string CHATSPELL_HENCHMEN = "h";
  6. const string CHATSPELL_SUMMONED_CREATURE = "s";
  7. const string CHATSPELL_ATGROUND = "g";
  8. const string CHATSPELL_DELIMITER = " ";
  9.  
  10. int GetIsADigit(string sString);
  11.  
  12. void main()
  13. {
  14. string sMsg = GetPCChatMessage();
  15. if (FindSubString(sMsg, CHATSPELL_SIGNAL_TEXT) >= 0) {
  16. int nFindLength = GetStringLength(CHATSPELL_SIGNAL_TEXT);
  17. int nPosition = 0;
  18. string sRetVal = "";
  19. int nFound = FindSubString(sMsg, CHATSPELL_SIGNAL_TEXT);
  20. while ( nFound >= 0 ) {
  21. sRetVal += GetSubString(sMsg, nPosition, nFound - nPosition);
  22. nPosition = nFound + nFindLength;
  23. nFound = FindSubString(sMsg, CHATSPELL_SIGNAL_TEXT, nPosition);
  24. }
  25. sMsg = sRetVal + GetStringRight(sMsg, GetStringLength(sMsg) - nPosition) + " ";
  26. string sLeft = GetStringLeft(sMsg, 1);
  27. object oPC = GetPCChatSpeaker();
  28. object oTarget = oPC;
  29. string sSpell;
  30. int nExtend, nHench, bGround;
  31. while (sLeft != "") {
  32. if (sLeft == CHATSPELL_DELIMITER) {
  33. if (GetStringLength(sSpell) > 0) {
  34. if (bGround) AssignCommand(oPC, ActionCastSpellAtLocation(StringToInt(sSpell), GetLocation(oPC), nExtend));
  35. else {
  36. while (GetIsObjectValid(oTarget)) {
  37. AssignCommand(oPC, ActionCastSpellAtObject(StringToInt(sSpell), oTarget, nExtend));
  38. if (nHench > 0) {
  39. nHench++;
  40. oTarget = GetAssociate(1, oPC, nHench);
  41. }
  42. else oTarget = OBJECT_INVALID;
  43. }
  44. }
  45. }
  46. sSpell = "";
  47. bGround = FALSE;
  48. nExtend = METAMAGIC_NONE;
  49. oTarget = oPC;
  50. nHench = 0;
  51. } else if (GetIsADigit(sLeft)) {
  52. sSpell = sSpell+ sLeft;
  53. } else if (sLeft == CHATSPELL_EXTENDED) {
  54. nExtend = METAMAGIC_EXTEND;
  55. } else if (sLeft == CHATSPELL_ATGROUND) {
  56. bGround = TRUE;
  57. } else if (sLeft == CHATSPELL_ANIMALCOMPANION) {
  58. oTarget = GetAssociate(2, oPC);
  59. } else if (sLeft == CHATSPELL_FAMILIAR) {
  60. oTarget = GetAssociate(3, oPC);
  61. } else if (sLeft == CHATSPELL_SUMMONED_CREATURE) {
  62. oTarget = GetAssociate(4, oPC);
  63. } else if (sLeft == CHATSPELL_HENCHMEN) {
  64. nHench = 1;
  65. oTarget = GetAssociate(1, oPC, nHench);
  66. }
  67. sMsg = GetStringRight(sMsg, GetStringLength(sMsg)-1);
  68. sLeft = GetStringLeft(sMsg, 1);
  69. }
  70. }
  71. }
  72.  
  73. int GetIsADigit(string sString)
  74. {
  75. int nString = StringToInt(sString);
  76. if (nString != 0) return TRUE;
  77. string sBacktest = IntToString(nString);
  78. return (sBacktest == sString);
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement