Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Обкастер.
Обкастер.
У когонибудь есть скрипт для обкаста?
пример: ставим дома мага, когда нужен обкаст гвоорим ему Cast! он на чара кидает блесс и протекшен. а для защиты от всяких нежелательных типов, проверка по ид персонажа. у меня есть такой скрипт на инжу, по по непонятным причинам постоянно канлостит\крашит.
заранее спасибо
пример: ставим дома мага, когда нужен обкаст гвоорим ему Cast! он на чара кидает блесс и протекшен. а для защиты от всяких нежелательных типов, проверка по ид персонажа. у меня есть такой скрипт на инжу, по по непонятным причинам постоянно канлостит\крашит.
заранее спасибо
Должно быть что-то вроде этого:За возможные ошибки не бить - писал в блокнотике на память, не компилил. Команды "обкастеру" чувствительны к регистру.
Code: Select all
var
Casting: Boolean;
Friends: array of Cardinal;
procedure DoCast(Character: Cardinal);
begin
//пример каста заклинаний на игрока.
CheckLag(15000);
if TargetPresent then CancelTarget;
Cast('Protection');
CheckLag(15000);
WaitForTarget(5000);
TargetToObject(Character);
CheckLag(15000);
Wait(3000);
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;
Break;
end;
end;
end;
end;
begin
Friends = [$00000001, $00000002]; //Пример наполнения массива игроков, указать правильные значения
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.
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
-
- Novice
- Posts: 70
- Joined: 14.09.2010 16:04
- Location: BY, Minsk
Это при запуске скрипта пишет? Попробуй сохранить скрипт в какой-нить файл.
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
пишет
18:29:58:843 [puremage]: Compiling
18:29:58:875 [puremage]: Compiler: [Error] (caster.sc at 35:24): Type mismatch
18:29:58:921 [puremage]: Compiling failed
18:29:58:921 [puremage]: Script caster.sc stopped successfuly
18:29:58:843 [puremage]: Compiling
18:29:58:875 [puremage]: Compiler: [Error] (caster.sc at 35:24): Type mismatch
18:29:58:921 [puremage]: Compiling failed
18:29:58:921 [puremage]: Script caster.sc stopped successfuly
Code: Select all
var
i: Integer;
Casting: Boolean;
Friends: array of Cardinal;
procedure DoCast(Character: Cardinal);
begin
//пример каста заклинаний на игрока.
CheckLag(15000);
if TargetPresent then CancelTarget;
Cast('Protection');
CheckLag(15000);
WaitForTarget(5000);
TargetToObject(Character);
CheckLag(15000);
Wait(3000);
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;
Break;
end;
end;
end;
end;
begin
Friends = [$0179686D, $018EF866]; //Пример наполнения массива игроков, указать правильные значения
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.
Забыл в присваивании двоеточие поставить:
Code: Select all
Friends := [$0179686D, $018EF866]; //Пример наполнения массива игроков, указать правильные значения
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
Довольно тривиальные изменения:
Code: Select all
const
EatDelay = 0.02; //один час = 1/24, полчаса соотв. 1/48
var
i: Integer;
Casting: Boolean;
Friends: array of Cardinal;
procedure Eat;
begin
//... тут алгоритм для "кормления" чара
end;
procedure DoCast(Character: Cardinal);
begin
//пример каста заклинаний на игрока.
CheckLag(15000);
if TargetPresent then CancelTarget;
Cast('Protection');
CheckLag(15000);
WaitForTarget(5000);
TargetToObject(Character);
CheckLag(15000);
Wait(3000);
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;
Break;
end;
end;
end;
end;
begin
LastEat := Now; //инициализируем переменную. Считаем, что чар сыт
Friends = [$0179686D, $018EF866]; //Пример наполнения массива игроков, указать правильные значения
SetEventProc(evUnicodeSpeech, 'OnSpeech');
SetEventProc(evSpeech, 'OnSpeech');
while not Dead do
begin
if not Connected then
begin
Connect;
Wait(5000);
Continue;
end;
if LastEat + EatDelta < Now then begin
Eat;
LastEat := Now;
end;
Wait(10000);
end;
SetEventProc(evUnicodeSpeech, '');
SetEventProc(evSpeech, '');
end.
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall