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

Обкастер.

Only working scripts
plotney
Neophyte
Neophyte
Posts: 18
Joined: 19.11.2010 18:45

Post by plotney »

я создал еще одну процедуру DoBless,
как сюда докрутить чтобы он при команде Bless! кастовал только Bless?
procedure OnSpeech(Text, SenderName: String; SenderID: Cardinal);

Code: Select all

begin
  if (not Casting) and (Text = 'Cast!') 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;
        Break;
      end;
    end;
  end;
end;
можно это сделать просто продублировав if следующим образом?

Code: Select all

begin
  if (not Casting) and (Text = 'Cast!') 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;
        Break;
      end;
    end;
  end;
  if (not Casting) and (Text = 'Bless!') 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;
        DoBless(SenderID);
        Casting := False;
        Break;
      end;
    end;
  end;
end;
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Post by Fenix »

1. LastEat нужно в варах прописать (забыл).
2. Можно.
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
plotney
Neophyte
Neophyte
Posts: 18
Joined: 19.11.2010 18:45

Post by plotney »

1. LastEat каким типом прописывать? стринг? или просто LastEat: Now; ?
2. работает :)
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Post by Fenix »

var
LastEat: TDateTime;
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
plotney
Neophyte
Neophyte
Posts: 18
Joined: 19.11.2010 18:45

Post by plotney »

писало:
14:13:07:000 [puremage]: Compiling
14:13:07:015 [puremage]: Compiler: [Error] (caster+food.sc at 88:18): Unknown identifier 'EatDelta'
14:13:07:015 [puremage]: Compiling failed
14:13:07:015 [puremage]: Script caster+food.sc stopped successfuly

потом поменят EatDelta на EatDelay и все заработало, это правильно, или был заложен другой смысл?
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Post by Fenix »

Да-да. Всё правильно сделал. Это моя невнимательность. Сплю и кодю.
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
Vortal
Neophyte
Neophyte
Posts: 29
Joined: 12.09.2009 16:55
Contact:

Post by Vortal »

Code: Select all

11:13:42:602 [Kalisto]: Compiler: [Error] (Cast.sc at 36:4):  Unknown identifier 'SetEventProc'
11:13:42:602 [Kalisto]: Compiling failed
11:13:42:602 [Kalisto]: Script Cast.sc stopped successfuly
Я так понимаю ошибка в инвентах, просьба расскажите мне про эти инвенты и как их исползовать, я на форуме так и не нашол, разжованного ответа.
Когда ты думаеш что все козыря у тебя на руках
оказывается вы играете в шахматы
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Post by Fenix »

Да нет, ошибка в старой версии стелса, если он метод SetEventProc не знает. А вот, собственно, инфа по SetEventProc, правда в несколько сыром виде.
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Re: Обкастер.

Post by -=JoKeR=- »

На версии 1 RC3 не хочет работать.

Code: Select all

Compiler: [Error] (Obcast.txt at 33:42):  Type mismatch

Code: Select all

Program Obcast;

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

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

procedure OnSpeech(Text, SenderName: String;  SenderID: Cardinal); 
begin 
  if (not Casting) and (Text = 'cast') 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 := [$000094FE]; //Пример наполнения массива игроков, указать правильные значения 
  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. 
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: Обкастер.

Post by Alex »

не пора бы обновить стелс? :)
Новый стелс лежит тут. Стелс это произведение искусства! :)
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Re: Обкастер.

Post by -=JoKeR=- »

Нет не пора.
Пиши по сути вопроса.
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: Обкастер.

Post by Alex »

без понятия, ждем более опытных товарищей
Новый стелс лежит тут. Стелс это произведение искусства! :)
Scripts Writer
Novice
Novice
Posts: 130
Joined: 06.05.2008 18:03

Re: Обкастер.

Post by Scripts Writer »

Code: Select all

for i := 0 to Length(Friends) - 1 do begin
to

Code: Select all

for i := 0 to getArrayLength(Friends) - 1 do begin 

Code: Select all

if i >= Length(Friends) then Break;
to

Code: Select all

if i >= getArrayLength(Friends) then Break;
Проще научить человека ловить рыбу, чем постоянно ею его кормить. (с) Destruction
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Re: Обкастер.

Post by -=JoKeR=- »

Спасибо, но я уже свой код с ноля написал.
Сейчас проверю этот.
-=JoKeR=-
Novice
Novice
Posts: 153
Joined: 10.02.2008 11:19
Location: [Forest Wars] Ode$$a

Re: Обкастер.

Post by -=JoKeR=- »

Unknown identifier 'SetEventProc'
Всё понятно.
Post Reply