Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Обкастер.

Only working scripts
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Обкастер.

Post by Vizit0r »

понятно, что стелс старый?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Re: Обкастер.

Post by -=JoKeR=- »

Да.
У меня все скрипты под старый стэлс, харит переписывать.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Обкастер.

Post by Vizit0r »

переписывать?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
chernysh
Novice
Novice
Posts: 61
Joined: 05.06.2011 14:54
Location: Ukraine

Re: Обкастер.

Post by chernysh »

Vizit0r wrote:переписывать?
Он говорит о том, что много переписывать нужно под наш сервер. Но я лично проверял, много не нужно переписывать. Кстати, ваша новая ходилка newMoveXY как спидхак...чары как на транспорте летают.

Сейчас жду когда портируют все ф-ции на питоновскую реализацию скриптового языка и будет обкастер готов :)
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Обкастер.

Post by Vizit0r »

как я понял, он говорил о том, что надо под новый стелс переписывать скрипты. я удивлен.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
chernysh
Novice
Novice
Posts: 61
Joined: 05.06.2011 14:54
Location: Ukraine

Re: Обкастер.

Post by chernysh »

Vizit0r wrote:как я понял, он говорил о том, что надо под новый стелс переписывать скрипты. я удивлен.
Чему удивления? Лично у меня скрипты для версии 1.0 не адекватно работают в 3.7 :) Глубоко не разбирался
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Обкастер.

Post by Vizit0r »

я в каждой версии специально отслеживаю обратную совместимость.

в самом ПС было только одно серьезное изменение - ужесточение синтаксиса, понадобилось расставить ; в тех местах, где вообще по паскальформату им положено быть, но раньше можно было не ставить.

а все остальное я не меняю специально для обратной совместимости.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Re: Обкастер.

Post by -=JoKeR=- »

Чему удивляться если оно так и есть.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Обкастер.

Post by Vizit0r »

ну так скажи, что именно не работает, изменилось в новой версии по сравнению со старой.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Re: Обкастер.

Post by -=JoKeR=- »

К примеру скрипт на мининг для Forest Wars не работает ,а именно ходилка GotoXY.
Хотя в версии 1 RC3 всё отлично.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Обкастер.

Post by Vizit0r »

а, ну да. что-то там перестало работать. что не знаю, потому что вместо нее есть отличный встроенный поиск пути - и я совершенно не хочу выяснять что не так в этом древнем ужасе. дополнительный стимул будет уйти с костыля допотопного(к тому же сильно нелюбимого серверами) на нормальный поиск пути.

насколько я помню - это единственное, что "перестало работать".

кстати, замена слова "GotoXY" на MoveXY обычно решает эту "проблему". ну может еще параметры надо местами поменять, зависит от версии этого самого GotoXY
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Re: Обкастер.

Post by -=JoKeR=- »

Скачал сегодня новый стэлс всё работает без ошибок :idea:
Ходилка старая тоже, о чудо :shock:

upd

изменил GotoXY на NewMoveXY и очень доволен, чары быстро и чётко перемещаются
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Обкастер.

Post by Vizit0r »

ну вот видишь :)
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Ingerno
Posts: 4
Joined: 07.10.2014 10:21

Re: Обкастер.

Post by Ingerno »

Я не скриптер поэтому прошу у вас помощи.
Так вот, переделал я немного скрипт, но он у меня почему то не медетирует когда нету маны (
Можете в него плиз добавить такие вещи
1) Медитация после каждого каста
2) добавить еще один вид каст, что бы по команде "себя" он кинул на себя Блесс и Кюнинг
Заранее спасибо!

Вот скрипт

Code: Select all

Program Obcast;

var 
  i: Integer; 
  Casting: Boolean; 
  Friends: array of Cardinal; 

procedure DoCast(Character: Cardinal); 
begin 
  //пример каста заклинаний на игрока.
  UOSay('.camp 4');
  SetWarMode(false);
  Wait (5000);
  if TargetPresent then CancelTarget; 
  Cast('Cunning');  
  WaitForTarget(5000); 
  TargetToObject(Character);
  Wait(5000);
  Cast('Bless');
  WaitForTarget(5000);
  TargetToObject(Character);
  Wait(5000);
  Cast('Agility');
  WaitForTarget(5000);
  TargetToObject(Character);
  Wait(5000);
  Cast('Strength');
  WaitForTarget(5000);
  TargetToObject(Character);
  Wait(5000);
  Cast('Reactive Armor');
  WaitForTarget(5000);
  TargetToObject(Character);
  Wait(5000);
  Cast('Arch Protection');
  WaitForTarget(5000);
  TargetToObject(Character);
  Wait(5000);
  Cast('Magic Reflection');
  WaitForTarget(5000);
  TargetToObject(Character);
end; 

procedure OnSpeech(Text, SenderName: String;  SenderID: Cardinal); 
begin 
  if (not Casting) and (Text = 'каст') then begin 
    for i := 0 to Length(Friends) - 1 do begin 
      if i >= Length(Friends) then Break; 
      if SenderID = Friends[i] then begin 
        Casting := True; 
        DoCast(SenderID); 
        Casting := false;
        UseSkill('Meditation');      
        Break; 
      end; 
    end; 
  end; 
end; 

begin 
  Friends := [$0026D3F2]; //1
  SetEventProc(evUnicodeSpeech, 'OnSpeech'); 
  SetEventProc(evSpeech, 'OnSpeech'); 
  while not Dead do 
  begin 
    if not Connected then 
    begin 
      Connect; 
      Wait(5000); 
      Continue; 
    end; 
    Wait(10000); 
  end; 
  SetEventProc(evUnicodeSpeech, ''); 
  SetEventProc(evSpeech, ''); 
end.
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Обкастер.

Post by drabadan »

Попробуй вот так. В полевых условиях не тестировал, но скомпилилось. Если, не так - поправлю!
script

Code: Select all

Program Obcast;

var 
  i: Integer; 
  Casting: Boolean; 
  Friends: array of Cardinal;
  Spells : Array of String;  

function Meditation : Boolean;
begin
 SetWarMode(False);
 if Mana < MaxMana then
  begin
   UseSkill('Meditation');
   while Mana < MaxMana do
   wait(1000);
   Result := True;
  end
 else
  Result := False;
end;

procedure DoCast(Character: Cardinal); 
begin 
  //пример каста заклинаний на игрока.
  UOSay('.camp 4');
  SetWarMode(false);
  Wait (5000);
  if TargetPresent then CancelTarget; 
  for i := 0 to Length(Spells)-1 do
   begin  
     Cast(Spells[i]);  
     WaitForTarget(5000); 
     TargetToObject(Character);
     if not Meditation then Wait(5000);	 
   end;
end; 

procedure OnSpeech(Text, SenderName: String;  SenderID: Cardinal); 
begin 
  if (not Casting) and (Text = 'каст') then begin 
    for i := 0 to Length(Friends) - 1 do begin 
      if i >= Length(Friends) then Break; 
      if SenderID = Friends[i] then begin 
        Casting := True; 
        DoCast(SenderID); 
        Casting := false;
        UseSkill('Meditation');      
        Break; 
      end; 
    end; 
  end; 
end; 

begin
  Spells := ['Cunning', 'Bless', 'Reactive Armor', 'Arch Protection', 'Agility', 'Strength', 'Magic Reflection'];
  Friends := [$0026D3F2]; //1
  SetEventProc(evUnicodeSpeech, 'OnSpeech'); 
  SetEventProc(evSpeech, 'OnSpeech'); 
  while not Dead do 
  begin 
    if not Connected then 
    begin 
      Connect; 
      Wait(5000); 
      Continue; 
    end; 
    Wait(10000); 
  end; 
  SetEventProc(evUnicodeSpeech, ''); 
  SetEventProc(evSpeech, ''); 
end.
Post Reply