iAvenger

sws

Jun 18th, 2021 (edited)
385
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. uses SysUtils;
  2.  
  3. var lista_acceso: array of string = ['Ethereal', 'Tiuz', 'Tapion', 'Nevrast', 'Dux'];
  4. var palabras_clave: array of string = ['cm', 'med'];
  5.    
  6. procedure SwordMuse();
  7.  
  8. var i: Integer;
  9. var rango: Integer;
  10.  
  11. begin
  12.   rango :=  800;
  13.   while delay(1000) do begin
  14.     if (ChatMessage.Unread) and (ChatMessage.ChatType = mtPrivate) then begin
  15.       for i:= Low(palabras_clave) to High(palabras_clave) do begin
  16.         if (Pos(LowerCase(palabras_clave[0]), LowerCase(ChatMessage.text)) > 0) and (RevisarPermisos(ChatMessage.Sender) > 0) then begin
  17.             Engine.SetTarget(ChatMessage.Sender);
  18.             if (User.DistTo(User.Target) < rango) then begin
  19.                 Engine.UseSkill(349, true); // Song of Renewal
  20.                 Engine.UseSkill(363, true); // Song of Meditation
  21.                 Engine.UseSkill(304, true); // Song of Vitality
  22.                 Engine.UseSkill(264, true); // Song of Earth
  23.                 Engine.UseSkill(267, true); // Song of Warding
  24.                 Engine.UseSkill(268, true); // Song of Wind
  25.                 Engine.CancelTarget;
  26.                 break;
  27.             end;
  28.             Engine.Say('acerquese pe conchasumare',2,ChatMessage.Sender); // Responde cuando el personaje está fuera del rango
  29.             break;
  30.         end;
  31.         if (Pos(LowerCase(palabras_clave[1]), LowerCase(ChatMessage.text)) > 0) and (RevisarPermisos(ChatMessage.Sender) > 0) then begin
  32.             Engine.SetTarget(ChatMessage.Sender);
  33.             if (User.DistTo(User.Target) < rango) then begin
  34.                 Engine.UseSkill(363, true); // Song of Meditation
  35.                 Engine.CancelTarget;
  36.                 break;
  37.             end;
  38.             Engine.Say('acerquese pe conchasumare',2,ChatMessage.Sender); // Responde cuando el personaje está fuera del rango
  39.             break;
  40.         end;
  41.       end;        
  42.     end;
  43.   end;
  44. end;
  45.  
  46. function RevisarPermisos(nombre_personaje: String): Cardinal;
  47.   var i: integer;
  48.   begin
  49.   result:=0;
  50.    for i:= Low(lista_acceso) to High(lista_acceso) do begin
  51.     if (Pos(LowerCase(lista_acceso[i]), LowerCase(nombre_personaje)) > 0) then begin
  52.       result:=1;
  53.       break;
  54.     end;
  55.   end;
  56. end;
  57.  
  58. begin  
  59.   Script.NewThread(@SwordMuse);
  60.   Delay(-1);
  61. end.
RAW Paste Data