Такая проблема
Когда на меня юзают например [Ссылки могут видеть только зарегистрированные пользователи. ]
там есть эфект отравление
Вписал его в debaf txt
снимает сразу же
Но когда хотел чтобы так же снимал [Ссылки могут видеть только зарегистрированные пользователи. ]
Вписал его в debaf txt ,но немоту не снимает
В чём может быть проблема?
Тестил на Aion-fr**
Такая проблема
Когда на меня юзают например [Ссылки могут видеть только зарегистрированные пользователи. ]
там есть эфект отравление
Вписал его в debaf txt
снимает сразу же
Но когда хотел чтобы так же снимал [Ссылки могут видеть только зарегистрированные пользователи. ]
Вписал его в debaf txt ,но немоту не снимает
В чём может быть проблема?
Тестил на Aion-fr**
после остатнего ид скила нада ставить абзац то есть жать ентер
после остатнего ид скила нада ставить абзац то есть жать ентер
Код:
9999=0
5555=1
Код:
[Ссылки могут видеть только зарегистрированные пользователи. ]=0
[Ссылки могут видеть только зарегистрированные пользователи. ]=0
[/QUOTE]
Вот мой пример как у меня в файле дебаф
Т.е. у меня скрипт снимает не все дебафы
Вот засаду снимает , немку не снимает,отравление от атаки ядом снимает
Странно
Как это можно объяснить ,а если можно исправить ?
После последнего ид должен быть переход на новую строку что б скрипт понял где конец фала а он у тебя стает на 1989, коль так не работает попробуй вставить 1 ид после.
может быть что ид скила и эффекта наложенного на игрока разные.
После последнего ид должен быть переход на новую строку что б скрипт понял где конец фала а он у тебя стает на 1989, коль так не работает попробуй вставить 1 ид после.
может быть что ид скила и эффекта наложенного на игрока разные.
Скорее всего ид эффекта наложения другой
т.к. я вписал скилл [Ссылки могут видеть только зарегистрированные пользователи. ]
Дебаф этот скрипт не снимает ,но вот сам баф как только его юзаю сразу с меня снимает
Как можно узнать ид дебафа на сервере ?
этот скрипт работает только на противоположной рассе? т.к у меня он в пвп не робит .
Потому что ID одинаковых скиллов асмо и элийцев разные . Если в списке прописать асм скиллы то они будут работать только на асм рассу , соответственно на оборот тоже самое . Что бы работало на обе рассы нужно вписывать ID от обеих расс . Соответственно так же и с НПС и Балаурами.
Потому что ID одинаковых скиллов асмо и элийцев разные . Если в списке прописать асм скиллы то они будут работать только на асм рассу , соответственно на оборот тоже самое . Что бы работало на обе рассы нужно вписывать ID от обеих расс . Соответственно так же и с НПС и Балаурами.
Не все у всех скилов разные ид, почти все стигмы и некоторые скилы разные надо смотреть скил на елов и асмо
А если создать список скиллов подобным образом, будет ли скрипт читать нужные данные правильно и использовать их ??? Если нет, то можно ли внести изменения в скрипт для реализации такой функции.
так как скиллов большое множество и есть вероятность повтора.
А если создать список скиллов подобным образом, будет ли скрипт читать нужные данные правильно и использовать их ??? Если нет, то можно ли внести изменения в скрипт для реализации такой функции.
так как скиллов большое множество и есть вероятность повтора.
1181=0 //Кара II
1170=0 //Кара I
Сделал, обновленный скрипт в 1 посте
Последний раз редактировалось altairalentus; 18.03.2012 в 16:05.
Жаль но скрипт перестал работать серв aion......t.ws
Или может у меня в скрипте ошибочка? вер: клиента 2.5
Код:
//by Alatair_Alentus
var
s,t:tstringlist;
capture:byte;
c_name,debaf,debaf1:string;
Timer: TTimer;
Timer1: TTimer;
procedure init ;
begin
s:=tstringlist.create;
t:=tstringlist.create;
s.loadfromfile('d:\Programmi\l2phx.3.5.34.176\debaf.txt');
capture:=1;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@TimerOn;
Timer.interval:=3000;
Timer.enabled:=false;
Timer1:=TTimer.Create(nil);
Timer1.OnTimer:=@TimerOn1;
Timer1.interval:=3000;
Timer1.enabled:=false;
end;
procedure Free ;
begin
Timer.enabled:=false;
Timer1.enabled:=false;
end;
procedure check;
var
b,i:integer;
begin
b:=0;
t.clear;
for i:= 1 to readc(14) do
begin
t.add(inttostr(readh(20+b)));
b:=b+12;
end;
for i:=0 to s.count-1 do if t.indexof(s.names[i])>=0 then deldebaf(s.names[i]);
end;
procedure deldebaf(idn:string);
begin
if s.values[idn]='0' then
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(idn));
buf:=buf+HStr('00');
capture:=0;
SendToServer;
capture:=1;
buf:='';
idn:='';
end
else
begin
c_name:=ConnectName;
if Timer.enabled=true then
begin
debaf1:=idn;
Timer1.enabled:=true;
end
else
begin
debaf:=idn;
Timer.enabled:=true;
end;
end;
end;
procedure TimerOn;
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(debaf));
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
Timer.enabled:=false;
end;
procedure TimerOn1;
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(debaf1));
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
Timer1.enabled:=false;
end;
procedure cap(c:byte);
begin
capture:=c;
pck:='';
end;
begin
if FromClient and (pck[1]=HStr('b9')) then //Чат
case reads(7) of
'.baf_on': cap(1);
'.antidebaf_off': cap(0);
end;
if FromServer and (capture=1) and(pck[1]=HStr('51')) then check;
end.
В файле debaf.txt все как положено в конце строки интер .
Если есть возможность и время то можете переделать скрипт что бы бафы снимались этими скиллами [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] автоматом .