Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 30.07.2008, 18:52   #1
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

Не правильно ReadS(i) автоматом увеличивает i на длину строки
o:integer просто лишне.
длина "Amorality2" 10*2+2
тело внитри условия одинаково, лучше тогда так
delphi Код:
var    Commandir : string; .......     i := 10; //Имя с 10 байта     Commandir := ReadS(i); //Сохранили ник написавшего и увеличиваем i на длину ника     if (Commandir = 'Amorality') or (Commandir = 'Amorality2') then //сравниваем       if ReadS(i) = '-dence' then begin//Считываем, сравниваем сообщение          buf:=hstr('2F 11 01 00 00 00 00 00 00 00');         SendToServer;       end; ........

Добавлено через 4 минуты
Вот и начинается интересное
вы получили один танец на команду, теперь есть 2 пути -
1. В лоб размножить скрипт и давать отдельную команду на каждый танец.
2. Подумать как танцевать серию танцев
Для примера можно почитать тут
http://coderx.ru/showthread.php?t=14
и тут http://coderx.ru/showthread.php?t=397

Последний раз редактировалось PanAm, 30.07.2008 в 18:54. Причина: Добавлено сообщение
PanAm вне форума   Ответить с цитированием
За это сообщение PanAm нажился спасибкой от:
Старый 30.07.2008, 19:03   #2
Местный
 
Регистрация: 11.10.2007
Сообщений: 144
Сказал Спасибо: 44
Имеет 7 спасибок в 7 сообщенях
Amorality
По умолчанию

Цитата:
Сообщение от PanAm Посмотреть сообщение
Вот и начинается интересное
вы получили один танец на команду, теперь есть 2 пути -
А так нельзя?
buf:=hstr('2F 11 01 00 00 00 00 00 00 00');
SendToServer;
buf:=hstr('2F 14 01 00 00 00 00 00 00 00');
SendToServer;
----

ПС А на счет варианта твоего последнего скрипта , будет ли правильно , что ты не описал переменную i в разделе Var?
Amorality вне форума   Ответить с цитированием
Старый 30.07.2008, 19:06   #3
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Amorality Посмотреть сообщение
А так нельзя?
buf:=hstr('2F 11 01 00 00 00 00 00 00 00');
SendToServer;
buf:=hstr('2F 14 01 00 00 00 00 00 00 00');
SendToServer;
нет, сервер максимум два подряд идущих пакета на юз скил обработает и в результате выполнит тока первый и последний если будет больше двух...

Цитата:
Сообщение от Amorality Посмотреть сообщение
ПС А на счет варианта твоего последнего скрипта , будет ли правильно , что ты не описал переменную i в разделе Var?
а он там и не скрипт указал а тока новые или измененные части так что i естесно надо обьявлять)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 30.07.2008, 19:34   #4
Местный
 
Регистрация: 11.10.2007
Сообщений: 144
Сказал Спасибо: 44
Имеет 7 спасибок в 7 сообщенях
Amorality
По умолчанию

Код:
var
   i,x : integer;
   Commandir : string;
   Bissy : Boolean;
begin
  case x of
    1: begin //Блок магического танца начался
     buf:=hstr('2F 11 01 00 00 00 00 00 00 00'); //Dance Of Mystic
     SendToServer; 
     inc(x);
     Bissy:=true;
     end;
     2: begin
     buf:=hstr('2F 14 01 00 00 00 00 00 00 00'); //Dance Of Concentration
     SendToServer; 
     inc(x);
     Bissy:=false;
     end;
     3: begin //Блок воинского танца начался
     buf:=hstr('2F 0F 01 00 00 00 00 00 00 00'); //Dance Of Warrior
     SendToServer; 
     inc(x);
     Bissy:=true;
     end;
     4: begin
     buf:=hstr('2F 13 01 00 00 00 00 00 00 00'); //Dance Of Fury
     SendToServer; 
     inc(x);
     Bissy:=true;
     end;
     5: begin
     buf:=hstr('2F 12 01 00 00 00 00 00 00 00'); //Dance Of Fire
     SendToServer; 
     inc(x);
     Bissy:=false;
     end;
end;
end.

begin
  If FromServer and (pck[1]=#$4A) then begin
   i := 10; //Имя с 10 байта
    Commandir := ReadS(i); //Сохранили ник написавшего и увеличиваем i на длину ника
    if (Commandir = 'Amorality') or (Commandir = 'Amorality2') then //сравниваем 
      if ReadS(i) = '-mdance' then begin //Считываем, сравниваем сообщение
      if not Bissy then begin
      x:=1; //Ссылка на блок с магическим дансом
     end;
end;
end;
end;
end;

begin
  If FromServer and (pck[1]=#$4A) then begin
   i := 10; //Имя с 10 байта
    Commandir := ReadS(i); //Сохранили ник написавшего и увеличиваем i на длину ника
    if (Commandir = 'Amorality') or (Commandir = 'Amorality2') then //сравниваем 
      if ReadS(i) = '-wdance' then begin //Считываем, сравниваем сообщение
      if not Bissy then begin
      x:=3; //Ссылка на блок с воинским дансом
     end;
end;
end;
end;
end;
Вот написала скрипт , его задача, если чар Amorality или Amorality2 пишет в чат -mdance , То BDGirl бафает 2 данса: Mystic и Concentration , а есле -wdance , то BDGirl бафает 3 данса : Fury,warrior,fire.

В общем я почти уверена , что скрипт написан не правильно , поправьте пожалуйста , потестить сама не могу , сервер , где я играю на профилактике до сих пор.

Последний раз редактировалось Amorality, 30.07.2008 в 22:20.
Amorality вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 18:17.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!